openhands
78b1982145
fix: remove as any cast from catalog-tree test mock
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m29s
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)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m14s
2026-07-25 18:25:33 +02:00
openhands
2e9db75eca
test: add audit, staff-activity, and abuse-guard test suites (75 files, 376 tests)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m14s
2026-07-25 18:10:15 +02:00
openhands
04b9844f0f
fix: restore 53 prisma models referenced in code (incorrectly removed in cleanup)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m5s
2026-07-25 17:55:30 +02:00
openhands
c670227ad4
fix: downgrade typescript to 5.x and nodemailer to 8.x for peer dep compatibility + update lockfile
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 28s
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
...
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
v1.0.1
2026-07-24 14:49:07 +02:00
openhands
fc42a1c138
docs: update README for v1.0.1 — PM2 deploy, premium features, production-ready
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s
2026-07-24 14:37:18 +02:00
openhands
fee71fe7dc
chore: remove Features and Client/Play sections from homepage
...
Deploy / release (push) Successful in 8s
Deploy / deploy (push) Skipped
- 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
e8ade7afa3
fix(deploy): remove standalone logic, fix chown errors in workspace
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m10s
- Remove standalone static file verification (no longer needed)
- Make chown commands tolerate already-deleted temp files
- Update PM2 fallback to use pnpm start
2026-07-24 14:01:30 +02:00
openhands
3773c6cb29
chore: switch from standalone to normal next start
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 2s
- Remove output:standalone from next.config.ts
- Remove postbuild standalone copy script
- Change start script from standalone/server.js to next start
- Update PM2 to run pnpm start
2026-07-24 13:57:21 +02:00
openhands
c432d4e95d
fix: service worker cache busting — unregister old sw on load, bump cache version, stop caching HTML
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m53s
- 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
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m53s
- 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
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m51s
- 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
...
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
f7f6e09174
Fix migration connection exhaustion and polish auth pages
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
- 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
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 2m47s
- 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
f6ee99801d
Fix migration 'Too many connections' error during deploy
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 2m56s
- pm2 stop now uses --kill-timeout 10000 for graceful shutdown
- Wait 10s after stopping (was 3s) for MariaDB to reclaim connections
- Migration retries increased from 5 to 10 with 5s wait (was 3s)
- Total retry window: ~50s instead of ~15s
2026-07-23 20:04:34 +02:00
openhands
7fc7412f18
Remove experimental Next.js config options
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 2m25s
staleTimes, optimizePackageImports, and staticGenerationMaxConcurrency
were all experimental-only in Next.js 16. Removed them:
- staleTimes: router cache defaults are sufficient
- optimizePackageImports: Turbopack already tree-shakes lucide-react
- staticGenerationMaxConcurrency: mitigated by DATABASE_POOL_SIZE=5
Eliminates the 'Experiments (use with caution)' warning for our custom
options. Only clientTraceMetadata remains (Next.js framework default).
2026-07-23 19:50:17 +02:00
openhands
dae381e07c
Persist .next/cache across deploys for faster rebuilds
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m2s
Each deploy creates a fresh worktree and deletes .next, losing the
Turbopack build cache. Now restore .next/cache from the live site
into the stage before pnpm build, so Next.js can do incremental
compilation. After cutover the cache persists in the live .next/ for
the next deploy.
2026-07-23 19:33:12 +02:00
openhands
7dbca4117c
Fix BCRYPT_ROUNDS override — use function to read env at call time
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m54s
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
331a18e9c7
Add BCRYPT_ROUNDS env override, use 4 in CI
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m3s
- Bcrypt rounds now configurable via BCRYPT_ROUNDS env var (default 12)
- CI/deploy use BCRYPT_ROUNDS=4 for faster tests
- Argon2 test: 1161ms → 17ms (already done)
- Password test suite: 1860ms → 1330ms
2026-07-23 19:24:52 +02:00
openhands
f7551166c5
Speed up tests: lower argon2 params in CI, env overrides
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m1s
- 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
b6ba554386
Fix deploy error handler: cd to safe dir before pm2
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m58s
2026-07-23 19:16:34 +02:00
openhands
aabf14aaf9
Fix deploy workflow tests for PM2
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 33s
2026-07-23 19:14:47 +02:00
openhands
9226558aa0
Optimize deploy script
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 36s
- Zero-downtime PM2 reload instead of stop+start
- Keep .next.prev backup until after health check
- Add standalone static file verification
- Remove duplicate sleep
- Clean up naming
2026-07-23 19:13:06 +02:00
openhands
d9e95c823a
Update deploy to use PM2, add .next.prev to gitignore
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 38s
2026-07-23 19:09:05 +02:00
openhands
a058a6e923
Rename deploy script to avoid pnpm conflict
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 1m55s
2026-07-23 18:59:38 +02:00
openhands
5913328a53
Switch to PM2, add deploy script
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 2m8s
- Replace tmux with PM2 process manager
- Add deploy script (pnpm deploy = build + pm2 reload)
- PM2 auto-starts on boot via systemd (pm2-root.service)
- Remove old atom-nexst.service (direct next start)
2026-07-23 18:50:46 +02:00
openhands
71a3b0a400
Add date and holiday detection to clock
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m57s
2026-07-23 18:37:32 +02:00
openhands
eb603b50a9
Add live clock to top bar
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m59s
2026-07-23 18:32:45 +02:00
openhands
b9c09f58d3
Use CMS logo in top bar, improve switcher area
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m51s
- 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
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
- 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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m4s
2026-07-23 17:06:46 +02:00
openhands
4457117fa9
Premium index page redesign with hubbly icons, Habbo gradient headers, login sidebar, scroll animations
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m58s
2026-07-23 16:52:08 +02:00
openhands
24c4279a7e
Update duckets icon from hubbly.pw
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m0s
2026-07-23 16:46:20 +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
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m59s
- 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
Simo and Cursor
255c09b9fd
fix(admin): restore sidebar categories via ACL grant repair
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
Co-authored-by: Cursor <[email protected] >
2026-07-22 21:47:23 +02:00
Simo and Cursor
ce6e8235cc
fix(admin): housekeeping TS returns + clearer permissions UX
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s
Co-authored-by: Cursor <[email protected] >
2026-07-22 21:39:01 +02:00
Simo and Cursor
75cace41ea
feat(mod): tickets+team tabs; retire HK writes for live ACL
...
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 30s
Co-authored-by: Cursor <[email protected] >
2026-07-22 21:35:35 +02:00
Simo and Cursor
084cca6ea4
feat(mod): lite /mod panel + clarify ACL vs housekeeping legacy
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m31s
Co-authored-by: Cursor <[email protected] >
2026-07-22 21:29:32 +02:00
Simo and Cursor
a384c9a8bb
feat(admin): guilds console + user sanctions timeline
...
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m44s
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)
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
dfc768c232
Add missing Dutch translations for stats/features keys on index
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m45s
2026-07-22 20:35:17 +02:00
openhands
db46453912
Use next_header.jpg as index hero background
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m55s
2026-07-22 20:27:23 +02:00
openhands
6a16029839
Add missing Dutch translations for register/login/home keys
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m56s
2026-07-22 19:44:34 +02:00
openhands
782271a31b
Premium polish: enhanced toolbar, glass cards, Habbo bg panels, animations
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m48s
2026-07-22 19:30:54 +02:00
openhands
7aec61d1a5
Add theme + language toolbar to index, register, login pages
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m58s
2026-07-22 19:15:34 +02:00