Commit graph

5 commits

Author SHA1 Message Date
Claude
8b173461af
refactor: remove empty register() methods in Boot classes
These Boot classes use the event-driven $listens pattern where
registration happens in event handlers (onAdminPanel, onDomainResolving),
not in register(). The empty overrides served no purpose since the parent
ServiceProvider already provides the method.

Fixes #17

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:41:33 +00:00
Snider
bcb40d4ebf fix(dx): add strict_types, composer scripts, and fix test discovery
Some checks failed
CI / PHP 8.3 (pull_request) Failing after 3s
CI / PHP 8.4 (pull_request) Failing after 2s
- Add declare(strict_types=1) to 17 PHP files missing it (13 Livewire
  modals, 1 route file, 1 migration, 1 test use case, TestCase)
- Add composer test/lint scripts to composer.json for monorepo consistency
- Fix phpunit.xml to discover tests in src/Search/Tests and src/Mod/Hub/Tests
- Update CLAUDE.md commands section to document composer test/lint

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 09:04:27 +00:00
9ae0055f33 security: add rate limiting to admin action endpoints (#12)
Some checks failed
CI / PHP 8.3 (pull_request) Failing after 27s
CI / PHP 8.2 (pull_request) Failing after 30s
CI / Assets (pull_request) Failing after 1s
CI / PHP 8.4 (pull_request) Failing after 1s
Add per-user rate limiting to sensitive Livewire component methods to
prevent abuse from compromised admin sessions. Introduces a reusable
HasRateLimiting trait and applies it to PlatformUser, Settings, and
WaitlistManager components.

Rate limits:
- Tier changes, verification, entitlements: 10/min per admin
- Profile updates, preferences: 20/min per user
- Password changes: 5/min per user
- Data exports: 5/min per admin
- Deletions/anonymisation: 3/min per admin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:28:26 +00:00
Snider
b7f77480d3 refactor: update namespaces for L1 package convention
- Core\Mod\Tenant -> Core\Tenant

Part of namespace restructure to align with L1/L2 module conventions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 17:34:41 +00:00
Snider
71c0805bfd monorepo sepration 2026-01-26 20:56:28 +00:00