lilleman
a005acb93d
Cut non-essential prose from docs and comments, and require the same of every future change
...
CI / full-gate (push) Successful in 2m38s
README loses the competitor comparison, the personas and the repeated philosophy; the
five near-identical E2E command blocks become a table plus one command, and the file
map a clause per entry. AGENTS.md keeps every decision but drops the narrative around
them. todo.md's completed items collapse to their task line — git holds the rest.
Comments lose restatement, README duplication and history ("used to", "originally",
dated notes). AGENTS.md gains a Prose discipline section making this a standing pass on
every change rather than a one-off cleanup.
src/compose.test.ts now expects 6 documented E2E run commands, not 10, since the README
states the command once instead of per suite.
2026-08-05 23:41:12 +02:00
lilleman
1cf34a0d45
Harden the artifact-ownership guards and document the root-owned upgrade trap
CI / full-gate (push) Successful in 2m38s
2026-08-05 22:40:36 +02:00
lilleman
073ec294e9
Run the E2E runner as the invoking user so its artifacts aren't root-owned
CI / full-gate (push) Successful in 2m37s
2026-08-05 22:25:17 +02:00
lilleman
38ebe40398
Never fail the boot on operator env; drop unusable ADMIN_PERMISSIONS with a warning
CI / full-gate (push) Successful in 2m40s
2026-08-05 17:36:04 +02:00
lilleman
edcd9fefc8
Deleting a group revokes the permissions it granted
2026-08-05 15:39:08 +02:00
lilleman
29d654c012
Permissions are a fixed list from plugin code; grant them on Users and Groups
2026-08-05 15:38:21 +02:00
lilleman
27fee5f8a3
Permission names are <resource>:<action>, replacing the catch-all admin permission
2026-08-05 15:37:39 +02:00
lilleman
690d67728b
Watch what a beforeAll logs, and record where each message came from
CI / full-gate (push) Successful in 2m48s
2026-08-05 11:15:37 +02:00
lilleman
e808f87fbd
Fail an E2E test on anything the browser logs, in all three engines
CI / full-gate (push) Successful in 2m51s
2026-08-05 11:00:25 +02:00
lilleman
9cf6c05325
Name the chrome's language menu and guard anchor positioning in the fallback
CI / full-gate (push) Successful in 2m44s
2026-08-05 02:23:50 +02:00
lilleman
cfeee10fa8
Wrap each popover menu and give it a caller-named id
CI / full-gate (push) Successful in 2m43s
2026-08-05 01:58:11 +02:00
lilleman
5d9bdebf59
Close the popup menus on an outside click, via the popover API
CI / full-gate (push) Successful in 2m40s
2026-08-05 01:37:58 +02:00
lilleman
3c64621515
Remove the dead Profile link from the sidebar profile menu
CI / full-gate (push) Successful in 2m39s
2026-08-05 01:01:14 +02:00
lilleman
34b668d49f
Use one verb per action in the English UI: sign in, sign out, create account
CI / full-gate (push) Successful in 2m39s
2026-08-05 00:34:05 +02:00
lilleman
46548ae758
Narrow the settings-cog test assertions and record the icon-registry contract
CI / full-gate (push) Successful in 2m37s
Mirror / github-mirror (push) Successful in 6s
2026-08-05 00:20:34 +02:00
lilleman
8f7ab55267
Remove the Settings cog and its Preferences menu from the sidebar footer
CI / full-gate (push) Successful in 2m37s
2026-08-05 00:08:35 +02:00
lilleman
c063b71d19
Merge branch 'main' into i18n
CI / full-gate (push) Successful in 2m39s
2026-08-04 10:43:05 +02:00
lilleman
bd76c981ee
Carry the language through sign-in; warn when switching leaves the page; product-review copy fixes
CI / full-gate (push) Successful in 2m40s
2026-08-04 09:59:00 +02:00
lilleman
37b88b2fe6
Show the language picker on every page, targeting the nearest page that answers GET
CI / full-gate (push) Successful in 2m39s
2026-08-04 09:37:03 +02:00
renovate-bot
01abb2f99c
Update Node.js to v24.19.0
...
CI / full-gate (push) Successful in 2m54s
Mirror / github-mirror (push) Successful in 6s
Release-Bump: minor
2026-08-04 04:17:55 +00:00
lilleman
18e1a8d29d
Keep the chrome lazy for error pages, guard the guard-error render, split the recovery link
CI / full-gate (push) Successful in 2m38s
2026-08-04 00:31:19 +02:00
lilleman
93139ea058
Stability round two: no language links on POST-rendered pages, scoped observers, Vary only where it varies
CI / full-gate (push) Successful in 2m37s
2026-08-04 00:10:31 +02:00
lilleman
b3df7084c4
Reserve the locale param, carry it on breadcrumbs, translate the permissions detail view
CI / full-gate (push) Successful in 2m38s
2026-08-03 23:21:38 +02:00
lilleman
6440c543e5
Architecture review fixes: partials carry the locale, mountable locales/, shared core words
CI / full-gate (push) Successful in 2m36s
2026-08-03 23:12:18 +02:00
lilleman
245d1ad5b5
Add i18n support: per-locale catalogs, URL-driven locale, translated core and examples
CI / full-gate (push) Successful in 2m37s
2026-08-03 22:37:27 +02:00
lilleman
096720904e
Rename the coarse gate from role to permission, matching RBAC
2026-08-03 17:41:40 +02:00
lilleman
b580f7d06e
Rename the plugin-API permission gate to role
2026-08-03 17:41:40 +02:00
lilleman
0919adf4ef
Review fixes: plain depends_on merge, positive secret assertion
CI / full-gate (push) Successful in 2m46s
Mirror / github-mirror (push) Successful in 5s
2026-08-02 16:10:35 +02:00
lilleman
f5f4455b81
Browser E2E for the admin OAuth2-clients screen
CI / full-gate (push) Successful in 2m50s
2026-08-02 16:03:30 +02:00
renovate-bot
8e74532a77
chore(deps): update node.js to v24.18.1
...
Release-Bump: minor
2026-08-02 15:22:25 +02:00
lilleman
c64156a9d5
Update e2e-tests lockfile for @playwright/test 1.62.1
CI / full-gate (push) Successful in 2m42s
Mirror / github-mirror (push) Successful in 5s
2026-08-02 15:06:47 +02:00
renovate-bot
de2ad42f5a
chore(deps): update playwright to v1.62.1
...
Release-Bump: minor
2026-08-02 15:06:47 +02:00
renovate-bot
7c39056188
chore(deps): update node.js to v24.18.0
CI / full-gate (push) Successful in 2m28s
Mirror / github-mirror (push) Successful in 3s
2026-07-05 07:02:10 +00:00
lilleman
e8ea911b80
Move admin screens (users/groups/roles/oauth2-clients) into a drop-in example plugin; add the ctx.system capability surface
2026-07-02 08:01:15 +02:00
lilleman
2202bdbaa0
config/ becomes an empty drop-in mount; examples/ mirrors the mount dirs; plugins & config import the host via #plugin-api/#menu-config subpath imports
2026-07-01 23:19:48 +02:00
lilleman
fe97c3854a
Move reference plugin to examples/scheduling-plugin; plugins/ ships empty as a drop-in mount point, e2e bind-mounts the example
2026-06-27 00:02:26 +02:00
lilleman
de22f51c12
Organize src/ into concern folders (http, auth, admin, plugin-host, ui); co-locate tests, move plugin-api barrel into plugin-host, sync docs + AGENTS layout
2026-06-24 00:23:55 +02:00
lilleman
6d316c4888
Drop .mjs: rename e2e/dev mock servers to .ts, update refs, document the convention in AGENTS.md
2026-06-23 23:54:42 +02:00
lilleman
913bd6813a
Consolidate E2E into e2e-tests/ (Dockerfile + compose.{visual,auth,oauth,full,devstack}.yml, WORKDIR /e2e-tests); move ci.sh to repo root
2026-06-23 23:48:05 +02:00