Commit Graph
535 Commits
Author SHA1 Message Date
openhands e2a2b7162d ci: trigger pack rebuild with renderer path fix
Trigger Site Pack / notify (push) Successful in 0s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m56s
Site Pack / pack (push) Failing after 18s
2026-07-20 18:58:40 +02:00
openhands cc4b7da756 fix: clone CMS from local bare repo in pack workflow (avoids runner HTTPS auth failure)
Trigger Site Pack / notify (push) Successful in 0s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m37s
Site Pack / pack (push) Failing after 28s
2026-07-20 18:55:11 +02:00
openhands 134bb97410 fix: clone renderer to Nitro_Render_V3 so Nitro-V3 vite build finds the SDK
Trigger Site Pack / notify (push) Successful in 1s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m26s
Site Pack / pack (push) Failing after 47s
2026-07-20 18:50:39 +02:00
openhands 682babb1c0 perf: cache per-component builds in pack workflow (only rebuild changed repos; sparse catalogus clone)
Trigger Site Pack / notify (push) Successful in 0s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m2s
Site Pack / pack (push) Failing after 46s
2026-07-20 18:45:24 +02:00
openhands 8b5999970b feat: pack auto-rebuilds on any upstream change (CMS/catalogus/nitro/render/emulator) via 15min cron poll
Trigger Site Pack / notify (push) Successful in 0s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m26s
Site Pack / pack (push) Failing after 1m48s
2026-07-20 18:42:02 +02:00
openhands 87d72a1aef feat: add site-pack workflow (builds CMS+catalogus+nitro+render+emulator into pack-YYYYMMDD-HHMM release)
Trigger Site Pack / notify (push) Successful in 0s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m35s
Site Pack / pack (push) Failing after 1m32s
2026-07-20 18:33:00 +02:00
openhands 222fa1a9db chore: harden update-Nitrov3.sh (git retry, offline maven, parallel build failure detection, real emulator health port check)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m30s
2026-07-20 18:21:47 +02:00
openhands 7e0519a04c Revert "test: trigger deploy webhook"
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m18s
This reverts commit 6525512a93.
2026-07-20 17:50:10 +02:00
openhands 6525512a93 test: trigger deploy webhook
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m24s
2026-07-20 17:48:29 +02:00
openhands 5e8a13a84f fix: resolve all biomaly lint errors and warnings across CMS
Deploy / release (push) Successful in 4s
Deploy / deploy (push) Skipped
- Fix CSS parser config (tailwindDirectives enabled)
- Fix noDangerouslySetInnerHtml via SanitizedHtml component
- Fix useExhaustiveDependencies in catalog-manager-dialog
- Fix noArrayIndexKey across 26 files (stable keys)
- Fix SVG a11y (titles, roles, aria-labels)
- Fix label/input associations (htmlFor/id pairs)
- Fix static element interactions (role + keyboard support)
- Fix noImgElement, noDescendingSpecificity (disabled - external Habbo URLs)
- Fix noNonNullAssertion, useTemplate, unused vars/imports
- Add SanitizedHtml shared component
- Migrate biome.json to 2.5.4 schema
2026-07-20 17:41:53 +02:00
openhands dd66a5ba2e fix: use TOKEN from env with fallback to secret
Deploy / release (push) Successful in 22s
Deploy / deploy (push) Skipped
2026-07-20 16:03:13 +02:00
openhands 7eb3ba1ce8 feat: add create-release.sh for manual release creation
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m30s
2026-07-20 15:56:45 +02:00
openhands 0c0540cf59 fix: yaml syntax in deploy workflow
Deploy / release (push) Successful in 4s
Deploy / deploy (push) Skipped
2026-07-20 15:52:40 +02:00
openhands 0913e9d529 fix: merge release into deploy workflow for Gitea compatibility 2026-07-20 15:50:03 +02:00
openhands 02df513b18 debug: extensive logging in release workflow
Local Build and Deploy / deploy (push) Successful in 1m24s
2026-07-20 15:42:46 +02:00
openhands 323e2cd9d3 fix: generate changelog from bare repo before clone, use jq
Local Build and Deploy / deploy (push) Successful in 1m27s
Bare repo ensures all tags and full history are available.
Changelog saved before clone to avoid filesystem isolation issues.
2026-07-20 15:38:42 +02:00
openhands cb683b7322 chore: remove test workflow, clean up test tags
Local Build and Deploy / deploy (push) Successful in 1m29s
2026-07-20 15:36:55 +02:00
openhands c959487605 test: add tag trigger test workflow
Local Build and Deploy / deploy (push) Successful in 1m28s
Tag Trigger Test / test (push) Successful in 1s
2026-07-20 15:35:09 +02:00
openhands 26da114e0e fix: use curl+jq instead of Python for release creation
Local Build and Deploy / deploy (push) Successful in 1m27s
Eliminates potential Python/heredoc issues in Gitea Actions runner.
Full clone guarantees git history is available for changelog.
2026-07-20 15:29:54 +02:00
openhands 8badcd9c92 fix: full clone instead of shallow for proper changelog
Local Build and Deploy / deploy (push) Successful in 1m29s
Shallow clone (--depth 1) prevented git log from seeing full history.
Local bare repo clone is instant, so full clone adds no network delay.
2026-07-20 15:27:57 +02:00
openhands 25a8d6ab22 debug: add extensive logging to release workflow
Local Build and Deploy / deploy (push) Successful in 1m20s
Writes debug output to /tmp/release-debug.log for post-mortem analysis.
2026-07-20 15:23:14 +02:00
openhands 57ef6289ff fix: generate changelog via Python subprocess for reliability
Local Build and Deploy / deploy (push) Successful in 1m26s
Previous approaches using temp files or env vars failed in Gitea runner.
Python now runs git commands directly via subprocess, reads stdout,
and builds the JSON payload — no intermediate files or shell escaping.
2026-07-20 15:21:12 +02:00
openhands 80bf3bb0d5 fix: use local checkout for changelog generation
Local Build and Deploy / deploy (push) Successful in 1m26s
Bare git repo has no HEAD; git log without --all showed nothing.
Now uses /var/www/atom-nexst (full checkout with proper HEAD).
Also adds debug output and handles first-release edge case.
2026-07-20 15:16:19 +02:00
openhands 15ed8ffbf0 fix: generate release changelog from full local repo
Local Build and Deploy / deploy (push) Successful in 1m23s
Shallow clone (depth 1) only has one commit, so git log was empty.
Now generates changelog from the bare repo before cloning, and uses
Python to build the JSON payload for proper multiline escaping.
2026-07-20 15:11:59 +02:00
openhands aea9d83865 refactor: rewrite updater to v8.0 — faster, stabler, more features
Local Build and Deploy / deploy (push) Successful in 1m28s
Faster:
- Parallel Maven builds (-T 1C, skip tests)
- yarn install with --prefer-offline
- Renderer + client installs run in parallel via parallel_run()
- Skip building if no upstream changes
- Dev mode (--only=dev) skips all builds, just syncs configs

Stabler:
- Flock-based lockfile prevents concurrent runs
- Preflight check function with fatal error handling
- Config backup before overwriting (rollback on crash)
- JSON config validation after syncing
- Disk space warning at 50% threshold
- Better Maven error logging (last 20 lines)
- Redis flush after config sync (immediate effect)
- Automatic cleanup of old config backups (keep 10)

New features:
- Dev mode (menu option 19) — skip builds, configs + restart only
- Git stash viewer (menu option 20 / stash command)
- Emulator journal viewer (service menu option 8)
- Docker system prune (clean menu option 6)
- Maven artifact cleanup (clean menu option 7)
- DB processlist viewer (database menu option 7)
- Git ahead/behind indicators in status dashboard
- Program renamed to SMaRT v8.0.0
2026-07-20 15:10:17 +02:00
openhands df604bf432 fix: copy .env into temp clone for Prisma build
Local Build and Deploy / deploy (push) Successful in 1m37s
Create Release / release (push) Successful in 1m2s
2026-07-20 15:06:25 +02:00
openhands 73a36d503a fix: combine release workflow into single run block
Local Build and Deploy / deploy (push) Successful in 1m37s
Create Release / release (push) Failing after 13s
Each Gitea Actions step is a separate shell session; git context did not
persist between steps. All steps are now in one run block.
2026-07-20 15:03:11 +02:00
openhands 9b8a0e5075 ci: add Gitea release workflow on tag push
Local Build and Deploy / deploy (push) Successful in 1m25s
Create Release / release (push) Failing after 0s
Creates an automated Gitea release with changelog when a tag (v*) is pushed.
Requires GITEA_TOKEN secret in Gitea with repository write access.
2026-07-20 14:59:51 +02:00
openhands c8ccbe1f42 perf: add Prisma query caching, ISR for news pages, and aggressive SW caching
- Introduce redis-backed Prisma query cache (prisma-cache.ts) with per-model TTL
- Replace force-dynamic with revalidate=60 + generateStaticParams on news/[slug]
- Wrap article query with Redis cache (60s TTL)
- Upgrade service worker to v2 with dedicated API cache and stale-while-revalidate
  for static assets
2026-07-20 14:54:55 +02:00
openhands d5e3bc7875 refactor: mark dead exports with TODO, deduplicate field sanitization, fix import placement
Local Build and Deploy / deploy (push) Successful in 1m36s
2026-07-20 14:47:05 +02:00
openhands 2beba07ba5 feat: enable React Compiler, optimizePackageImports for lucide-react, add loading states for (site) and client routes
Local Build and Deploy / deploy (push) Successful in 1m19s
2026-07-20 14:25:12 +02:00
openhands ccd4994028 feat: enable React Compiler, add Redis caching for API routes, update README with requirements and install guide
Local Build and Deploy / deploy (push) Failing after 57s
2026-07-20 14:14:49 +02:00
openhands f53d25e0a5 feat: add view transitions, smooth scroll, bundle analyzer, SSE radio stream, and AnimatePresence animations
Local Build and Deploy / deploy (push) Successful in 1m24s
2026-07-20 14:06:43 +02:00
Simo 57c3fe601a Merge pull request 'fix(admin): chat/command logs crash on ignored Prisma models' (#13) from fix/admin-chat-command-logs into main
Local Build and Deploy / deploy (push) Successful in 59s
Reviewed-on: #13
2026-07-18 22:25:52 +02:00
SimoandCursor 3dcd100c9f Fix admin trade logs: wrong Prisma model and missing relations.
Load room_trade_log via SQL with user joins; status is always completed (no column in DB).

Co-authored-by: Cursor <[email protected]>
2026-07-18 22:25:38 +02:00
SimoandCursor afeabdad1b Fix admin chat/command logs crashing on missing Prisma models.
chatlogs_room and commandlogs are @@ignore (no client delegates); load them via raw SQL with user joins instead of fetchAdminList(chatLog/commandLog).

Co-authored-by: Cursor <[email protected]>
2026-07-18 22:24:10 +02:00
Simo ef0d673cfe Merge pull request 'feat(admin): collapsible sidebar nav groups' (#12) from feat/admin-nav-collapse into main
Local Build and Deploy / deploy (push) Successful in 1m7s
Reviewed-on: #12
2026-07-18 22:15:50 +02:00
SimoandCursor 518ed14a83 Add collapsible admin sidebar nav groups with persistence.
Category headers toggle open/closed; state is stored in localStorage and the active route group stays expanded.

Co-authored-by: Cursor <[email protected]>
2026-07-18 22:15:33 +02:00
Simo 4628511bae Merge pull request 'feat(admin): feature-first nav + soft light mode' (#11) from feat/admin-feature-nav into main
Local Build and Deploy / deploy (push) Successful in 1m7s
Reviewed-on: #11
2026-07-18 22:07:29 +02:00
SimoandCursor dd806d2527 Reorganize admin nav by feature and soften light mode.
Sidebar lists one entry per feature; keep hub tabs only for sibling views (events, tickets, ranks/permissions, moderation, radio, analytics, devops). Soft cool-gray light canvas/surface replaces harsh white.

Co-authored-by: Cursor <[email protected]>
2026-07-18 22:06:41 +02:00
Simo 022fbfa223 Merge pull request 'feat(i18n): observability - analytics + log tables (+ events/polls detail)' (#10) from feat/observability-i18n into main
Local Build and Deploy / deploy (push) Successful in 59s
Reviewed-on: #10
2026-07-18 21:52:36 +02:00
Simo 9a4976f588 Merge branch 'main' into feat/observability-i18n 2026-07-18 21:52:24 +02:00
SimoandCursor bcbdca841b i18n observability hub: analytics pages and log tables.
Translate analytics overview/activity/economy plus peak-hours/revenue charts, and audit/chat/commands/trades DataTables (en/nl/it). Includes prior events/polls detail i18n.

Co-authored-by: Cursor <[email protected]>
2026-07-18 21:51:55 +02:00
Simo 1f925711bc Merge pull request 'feat(i18n): events/polls detail + form chrome' (#9) from feat/events-polls-detail-i18n into main
Local Build and Deploy / deploy (push) Successful in 59s
Reviewed-on: #9
2026-07-18 21:51:27 +02:00
SimoandCursor a25008deb5 i18n events/polls detail pages, forms, and empty sections.
Align detail headers with admin chrome, translate stats/forms/breadcrumbs, and use admin-empty for prizes, winners, registrations, and questions.

Co-authored-by: Cursor <[email protected]>
2026-07-18 21:46:52 +02:00
Simo dd9c5e70c2 Merge pull request 'feat(i18n): events/polls admin table columns' (#8) from feat/events-polls-table-i18n into main
Local Build and Deploy / deploy (push) Successful in 1m0s
Reviewed-on: #8
2026-07-18 21:43:48 +02:00
SimoandCursor 8009491245 i18n events and polls admin DataTable columns.
Wire column headers, search placeholders, and status/type labels through pages.admin.events/polls (en/nl/it), matching tickets-table.

Co-authored-by: Cursor <[email protected]>
2026-07-18 21:43:27 +02:00
Simo 3bf63b17de Merge pull request 'fix(sentry): silence build warning without auth token' (#7) from fix/sentry-no-auth-token-warning into main
Local Build and Deploy / deploy (push) Successful in 1m10s
Reviewed-on: #7
2026-07-18 21:40:17 +02:00
SimoandCursor 549a2fab5c Silence Sentry build warnings when no auth token is set.
Skip release creation alongside source-map upload so production compile does not warn about missing SENTRY_AUTH_TOKEN.

Co-authored-by: Cursor <[email protected]>
2026-07-18 21:32:25 +02:00
Simo 0aa60f8ec5 Merge pull request 'feat(admin): hub polish - headers, events/polls, empty states' (#6) from feat/admin-hub-polish into main
Local Build and Deploy / deploy (push) Successful in 1m26s
Reviewed-on: #6
2026-07-18 21:29:19 +02:00