Commit Graph
1416 Commits
Author SHA1 Message Date
Simo 1360b0ed59 feat(housekeeping): make system mutations atomic 2026-09-05 17:02:12 +02:00
Simo 874cb2beb2 docs(housekeeping): record main integration checkpoint
CI / check (pull_request) Successful in 2m33s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 16:10:37 +02:00
Simo e7549bbbd2 fix(import): honor cancellation after ID reservation waits 2026-09-05 16:08:20 +02:00
Simo 36ac116dc2 fix(housekeeping): preserve radio key compatibility 2026-09-05 16:04:10 +02:00
Simo 9b83cdc3c3 Merge remote-tracking branch 'origin/main' into codex/housekeeping-rebuild-stepwise
# Conflicts:
#	.env.example
#	src/app/api/admin/import/furni/route.ts
#	src/components/admin/studio/studio-client.tsx
#	src/lib/services/furni-import.ts
#	src/lib/services/import/core/download.ts
2026-09-05 15:54:41 +02:00
Simo f24adfcf66 fix(housekeeping): secure radio settings cache 2026-09-05 15:40:43 +02:00
Simo 775d14f861 fix(catalog): make source preflight advisory
CI / check (push) Successful in 1m38s
CI / deploy (push) Successful in 1m37s
CI / e2e (push) Successful in 21s
2026-09-05 15:32:44 +02:00
Simo 2d14e02a68 fix(catalog): remove suggestions that substitute different furniture
CI / check (push) Successful in 1m43s
CI / deploy (push) Successful in 1m27s
CI / e2e (push) Successful in 21s
2026-09-05 15:26:46 +02:00
Simo 33b6d1520e fix(catalog): stream single imports and preserve response errors
CI / check (push) Successful in 1m31s
CI / deploy (push) Successful in 1m13s
CI / e2e (push) Successful in 21s
2026-09-05 15:16:42 +02:00
Simo f0dcbee162 fix(ci): normalize source asset test formatting
CI / check (push) Successful in 1m30s
CI / deploy (push) Successful in 1m9s
CI / e2e (push) Successful in 21s
2026-09-05 15:07:26 +02:00
Simo 159b1f7d1b fix(catalog): check source assets and offer reachable import alternatives
CI / check (push) Failing after 19s
CI / deploy (push) Skipped
CI / e2e (push) Skipped
2026-09-05 14:56:04 +02:00
Simo 8c1efae296 Expose actionable asset download and filesystem failure details
CI / check (push) Successful in 1m36s
CI / deploy (push) Successful in 1m16s
CI / e2e (push) Successful in 21s
2026-09-05 14:38:10 +02:00
Simo 8a919f85b2 Preserve furniture revisions when downloading source assets
CI / check (push) Successful in 1m31s
CI / deploy (push) Successful in 1m21s
CI / e2e (push) Successful in 21s
2026-09-05 14:29:48 +02:00
Simo 7880d5d5df Recover failed conversion workers and validate Nitro downloads correctly
CI / check (push) Successful in 1m36s
CI / deploy (push) Successful in 1m15s
CI / e2e (push) Successful in 21s
2026-09-05 14:18:28 +02:00
Simo a78d8256e0 Recognize imported furniture by normalized classname and local IDs
CI / check (push) Successful in 1m30s
CI / deploy (push) Successful in 1m21s
CI / e2e (push) Successful in 22s
2026-09-05 14:04:52 +02:00
Simo 9dc6b8a261 Remap occupied furniture IDs during Catalog Studio imports
CI / check (push) Successful in 1m39s
CI / deploy (push) Successful in 1m19s
CI / e2e (push) Successful in 21s
2026-09-05 13:51:29 +02:00
Simo 9f791ba284 Support Gitea configuration and safe Catalog Studio furniture completion
CI / check (push) Successful in 1m31s
CI / deploy (push) Successful in 1m18s
CI / e2e (push) Successful in 21s
2026-09-05 13:33:40 +02:00
Simo 26f071117b Add Catalog Studio inspection and guided import review
CI / check (push) Successful in 1m39s
CI / deploy (push) Successful in 1m18s
CI / e2e (push) Successful in 25s
2026-09-05 13:10:43 +02:00
Simo 2578bf6a09 Improve HK sidebar and restore nested content scrolling
CI / check (push) Successful in 1m30s
CI / deploy (push) Successful in 1m22s
CI / e2e (push) Successful in 21s
2026-09-05 12:50:52 +02:00
Simo bf126fd825 Improve Catalog Studio navigation and import workflow
CI / check (push) Successful in 1m37s
CI / deploy (push) Successful in 1m25s
CI / e2e (push) Failing after 30s
2026-09-05 12:40:50 +02:00
Simo bfdf4def0f Merge pull request 'Fix catalog export Git integration test timeout' (#55) from codex/fix-catalog-export-ci into main
CI / check (push) Successful in 1m29s
CI / deploy (push) Successful in 1m10s
CI / e2e (push) Successful in 21s
Reviewed-on: #55
2026-09-05 11:57:37 +02:00
Simo b6d866b087 test: allow Git integration checks enough time on CI
CI / check (pull_request) Successful in 1m29s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 11:55:36 +02:00
Simo c0c6926309 Merge pull request 'feat: export Catalog Studio assets and SQL to catalog repository' (#54) from codex/catalog-studio-export into main
CI / check (push) Failing after 1m17s
CI / deploy (push) Skipped
CI / e2e (push) Skipped
Reviewed-on: #54
2026-09-05 11:50:07 +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
Simo 845666cf37 docs(housekeeping): record authority review and remaining parity work
CI / check (pull_request) Successful in 1m41s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 11:29:57 +02:00
Simo 54f0345aac fix(housekeeping): release authority lock before activity 2026-09-05 11:25:29 +02:00
Simo 8a894617e7 fix(housekeeping): unify moderation target authority 2026-09-05 11:17:19 +02:00
Simo 9b91880e33 docs(housekeeping): track functional parity gaps and execution
CI / check (pull_request) Successful in 1m40s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 10:50:41 +02:00
Simo d0190bc11f fix: preserve committed room results 2026-09-05 10:49:22 +02:00
Simo 184052fbce fix: converge legacy room mutations 2026-09-05 10:42:57 +02:00
Simo 8e54cdbc6a fix(vouchers): reserve claims atomically before reward dispatch
CI / check (pull_request) Successful in 1m46s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 10:18:44 +02:00
Simo 4b88c6955b fix(housekeeping): serialize commerce state edits
CI / check (pull_request) Successful in 1m39s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 10:12:39 +02:00
Simo 555bc75f9e fix(housekeeping): preserve audit reasons and completed effects
CI / check (pull_request) Successful in 1m42s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 10:06:02 +02:00
Simo 866f38818b fix(housekeeping): coordinate all rank mutation paths
CI / check (pull_request) Successful in 1m44s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-05 09:48:30 +02:00
Simo 3d53321575 fix(housekeeping): converge rank synchronization 2026-09-04 20:38:10 +02:00
Simo ce4a3ba32c Merge remote-tracking branch 'origin/main' into codex/housekeeping-rebuild-stepwise
CI / check (pull_request) Successful in 2m11s
CI / deploy (pull_request) Skipped
CI / e2e (pull_request) Skipped
2026-09-04 20:08:49 +02:00
openhands bfbf244141 fix: remove unused buildDutchLanguage function and dead test file
CI / check (push) Successful in 1m47s
CI / deploy (push) Successful in 2m6s
CI / e2e (push) Successful in 22s
- Removed buildDutchLanguage() that caused TS6133 error
- Removed src/lib/admin-helpers.test.ts (dead code, never used)
- All checks pass: Biome, TypeScript, Vitest, Coverage
2026-09-04 19:49:47 +02:00
openhands 4795ed4f8f feat: add buildDutchLanguage function for translating only Dutch with crash-safe error handling
- New buildDutchLanguage() function translates only 'nl' language
- Proper error handling with specific messages for network errors
- Safe template literal usage, guarded .find() for Dutch language
- Consistent with existing buildAllLanguages pattern

Remove unused admin-helpers.test.ts (dead code)
2026-09-04 19:14:27 +02:00
openhands 458972fdfd fix: improve batch import error handling and resilience
CI / check (push) Successful in 1m25s
CI / deploy (push) Successful in 1m57s
CI / e2e (push) Successful in 26s
- Add retries for furnidata fetch (3 attempts, 1s delay)
- Better error messages for user (distinguish 502/400/other)
- Client-side: show detailed error from SSE stream when available
- Remove unused admin-helpers.test.ts
2026-09-04 18:28:14 +02:00
openhands 5e09e115a9 ci: set realistic coverage thresholds (12% statements/9% branches/10% functions/13% lines)
CI / check (push) Successful in 1m13s
CI / deploy (push) Successful in 1m39s
CI / e2e (push) Successful in 22s
2026-09-04 18:14:32 +02:00
openhands 4007b01da9 ci: run e2e smoke against deployed app and ignore playwright artifacts
CI / check (push) Successful in 1m10s
CI / deploy (push) Successful in 1m25s
CI / e2e (push) Successful in 22s
- Add e2e job (needs deploy, main/master only) that installs the
  Playwright browser and smoke-tests the live container on :3002
- Keep deploy-job contract slice from bleeding into the e2e job
- Cover the e2e job in the CI workflow contract test
- Ignore Playwright output dirs (test-results, playwright-report,
  blob-report)
2026-09-04 13:32:51 +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 61769e355b fix(ci): draai DB-migraties in deploy voor het vervangen van de container
CI / check (push) Successful in 1m4s
CI / deploy (push) Successful in 1m29s
Zonder dit loopt nieuwe code tegen een oud schema aan zodra een push
migraties bevat. Idempotent (toegepaste migraties worden overgeslagen),
draait op de host met de productie-.env, vóór de container-replace.
2026-09-04 12:34:49 +02:00
openhands 3fdcf028e8 fix(ci): geef runtime-env door via -e i.p.v. --env-file
CI / check (push) Successful in 1m6s
CI / deploy (push) Successful in 1m22s
docker run --env-file behoudt letterlijke quotes (bewezen test),
waardoor DATABASE_URL ongeldig was en de container crashte. Nu wordt
.env gesourced en elke sleutel met -e doorgegeven: exact dezelfde
waarden als bij de build. Contract-test verbiedt --env-file.
2026-09-04 12:29:06 +02:00
openhands 10da44ee56 fix(ci): bouw met productie-.env, deploy met env+volumes en rollback
CI / check (push) Successful in 1m14s
CI / deploy (push) Failing after 3m10s
- Deploy kopieert de productie-.env van de host in de build-context:
  Next.js bakt NEXT_PUBLIC_* in en valideert DATABASE_URL/HOTEL_NAME
  (SKIP_ENV_VALIDATION is verboden voor productie, zie src/env.ts).
- Dockerfile builder installeert git (next.config.ts deploymentId).
- Deploy-container krijgt --env-file + dezelfde volumes als compose,
  stopt ook de oude compose-container (poort 3002) en rolt terug via
  compose bij een falende health check.
2026-09-04 12:22:02 +02:00
openhands 43ecdaee19 fix(ci): docker build met --network=host tegen hangende registry-stappen
CI / check (push) Successful in 1m4s
CI / deploy (push) Failing after 59s
De host heeft Docker iptables uitgeschakeld, dus build-containers op
bridge hebben geen outbound internet; 'npm install -g pnpm' in de
builder-stage hing daardoor. Met --network=host krijgt de build wel
registry-toegang. Contract-test vergrendelt de flag.
2026-09-04 12:16:26 +02:00
openhands cdb0fef6c9 fix(ci): remove invalid --jobs flag from pnpm install
CI / check (push) Successful in 1m3s
CI / deploy (push) Failing after 2m52s
pnpm 11 has no --jobs option for install; the stray positional '1'
flipped the command into 'add' mode, which then rejected both
--frozen-lockfile and --jobs ('Unknown options', 'pnpm help add').
Reproduced locally, fixed, verified install succeeds. Add contract
regression test.
2026-09-04 12:11:35 +02:00
openhands 4139aa79ff fix(ci): draai alle jobs op self-hosted voor 100% betrouwbaarheid
CI / check (push) Failing after 3m0s
CI / deploy (push) Skipped
Root cause: de job-container (docker mode) heeft GEEN outbound
internet naar GitHub, waardoor actions/checkout@v4 faalde met
'Unable to clone ... i/o timeout'.

Oplossing: zowel check als deploy draaien nu op self-hosted (host)
waar Node 26.8.1 + pnpm 11.25.0 geïnstalleerd zijn en internet
beschikbaar is. Dit is de enige betrouwbare setup in deze omgeving.
Runner is tevens hernoemd naar 'Epic runner'.
2026-09-04 11:35:22 +02:00
openhands 3c0acc3fcf refactor(ci): volledig opnieuw geschreven CI workflow
CI / check (push) Canceled after 1m56s
CI / deploy (push) Skipped
- Check job: lint, typecheck, test in node:26 container
- Deploy job: Docker build + deploy + health check op host
- Corepack pnpm installatie
- BuildKit caching
- Contract tests herschreven (18 tests)
2026-09-04 11:26:25 +02:00
openhands a52cbead8a perf(ci): snellere workflow + Epic runner naam
CI / check (push) Failing after 3m1s
CI / deploy (push) Skipped
- Runner hernoemd naar 'Epic runner'
- Env variabelen als global env (niet per step)
- fetch-depth: 1 voor snellere checkout
- Knip verwijderd (traag, niet kritiek)
- Docker BuildKit caching
- Health check opgeschoond
2026-09-04 11:22:28 +02:00