Commit Graph

151 Commits

Author SHA1 Message Date
root 4cb49e9521 fix: track Filament vendor translation files in git
The vendor/ entry in .gitignore was blocking lang/vendor/filament/
from being tracked. Added !lang/vendor/ exception and committed all
21 language translation files (login.php + resources.php) so the
other VPS can pull them via git.
2026-06-24 17:05:31 +02:00
root 675a563aa2 fix: add 177 missing translation keys to all 20 non-Dutch language files
All language JSON files (ar, br, cs, da, de, el, es, fi, fr, hu, it, no, pl, pt, ro, ru, se, tr, uk) were missing commandocentrum.* and radio.* keys that were only present in en.json and nl.json.

Added the missing keys with English values as placeholders. All 21 languages now have 305/305 keys (100%). Filament vendor PHP translations were already 100% complete.
2026-06-24 16:54:31 +02:00
root 0eea8439a4 Apply theme navbar colors to Filament admin panel topbar and user menu 2026-06-24 16:28:43 +02:00
root 3d5f94f9b9 Improve text visibility in atom and dusk themes
- Add CSS variable support to dusk theme components for dynamic text colors
- Fix low-contrast preset color combinations (cyberpunk, neon, magma, forest, obsidian, space)
- Add text-shadow utility classes and apply to site header and backgrounds
- Style logout buttons as proper buttons matching other button styles
- Fix hardcoded text colors in atom theme components
2026-06-24 16:03:21 +02:00
root 391458ce49 Improve branch checkout fallback in update-Nitrov3.sh
Add fallback logic to try capitalized branch name if the
specified branch is not found, with a clear error message
if neither exists.
2026-06-24 15:10:02 +02:00
root 719b48a9ab Update dependencies: @swc/core, @vitejs/plugin-react, autoprefixer, axios 2026-06-24 14:07:01 +02:00
root dc383e5d1e Update vite to 8.1.0 2026-06-24 14:05:03 +02:00
root 6d1d90a94a Add missing updated_at column to staff_activities migration 2026-06-24 13:49:51 +02:00
root a07a86be25 Fix DEP0169 url.parse() deprecation warning by patching tailwindcss dependencies 2026-06-24 13:31:56 +02:00
root 37861cf8be feat: enterprise-grade update script with rollback, logging, health checks, notifications, dry-run 2026-06-24 13:13:13 +02:00
root 2aaff12c60 refactor: extract git_update function, add APP_URL fallback, validate dirs upfront 2026-06-24 12:55:32 +02:00
root 267a3c0fe0 fix: use ws. subdomain for websocket URL 2026-06-24 12:47:41 +02:00
root baa2c44110 feat: add interactive prompt for main/dev branch choice 2026-06-24 12:42:27 +02:00
root e4b7eec79f fix: move interactive prompt before unbuffer exec so read works 2026-06-24 12:39:50 +02:00
root f47dddfa56 docs: add NITRO_BRANCH and NITRO_SITE_URL to README config table 2026-06-24 12:36:41 +02:00
root 3ed476d374 feat: make site URL and branch configurable in update script 2026-06-24 12:33:34 +02:00
root 9ac93ef299 fix: set last_username_change default when creating users 2026-06-24 12:15:37 +02:00
root bc8f2111b5 Enable classmap-authoritative for faster autoloading 2026-06-20 15:38:10 +02:00
root 3aba997a96 Fix ThemeService: use prependLocation instead of addLocation so theme views take priority 2026-06-20 15:30:52 +02:00
root 043854cf3d Modernize: remove unused deps, replace qirolab/laravel-themer with custom ThemeService, drop doctrine/dbal
- Remove whichbrowser/parser, mockery/mockery, fruitcake/laravel-debugbar,
  itsgoingd/clockwork (all unused)
- Replace qirolab/laravel-themer (dev-master) with custom App\Services\ThemeService
  and App\Providers\ThemeServiceProvider
- Drop doctrine/dbal: rewrite all ->change() calls in 8 migrations to raw
  DB::statement('ALTER TABLE ... MODIFY ...') SQL
- RenameColumn() kept intact (works without dbal in Laravel 13)
- Fix 2026_04_04 migration: inverted column-exists logic corrected
- Clear bootstrap cache to remove stale references to removed packages
2026-06-20 15:25:49 +02:00
root 53f88b840a Modernize dependencies: replace abandoned packages, update versions
- Replace flowframe/laravel-trend with direct Eloquent DB queries
- Replace srmklive/paypal (abandoned) with new PayPalService using PayPal REST API v2 via Guzzle
- Remove old config/paypal.php, migrate to config('habbo.paypal.*')
- Update blade templates to use habbo.paypal config
- Bump npm packages to latest: @inertiajs/react, axios, esbuild, eslint, sass, tailwindcss, etc.
- Run composer update and yarn upgrade
2026-06-20 15:01:48 +02:00
root 7c72ed82b6 Revert TypeScript migration - keep JS/JSX 2026-06-18 17:06:54 +02:00
root e6d92f27b3 Migrate JavaScript to TypeScript with full type safety
- Rename all .js/.jsx files to .ts/.tsx across resources/js and theme dirs
- Add TypeScript 6.0 with strict mode, tsconfig.json
- Add type definitions for Inertia page props, Alpine.js, Turbolinks
- Update vite.config.js entries to .ts/.tsx extensions
- Update all Blade @vite() calls to match new .ts/.tsx entry points
- Add TypeScript ESLint config (replacing unused Vue plugin)
- Add @types/react, @types/react-dom, @types/lodash
- Add typecheck script and integrate into check pipeline
- Full tsc --noEmit, ESLint, and production build pass cleanly
2026-06-18 17:00:00 +02:00
root 4aa6f01779 fix: suppress MariaDB SSL warning for passwordless login 2026-06-16 20:16:56 +02:00
root 272dde72bc fix: auto-restart via PM2 fallback when systemd not found 2026-06-16 20:13:45 +02:00
root 53e69a656b refactor: add update tracking, dir checks, and safer cleanup 2026-06-16 20:09:56 +02:00
root ec153e2eda refactor: improvements to update script 2026-06-16 20:01:35 +02:00
root ae1bbba6e2 fix: checkout main before git pull in update script 2026-06-16 19:49:05 +02:00
root 3b3551d48c Fix permissions script to chown entire project directory and use chmod -R 2026-06-10 12:15:06 +02:00
root 5288dbd917 fix: remove static modifier from getTitle() to match non-static parent method 2026-06-08 21:22:31 +02:00
root 5d58e12fc7 Add Dutch translations for all missing translation keys and fix hardcoded English labels 2026-06-08 21:16:03 +02:00
root a7bd30fd34 Bump CDN versions: fancybox @4, fontawesome 7.2.0 2026-06-08 19:20:38 +02:00
root 430d502e2a Add CDN and staff config vars to .env.example files 2026-06-08 19:14:53 +02:00
root 0b6f14d5bf Fix remaining issues: CDN config, min_staff_rank defaults, blade views
- Centralize all CDN URLs in config('habbo.cdn.*') with env overrides
- Replace hardcoded CDN URLs in 12+ blade views (fancybox, sweetalert2,
  alpinejs, fontsource, fontawesome, html2canvas)
- Fix font-awesome 7.0.0 (non-existent) -> config with 6.7.0 default
- Centralize all hardcoded min_staff_rank defaults (3 and 7) to config
- Add MIN_STAFF_RANK and MIN_STAFF_RANK_LOGIN env variables
2026-06-08 19:11:28 +02:00
root b6fb43cba1 Fix remaining issues: pagination, throttle, i18n, config defaults, indexes
- Add pagination to ShopController (50 per page)
- Add throttle:3,10 to radio application store route
- Replace mixed Dutch/English labels in RadioWizardController (English only)
- Replace Dutch error messages in RadioController and RadioSetupController
- Add config('habbo.defaults.avatar_look') for SocialAuthController
- Remove hardcoded default stream URL from RadioSetupController
- Add database indexes for radio_listener_points.earned_at and bans.ip
2026-06-08 19:03:39 +02:00
root 4094f0fb14 Fix 40+ codebase issues: security, performance, duplication, dead code, and routes
HIGH:
- Add missing import RadioSongRequestFormRequest (fixes crash on POST)
- Add Purify XSS sanitization for article full_story
- Fix duplicate radio API routes (/api/radio vs /api/radio/v2)
- Add try-catch guards in InstallationController for missing records

MEDIUM:
- Fix N+1: eager load comments.user in ArticleController::show()
- Fix GuestbookController authorization logic
- Remove dead doSetup() method and duplicate route
- Extract shared HasRadioDefaults trait (remove code duplication)
- Use named routes in ForceStaffTwoFactorMiddleware
- Fix WebsiteHelpCenterTicket::isOpen() (no permission leak)
- Enable  on WebsiteHelpCenterTicket (matches schema)
- Replace WebsiteTeam::all()->pluck() with direct pluck()
- Replace CatalogPage::all()->pluck() with direct pluck()
- Replace WebsiteBadge::all() with direct pluck()
- Add throttle middleware to guestbook store, logo-generator, radio embed

LOW:
- Remove unused imports
- Remove dead /inertia-test route
- Consolidate cache keys in RadioController
2026-06-08 18:56:34 +02:00
root 6eeb85fcf2 Improvements: fix duplicate seeder, add missing seeders, remove redundant $with, add migration down(), optimize queries 2026-06-08 18:33:24 +02:00
root 9bb2e4246b Add migration to fix NULL last_username_change values and enforce default 0 2026-06-08 18:11:32 +02:00
root 4ba236249d Remove redundant UpdateLastUsernameChangeSeeder (column already defaults to 0) 2026-06-08 18:08:06 +02:00
root 392bb96ea0 Fix gamedata alias, add ads.txt, update script for radio/custom-themes/ads 2026-06-07 20:24:30 +02:00
root ff04270b41 fix: protect furni.asset.icon.url from being overwritten on update 2026-06-07 19:00:50 +02:00
root 482996429d fix: preserve catalog icon URLs after Nitro-V3 update
- Add Fase 3 to sync merged configs to dist/configuration/
- Add Fase 4 to force critical URLs (image.library.url, hof.furni.url, etc.)
- Add NITRO_* env vars with current server defaults
- Prevent git pull from overwriting icon URL config with example values
2026-06-07 18:37:44 +02:00
root 4a4110a478 chore: update manifest and Nitro update script 2026-06-07 17:10:26 +02:00
root 2f363eb106 Clean up old .jar files after emulator update keeping only the latest 2026-06-07 16:51:22 +02:00
root 618615a8b1 fix: preserve .example key order in merge-config, including nested objects 2026-06-07 16:45:05 +02:00
root ef559ce64b Auto-stash before git pull and sync .example configs to live files
- All git pull commands now auto-stash local changes first
- .example configs are now merged with live files in Nitro's
  public/configuration directory to keep them 100% complete
- Removed unused getTargetName function from merge-config.cjs
2026-06-07 16:36:15 +02:00
root 1db80e76fe chore: clean up repo structure and polish docs
- Rewrite .gitignore in English with proper patterns for build artifacts, storage files, and IDE files
- Remove tracked build assets (hash-based) and storage files from git
- Update LICENSE copyright to 2026 Remco (Epicnabbo)
- Fix clone URLs in README (remove placeholder gitea-server)
- Sync docs/INSTALL.md with README installation guide
2026-06-06 20:12:08 +02:00
root 51e3876ed9 fix: correct file permissions for www-data access 2026-06-06 19:40:48 +02:00
root 483342602f chore: update composer and npm dependencies to latest versions
- composer.json: 19 package version bumps (laravel/framework ^13.11,
  filament/filament ^5.6, pestphp/pest ^4.7, phpunit ^12.5, etc.)
- package.json: 22 package version bumps (eslint ^10, flowbite 4.0,
  vite ^8.0, tailwindcss 4.3, sass 1.100, etc.)
2026-06-06 19:24:34 +02:00
root ccbd200464 feat: auto-merge all Nitro config .example files with missing key detection 2026-06-06 16:38:48 +02:00