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