openhands
b922f6d49f
fix: remove auto-hide, toolbar always visible
2026-07-26 18:47:04 +02:00
openhands
8c2fe603d1
fix: keep toolbar interactive when hidden (opacity 8% instead of pointer-events-none) so mouse-enter brings it back
2026-07-26 18:38:23 +02:00
openhands
1e0dd183b1
feat: premium toolbar with glassmorphism, auto-hide, edge snap, and smooth snap animation
2026-07-26 18:17:32 +02:00
openhands
ea71a574a4
refactor: useLayoutEffect for no-flash position init, clean localStorage save, hide toolbar until ready
2026-07-26 18:11:12 +02:00
openhands
b77dbb65f6
fix: cleanup old position system, add proper useRef import
2026-07-26 18:04:50 +02:00
openhands
7f7e11adcf
feat: freely draggable toolbar with pixel-position saved to localStorage
2026-07-26 18:02:43 +02:00
openhands
86d15d0d92
fix: toolbar now renders outside overflow container, supports 4 corner positions (top-left/right, bottom-left/right)
2026-07-26 17:59:04 +02:00
openhands
e336ac3c66
feat: configurable toolbar position (site setting + localStorage toggle + URL override)
2026-07-26 17:52:24 +02:00
openhands
623cced64e
fix: move toolbar to right side
2026-07-26 17:46:57 +02:00
openhands
e464fac102
fix: render toolbar via portal to body so it stays visible in fullscreen
2026-07-26 17:36:00 +02:00
openhands
2a727b2a71
refactor: smaller toolbar icons, remove language and theme switchers from client
2026-07-26 17:29:18 +02:00
openhands
f072a28aee
refactor: remove logo from client toolbar, move language and logout to left group
2026-07-26 17:24:46 +02:00
openhands
d010344423
feat: add language switcher, theme switcher, logout, and hotel logo to client toolbar
2026-07-26 17:17:56 +02:00
openhands
54c155bcef
beautify /me page with decorative cards, hover effects, and consistent styling
2026-07-26 16:59:41 +02:00
openhands
0cbd4ca858
fix: remove duplicate Enter button from /me page and keep text beside avatar
...
- Remove standalone 'Enter hotel' button below profile header (button inside avatar column already exists)
- Keep text (rank, username, motto) always beside avatar instead of stacking below on mobile
2026-07-26 16:50:06 +02:00
openhands
0869b82f5f
fix: extract room quick-entry form into Client Component to fix Server Component event handler error
...
- Move inline form with onSubmit handler from top-header.tsx (Server Component) into new RoomQuickEntry Client Component
- Add badges section to /me page showing equipped badges from users_badges
- Add last website login timestamp from website_login_logs to /me page stats
- Add search bar to top-header for user search
- Add achievement score, respects received, friend count stats to /me page
- Add quick links card to /me page with Messages/Profile/Settings/Shop
- Clean up RoomQuickEntry: use form.elements.namedItem, remove unused ref, add aria-label
2026-07-26 16:43:13 +02:00
openhands
29cd09e458
Revert "fix: remove brede Enter balk van /me pagina"
...
This reverts commit 04743fde6e .
2026-07-26 13:28:35 +02:00
openhands
04743fde6e
fix: remove brede Enter balk van /me pagina
2026-07-26 13:19:28 +02:00
openhands
3284e5a915
feat: add Toaster, notification bell, search, unread badges, last login, recent rooms, hotel alerts, quick room entry, friend requests in top bar
2026-07-26 13:17:51 +02:00
openhands
a906d671fb
fix: remove green dot from online counter in TopHeader
2026-07-26 13:06:11 +02:00
openhands
a847ecae04
fix: restore lange banner (SiteHeader) for logged-in users, keep Enter button in TopHeader
2026-07-26 13:03:02 +02:00
openhands
2818d2eb20
fix: remove lange banner (SiteHeader) for logged-in users; add online counter and Enter button in TopHeader
2026-07-26 12:59:50 +02:00
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
4e2c4ccf07
Add sudo chown -R www-data:www-data /var/www/Nitro-V3/ at end of update to fix permissions after build
2026-07-25 21:21:45 +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
04b9844f0f
fix: restore 53 prisma models referenced in code (incorrectly removed in cleanup)
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
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
fc42a1c138
docs: update README for v1.0.1 — PM2 deploy, premium features, production-ready
2026-07-24 14:37:18 +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
e8ade7afa3
fix(deploy): remove standalone logic, fix chown errors in workspace
...
- 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
...
- 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
...
- 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
f6ee99801d
Fix migration 'Too many connections' error during deploy
...
- 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
...
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
...
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
...
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
...
- 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
...
- 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
2026-07-23 19:16:34 +02:00