Simo
1ef405be0a
feat(cms): add recovery history and operational reliability tools
CI / check (push) Failing after 22s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-09 21:57:56 +02:00
Simo
047cd9f3dd
feat(catalog): add saved packages, preview and bulk price editing
CI / check (push) Successful in 52s
CI / deploy (push) Successful in 1m23s
CI / publish-container (push) Failing after 27s
2026-09-09 20:04:10 +02:00
Simo
c389c3893d
feat(cms): improve catalog, editorial recovery and operations
CI / check (push) Successful in 52s
CI / deploy (push) Successful in 2m10s
CI / publish-container (push) Failing after 1m18s
2026-09-09 19:36:15 +02:00
openhands
1daada076c
fix(catalog): sync localized FurniData files when translating items via admin UI
...
CI / check (push) Successful in 53s
CI / deploy (push) Successful in 1m34s
translateCatalogItems previously only patched the master FurnitureData.json
via patchFurniEntryNames but never updated the per-language files
(FurnitureData_nl.json, etc.). Custom/imported furniture translated through
the catalog Translate tab was therefore invisible in localized builds.
After patching the master file, the action now also calls
patchLocalizedFurniDataEntries so LibreTranslate translates the English
names into all 13 supported languages.
2026-09-09 19:08:39 +02:00
Simo
55a47949f1
feat(catalog): add reviewed bulk edits and complete category duplication
CI / check (push) Successful in 1m14s
CI / deploy (push) Successful in 1m11s
2026-09-06 20:25:19 +02:00
Simo
193b6686a9
refactor(catalog): unify commands and embed guarded catalog workspace
CI / check (push) Successful in 1m16s
CI / deploy (push) Successful in 28s
2026-09-06 19:40:52 +02:00
Simo
9b0ea2fb16
fix(news): restore publication flow and deduplicate dashboard friends
CI / check (push) Successful in 1m6s
CI / deploy (push) Successful in 59s
2026-09-06 18:32:43 +02:00
Simo
ef94646d60
fix(i18n): persist CMS translations and validate message catalogs
CI / check (push) Successful in 1m14s
CI / deploy (push) Successful in 1m27s
2026-09-06 17:55:11 +02:00
openhands
9ae03056e2
chore: remove 4 unused files (theme-editor-fields, use-user-bulk-actions, user-columns, use-media-library)
CI / check (push) Successful in 1m42s
CI / deploy (push) Successful in 1m36s
CI / e2e (push) Successful in 21s
2026-09-05 23:27:02 +02:00
Simo
667637f8da
refactor(admin): remove legacy menu editor
2026-09-05 20:08:19 +02:00
Simo
9ec9ab31ad
feat: export Catalog Studio assets and SQL to catalog repository
CI / check (pull_request) Failing after 1m21s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 11:49:00 +02:00
openhands
399c047515
fix: harden admin actions, search, sanitization and repo hygiene
...
CI / check (push) Successful in 1m21s
CI / deploy (push) Successful in 1m25s
- Split approve/dismiss application workflows with distinct audit logs,
rate-limited guards and real error logging
- Validate article status/date/id input and stop resetting publishedAt
on every update
- Validate guild updates (state, forum enums, non-empty name) behind
rate-limited guard
- Fix scheduled-article publishing (ignore NULL dates, set updatedAt,
type-safe predicates)
- Harden admin search API (LIKE escaping, query cap, per-user
rate limit, round-robin result cap) and fix search dialog
abort/res.ok/loading races
- Lock down HTML sanitizer to an allowlist profile and add XSS tests
- Improve mobile nav accessibility (unique id, dialog role, focus
management, scroll lock, outside close)
- Log swallowed server errors instead of silent catch blocks
- Remove dead eslint config, drop unused dompurify deps, restore knip
CI step, add Playwright config with smoke spec
2026-09-04 13:04:08 +02:00
openhands
30c95b1a5c
feat: comprehensive CMS improvements
...
CI / runtime-diagnostics (push) Skipped
CI / release (push) Skipped
CI / check (push) Failing after 0s
CI / deploy (push) Skipped
- Fix DOMPurify SSR crash (use isomorphic-dompurify)
- Fix SanitizedHtml to sanitize by default
- Add auth guards to studio/catalog maintenance pages
- Add update/edit to vouchers CRUD
- Add update/edit to rare-values CRUD
- Add approve workflow to applications page
- Add edit form to guilds detail page
- Add SEO metadata to all public pages (21 pages)
- Fix mobile nav accessibility (focus trap, aria attributes)
- Fix missing labels and table accessibility
- Add dynamic imports for heavy client components (6 components)
- Fix silent error swallowing (40+ locations)
- Add content scheduling for articles (publishAt, status)
- Wire up 12 missing webhook notification triggers
- Add global search to admin panel
- Add bulk actions to admin users table
- Fix JSON formatting and a11y issues
2026-09-03 16:00:32 +02:00
openhands
a7ccc98f84
fix: resolve pre-existing lint warnings
...
CI / check (push) Failing after 28s
CI / release (push) Skipped
CI / deploy (push) Skipped
- Remove unused siteSettings import in auth-precheck.test.ts
- Replace non-null assertions with proper null checks in furni-data-i18n.ts
- Replace non-null assertions with proper null checks in conversion-pool.ts
2026-08-31 17:48:36 +02:00
openhands
adf0658916
feat: extend theme builder with block visibility, layout, effects, media, and custom CSS tabs
...
CI / check (push) Failing after 29s
CI / release (push) Skipped
CI / deploy (push) Skipped
- Add theme-blocks.ts registry with 24 themeable blocks across 4 categories
- Extend resolver to resolve blocks, layout, effects, media, and custom CSS per scope
- Add data-theme-block attributes to all site layout blocks
- Extend ScopedThemeVars to generate CSS for block visibility, layout vars, effect vars, media vars, and custom CSS
- Rewrite admin UI with 6 tabs: Colors, Blocks, Layout, Effects, Media, Custom
- Extend server actions to save/load all new setting types
- No database migration needed - uses existing theme_scope_values table with prefixed keys
2026-08-31 17:44:29 +02:00
openhands
a98b194386
feat: add scoped theme builder system with per-route, per-module, and multi-site support
...
- Add theme_scopes and theme_scope_values database tables for scoped themes
- Implement theme resolver engine with inheritance: global > site > module > route
- Add module detection for 20+ routes (shop, guilds, radio, news, etc.)
- Create admin UI at /admin/theme-builder with scope tree and color editor
- Add ScopedThemeVars component for injecting scoped CSS via data-attributes
- Add ThemeScopeDetector client component for runtime module/route detection
- Add site-resolver for multi-site domain detection
- Add /api/themes/export endpoint (JSON, CSS, variables formats)
- Add /api/themes/export/embed.js for external integration widget
- Add server actions for full CRUD on scopes and theme values
- Add admin nav link and EN/NL translations
2026-08-31 17:15:42 +02:00
Simo
b1ddda66ff
Revert "Merge pull request 'Complete Housekeeping migration and /ase cutover' ( #52 ) from codex/housekeeping-complete into main"
...
CI / check (push) Successful in 27s
CI / release (push) Skipped
CI / deploy (push) Successful in 43s
This reverts commit 488b6e57c4 , reversing
changes made to b506b4499a .
2026-08-30 21:31:34 +02:00
Simo
222535e116
fix(housekeeping): close final authorization gaps
2026-08-30 21:01:32 +02:00
Simo
2b8f73a91d
feat(housekeeping): cut over administration to ase
2026-08-30 20:35:22 +02:00
Simo
b9c47aa89a
style: satisfy cumulative biome checks
2026-08-30 19:38:36 +02:00
Simo
8a31556d51
test(housekeeping): prove 137 route parity
CI / check (pull_request) Successful in 1m9s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 19:11:14 +02:00
Simo
5574e601bb
feat(housekeeping): personalize command deck
CI / check (pull_request) Successful in 36s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 16:55:10 +02:00
Simo
300ac0ef95
feat(housekeeping): compose operational inbox
CI / check (pull_request) Successful in 37s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 16:26:20 +02:00
Simo
bcb0ca977f
feat(housekeeping): add global command deck search
CI / check (pull_request) Successful in 38s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 15:59:48 +02:00
Simo
abc707cfb2
feat(housekeeping): deliver hotel operations
CI / check (pull_request) Failing after 36s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 14:34:26 +02:00
Simo
bfc5bd78a1
fix(housekeeping): preserve banner server actions
2026-08-30 14:33:50 +02:00
Simo
9c4b973faf
feat(housekeeping): deliver economy vertical
CI / check (pull_request) Successful in 40s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 13:47:06 +02:00
Simo
b70bd401d1
fix(housekeeping): retain admin banner shim
CI / check (pull_request) Failing after 31s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-30 12:11:14 +02:00
Simo
08358b8aa4
style: satisfy housekeeping biome gate
2026-08-30 11:59:24 +02:00
Simo
d1160eb65a
fix(housekeeping): address task 14 review round 3
2026-08-30 11:48:52 +02:00
Simo
c524b305d7
fix(housekeeping): address task 14 review round 2
2026-08-30 11:30:17 +02:00
Simo
d09eaa33d6
fix(housekeeping): address task 14 review round 1
2026-08-30 10:53:50 +02:00
Simo
fd68819d9b
feat(housekeeping): deliver content vertical
2026-08-30 01:54:43 +02:00
Simo
3fa1119f5a
fix(housekeeping): address people moderation review
CI / check (pull_request) Failing after 9s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-29 23:53:38 +02:00
Simo
29fe22297b
feat(housekeeping): complete people moderation parity
2026-08-29 22:38:50 +02:00
Simo
3d385d1869
Merge branch 'main' of https://gitlab.epicnabbo.nl/remco/EpicNext-Cms into codex/housekeeping-complete
2026-08-29 21:16:46 +02:00
Simo
a6a288d9ff
fix(housekeeping): restore people partial compatibility
CI / check (pull_request) Successful in 42s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-29 21:03:43 +02:00
openhands
7f39ba4257
fix: harden SSO ticket flow and revoke tickets on logout
...
CI / check (push) Successful in 28s
CI / release (push) Skipped
CI / deploy (push) Successful in 54s
Reuse the outstanding auth_ticket instead of minting a fresh one on every
/client load, so reloading the page or opening a second tab no longer
invalidates a game session that is still connecting. New tickets are minted
with a guard against the previously-read value so concurrent launches
converge on the same ticket.
Revoke the auth_ticket when signing out (toolbar, header and sign-out
everywhere) so a leaked ticket can no longer be replayed against the
emulator, and prevent SSO leakage via referral by setting no-referrer on the
client iframe. Strip all whitespace from the ticket prefix and build the
launch URL through a tested helper that handles query strings, existing sso
params and URL fragments correctly.
2026-08-29 20:54:06 +02:00
Simo
91c9efcbb4
fix(housekeeping): complete people workflow fidelity
2026-08-29 14:39:38 +02:00
Simo
25b76437ff
fix(housekeeping): harden people account workflows
2026-08-29 13:13:04 +02:00
Simo
e1b31ff773
feat(housekeeping): deliver people account workflows
2026-08-29 11:45:50 +02:00
Simo
c325c53774
fix(housekeeping): harden system workflow boundaries
CI / check (pull_request) Successful in 33s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
2026-08-29 00:25:47 +02:00
Simo
3788ecd9f1
feat(housekeeping): deliver system vertical
2026-08-28 23:31:47 +02:00
Simo
139e8cfc3a
Merge branch 'main' of https://gitlab.epicnabbo.nl/remco/EpicNext-Cms into codex/housekeeping-complete
2026-08-28 20:21:13 +02:00
openhands
944e8ff1d8
fix: harden update pipeline and restore a clean production build
...
CI / check (push) Successful in 29s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m0s
- update-Nitrov3.sh: build CMS into .next-staging and swap atomically so a
failed build never takes the live site down; auto-merge new variables
from .env.example; validate env for duplicates/broken lines; restart the
emulator/CMS only when rebuilt or unhealthy; fix step renumbering
- next.config.ts: support NEXT_DIST_DIR for staged production builds
- fix all TS errors (unused imports, missing tryDownloadCandidates helper)
so tsc and the production build pass clean
- add Dockerfile/.dockerignore and switch docker-compose to a CMS container
- include prevailing UI/refactor changes (SurfaceCard, ticketing, tsconfig)
2026-08-28 12:48:04 +02:00
Simo
00618fb2a3
fix(housekeeping): harden command dispatch boundaries
2026-08-27 19:32:19 +02:00
Simo
796d009c07
fix(housekeeping): harden audited command dispatch
2026-08-27 18:58:14 +02:00
Simo
6aed71a8b2
feat(housekeeping): dispatch audited commands
2026-08-27 18:30:44 +02:00
Simo
60968409aa
fix(housekeeping): count preference payload bytes
2026-08-27 17:53:16 +02:00
Simo
4e0bf598ed
fix(housekeeping): harden preference persistence
2026-08-27 17:44:53 +02:00