Simo
fe1b358ed2
fix(ui): contain mobile article fields and stabilize history checks
CI / check (push) Successful in 1m51s
CI / deploy (push) Successful in 1m3s
CI / publish-container (push) Successful in 42s
2026-09-11 09:05:19 +02:00
Simo
88790d1a0d
feat(cms): recover drafts and failed imports with verified UI workflows
CI / check (push) Successful in 2m3s
CI / deploy (push) Successful in 1m31s
CI / publish-container (push) Successful in 1m41s
2026-09-11 08:58:10 +02:00
Simo
410a1e466c
fix(ci): keep optional report extraction non-blocking
CI / check (push) Successful in 58s
CI / deploy (push) Successful in 1m24s
CI / publish-container (push) Successful in 48s
2026-09-11 08:42:33 +02:00
Simo
cc714b427a
ci: report per-route JavaScript budgets from Docker build
CI / check (push) Failing after 54s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 08:41:31 +02:00
Simo
445ef13846
fix(public): distinguish unavailable data from empty results and missing pages
CI / check (push) Successful in 56s
CI / deploy (push) Successful in 1m30s
CI / publish-container (push) Successful in 44s
2026-09-11 00:39:53 +02:00
Simo
db4acbb46e
feat(editorial): validate publications and preserve partial event updates
CI / check (push) Successful in 57s
CI / deploy (push) Successful in 18s
CI / publish-container (push) Successful in 1m20s
2026-09-11 00:36:55 +02:00
Simo
76f0420d64
feat(import): run catalog synchronizations as durable jobs
CI / check (push) Successful in 57s
CI / deploy (push) Successful in 18s
CI / publish-container (push) Successful in 1m18s
2026-09-11 00:36:22 +02:00
Simo
a2954e4408
feat(diagnostics): correlate staff operations errors and audit records
CI / check (push) Successful in 56s
CI / deploy (push) Successful in 19s
CI / publish-container (push) Successful in 1m15s
2026-09-11 00:34:49 +02:00
Simo
440ce4e556
test(me): use committed translations in dashboard tests
CI / check (push) Successful in 55s
CI / deploy (push) Successful in 19s
CI / publish-container (push) Successful in 1m23s
2026-09-11 00:34:21 +02:00
Simo
a647b5451f
feat(hk): persist named table views for staff accounts
CI / check (push) Failing after 55s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:32:15 +02:00
Simo
74223984dc
feat(profile): add privacy controls and progressive photo gallery
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:31:29 +02:00
Simo
ba9c61d808
feat(search): search public news events users and open rooms
CI / check (push) Failing after 54s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:29:54 +02:00
Simo
506e14783c
test(i18n): validate nested housekeeping translation groups
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:28:26 +02:00
Simo
96d3e3f602
feat(events): add weekly browsing and personal registrations
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:27:41 +02:00
Simo
25d0a13050
feat(support): filter waiting tickets and staff assignments
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:20:54 +02:00
Simo
5d18af932d
feat(news): add searchable paginated publication archive
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:19:12 +02:00
Simo
a537c55793
feat(me): show actionable personal tasks with unavailable states
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:15:46 +02:00
Simo
d9ea93a2e7
test(docker): derive image contract from pinned Node version
CI / check (push) Successful in 55s
CI / deploy (push) Successful in 19s
CI / publish-container (push) Successful in 2m35s
2026-09-11 00:14:43 +02:00
Simo
fec8dd3c5d
fix(docker): enforce Node version alignment across build stages
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-11 00:11:18 +02:00
openhands
bcefb0f8ff
build: update node engine range in package.json to match .nvmrc
CI / check (push) Successful in 54s
CI / deploy (push) Successful in 1m18s
CI / publish-container (push) Successful in 1m51s
2026-09-10 21:50:03 +02:00
openhands
8baf151d84
build: update node version in .nvmrc to match active runner version 26.8.2
CI / check (push) Failing after 17s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-10 21:49:12 +02:00
openhands
9a8c721111
fix: add avatar imager cache-buster for instant clothing updates
CI / check (push) Failing after 17s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
2026-09-10 21:42:30 +02:00
openhands
75eada7a59
Replace DragonflyDB with Valkey throughout codebase
...
CI / check (push) Failing after 18s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
- Update all DragonflyDB references to Valkey in README and docker-compose.yml
- Update install instructions to use Valkey package repository and .deb download
- Update configuration paths from /etc/dragonfly/ to /etc/valkey/
- Update version requirement to Valkey 8.x+ (successor to Redis OSS)
2026-09-10 17:52:47 +02:00
openhands
cea88eaa57
feat(catalog): repair page hierarchy cycles and duplicate sibling page order
...
CI / check (push) Successful in 1m3s
CI / deploy (push) Successful in 1m23s
CI / publish-container (push) Successful in 47s
The Arcturus errors "page hierarchy contains a cycle page 354 and 357" and
"sibling order 1 is used more than once (111 problems)" come from
catalog_pages, not catalog_items: pages 354/357 point at themselves, and
many parents have child pages sharing the same order_num. Extend the
emulator catalog scan + fix to detect both: pages whose parent chain loops
back get detached (parent_id = 0 on the highest cycle member) and every
affected parent's children are renumbered sequentially, preserving their
current relative order.
Add scripts/diag-emulator.ts to inspect the live catalog state.
2026-09-10 11:50:27 +02:00
openhands
acbe54fcb7
style: apply biome lint fixes to catalog files and live repair tests
CI / check (push) Successful in 55s
CI / deploy (push) Successful in 1m23s
CI / publish-container (push) Successful in 45s
2026-09-10 11:32:20 +02:00
openhands
3e69b72513
feat(catalog): prevent and repair Arcturus emulator data errors
...
CI / check (push) Failing after 26s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped
Block invalid catalog_items writes at the API level (points currency
allowlist, non-negative prices, positive amount, limited stack >= sold
count, unique sibling order numbers) and auto-assign unique order numbers
on bulk create. Add a catalog-maintenance scan + transactional repair that
fixes pre-existing rows: resets unsupported points_type, clamps negative
costs, sets amount to 1, raises limited_stack, renumbers duplicate orders
and deletes offers with missing page/item references. Surface the issue
count and a fix button in the admin maintenance panel.
Also: add enabled/retired flag to clone sources, classify poster and
currency furniture in item-kind, and remove the obsolete update-Nitrov3.sh.
2026-09-10 11:29:28 +02:00
Simo
ad65d80d41
fix(ci): format catalog repair audit write
CI / check (push) Successful in 52s
CI / deploy (push) Successful in 1m27s
CI / publish-container (push) Successful in 48s
2026-09-09 22:01:40 +02:00
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
89526af344
feat(hk): expand search and add operational user overview
CI / check (push) Successful in 54s
CI / deploy (push) Successful in 1m16s
CI / publish-container (push) Successful in 1m57s
2026-09-09 21:14:10 +02:00
Simo
27447ce029
feat(docker): add guided install and saved one-command updates
CI / check (push) Successful in 53s
CI / deploy (push) Successful in 1m9s
CI / publish-container (push) Successful in 46s
2026-09-09 20:49:05 +02:00
Simo
8dc187483c
fix(ci): verify registry upload against exported OCI config
CI / check (push) Successful in 51s
CI / deploy (push) Successful in 1m9s
CI / publish-container (push) Successful in 54s
2026-09-09 20:33:14 +02:00
Simo
e617ed176a
fix(ci): resolve OCI platform before verifying published config
CI / check (push) Successful in 50s
CI / deploy (push) Successful in 1m7s
CI / publish-container (push) Failing after 43s
2026-09-09 20:27:03 +02:00
Simo
2af244b634
fix(ci): publish registry blobs in bounded chunks
CI / check (push) Successful in 52s
CI / deploy (push) Successful in 1m6s
CI / publish-container (push) Failing after 1m2s
2026-09-09 20:22:07 +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
867113d5d4
fix(ci): publish container under token account namespace
CI / check (push) Successful in 56s
CI / deploy (push) Successful in 1m9s
CI / publish-container (push) Failing after 30s
2026-09-09 19:53:16 +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
Simo
2fead134e6
Merge branch 'main' of https://gitlab.epicnabbo.nl/remco/EpicNext-Cms
2026-09-09 19:33:42 +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
b3a6531d7b
Merge branch 'main' of https://gitlab.epicnabbo.nl/remco/EpicNext-Cms
2026-09-09 18:29:06 +02:00
openhands
b5ea8f1c0e
fix(catalog): add SodaStudios source, fix VirtualCity furnidata URL, ship curl in runtime
CI / check (push) Successful in 51s
CI / deploy (push) Successful in 1m12s
2026-09-08 19:25:14 +02:00
openhands
8a911f2cf6
perf: cap CI test workers at 4 to protect shared production host
CI / check (push) Successful in 59s
CI / deploy (push) Successful in 1m16s
2026-09-08 18:34:08 +02:00
openhands
5a79090942
perf: use all 6 cores for CI test run
...
CI / check (push) Successful in 53s
CI / deploy (push) Successful in 1m11s
Bump vitest maxWorkers from 2 to 6 in the check job, cutting the test step from ~36s to ~22s while keeping coverage thresholds enforced.
2026-09-08 18:31:40 +02:00
openhands
cbffb565ec
perf: cut biome lint from 25s to 1s and fix pre-existing lint failures
...
CI / check (push) Successful in 1m7s
CI / deploy (push) Successful in 1m10s
Exclude generated drizzle-kit snapshot artifacts from formatting checks (drizzle/drafts/meta), which made biome scan a 360KB generated JSON for 23s. Fix the pre-existing lint errors in error-monitor, article-form and the admin-search-permissions mock so pnpm biome:lint is green in CI.
2026-09-08 18:22:49 +02:00
openhands
54b7c67878
perf: speed up local test runs by moving coverage to optional script
...
CI / check (push) Successful in 1m0s
CI / deploy (push) Successful in 1m8s
Run vitest without coverage by default (pnpm test) and add pnpm test:coverage which enforces the coverage thresholds. CI keeps using the coverage run so thresholds are still enforced on every push.
2026-09-08 18:12:34 +02:00
openhands
ecadef904d
chore: remove knip, husky and lint-staged
...
CI / check (push) Successful in 1m11s
CI / deploy (push) Successful in 1m19s
Drop the unused knip dead-code check and the husky+lint-staged pre-commit hook pipeline. All checks remain covered by the CI workflow (lint, typecheck, i18n, tests).
2026-09-08 16:56:55 +02:00
openhands
2a1aef1c1b
fix: complete Playwright removal in CI deploy workflow
...
CI / check (push) Successful in 1m13s
CI / deploy (push) Successful in 2m9s
Drop the leftover Playwright browser install and e2e smoke test from the deployment script, and update the deployment contract tests to cover the verify-deployed-release smoke check instead.
2026-09-08 16:47:39 +02:00
openhands
bbb7d66067
chore: remove Playwright end-to-end testing setup
...
CI / check (push) Successful in 1m10s
CI / deploy (push) Failing after 22s
Remove Playwright config, e2e spec, dependencies, and related references from package.json, tsconfig.json, and .gitignore.
2026-09-08 16:42:10 +02:00
openhands
25f4d74209
feat(ci): switch Cloudflare bypass from FlareSolverr to Byparr
CI / check (push) Successful in 3m59s
CI / deploy (push) Successful in 2m13s
2026-09-08 16:02:12 +02:00
openhands
fabd160250
fix(ci): bound Docker build cache with BuildKit cache mounts
...
CI / check (push) Failing after 2m48s
CI / deploy (push) Skipped
- Move the pnpm store, apk and .next caches into --mount=type=cache so
dependencies are shared across builds instead of duplicated in fresh
image layers (was the source of unbounded disk growth).
- Replace the deprecated --keep-storage prune flag in ci-deploy.sh with
the working --max-used-space=4g (buildx v0.37 renamed the flag). The
deprecated flag silently did nothing, so the BuildKit cache kept
growing unbounded (was 15.86GB); it is now capped at 4GB after every
deploy.
2026-09-08 15:39:13 +02:00
Simo
f1571a1a62
ci: publish portable containers after successful main deployment
2026-09-07 23:02:18 +02:00