Commit graph

2,795 commits

Author SHA1 Message Date
dependabot[bot]
ed50a3dd08 Bump the npm_and_yarn group across 4 directories with 24 updates
Bumps the npm_and_yarn group with 1 update in the /src/Yavsc.Org/wwwroot/lib/bootstrap directory: [vnu-jar](https://github.com/validator/validator).
Bumps the npm_and_yarn group with 1 update in the /src/Yavsc.Org/wwwroot/lib/jquery-ui directory: [browserstack-local](https://github.com/browserstack/browserstack-local-nodejs).
Bumps the npm_and_yarn group with 17 updates in the /src/Yavsc.Web/wwwroot/lib/bootstrap directory:

| Package | From | To |
| --- | --- | --- |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.27.1` | `7.29.6` |
| [postcss](https://github.com/postcss/postcss) | `8.5.3` | `8.5.15` |
| [rollup](https://github.com/rollup/rollup) | `4.40.1` | `4.62.0` |
| [vnu-jar](https://github.com/validator/validator) | `24.10.17` | `26.2.1` |
| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `5.7.10` | `6.4.8` |
| [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs) | `7.27.1` | `7.29.7` |
| [fast-uri](https://github.com/fastify/fast-uri) | `3.0.6` | `3.1.2` |
| [flatted](https://github.com/WebReflection/flatted) | `3.3.3` | `3.4.2` |
| [follow-redirects](https://github.com/follow-redirects/follow-redirects) | `1.15.9` | `1.16.0` |
| [form-data](https://github.com/form-data/form-data) | `4.0.2` | `4.0.6` |
| [immutable](https://github.com/immutable-js/immutable-js) | `4.3.7` | `5.1.6` |
| [lodash](https://github.com/lodash/lodash) | `4.17.21` | `4.18.1` |
| [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) | `13.2.0` | `13.2.1` |
| [preact](https://github.com/preactjs/preact) | `10.26.5` | `10.29.2` |
| [qs](https://github.com/ljharb/qs) | `6.13.0` | `6.15.2` |
| [shell-quote](https://github.com/ljharb/shell-quote) | `1.8.2` | `1.8.4` |
| [tmp](https://github.com/raszi/node-tmp) | `0.2.3` | `0.2.7` |

Bumps the npm_and_yarn group with 2 updates in the /src/Yavsc.Web/wwwroot/lib/jquery-validation-unobtrusive directory: [minimatch](https://github.com/isaacs/minimatch) and [lodash](https://github.com/lodash/lodash).


Updates `vnu-jar` from 23.4.11 to 26.2.1
- [Release notes](https://github.com/validator/validator/releases)
- [Commits](https://github.com/validator/validator/commits)

Updates `browserstack-local` from 1.5.5 to 1.5.9
- [Release notes](https://github.com/browserstack/browserstack-local-nodejs/releases)
- [Commits](https://github.com/browserstack/browserstack-local-nodejs/compare/v1.5.5...v1.5.9)

Updates `@babel/core` from 7.27.1 to 7.29.6
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.6/packages/babel-core)

Updates `postcss` from 8.5.3 to 8.5.15
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.3...8.5.15)

Updates `rollup` from 4.40.1 to 4.62.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.1...v4.62.0)

Updates `vnu-jar` from 24.10.17 to 26.2.1
- [Release notes](https://github.com/validator/validator/releases)
- [Commits](https://github.com/validator/validator/commits)

Updates `astro` from 5.7.10 to 6.4.8
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/astro@6.4.8/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@6.4.8/packages/astro)

Updates `js-yaml` from 4.1.0 to 4.2.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits)

Updates `@babel/plugin-transform-modules-systemjs` from 7.27.1 to 7.29.7
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-modules-systemjs)

Updates `defu` from 6.1.4 to 6.1.7
- [Release notes](https://github.com/unjs/defu/releases)
- [Changelog](https://github.com/unjs/defu/blob/main/CHANGELOG.md)
- [Commits](https://github.com/unjs/defu/compare/v6.1.4...v6.1.7)

Updates `devalue` from 5.1.1 to 5.8.1
- [Release notes](https://github.com/sveltejs/devalue/releases)
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/devalue/compare/v5.1.1...v5.8.1)

Updates `fast-uri` from 3.0.6 to 3.1.2
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.0.6...v3.1.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `follow-redirects` from 1.15.9 to 1.16.0
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.9...v1.16.0)

Updates `form-data` from 4.0.2 to 4.0.6
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.2...v4.0.6)

Updates `h3` from 1.15.3 to 1.15.11
- [Release notes](https://github.com/h3js/h3/releases)
- [Changelog](https://github.com/h3js/h3/blob/v1.15.11/CHANGELOG.md)
- [Commits](https://github.com/h3js/h3/compare/v1.15.3...v1.15.11)

Updates `immutable` from 4.3.7 to 5.1.6
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v5.1.6)

Updates `lodash` from 4.17.21 to 4.18.1
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.18.1)

Updates `mdast-util-to-hast` from 13.2.0 to 13.2.1
- [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases)
- [Commits](https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1)

Updates `preact` from 10.26.5 to 10.29.2
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.26.5...10.29.2)

Updates `qs` from 6.13.0 to 6.15.2
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.15.2)

Updates `shell-quote` from 1.8.2 to 1.8.4
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.2...v1.8.4)

Updates `tmp` from 0.2.3 to 0.2.7
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.7)

Updates `vite` from 6.3.4 to 7.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.5/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.5/packages/vite)

Updates `minimatch` from 5.1.0 to 5.1.8
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v5.1.0...v5.1.8)

Updates `lodash` from 4.17.21 to 4.18.1
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.18.1)

---
updated-dependencies:
- dependency-name: vnu-jar
  dependency-version: 26.2.1
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: browserstack-local
  dependency-version: 1.5.9
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@babel/core"
  dependency-version: 7.29.6
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.62.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vnu-jar
  dependency-version: 26.2.1
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: astro
  dependency-version: 6.4.8
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@babel/plugin-transform-modules-systemjs"
  dependency-version: 7.29.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: defu
  dependency-version: 6.1.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: devalue
  dependency-version: 5.8.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: h3
  dependency-version: 1.15.11
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: immutable
  dependency-version: 5.1.6
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: mdast-util-to-hast
  dependency-version: 13.2.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: preact
  dependency-version: 10.29.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 5.1.8
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 01:26:31 +00:00
94fb98eff6 doc, doc and doc. 2026-06-18 02:18:49 +01:00
c1f4d19975 fices the UI 2026-06-15 02:55:22 +01:00
4bfc28a369 Test using "make test" 2026-06-15 00:46:50 +01:00
5c6d6ee687 refactoring 2026-06-15 00:33:38 +01:00
aabbbc1fea use the helper 2026-06-15 00:11:48 +01:00
69e81b9fd4 Giving up at UI testing 2026-06-15 00:00:39 +01:00
cba18df870 Fixes the css 2026-06-14 23:04:24 +01:00
348e22f1c9 build 2026-06-14 20:59:24 +01:00
e137c3e2ff Fixes the UI testing wwwroot 2026-06-14 20:05:01 +01:00
e83ef7730b Merge branch 'refac/js-bundle' 2026-06-14 19:04:51 +01:00
4074c312a4 chore: stop tracking vendor lib files (now restored via npm + esbuild)
Drops 1038 files from src/Yavsc.Org/wwwroot/lib/ — they remain
on disk and are now restored via 'npm install' at build time
(see package.json and esbuild.config.mjs).

Exception: jonthornton-Datepair is not on npm, the bundled
files are kept in wwwroot/lib/jonthornton-Datepair/ as static
assets.

Also extends .gitignore to ignore:
- node_modules/, build/, package-lock.json (esbuild toolchain)
- wwwroot/js/*.min.js (regenerated by 'npm run build:js')
- .Production.env (added explicitly, not matched by '.*.env'
  glob in some git versions)

This aligns themeok with the architecture already in place
on refac/js-bundle (commits ed7522c5, 196f4b0b, 292c0a2f on
that branch). The build artifacts were already present in
node_modules/ and build/ on disk; this commit only stops
tracking them.

Tested: dotnet test 11/11 green (no C# code touched).
2026-06-14 18:58:38 +01:00
f750cf75a2 docs: correct CA3 tool from Playwright to Selenium 2026-06-14 18:58:02 +01:00
d454d4a513 An UI test 2026-06-14 18:53:14 +01:00
d0e594c359 synchro with main 2026-06-14 18:30:15 +01:00
26d36dee71 synchro w\ main 2026-06-14 18:26:40 +01:00
debb3231d3 fix(test): resolve ContentRoot path in WebServerFixture
The previous code computed the path as
  Path.Combine(BaseDir, "../../src/Yavsc.Org")
which from `bin/Debug/net10.0/` resolved to a non-existent
`test/yavscTests/src/Yavsc.Org` (two levels up, not four).
Kestrel logged:
  "The WebRootPath was not found: ... /wwwroot. Static files
   may be unavailable."

The fix walks up the directory tree from BaseDir until it
finds a directory that contains `src/Yavsc.Org`. This is
robust against the test runner changing the current working
directory (which it does: it runs from
`test/yavscTests/bin/Debug/net10.0`, not the repo root).

After this fix, UseStaticFiles correctly resolves the
wwwroot, so static assets under `wwwroot/` are served.

Note: this does NOT make the in-memory WebServerFixture
fully functional. Two pre-existing issues remain:
1. _Layout.cshtml references `~/css/site.css` but the
   actual file is now at `~/css/main/site.css` (moved by
   commit 31906a78). The .cshtml was not updated.
2. HomeController.Index() throws NullReferenceException
   on an empty EF Core InMemory database (no Activities
   seeded). UseDeveloperExceptionPage returns a 500 page
   that gets caught and re-rendered as 404 by the test
   client.
Both will be addressed in follow-up commits.

Tested: dotnet test 11/11 green (existing tests use
Services DI, not HTTP). UI tests not added yet (blocked by
the issues above).
2026-06-14 18:04:34 +01:00
b18e60979a docs: add trunk-cleanup challenge brief
Énoncé du défi : aligner main sur l'intention trunk qui a
déjà opéré sur themeok, libérer le dépôt du code inutile,
bien nettoyer CSS/JS, sans casser le JS et le CSS de
_Layout.cshtml. Introduire immédiatement des tests d'UI
automatisés comme garde-fou.

Le document contient :
- Énoncé du défi
- État actuel des 3 branches (themeok, main, refac/js-bundle)
- Résultats du diagnostic de main (cause racine : contenu
  vide + erreur JS sur carousel vide, pas un problème de
  fichiers servis)
- 6 critères d'acceptation vérifiables
- Stratégie de tests UI automatisés (Playwright C#)
- Plan d'attaque en 6 étapes
- 5 risques identifiés (cache navigateur, double binding
  Kestrel, .env non versionné, ports utilisés, quiproquos
  de branches)
- Todo court/moyen/long terme
- Annexes : environnement d'exécution, procédure make reinstall

Le diagnostic a été reproduit en worktree diag/main sur
ports 5060/5061, en surchargeant la config Kestrel via
variables d'environnement pour ne pas écraser le service
systemd yavscOrg sur port 3002.
2026-06-14 17:22:50 +01:00
ec5c1b6a95 fix(cookies): set Identity cookies to SameSite=Lax in dev (avoid Chromium rejection on http://localhost)
Chromium rejects cookies that have SameSite=None but no
Secure flag. The default Identity cookie policy uses
SameSite=None, which is invalid on http://localhost (no
TLS, no Secure). Result on http://localhost:5000:

  Cookie '.AspNetCore.Identity.Application' rejected
  because it has the 'SameSite=None' attribute but is
  missing the 'secure' attribute.

Fix: in Development environment, configure
ConfigureApplicationCookie and ConfigureExternalCookie
to use SameSite=Lax and SameAsRequest SecurePolicy.
Lax is permissive enough for OAuth callbacks (top-level
GET navigations) and avoids the rejection.

Production (https://) is untouched — the default
SameSite=None is correct when Secure is set.

Note on the sameSiteMode reference: SameSiteMode is
defined in two namespaces
(Microsoft.AspNetCore.Http and Microsoft.Net.Http.Headers).
The file already uses 'using Microsoft.Net.Http.Headers;'
so a bare 'SameSiteMode' is ambiguous. Using the
fully-qualified name 'Microsoft.AspNetCore.Http.SameSiteMode'
to disambiguate, no new using needed.

Tested: dotnet build OK, dotnet test 11/11 green.
2026-06-14 16:27:54 +01:00
aeccffebaa chore: remove Quill (out of scope for PostIt-driven editor)
Quill was never wired up on themeok (no .cshtml reference,
no @addTagHelper, no C# binding). It lived only as static
CSS/JS in wwwroot/ — dead weight in the repo.

The rich text editor for blog posts is PostIt (XPlat), not
the browser. Quill is no longer needed.

Removes:
- src/Yavsc.Org/wwwroot/css/main/quill.snow.css
- src/Yavsc.Org/wwwroot/css/main/quill.snow.min.css
- src/Yavsc.Org/wwwroot/js/quill.js
- src/Yavsc.Org/wwwroot/js/quill.min.js
- (also removed from disk, was untracked: quill.bundle.min.js)

Tested: dotnet test 11/11 green (no C# touched, but rule is rule).
2026-06-14 16:25:13 +01:00
b5fe6918a8 chore: snapshot of themeok branch as visual reference
This commit marks the current state of themeok as the
canonical visual reference for the upcoming theme
refactoring.

What this point of the branch represents:
- Bootstrap 5 (quartz theme) loaded via wwwroot/lib/bootstrap.quartz.min.css
- jQuery 3 + jQuery UI 1.14 + Bootstrap 5 JS bundle loaded from wwwroot/lib/
- New navbar partial src/Yavsc.Org/Views/Shared/_Nav.cshtml
  (Bootstrap 5 navbar-dark bg-dark with dropdowns)
- _Layout.cshtml loading the new navbar via <partial name="_Nav" />
- The WIP 'Js and css cleanup' (31906a78) — CSS vendor files
  dropped from wwwroot/css/ and moved to wwwroot/css/main/
  where appropriate
- The gitignore cleanup (ebfc3d77) — vendor lib files no
  longer tracked in the repo, restored via npm at build time

Out of scope for this snapshot:
- Home/Index.cshtml content (still empty container)
- Other view migrations to Bootstrap 5
- Quill removal
- Cookie SameSite=None fix in Program.cs
- jQuery-as-global-script refac (lives on refac/js-bundle
  branch, will be merged later)

Tested: dotnet test 11/11 green.
2026-06-14 16:15:19 +01:00
ebfc3d772d chore: stop tracking vendor lib files (now restored via npm + esbuild)
Drops 1038 files from src/Yavsc.Org/wwwroot/lib/ — they remain
on disk and are now restored via 'npm install' at build time
(see package.json and esbuild.config.mjs).

Exception: jonthornton-Datepair is not on npm, the bundled
files are kept in wwwroot/lib/jonthornton-Datepair/ as static
assets.

Also extends .gitignore to ignore:
- node_modules/, build/, package-lock.json (esbuild toolchain)
- wwwroot/js/*.min.js (regenerated by 'npm run build:js')
- .Production.env (added explicitly, not matched by '.*.env'
  glob in some git versions)

This aligns themeok with the architecture already in place
on refac/js-bundle (commits ed7522c5, 196f4b0b, 292c0a2f on
that branch). The build artifacts were already present in
node_modules/ and build/ on disk; this commit only stops
tracking them.

Tested: dotnet test 11/11 green (no C# code touched).
2026-06-14 16:14:47 +01:00
7550cb8eec WIP : Js and css cleanup 2026-06-14 15:47:28 +01:00
4bb7adbced refac: remove jQuery + jQuery UI imports from datetime and timepicker entries
datetime.bundle.min.js and timepicker.bundle.min.js no longer
bundle jQuery and jQuery UI. The datepicker and timepicker
plugins attach to global jQuery when they are evaluated, which
is already loaded by _Layout.cshtml.

Bundle sizes:
- datetime: 545 KB → 201 KB
- timepicker: 354 KB → 12 KB

NOTE: This commit does not touch any versioned file. The
build/ directory and the .min.js outputs under
wwwroot/js/ are gitignored. The bundles are regenerated by
'npm run build:js' (see INSTALL.md and the script 'build:js'
in package.json).

Build state is partially migrated: core, chat, datetime, and
timepicker are clean. dropzone is still pending. Redundancy is
harmless (the second jQuery load is a no-op override) but
wasteful; full cleanup is the goal of this refac.

Tested: dotnet test 11/11 green.
2026-06-14 15:18:59 +01:00
09fe62d84c refac: remove vendor imports from chat entry
chat.bundle.min.js no longer bundles jQuery, jQuery UI,
jquery-validation, jquery-validation-unobtrusive, showdown,
or to-markdown. The application code (chat.js, comment.js)
consumes them from window.$ / window.jQuery (provided by the
layout's global scripts) or does not need them at all.

Bundle size: 591 KB → 7.6 KB.

NOTE: This commit does not touch any versioned file. The
build/ directory and the .min.js outputs under
wwwroot/js/ are gitignored. The bundle is regenerated by
'npm run build:js' (see INSTALL.md and the script 'build:js'
in package.json).

Build state is partially migrated: only chat is clean so far.
Other bundles (core, dropzone, datetime, timepicker) still
bundle jQuery — upcoming commits will clean them up too.
Redundancy is harmless (the second jQuery load is a no-op
override) but wasteful; full cleanup is the goal of this
refac.

Tested: dotnet test 11/11 green.
2026-06-14 15:17:49 +01:00
417abcfb71 refac: load jQuery + Bootstrap as global scripts in _Layout
JQuery, jQuery UI, Bootstrap, jquery-validation and
jquery-validation-unobtrusive are now loaded as separate
<script> tags by _Layout.cshtml, BEFORE the core bundle.

Why: esbuild IIFE bundles do not expose jQuery ($ and jQuery)
on window — UMD-style modules bundled in IIFE format are wrapped
in a closure. The application code (site.js, md-helpers.js,
yavsc-remote-fs.js, etc.) consumes window.$ / window.jQuery, so
it broke at runtime. Loading these scripts as global <script> tags
restores the expected global exposure.

This commit only touches the layout. Future commits will remove
the corresponding imports from each bundle's entry (chat, dropzone,
datetime, timepicker) and let them rely on window.$ being already
defined by the layout.

Tested: dotnet test 11/11 green. The new global scripts are
served by ASP.NET static files (HTTP 200 verified). Server
restart by developer required to pick up the new layout.
2026-06-14 15:16:16 +01:00
cef6002fef fix: drop nuget bootstrap and popper.js, npm bundles take over
Removing the 'bootstrap' and 'popper.js' NuGet package references
that were used solely to copy assets to wwwroot/ at build time.
The npm-based esbuild bundles now provide the same files, and the
duplicate-asset build error is gone.

'bootstrap 5.3.8' (NuGet) was flagged with vulnerabilities by
Dependabot. Pinning to 4.6.2 via npm (matching what the views
were using from wwwroot/lib/) is closer to what the rest of the
codebase expects.

Verified: 'dotnet test' passes (11/11).

Refs: this is the fix to make the 'separate front assets into
esbuild bundles' commit green.
2026-06-14 14:24:55 +01:00
d9de4c48ac chore: gitignore node_modules, build/, wwwroot/lib, package-lock
Add ignore rules for the new front-end toolchain:
- node_modules/ : npm install output
- build/         : esbuild entry files (regenerated by build:js)
- package-lock.json : not committed (use package.json as canonical)
- src/Yavsc.Org/wwwroot/lib/ : vendor libs (replaced by bundles)
  with exception for jonthornton-Datepair/ (not on npm)
- src/Yavsc.Org/wwwroot/js/*.min.js : generated by esbuild
2026-06-14 14:12:39 +01:00
07d219e487 docs: add npm install + build:js to install procedure
The esbuild bundles under wwwroot/js and wwwroot/css are now
produced by 'npm run build:js'. Document this in INSTALL.md so
new contributors know to run 'npm install' before 'make install'.
2026-06-14 14:11:59 +01:00
952d263b9f refac: separate front assets into esbuild bundles
Sort ~50 Mo de libs tierces hors du repo et regroupe le code
front en 6 bundles thématiques + 2 assets statiques.

Bundles produits par esbuild :
- core.bundle.min.js   : jQuery + jQuery UI + Bootstrap 4 + validation
                          + tout le code applicatif 'core'
                          (site, signout, signin, input-lib, md-helpers,
                          audiovideoinput, parallax, google.geocode,
                          google-geoloc). Chargé par _Layout.cshtml.
- chat.bundle.min.js   : core subset (sans Bootstrap) + chat.js + comment.js
                          (SignalR client chargé séparément, voir plus bas)
- dropzone.bundle.min.js : jQuery + dropzone + yavsc-remote-fs
- datetime.bundle.min.js : jQuery + jQuery UI + eonasdan datetimepicker
                          + jquery-timepicker
- timepicker.bundle.min.js : jQuery + jQuery UI + jquery-timepicker
- quill.bundle.min.js  : Quill rich text editor

Assets statiques (non bundlés, copiés depuis node_modules) :
- signalr.min.js       : client SignalR 2.x (legacy server)
- moment-with-locales.min.js : moment + 137 locales (require dynamique
                               non résolvable statiquement par esbuild)

CSS vendor copiées comme assets statiques vers wwwroot/css/ :
bootstrap.min.css, jquery-ui.min.css, dropzone.min.css,
dropzone-basic.min.css, bootstrap-datetimepicker.min.css,
jquery.timepicker.css

Exception gitignore : jonthornton-Datepair/jquery.datepair.min.js
n'est pas sur npm, conservé comme asset statique sous
wwwroot/lib/jonthornton-Datepair/ (téléchargé depuis upstream).

Vues Razor mises à jour (15 fichiers) pour pointer vers les bundles
et les CSS vendor. Suppression de la majorité de wwwroot/lib/ (1300+
fichiers). Suppression des jquery*.js, quill.js, showdown.js,
to-markdown.js, jquery.signalR-2.2.1.js, dropzone.js et de leurs
.min.js associés.

'jquery-datepair' et 'jquery-ui-map' non publiés sur npm :
- jquery-ui-map n'est utilisé nulle part dans le repo (vérifié),
  la dépendance est purement historique.
- datepair reste en static sous wwwroot/lib/jonthornton-Datepair/.
2026-06-14 14:11:33 +01:00
ef4c7f40b0 chore: add node toolchain + esbuild config
Pose les fondations du bundle front unique :
- package.json : deps npm (jQuery, jQuery UI, jQuery plugins,
  Bootstrap 5, SignalR, Moment, Quill, Showdown, To-markdown,
  Dropzone, eonasdan-datetimepicker) + esbuild.
- esbuild.config.mjs : produit src/Yavsc.Org/wwwroot/js/site.bundle.min.js
  à partir des .js à nous + des libs npm.
- .gitignore : exclut node_modules/, wwwroot/lib/, et les *.min.js
  sous wwwroot/js (générés au build, non versionnés).

Le bundle généré sera commité au commit suivant pour que le
runtime .NET n'ait pas besoin de node au publish time.
2026-06-14 12:32:06 +01:00
6dbdc2d408 docs: roadmap à jour, archive TODO.fr, session DDD + droits yavsc
TODO.fr.md (2016-2017) archivé en TODO.fr.md.archive.
ROADMAP.md reformule les jalons en s'appuyant sur l'Architecture
et la session DDD du 14 juin 2026.
doc/Architecture.md: section 'Droits de yavsc' ajoutée (admin, groupes, user yavsc).
doc/ddd-exploration-2026-06-14.md: première session d'Event Storming narratif.
2026-06-14 12:17:03 +01:00
9415521bcb WIP: refactoring pour déploiement
Non testé en conditions réelles. À valider avant de pousser.
2026-06-14 12:17:03 +01:00
2564d9938e Merge pull request #58 from pazof/dependabot/npm_and_yarn/src/Yavsc.Web/wwwroot/lib/jquery-validation-unobtrusive/decode-uri-component-0.2.2
Bump decode-uri-component from 0.2.0 to 0.2.2 in /src/Yavsc.Web/wwwroot/lib/jquery-validation-unobtrusive
2026-06-13 21:04:44 +01:00
root
198d5bc202 cd contrib; make reinstall 2026-06-13 20:57:30 +01:00
bdc974b29b érrance 2026-06-12 12:47:04 +01:00
bba719c8c1 doc : Architecute 2026-06-12 12:34:30 +01:00
dependabot[bot]
96dafaeb62 Bump decode-uri-component
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-version: 0.2.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 20:01:35 +00:00
b3444ac4e2 Merge pull request #56 from pazof/dependabot/github_actions/all-actions-64c84cc25d
Bump the all-actions group with 4 updates
2026-06-11 20:53:33 +01:00
dependabot[bot]
6b43e74454 Bump the all-actions group with 4 updates
Bumps the all-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [actions/upload-artifact](https://github.com/actions/upload-artifact), [docker/login-action](https://github.com/docker/login-action) and [docker/build-push-action](https://github.com/docker/build-push-action).


Updates `actions/checkout` from 4 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

Updates `actions/upload-artifact` from 4 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v7)

Updates `docker/login-action` from 3 to 4
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

Updates `docker/build-push-action` from 6 to 7
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 19:22:08 +00:00
d822ca3d1b Update Dependabot configuration for multiple ecosystems 2026-06-11 20:21:12 +01:00
c3941a5158 Badges 2026-06-11 20:14:32 +01:00
e98bba4247 refacts and PostIt Nav 2026-06-11 20:02:32 +01:00
1a0556695c Login settings 2026-06-10 16:59:23 +01:00
164bd928aa logo + oidc client PostIt 2026-06-10 11:10:15 +01:00
fa7d6242f1 postit and them also 2026-06-10 00:23:17 +01:00
de616809ae Téléverser l'APK 2026-06-07 13:39:47 +01:00
c5ecfced06 Bad try to apk path 2026-06-07 13:24:04 +01:00
5abaf0e027 extract the apk 2026-06-07 13:08:23 +01:00
ed0f89ab12 Re ARG fix* 2026-06-07 12:57:41 +01:00