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
root
8ce3fcca85
Bulletproof installation: Redis, build-essential, DB user creation, PHP tuning, SSL, firewall, verification
2026-06-04 19:34:06 +02:00
root
b8a15c8412
Compact and correct README: PHP 8.5, php8.5-fpm, Ubuntu 26.04, remove changelogs
2026-06-04 19:31:54 +02:00
root
82d00ad11d
Rename .env.example to .env.install with step-by-step guide, update README
2026-06-04 19:30:24 +02:00
root
c468040792
Add .env.example.linux and .env.example.windows, remove .env.standard, update README
2026-06-04 19:27:53 +02:00
root
4487084614
Update README: PHP 8.5, Ubuntu 26.04
2026-06-04 19:24:51 +02:00
root
e96e2a0fd3
Remove all XAMPP support from CMS (files, references, configs)
2026-06-04 19:22:01 +02:00
root
4378144f45
Remove server IP from README, use placeholder
2026-06-04 19:19:02 +02:00
root
59188a5f2c
XAMPP warning in English
2026-06-04 19:18:19 +02:00
root
ff364992ca
Add XAMPP security warning: not supported, extremely unsafe for production
2026-06-04 19:17:18 +02:00
root
2997486662
Rewrite README: document Nitro V3 update system, sudoers config, Commandocentrum; remove outdated content
2026-06-04 19:14:40 +02:00
root
f76f30e88f
Nitro V3 Update: configureerbare paths via Commandocentrum + sudoers fix
2026-06-04 18:56:08 +02:00
root
1f04979ffe
Remove all auto-update functionality (commands, services, widgets, blades, translations)
2026-06-03 22:54:39 +02:00
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