Commit Graph

21 Commits

Author SHA1 Message Date
root f29ba72591 Fix security, performance, and code quality issues across CMS
Security:
- Replace unescaped {!! !!} with Purify::clean() in 15+ Blade templates (XSS)
- Add rate limiting to register (3/hr), upload (10/min), SSE (6/min)
- Add max:5000 validation on article comments
- Remove duplicate exception handler callback

Hardcoded paths:
- Replace ~44 /var/www/ hardcoded paths with env() configs
- CatalogService (13), AutoDetectService (18), Commandocentrum (11), AppServiceProvider (2)

Performance:
- Add 10 missing database indexes (radio_song_requests, help_center_tickets, etc.)
- Replace Cache::flush() with targeted Cache::forget() in RadioSettings
- Cache getCachedCategories() in TicketController (N+1 fix)
- Remove redundant top-3 leaderboard query

Bug fixes:
- Fix undefined $enabled variable → $isOnline in radio index view
- Add getAvatarAttribute() accessor for non-existent avatar column
- Fix User::guilds() from wrong HasMany to HasManyThrough

Code quality:
- Replace file_get_contents with Http::timeout(10) in TraxService
- Remove commented Echo/Pusher boilerplate in bootstrap.js
- Remove TODO/FIXME comments from logo-generator templates
- Replace hardcoded Turnstile CDN URL with config()
- Restore QUEUE_CONNECTION=redis in .env.example files
2026-06-29 18:28:19 +02:00
root 61bb70ac1d Revert "Add quality and volume URL params to Nitro client URL"
This reverts commit 94c31b917a.
2026-06-26 20:21:45 +02:00
root 94c31b917a Add quality and volume URL params to Nitro client URL 2026-06-26 20:21:26 +02:00
root 069a307dd7 Remove quality/volume URL params from Nitro client (Nitro V3 uses NitroConfig, not URL params) 2026-06-26 20:17:28 +02:00
root 0a16f05d54 Add extended preferences: client volume, quality, compact mode, default page, hide online status 2026-06-26 20:07:07 +02:00
root 9c92cd297a Add client open mode preference (same tab / new window) to user settings 2026-06-26 19:53:32 +02:00
root 6add7cdfb1 Commit remaining pre-existing changes across CMS files 2026-06-26 19:39:50 +02:00
root 5bd7b2333f Improve overall CMS styling: refined design tokens, improved card/button/input components, circular avatars on me page 2026-06-26 19:38:06 +02:00
root 0ac3a5ea21 feat: serve local assets via CDN with env-configurable URLs
- Move popper.js, tippy.js, alpine-ui, alpine-focus, flowbite, jquery,
  jquery-ui, and swfobject from local assets to CDN (jsDelivr/cdnjs)
- All new CDN URLs are configurable via .env variables
- Old local assets remain as fallback for flowbite CSS/JS only
2026-06-26 18:53:27 +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 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 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 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 b46c278dba chore: remove unused bootstrap and jquery npm dependencies, delete duplicate jQuery vendored files 2026-05-23 17:09:02 +02:00
root 33c03e8b7b perf: remove all delays, set iframe src directly in HTML for max speed 2026-05-22 21:32:20 +02:00
root f694caa397 fix: poll iframe for canvas instead of load event for accurate Nitro ready detection 2026-05-22 21:25:26 +02:00
root 16dd87d365 fix: always set iframe src outside @if block, delay Nitro loading by 500ms 2026-05-22 21:21:49 +02:00
root 76bce1d092 feat: add customizable Nitro client loading overlay with Filament settings
Add full Client Login Effect section to Theme & Buttons page with:
- Enable toggle, 30+ animation effects, customizable colors/logo/text
- 6 loading bar styles (sliding, dots, pulse, double, spinner, skeleton)
- Optimized to single DB query via WebsiteSetting::whereIn
- Overlay covers Nitro v3 internal loading (5s min, 15s fallback)
2026-05-22 21:09:33 +02:00
root 9d73f82529 Initial commit 2026-05-09 17:32:17 +02:00