Commit Graph
697 Commits
Author SHA1 Message Date
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
openhands aabf14aaf9 Fix deploy workflow tests for PM2 2026-07-23 19:14:47 +02:00
openhands 9226558aa0 Optimize deploy script
- 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 2026-07-23 19:09:05 +02:00
openhands a058a6e923 Rename deploy script to avoid pnpm conflict 2026-07-23 18:59:38 +02:00
openhands 5913328a53 Switch to PM2, add deploy script
- 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 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