openhands
67b67798b9
feat(client): polished toolbar, live online count via SSE
...
CI / runtime-diagnostics (push) Skipped
CI / check (push) Successful in 28s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m27s
- Redesign in-game client toolbar with refined glass styling and buttons
- Live online count + emulator status streamed over SSE multicast
- Who's-online tooltip throttled to reduce repeated requests
- Fix show button so it always returns the hidden toolbar
- Use theme CSS variables instead of hardcoded colors
- Add toolbar translations across all 25 locales
2026-09-02 21:14: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
a113e48880
feat(housekeeping): finish accessible command deck
2026-08-30 18:49:10 +02:00
openhands
f2ac4745d4
feat: redesign home and register pages for cleaner overview
...
CI / check (push) Successful in 27s
CI / release (push) Skipped
CI / deploy (push) Successful in 54s
Rebuild the home landing layout into a streamlined, more scannable
design: a centered focused hero, feature cards, a compact stats row,
and clearer news/users sections. Rework the register page into a
balanced two-column layout with a tidier intro panel and sticky form.
Add statsArticles translation key across locale files; verified with
tsc and biome.
2026-08-29 21:56:52 +02:00
openhands
f25a26a93e
Register: auto sign-in to /me and speed/cleanup improvements
...
CI / check (push) Failing after 30s
CI / release (push) Skipped
CI / deploy (push) Skipped
- Send the verification email after the response via after() so it
never blocks sign-up
- Invalidate the cached login lookup right after account creation so
the automatic sign-in always finds the fresh row
- Auto sign in with the submitted credentials and go straight to /me,
with a fallback to /login?registered=1 if sign-in is refused (e.g.
email verification required)
- Cache the register page's online/latest user queries to cut DB load
under traffic
- Fix terms checkbox label double-toggle cancelling the selection
- Add pages.register.redirecting translation to all locales
2026-08-26 14:57:51 +02:00
openhands
1a0d20fae5
i18n: add pages.admin.studio namespace to all 22 locale files (EN placeholders + Dutch)
CI / check (push) Successful in 26s
CI / release (push) Skipped
CI / deploy (push) Successful in 42s
2026-08-24 20:48:13 +02:00
openhands
8174ffa6af
feat: add studio translation to all 13 admin nav language files
CI / check (push) Successful in 38s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m2s
2026-08-21 20:22:16 +02:00
openhands
11e8b06bf8
feat: add missing translations across all locales
...
Add 692 translation keys across 21 locale files, covering admin actions, moderation, radio, catalog, and public UI strings.
2026-08-07 18:53:39 +02:00
openhands
8b7298657d
fix: add missing import hub translation keys to all language files
CI / check (push) Successful in 32s
CI / release (push) Skipped
CI / deploy (push) Successful in 44s
2026-08-05 18:17:49 +02:00
Simo and Cursor
d8199ea1e4
feat(admin): unified ticket inbox over CMS and help-center queues
...
CI / check (push) Successful in 22s
CI / release (push) Skipped
CI / deploy (push) Successful in 57s
Merged read-model inbox at /admin/tickets and /mod/tickets with type badges and deep links; CMS-only lists moved to /desk. No DB schema merge.
Co-authored-by: Cursor <[email protected] >
2026-08-01 14:49:19 +02:00
Simo and Cursor
98613af875
feat(admin): items_base browser and AdminPageShell on core pages
...
CI / check (push) Successful in 21s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 59s
CI / deploy (push) Failing after 9s
Co-authored-by: Cursor <[email protected] >
2026-07-30 20:41:31 +02:00
Simo and Cursor
3ad3f9512c
feat(admin): ban appeals, photos polish, economy adjust, staff smoke
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m17s
CI / check (push) Successful in 25s
CI / deploy (push) Failing after 11s
Co-authored-by: Cursor <[email protected] >
2026-07-30 20:23:03 +02:00
Simo and Cursor
58fae1f90f
feat(admin): analytics redis cache, shared ops health, ticket queue clarity
...
CI / check (push) Successful in 29s
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m25s
CI / deploy (push) Failing after 10s
Co-authored-by: Cursor <[email protected] >
2026-07-30 19:57:00 +02:00
Simo and Cursor
6eab5e5343
feat(admin): ACL repair, mod users, ticket clarity, ops online hub
...
Add Repair nav grants on permissions, /mod/users without email/IP, shared ticket queue banners, and shared online roster on CommandoCentrum.
Co-authored-by: Cursor <[email protected] >
2026-07-30 19:37:01 +02:00
Simo and Cursor
b6b8625246
feat(mod): help-center tickets queue with reduced PII
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m35s
Co-authored-by: Cursor <[email protected] >
2026-07-28 20:26:57 +02:00
Simo and Cursor
01126207dc
fix(admin): live online widget, ticket queue clarity, i18n+contract coverage
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m27s
Co-authored-by: Cursor <[email protected] >
2026-07-28 20:22:50 +02:00
openhands
17847545dd
Improvements: remove dead config, fix ESM, add URL validation, unify types, add missing logging
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m52s
- Remove .prettierrc (dead config, Biome replaces Prettier)
- Rename lighthouserc.json to lighthouserc.cjs with module.exports for ESM compat
- Add logger.warn to empty catch blocks in auth, register, site-settings, prisma-cache, redis, security, rate-limit
- Unify ActionResult type: action-helper.ts uses 'ok' consistent with safe-action-shared.ts
- Add noUnusedLocals + noUnusedParameters to tsconfig + fix 25 pre-existing unused vars
- Replace barrel export src/types/index.ts with direct @/types/common imports
- Make trustHost conditional (development only) in auth.ts
- Add pre-flight URL validation to update-Nitrov3.sh to catch image.library.url misconfigurations
- Improve NITRO_IMAGE_LIBRARY_URL content validation in pre-flight & post-compute checks
2026-07-26 20:28:11 +02:00
openhands
1acace49d0
refactor: full codebase overhaul — dead code removal, env validation, logger migration, date consolidation, Prisma schema cleanup, button consistency, useEffect deps, test coverage
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 8s
- env.ts: added 10 missing Zod-validated env vars (imager, paypal currency, argon2/bcrypt params)
- Migrated 6 modules from process.env to validated env.* (auth, proxy-auth, paypal, password, redis, imager, moderation, alert, logger)
- Replaced console.warn/error with pino logger in 9 server-side modules
- Removed 50+ dead exports (SWF wrappers, coalesceHotelName, signIn, isStaff re-export, formatTimestamp, Skeleton/SkeletonCard, 4 unused housekeeping sections)
- Consolidated date formatting: 28 files migrated to shared formatDate() from @/lib/format-date
- Wired 4 radio/settings API routes through cached siteSettings service instead of raw Prisma queries
- Added getMany()/getAll() helpers to SiteSettings service
- Removed 88 dead Prisma model definitions (schema 2763→1846 lines)
- Created admin action-helper.ts with wrapAction() for standardized error handling
- Fixed useEffect dependency arrays in 4 data-heavy components
- Replaced raw btn CSS classes with shadcn Button component across admin pages
- Stripped dead i18n namespaces (common, pages.client) from all 22 translation files
- Removed 2 dead scripts (create-release.sh, check-local-imports.ts)
- Fixed knip.json configuration
- Added 7 new test suites: format-date, paypal, moderation, alert, webhook, action-helper, and fixed password.test.ts for env mocking
- All 358 tests passing across 72 test files
- TypeScript: 0 errors
2026-07-25 17:33:06 +02:00
openhands
12e4a07e48
polish: typewriter SSR fix, Community link label, verify premium cards, loading skeleton
Deploy / release (push) Successful in 8s
Deploy / deploy (push) Skipped
2026-07-24 14:49:07 +02:00
openhands
7f8d083763
Remove Discord and Google OAuth verification from CMS
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m58s
- Remove Discord + Google OAuth providers from NextAuth config
- Remove social login buttons (Discord/Google) from login form
- Delete link-discord.ts action and discord-verify-form.tsx component
- Simplify verify page to email-only verification flow
- Remove connections settings page and its link from settings
- Clean env.ts, .env, .env.example of Discord/Google client vars
- Remove discordUrl social icon from register, login, and homepage
- Clean translation files: remove continueWithDiscord, continueWithGoogle, connections keys
2026-07-24 11:49:16 +02:00
openhands
1e77398a7c
Add all missing translation keys to all 22 languages (English baseline)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m16s
2026-07-22 20:59:05 +02:00
openhands
5be5405bc9
Add missing translations for all 21 languages (home/register/login keys)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m16s
2026-07-22 20:45:30 +02:00
openhands
b78d691281
fix(i18n): add missing save/importTitle keys, sync admin keys across all languages
Local Build and Deploy / deploy (push) Successful in 1m6s
2026-07-17 20:46:58 +02:00
openhands
604e63da51
fix(i18n): auto-translate housekeeping keys via existing translation pairs
...
Local Build and Deploy / deploy (push) Successful in 1m12s
For each language, ~55 housekeeping keys that were English fallbacks have
been translated by matching against existing translations in the same file.
Remaining ~35 keys per language stay as English fallbacks where no
existing translation pair was available in that locale.
2026-07-17 20:10:05 +02:00
openhands
5c58a2b469
refactor(housekeeping): sortable columns, inline edit Enter/Escape, select all matching, i18n date
...
Local Build and Deploy / deploy (push) Successful in 1m0s
- Sortable columns: click headers to sort by permission/description/group/rank
- Inline edit: click rank value to edit, Enter to save, Escape to cancel
- Select all matching button when partial selection is active
- Select-all checkbox shows all-pages selection state
- AuditSection uses Intl.DateTimeFormat with CMS locale instead of toLocaleString
- Add selectAllMatching translation key to all 22 locales
2026-07-17 20:03:42 +02:00
openhands
f1e4e32a1e
refactor(housekeeping): modal confirm, bulk delete, search debounce, audit inline, form reset
...
Local Build and Deploy / deploy (push) Successful in 1m6s
- Replace browser confirm() with custom ConfirmModal component
- Add search debounce (300ms) before syncing URL params
- Reset add-permission form after successful submit
- Add bulk select/delete with checkbox column and bulkDeletePermissions action
- AuditSection fetches logs server-side via getAuditLogs and shows inline table
- Add 10 new i18n keys (cancel, confirm, confirmDeletePermission,
confirmBulkDelete, deleteSelected, confirmClearAllDesc,
auditTime, auditUser, auditAction, auditTarget) synced to all 22 locales
2026-07-17 19:53:53 +02:00
openhands
d693d169dd
refactor(housekeeping): return result from bulkImport, remove dead server calls, sync i18n
...
Local Build and Deploy / deploy (push) Successful in 1m15s
- bulkImportPermissions now returns {count, errors} instead of void
- ImportSection shows per-entry error details in toast
- Remove testRankPermission server action (test is 100% client-side)
- Clean up unused testing state in TestSection
- Sync pages.admin.{import,translations} keys to all 20 languages
- Add importedWithErrors translation key to all locales
2026-07-17 19:44:15 +02:00
openhands
702ab9fc67
fix(i18n): sync housekeeping translation keys to all 20 languages
...
Local Build and Deploy / deploy (push) Successful in 1m25s
All languages now have the full housekeeping key set (78 keys) from en.json,
including loading, pagination, presets, test, import/export, audit, etc.
Previously only en.json and nl.json had these keys.
2026-07-17 19:36:54 +02:00
Simo and Cursor
363c9b3d56
Reorganize admin into tabbed hubs with a condensed sidebar.
...
Local Build and Deploy / deploy (push) Successful in 57s
Replace the long flat nav with hub entries, shared AdminHubChrome tabs, and AdminPageShell. Existing URLs stay stable; Settings/Radio and other sections now share one chrome.
Co-authored-by: Cursor <[email protected] >
2026-07-15 21:29:36 +02:00
Simo and Cursor
3403d3b19f
Fix admin permissions bounce, prefixes APIs, and Italian UI leftovers.
...
Local Build and Deploy / deploy (push) Successful in 56s
Gate permissions on ACL manage + resolve super-admin from live user ranks, restore prefixes API routes, and anglicize hardcoded admin copy with nav i18n.
Co-authored-by: Cursor <[email protected] >
2026-07-15 20:33:00 +02:00
Simo and Cursor
bae543baf6
Fix admin regressions from Biome refactor: theme init, mobile nav, i18n.
...
Local Build and Deploy / deploy (push) Successful in 54s
Restore valid browser JS in theme-init, close mobile sidebar on navigation, and split autoDjForm title/trackTitle across locales.
Co-authored-by: Cursor <[email protected] >
2026-07-15 20:02:25 +02:00
openhands
df38dccbf1
style: format code biome
Local Build and Deploy / deploy (push) Failing after 46s
2026-07-13 21:57:41 +02:00
Simo
5b4228261a
Reapply "Add missing admin action files and navigation links"
...
This reverts commit 4d515bc400 .
2026-07-11 20:52:56 +02:00
Simo
4d515bc400
Revert "Add missing admin action files and navigation links"
...
This reverts commit 41be6835bf .
2026-07-11 20:37:56 +02:00
openhands
2465ff2170
Add translation keys for new admin nav items in all languages
2026-07-11 12:28:52 +02:00
openhands
41be6835bf
Add missing admin action files and navigation links
...
- Add 11 missing server action files: badges, bulk-users, catalog, catalog-bc, catalog-items, import-badges, import-furni, multi-account-detect, permissions, rooms, soundtracks
- Add missing admin navigation links: tickets, sounds, translations, import, radio sub-pages
- Add translation keys for all new navigation items
2026-07-11 12:01:05 +02:00
openhands
b058a3827b
Fix theme consistency, i18n completeness, CSS variable naming, and hardcoded strings
2026-07-09 18:13:22 +02:00
openhands
befa4ec282
Translate admin panel to all 6 languages
2026-07-04 21:21:15 +02:00
openhands
f381aa987f
Fix dropdown visibility and add missing translations
2026-07-04 20:18:30 +02:00
openhands
8bcbc501ba
Performance, SEO, a11y, and code quality improvements
...
CI / check (push) Has been cancelled
1. Performance: 25 pages switched from force-dynamic to revalidate=300 (ISR);
2 pages (community, developers) now fully static (SSG)
2. DB indexes: Added @@index on foreign keys for WebsiteArticles,
WebsiteArticleReactions, WebsiteArticleComments, WebsiteHelpCenterTickets,
WebsiteShopArticles, RadioSongRequests, StaffActivities
3. SEO: Added robots.ts, sitemap.ts, canonical URLs, Open Graph + Twitter
Card metadata on root layout and news articles
4. A11Y: Replaced <details>/<summary> dropdowns with accessible button-based
NavDropdown (aria-expanded, aria-haspopup, role=menu). MobileNav now
uses translated aria-label, aria-expanded, aria-controls, role=menu
5. Code quality: Added try/catch to updateArticle/deleteArticle; deleteArticle
now uses prisma. for atomicity
6. CI/CD: Added GitHub Actions workflow (typecheck + test)
7. i18n: Added openMenu/closeMenu keys to all 6 locales
8. Observability: Health endpoint now checks SMTP reachability when configured
9. Loading states: Added loading.tsx for root, admin, and news sections
10. Word filter cache: Added 60s TTL auto-refresh instead of manual cache bust
2026-07-04 19:41:04 +02:00
remco
d6ccc250f6
feat: mobile nav, radio layout/requests, leaderboard tabs, client i18n, habbo background, navbar fixes
2026-07-01 15:59:02 +02:00
remco
1de72863db
latest changes
2026-07-01 15:06:52 +02:00