Commit Graph

63 Commits

Author SHA1 Message Date
root 1f9af5279a fix: add DEFAULT 0 to last_username_change column, seeder, fillable, and factory 2026-05-27 20:23:06 +02:00
root 7814176358 docs: update changelog (May 27, 2026) 2026-05-27 17:18:56 +02:00
root 56616d084c fix: add Dashboard/Homepage translations and OPcache troubleshooting to README 2026-05-27 17:16:47 +02:00
root e34300a8a1 Add /client/* to CORS paths 2026-05-26 19:15:50 +02:00
root e2422e9a16 Add CORS_ALLOWED_ORIGINS to .env.example 2026-05-26 19:02:58 +02:00
root a65db47c85 Add changelog to README 2026-05-26 17:25:01 +02:00
root af2c79ac59 Restore PHP 8.5 constraint (system runs PHP 8.5.6) 2026-05-26 17:09:30 +02:00
root e754858c84 Remove nonexistent PHP 8.5 constraint, restrict CORS allowed_headers 2026-05-26 17:08:31 +02:00
root 769abddeca Disable Boost browser_logs_watcher by default, remove old browser.log 2026-05-26 17:05:17 +02:00
root c0077a6039 Fix session same_site to use env, fix Article model import, remove unused traits 2026-05-26 16:59:49 +02:00
root d8ea6d214f Fix robots.txt to block crawlers from admin/cms paths 2026-05-26 16:54:11 +02:00
root 55b5aab458 Security fixes: remove dangerous public scripts, add .htaccess hardening, disable log-viewer by default, remove root index.php 2026-05-26 16:52:09 +02:00
root 93e6f6a273 Add (bool) type casts to all boolean env() calls across config files 2026-05-26 16:40:52 +02:00
root f5c21e36f1 Add (bool) type casts to all boolean env() calls in config/habbo.php 2026-05-26 16:37:29 +02:00
root b50de1f7ce Fix debug banner condition to use config('app.debug') directly instead of habbo config 2026-05-26 16:33:41 +02:00
root 45848cb4c5 Remove auto-recovery mechanism that caused race conditions with view cache 2026-05-26 16:05:58 +02:00
root 4aa574e75e docs: rewrite README in English with Linux/Windows setup guides and add auto-install scripts 2026-05-25 15:25:46 +02:00
root 943d5bfc38 feat: install and configure Inertia.js with React
- Install inertia-laravel, @inertiajs/react, react, @vitejs/plugin-react
- Add HandleInertiaRequests middleware registered in web group
- Create Inertia root template (resources/views/app.blade.php)
- Add React entry point and page components (resources/js/)
- Add Inertia demo route (/inertia-test)
- HomeController reverted to Blade (index page stays original)
- Remove inertia-test2 test route
2026-05-25 15:15:14 +02:00
root 4ce68720bb fix: disable APP_DEBUG in production, fix .htaccess structure, add .gitignore cleanup
- Set APP_DEBUG=false in .env to prevent stack trace leakage
- Use strict comparison (===) for MD5 password migration check
- Fix duplicate rewrite rules and orphaned closing tag in .htaccess
- Remove leftover test files (cookies.txt, ci_test.txt, test-registration.php)
- Remove duplicate package-lock.json (using yarn only)
- Update .gitignore for above files
2026-05-25 14:30:37 +02:00
root 4e07aa3580 fix: register anonymous component path for filament-components view cache 2026-05-24 19:29:48 +02:00
root bf3b474ee1 feat: complete configuration and database upgrade to native mariadb driver 2026-05-24 18:43:57 +02:00
root eea81a3e9a Fix middleware class collision (RadioApiKey -> alias), add missing setup.do and setup.reset routes, fix SSE int type cast 2026-05-24 14:20:22 +02:00
root 261a5e63c6 Fix SSE listeners type cast, replace Blade tab component with Alpine.js tabs in DjModeration, use wire:confirm instead of onclick 2026-05-24 14:15:44 +02:00
root 0c6c558a59 Add radio embed widget, SSE real-time, song history, moderation panel, and Auto DJ
- Embed widget: standalone iframe player with dark/light/transparent themes, copy-paste embed code admin page
- Real-time SSE: streaming now-playing/listeners/dj events, replaces polling in radio-player and embed
- Song history: auto-records song changes to radio_song_plays table, Filament resource to view
- DJ moderation: unified panel for shouts approval, song request queue, DJ applications
- Auto DJ: playlist management with round-robin playback when no DJ is live
- Refactored radio-player Alpine component to use EventSource API with auto-reconnect
2026-05-24 14:07:32 +02:00
root 5476dce882 Add multi-step radio wizard with Shoutcast/Icecast/AzureCast support and multi-language translations
- New 5-step RadioWizardController with session-based wizard flow
- Enhanced RadioStreamService with Shoutcast/Icecast/ AzureCast auto-detection
- Connection test functionality for stream, now-playing, and listeners
- Wizard views for all 5 steps with step indicator navigation
- All 21 language files updated with wizard translation keys (NL/EN + placeholders)
- Wizard link added to existing radio setup page
- Routes registered under /admin/radio/wizard/*
2026-05-24 13:12:57 +02:00
root 8c49a1138c Add attribute_changes column to activity_log table to fix SQLSTATE[42S22] error 2026-05-23 19:58:48 +02:00
root 0c15e54b81 fix: update CI config for shell executor 2026-05-23 19:16:29 +02:00
root 91a5a62c5e chore: update CI test timestamp 2026-05-23 19:11:28 +02:00
root 2d8beaa531 chore: fix code style with Laravel Pint 2026-05-23 19:05:37 +02:00
root 0795cd283d chore: add GitLab CI/CD pipeline with PHPStan, Pint, and PHPUnit 2026-05-23 18:54:31 +02:00
root 7e8313a55b chore: improve code quality - PHPStan level 5, add #[\Override] attributes, fix return types 2026-05-23 18:44:16 +02:00
root 6de250f49f fix: remove spatie/laravel-ray (breaks error handler) and fix dontSubmitEmptyLogs for activitylog v5 2026-05-23 18:26:38 +02:00
root ce466028f1 fix: replace undefined bootstrap_path() with base_path() 2026-05-23 17:24:19 +02:00
root 81839c7202 chore: update doctrine/dbal to v4, activitylog to v5, sluggable to v4, roadrunner-http to v4 2026-05-23 17:20:57 +02:00
root 2d5f018ff1 fix: replace shell_exec/exec with Process facade for security 2026-05-23 17:14:38 +02:00
root 14a40b9bb2 fix: standardize password min length to 8 across all auth endpoints 2026-05-23 17:11:23 +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 8c584efab7 fix: correct composer.json name from laravel/laravel to atom-retros/atomcms 2026-05-23 17:00:15 +02:00
root 574b5d6e17 fix: standardize language to English in README and AlertSettings
feat: add 24 model factories for Help, Shop, Community, Game, User domains

- Translate mixed Dutch/English strings in README.md and AlertSettings.php
- Add HasFactory trait to 23 models
- Create factories for Help (6), Shop (4), Community (5), Game (2), User (7)
2026-05-23 16:57:44 +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 c53d1bca45 fix: add Cache import, convert DiagnosticResult to array for Livewire 2026-05-21 17:27:40 +02:00
root 17f543e7c9 fix: add missing bootstrap_path() helper function 2026-05-21 17:15:31 +02:00
root 70ebbac9f0 fix: add missing diagnoseSqlUpdates method to EmulatorUpdateService 2026-05-21 16:27:06 +02:00
root a07d216635 fix: update axios, move env() to config, cache config/routes/events/filament 2026-05-21 16:23:56 +02:00
root 1fe8d10c90 fix: replace route closures with controllers, add Argon2id password migration
- Replace closures in web.php and auth.php with dedicated controllers
  (LoginRedirectController, LogoutController, TwoFactorChallengeController,
  EmailVerificationController) to fix route caching issues
- Add migration to increase password column to VARCHAR(255) for Argon2id support
- Fix 500 error caused by route cache incompatibility with closures
2026-05-20 23:40:18 +02:00
root 75b78c17fa refactor: improve security, split routes, add API resources and FormRequests
- Fix timing attack vulnerability in AuthController
- Split web.php (316 lines) into 7 focused route files
- Add 8 API Resources for consistent response formatting
- Add 8 FormRequest classes for centralized validation
- Use Resources instead of manual array mapping in controllers
2026-05-20 23:03:16 +02:00
root 2f30a058a4 feat: add full i18n support to Commandocentrum
- Replace all hardcoded Dutch/English strings with __() translation calls
- Update 13 Blade components to use translation keys
- Update Commandocentrum.php controller with translation calls
- Add comprehensive Dutch (nl.json) and English (en.json) translations
- 150+ translation keys for UI labels, messages, and notifications
- Supports all 21 languages available in the lang/ directory
2026-05-19 21:49:39 +02:00