100 Commits
Author SHA1 Message Date
root 1acd96b78a Optimize queries: fix N+1, SELECT *, and missing eager loading
N+1 fixes:
- Add withCount('furniture') to rare categories sidebar (prevents N queries)
- Add tags and user.permission eager load in ArticleController
- Add rooms and photos.user eager load in ProfileController
- Add user eager load in MediaApiController (API was returning null user data)

SELECT * fixes:
- Replace WebsitePermission::all()->pluck() with direct pluck()
- Replace WebsiteHousekeepingPermission::all()->pluck() with direct pluck()
- Add select(['id', 'public_name']) to ItemBase query in furniItems()
- Add select(['id', 'name']) to help categories query
- Add select(['id', 'name', 'code']) to languages query

Memory/performance:
- Replace full collection load with aggregate queries in getRareStatistics()
- Add limit(50) to open tickets query in TicketController
2026-06-29 18:50:32 +02:00
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 ef0aec4301 Fix register page: self-host FrankwithBag.gif, fix avatar carousel styling, use standard Habbo figures 2026-06-27 17:09:30 +02:00
root c53a5a8a2c Complete Hubbly theme conversion: all pages rewritten with CSS variable theming
- Converted all views from Dusk components (x-content.content-card, x-form.*) to inline Hubbly style
- All pages use consistent card pattern: rounded-lg, gradient headers, color-mix borders
- Added Hubbly-style homepage with 2-column layout, login card, swiper news carousel
- Rewrote navigation with Alpine.js dropdowns, CSS variable colors, Hubbly assets
- Updated profile page with Hubbly cards, fixed data bugs (friend/guild relationships)
- Rewrote register page to match Hubbly layout: banner header, avatar preview with Frank GIF, 2-column form, avatar carousel selector, border-4 inputs
- Rewrote login, settings, help center, radio, applications, utility pages
- All colors use CSS variables controlled by Filament theme editor
- Added Hubbly assets: banner, Frank GIF, navigation icons, online badge
- Removed all dependencies on x-content.* and x-form.* components
2026-06-27 17:01:02 +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 c225eb7771 fix: add missing View import in ShopController 2026-06-26 18:38:38 +02:00
root bab08f24fe refactor: remove dead code and fix --url flag
Dead code removed:
- DRY_RUN: set but never checked anywhere
- debug(): defined but never called
- C_BG_YELLOW: defined but never used
- --dry-run/-n flag: accepted but had no effect
- --verbose/-v flag: accepted but not used (comment said 'not used yet')

Bugs fixed:
- --url flag was broken: URL derivation (NITRO_DOMAIN, NITRO_SOCKET_URL, etc.)
  happened at module level BEFORE CLI parsing, so --url had no effect on derived
  values. Moved URL derivation into main() after CLI parsing.

Cleanup:
- Extracted load_branches() helper to replace 3x duplicated branch loading pattern
- Total: -35 lines, same functionality
2026-06-25 21:03:42 +02:00
root b512328ac6 fix: restore config URL sync — socket.url now correctly set to wss://ws.epicnabbo.nl
sync_configs() was missing the Python URL fix that patches:
- socket.url → wss://ws.epicnabbo.nl
- api.url, image.library.url, gamedata.url, etc.

This caused renderer-config.json and ui-config.json to have broken wss://ws. values.

Now sync_configs() applies the URL fix after copying .example files.
Verified: socket.url=wss://ws.epicnabbo.nl in both public/ and dist/ configs.
2026-06-25 20:50:26 +02:00
root 492768b5d9 feat: complete rewrite v7.0.0 — rock-solid enterprise updater
GROUND-UP REWRITE for reliability:
- Removed set -euo pipefail (was causing silent crashes)
- All update functions run in subshells from interactive menu
- die() always exits cleanly — subshells contain the exit
- Zero configuration needed — reads .env automatically
- 996 lines of clean, tested code

ALL COMMANDS WORK:
- interactive (default) — 18-option TUI control panel
- update — full/selective (--only=emulator|client|renderer|configs)
- backup, restore, backups — database management
- status — full system dashboard with services
- health — scoring system (15+ checks)
- database — info, tables, optimize, query
- services — start/stop/restart
- logs, clean, config
- gitlog — commit history per repo
- compare — branch diff
- schedule — cron setup

BANNER:
- EMULATOR ASCII art
- Emulator / Nitro-V3 / Nitro-V3-Render
- Updater by Remco — epicnabbo.nl

TESTED: help, config, status, backup, health, update --dry-run
2026-06-25 20:38:52 +02:00
root 2c079c125c fix: interactive menu no longer crashes on update errors
- Add IN_INTERACTIVE flag to detect interactive mode
- die() now returns to menu instead of exiting in interactive mode
- Update options (1-6) run with 'set +e' to prevent crash on errors
- 'set -e' restored after update completes
- Errors are logged and shown as warnings, menu keeps running
2026-06-25 20:17:58 +02:00
root 2a8ca6dbc7 feat: update branding to 'Emulator/Nitro-V3/Nitro-V3-Render updater by remco epicnabbo.nl'
- New premium ASCII art banner with EMULATOR text
- Banner shows: Emulator / Nitro-V3 / Nitro-V3-Render
- Subtitle: Updater by Remco — epicnabbo.nl
- Mini banner updated with same branding
- Menu header updated
- Help text updated with branding
- Gold color theme for title text
2026-06-25 20:10:39 +02:00
root e8d7ffe656 feat: complete rewrite to v6.0.0 — enterprise-grade management system
NEW FEATURES:
- Premium dual-line ASCII art banner (NITRO + V3)
- Git Log Viewer (option 16) — last 20 commits per repo
- Branch Compare (option 17) — diff between any 2 branches
- Update History (option 18) — backup/changelog viewer
- Cron Scheduler (option 19) — auto-update setup (daily/weekly/custom)
- Box key-value display (box_kv) for clean data presentation
- box_sep for section dividers
- Gold/orange/purple/teal color themes
- Active emoji set expanded (globe, console, server, database, diagnostics)

IMPROVEMENTS:
- Menu restructured: UPDATE / TOOLS / ADVANCED sections
- 19 interactive options total
- Health check with percentage scoring
- Git commit history with date, hash, message columns
- Branch comparison shows ahead/behind counts + diff stat
- Cron setup with test-run option
- Cleaner code organization — removed duplication
- All update functions extracted to standalone functions
- Box drawing with proper UTF-8 padding

FIXES:
- Branch detection properly filters HEAD and arrow entries
- Default command is now interactive (shows menu)
- NITRO_SITE_URL derived from APP_URL before URL calculation
2026-06-25 20:04:34 +02:00
root 90e674a8ca fix: make interactive menu the default when running script
Running ./update-Nitrov3.sh without arguments now opens the TUI
control panel instead of immediately running a full update.
Use 'update' subcommand or --only= for direct CLI updates.
2026-06-25 19:51:12 +02:00
root 60162d7882 fix: branch detection now correctly filters HEAD and arrow entries
- grep -v '\->' removes the 'origin/HEAD -> origin/main' line
- grep -v '^HEAD$' removes stray HEAD entries
- sed trims whitespace and strips 'origin/' prefix
- sort -u deduplicates across repos
- Result: only clean branch names like 'main', 'dev', 'Dev'
2026-06-25 19:46:59 +02:00
root e42354411a feat: update wizard with branch selection and mode summary
- Add pick_branch_and_update() wizard for all update options
- Auto-detect available branches from all git repos
- Show branch list with (current) marker for active branch
- Show update summary (branch, mode, site) before confirmation
- Add detect_available_branches() helper to avoid duplication
- Restructure menu: UPDATE / TOOLS categories with labels
- Option 1: Quick Update (uses current branch, no prompts)
- Options 2-6: Full/Selective update with branch picker
- Branch switcher shows all detected branches from repos
- Menu header shows current time, branch, and site URL
2026-06-25 19:40:40 +02:00
root ec81179376 fix: flexible branch handling - works with any branch name
- Add detect_branch() function with smart fallback per repo
- Auto-detect branches: tries exact match, capitalization variants,
  development/Development, main/master, remote branches
- Never crashes on missing branch - warns and skips instead
- Remove hardcoded branch validation (now accepts any branch name)
- Add branch switcher to interactive menu (option 6)
- Shows current branch and site URL in menu header
- git_update() now uses git pull origin instead of generic pull
- Update help text for --branch option
2026-06-25 19:34:02 +02:00
root dddfbcdf47 feat: upgrade update-Nitrov3.sh to v5.0.0 enterprise management system
- Complete rewrite from 584 to 1902 lines
- Interactive TUI control panel with 13 menu options
- CLI subcommands: update, interactive, status, health, backup, restore,
  backups, services, database, config, logs, clean, help, version
- Selective updates with --only=emulator|client|renderer|configs
- Animated spinners and progress bars during operations
- System diagnostics: CPU, memory, disk, Redis, Nginx, SSL cert check
- Database manager: info, tables, sizes, optimize, check, custom queries
- Backup management: create, restore with interactive selection, list view
- Service manager: start/stop/restart for emulator, nginx, PM2
- System status dashboard with server info and resource usage
- Health check with 20+ checks and scoring system
- Cache cleanup: Yarn, Laravel, Redis, logs, backups, temp files
- Enhanced webhook notifications with color support
- CLI flags: --dry-run, --force, --verbose, --quiet, --branch, --url
- Fix: derive NITRO_SITE_URL from APP_URL before URL calculation
- Full UTF-8 and ASCII fallback support
2026-06-25 19:27:01 +02:00
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
root 834908df9f fix: always sync Gamedata configs from latest .example files 2026-06-06 16:30:24 +02:00
root 434f58d5aa fix: use systemctl cat instead of list-units for reliable service detection 2026-06-06 16:24:44 +02:00
root 4c085ac7eb Move .env.install to docs/INSTALL.md as Markdown 2026-06-06 14:35:22 +02:00
root bbefdce290 Add safety note to update-NitroV3 tutorial 2026-06-06 14:31:44 +02:00
root 5b8d1cda7d Move CHANGELOG to docs/ and add English update-NitroV3 tutorial with troubleshooting 2026-06-06 14:29:54 +02:00
root ea2160132a Nitro V3 update: CLI-only (Linux), settings via .env
- Moved Nitro V3 update from web UI (Commandocentrum) to CLI-only
- Removed configure paths form and runUpdateNitrov3() from admin panel
- update-Nitrov3.sh now loads .env automatically from its directory
- Added all NITRO_* env vars to .env.example.linux and .env
- Removed configurable paths from database (replaced by .env)
- Updated README and CHANGELOG
2026-06-06 14:11:50 +02:00
root 2ac1264b93 Fix: SQL import exclude backup dir, replace process substitution with pipe, error handling in loop 2026-06-05 23:20:12 +02:00
root 0f0de43da5 Fix: mariadb-dump || echo instead of hard fail on missing tables 2026-06-05 23:17:03 +02:00
root 1ee60405ce Cleanup: clean_node_modules helper, yarn cache clean || true, remove duplicate blocks 2026-06-05 23:13:15 +02:00
root 78704190bc Fix: rm -rf node_modules fallback to sudo on permission denied + chown safety 2026-06-05 23:09:01 +02:00
root f109b1f764 Fix: check if jar exists after mvn package, clear error message 2026-06-05 23:03:47 +02:00
root af2f76d9db Fix: mariadb-dump --skip-lock-tables --force for missing tables 2026-06-05 23:01:59 +02:00
root 6f11cae3ca Fix: unbound variable _UNBUFFERED () 2026-06-05 23:00:45 +02:00
root 16b2f5bbb7 Fix: unbuffer for realtime output, set -euo pipefail + trap for 0 errors guarantee 2026-06-05 22:59:24 +02:00
root 6e437be6d1 Improve update-Nitrov3.sh: realtime output, strict yarn install, perms fix, extra validation 2026-06-05 22:56:20 +02:00
root 4f4f40ac99 Fix radio Filament: actions() must receive array not Closure 2026-06-04 21:04:28 +02:00
root be6a578f5e Fix radio Filament: recordActions->actions, toolbarActions->headerActions, EmbedCode statePath 2026-06-04 20:59:40 +02:00
root 4d8d22f40a Security: admin radio routes now require auth+admin.security, CORS default no longer wildcard, README security section 2026-06-04 20:46:07 +02:00
root 8a324b3082 README: security note on sudoers, restricted chown path, install polish 2026-06-04 20:36:20 +02:00
root f7fe86efeb Refactor HotelApiController into 6 focused controllers + FurniEditorController Eloquent migration 2026-06-04 20:32:15 +02:00
root 36887244e6 Fix config/app.php missing semicolon (caused 500) 2026-06-04 20:22:51 +02:00
root 9b5c655c68 High priority fixes: PayPal env(), RadioApiKey Bearer-only, User restrict, SettingsService TTL, PHPStan config, + fix 7 broke points (forceFill) 2026-06-04 20:17:45 +02:00
root b2bb1811d0 Medium priority fixes: CORS from env, shared HasRadioSettings trait, lazy RconService, validated() fixes, LogoGenerator hardening, DB indexes, user profile consistency, radio rank N+1 fix 2026-06-04 20:05:36 +02:00
root 4b6872e5e0 Low priority fixes: debug comments, Fortify cleanup, badge cost setting, profile query merge, User model fixes, VPN constructor cleanup, PayPal POST, PII removal, Dutch→English translations, duplicate rank check, CHANGELOG 2026-06-04 19:57:01 +02:00
root 66cbd46f37 Add 'What's New in V3' section to README 2026-06-04 19:41:48 +02:00
root 889cec60e9 Clean README in Arcturus style: badges, tables, quick start, clear sections 2026-06-04 19:37:10 +02:00