Commit Graph
426 Commits
Author SHA1 Message Date
openhands 7253bb61be fix: increase avatar sizes for newest citizens on index and register; add Enter button below avatar on /me 2026-07-26 12:53:14 +02:00
openhands 2c0478bfc0 test: add room, user, ticket validator test suites (83 files, 430+ tests) 2026-07-25 18:51:33 +02:00
openhands 960fea3549 test: expand validator, webhook, and catalog-tree test coverage 2026-07-25 18:47:04 +02:00
openhands 78b1982145 fix: remove as any cast from catalog-tree test mock 2026-07-25 18:36:40 +02:00
openhands ac3c42f308 test: add action-helper, send-currency, permission-ranks, catalog-tree, and audit test suites (77 files, 405 tests) 2026-07-25 18:25:33 +02:00
openhands 2e9db75eca test: add audit, staff-activity, and abuse-guard test suites (75 files, 376 tests) 2026-07-25 18:10:15 +02:00
openhands c670227ad4 fix: downgrade typescript to 5.x and nodemailer to 8.x for peer dep compatibility + update lockfile 2026-07-25 17:37:23 +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
- 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 2026-07-24 14:49:07 +02:00
openhands fee71fe7dc chore: remove Features and Client/Play sections from homepage
- Remove generic Features section (4 cards) to declutter
- Remove Client/Play CTA section (redundant with hero buttons)
2026-07-24 14:16:02 +02:00
openhands c432d4e95d fix: service worker cache busting — unregister old sw on load, bump cache version, stop caching HTML
- Bump sw.js cache from v2 to v3
- Unregister all old service workers on page load
- Stop caching HTML/navigation (caused stale CSS refs after rebuild)
2026-07-24 13:50:45 +02:00
openhands b37b6bc2b9 feat: premium polish pass — typing effect, animated counters, ambient orbs, input glow, show/hide password, redesigned settings, Reveal animations
- Add TypewriterText component for hero heading animation
- Add AnimatedCounter with scroll-triggered count-up
- Add AmbientOrbs with floating gradient orbs in hero
- Add input-glow focus effect, btn-shine hover effect CSS
- Add show/hide password toggle on login, register, and home login forms
- Redesign settings page with premium gradient cards and icon headers
- Polish /me dashboard with Reveal animations, btn-shine, input-glow
- Add animate-count CSS keyframe
2026-07-24 13:34:46 +02:00
openhands 5fa342018d chore: remove dead code and unused dependencies
- Delete 4 unused files detected by knip
- Remove lint-staged, eslint-config-prettier, plausible-tracker
- Clean up knip.json entry patterns
2026-07-24 11:59:50 +02:00
openhands 7f8d083763 Remove Discord and Google OAuth verification from CMS
- 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 f7f6e09174 Fix migration connection exhaustion and polish auth pages
- apply-migrations.ts: use single shared connection instead of one per operation
- Increase MariaDB max_connections from 151 to 300 in server config
- home-login-form.tsx: replace hardcoded gray colors with theme variables
- register-form.tsx: add password strength meter, spinner, theme-aligned inputs
- login-form.tsx: add Discord/Google SVG icons, spinner, smoother 2FA animation
- page/register/login: apply premium animations (float, stagger, glow, gradient)
2026-07-24 11:30:58 +02:00
openhands a9f1f4f99d Fix Turbopack NFT warning
- Remove import.meta.dirname from turbopack config (unnecessary filesystem op)
- Add /*turbopackIgnore: true*/ to 3 path.join calls in upload-import.ts
  that were missing the comment, causing Turbopack to trace the whole
  project unintentionally
2026-07-23 20:57:43 +02:00
openhands 7dbca4117c Fix BCRYPT_ROUNDS override — use function to read env at call time
BCRYPT_ROUNDS was a module-level const evaluated at import time,
so env overrides in tests or CI had no effect. Changed to function
that reads process.env on each call. Also lowered hardcoded
bcryptHash(..., 10) in test to use env var with fallback 4.

CI: BCRYPT_ROUNDS=2. Password test suite: 1860ms → 29ms.
2026-07-23 19:30:47 +02:00
openhands f7551166c5 Speed up tests: lower argon2 params in CI, env overrides
- Allow ARGON2_MEMORY_SIZE, ARGON2_ITERATIONS, ARGON2_PARALLELISM env overrides
- Use m=1024,t=1 in tests (was m=65536,t=4 → ~1s per hash)
- Set fast params in CI and deploy workflows
2026-07-23 19:21:24 +02:00
openhands aabf14aaf9 Fix deploy workflow tests for PM2 2026-07-23 19:14:47 +02:00
openhands 71a3b0a400 Add date and holiday detection to clock 2026-07-23 18:37:32 +02:00
openhands eb603b50a9 Add live clock to top bar 2026-07-23 18:32:45 +02:00
openhands b9c09f58d3 Use CMS logo in top bar, improve switcher area
- Replace lighthouse.png fallback with cms_logo from site settings
- Add glass-morphism container around Discord/Language/Theme switchers
- Apply to index, register, and login pages
2026-07-23 18:25:38 +02:00
openhands 83356b9a9c Polish home, register, and login pages
- Add pixel font to headings across all pages
- Improve stats icons (online-friends.png, friends.png)
- Fix features icons (star.gif → navigation/me.png)
- Replace top bar logo with lighthouse.png
- Add read-more arrow overlay on news cards
- Add Nitro client CTA section
- Add Discord link in top bar
- Add view-all link to online users section
- Add Reveal scroll animations to register/login
- Add Habbo gradient headers to register/login sidebars
- Add gradient headers to register/login form boxes
- Switch start script to standalone server
- Add postbuild script to copy static files
2026-07-23 18:17:16 +02:00
openhands a82cf7d2a1 Add top bar with hotel logo, language switcher, and theme toggle 2026-07-23 17:06:46 +02:00
openhands 4457117fa9 Premium index page redesign with hubbly icons, Habbo gradient headers, login sidebar, scroll animations 2026-07-23 16:52:08 +02:00
openhands 36d9046a8d Revert "Replace PNG icons with Habbo-style SVG pixel art icons across index, nav, and mobile nav"
This reverts commit ac16df98c3.
2026-07-23 16:40:41 +02:00
openhands ac16df98c3 Replace PNG icons with Habbo-style SVG pixel art icons across index, nav, and mobile nav
- Create 20 Habbo-style pixel-art SVG icon components (home, user, catalog, star, community, games, enter, news, online, camera, chat, clock, heart, arrow, cog, furni, diamond, credits, duckets, rank)
- Update index page: replace all PNG icon references, add pixel font headings, add Habbo-style gradient section headers
- Update navigation: replace all PNG nav icons with Habbo SVG icons
- Update NavDropdown: accept ReactNode icon instead of string path
- Update mobile-nav: replace PNG brand icon with HabboHome SVG
2026-07-23 16:36:32 +02:00
SimoandCursor 255c09b9fd fix(admin): restore sidebar categories via ACL grant repair
Co-authored-by: Cursor <[email protected]>
2026-07-22 21:47:23 +02:00
SimoandCursor ce6e8235cc fix(admin): housekeeping TS returns + clearer permissions UX
Co-authored-by: Cursor <[email protected]>
2026-07-22 21:39:01 +02:00
SimoandCursor 75cace41ea feat(mod): tickets+team tabs; retire HK writes for live ACL
Co-authored-by: Cursor <[email protected]>
2026-07-22 21:35:35 +02:00
SimoandCursor 084cca6ea4 feat(mod): lite /mod panel + clarify ACL vs housekeeping legacy
Co-authored-by: Cursor <[email protected]>
2026-07-22 21:29:32 +02:00
SimoandCursor a384c9a8bb feat(admin): guilds console + user sanctions timeline
Co-authored-by: Cursor <[email protected]>
2026-07-22 21:19:16 +02:00
openhands 1e77398a7c Add all missing translation keys to all 22 languages (English baseline) 2026-07-22 20:59:05 +02:00
openhands 5be5405bc9 Add missing translations for all 21 languages (home/register/login keys) 2026-07-22 20:45:30 +02:00
openhands dfc768c232 Add missing Dutch translations for stats/features keys on index 2026-07-22 20:35:17 +02:00
openhands db46453912 Use next_header.jpg as index hero background 2026-07-22 20:27:23 +02:00
openhands 6a16029839 Add missing Dutch translations for register/login/home keys 2026-07-22 19:44:34 +02:00
openhands 782271a31b Premium polish: enhanced toolbar, glass cards, Habbo bg panels, animations 2026-07-22 19:30:54 +02:00
openhands 7aec61d1a5 Add theme + language toolbar to index, register, login pages 2026-07-22 19:15:34 +02:00
SimoandCursor 025af147cd feat(admin): marketplace console + analytics degraded banners
Co-authored-by: Cursor <[email protected]>
2026-07-22 19:06:54 +02:00
SimoandCursor f150aea8b9 feat(admin): P1 — clearer tickets labels, pagination, min_staff_rank, analytics errors
Co-authored-by: Cursor <[email protected]>
2026-07-22 19:04:45 +02:00
SimoandCursor 75cdfdebe4 fix(admin): P0 integrity — permanent bans, ACL sidebar, rank guards
Co-authored-by: Cursor <[email protected]>
2026-07-22 19:01:59 +02:00
openhands 11004626c7 Add newest registered users section to index, register, login pages 2026-07-22 18:56:46 +02:00
SimoandCursor 8d28739ca6 feat(admin): expand/collapse all sidebar groups with scrollable nav
Co-authored-by: Cursor <[email protected]>
2026-07-22 18:49:49 +02:00
SimoandCursor e00e9ca2dc refactor: centralize hotel name fallback via FALLBACK_HOTEL_NAME
Route all user-facing Atom hotel defaults through resolveHotelName (settings then HOTEL_NAME env then brand constant). Exclude Playwright e2e from tsconfig until deps are installed.

Co-authored-by: Cursor <[email protected]>
2026-07-22 18:45:59 +02:00
openhands 6b2819aa20 Hide all top bars for unauthenticated users 2026-07-22 18:40:09 +02:00
openhands ffd434485e Hide navigation bar for unauthenticated users 2026-07-22 18:39:22 +02:00
openhands c90b6decc8 Hero buttons: Enter → Register, Nitro → Login 2026-07-22 18:31:54 +02:00
openhands 94c02d9ee6 Redesign register + login pages: glass cards, Habbo bg hero panels 2026-07-22 18:31:10 +02:00
openhands 0520041d1e Redesign homepage: cleaner Habbo layout, glass cards, hero with hotel bg, removed clutter 2026-07-22 18:28:12 +02:00