Commit Graph
700 Commits
Author SHA1 Message Date
openhands 7f7e11adcf feat: freely draggable toolbar with pixel-position saved to localStorage
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 32s
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)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m3s
2026-07-26 17:59:04 +02:00
openhands e336ac3c66 feat: configurable toolbar position (site setting + localStorage toggle + URL override)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m53s
2026-07-26 17:52:24 +02:00
openhands 623cced64e fix: move toolbar to right side
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m47s
2026-07-26 17:46:57 +02:00
openhands e464fac102 fix: render toolbar via portal to body so it stays visible in fullscreen
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
2026-07-26 17:36:00 +02:00
openhands 2a727b2a71 refactor: smaller toolbar icons, remove language and theme switchers from client
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
2026-07-26 17:29:18 +02:00
openhands f072a28aee refactor: remove logo from client toolbar, move language and logout to left group
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s
2026-07-26 17:24:46 +02:00
openhands d010344423 feat: add language switcher, theme switcher, logout, and hotel logo to client toolbar
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m48s
2026-07-26 17:17:56 +02:00
openhands 54c155bcef beautify /me page with decorative cards, hover effects, and consistent styling
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m51s
2026-07-26 16:59:41 +02:00
openhands 0cbd4ca858 fix: remove duplicate Enter button from /me page and keep text beside avatar
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m4s
- 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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m48s
- 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"
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m32s
This reverts commit 04743fde6e.
2026-07-26 13:28:35 +02:00
openhands 04743fde6e fix: remove brede Enter balk van /me pagina
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m49s
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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m53s
2026-07-26 13:17:51 +02:00
openhands a906d671fb fix: remove green dot from online counter in TopHeader
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m55s
2026-07-26 13:06:11 +02:00
openhands a847ecae04 fix: restore lange banner (SiteHeader) for logged-in users, keep Enter button in TopHeader
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s
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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s
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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m51s
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
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m54s
2026-07-25 21:21:45 +02:00
openhands 2c0478bfc0 test: add room, user, ticket validator test suites (83 files, 430+ tests)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m3s
2026-07-25 18:51:33 +02:00
openhands 960fea3549 test: expand validator, webhook, and catalog-tree test coverage
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m24s
2026-07-25 18:47:04 +02:00
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