Snider
c8dfc2a8a9
refactor: remove deprecated code for v0.0.1 release
...
- Remove deprecated device chrome properties and methods from Editor
- Remove deprecated ConfigResolver::bootKeys() and lazy load instead
- Remove deprecated ConfigValue::find() method
- Remove deprecated StorageOffload::getHumanSizeAttribute() accessor
- Clean up API controllers (already using resolveWorkspace trait)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 23:36:01 +00:00
Snider
65dd9af950
refactor: consolidate migrations and clean up core packages
...
- Remove old incremental migrations (now consolidated into create_* files)
- Clean up cached view files
- Various fixes across core-api, core-mcp, core-php packages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 22:28:58 +00:00
Snider
1f1c8d0496
fix: add tier columns to users table, remove app-specific seeder
...
- Add tier and tier_expires_at columns to users table in create migration
- Remove SystemUserSeeder (moved to host.uk.com as it uses app-specific models)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 22:20:54 +00:00
Snider
2d348f4c2d
Update RELEASE-BLOCKERS.md: mark medium issues fixed
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:03:13 +00:00
Snider
13670ebb34
Add dependency guards and PHPDoc documentation
...
Dependency guards for optional modules:
- Remove hard use statements for Core\Mod\*, Core\Plug\* classes
- Add class_exists() guards before using optional dependencies
- Change type hints to ?object with docblock annotations
- Add fallback behavior when optional modules not installed
Files with dependency guards added:
- Cdn/Console/CdnPurge.php (Workspace, Purge)
- Cdn/Console/PushAssetsToCdn.php (VBucket)
- Cdn/Boot.php (CdnManager, StorageManager)
- Cdn/Jobs/PushAssetToCdn.php (StorageManager)
- Front/Admin/AdminMenuRegistry.php (User, Workspace, EntitlementService)
- Front/Admin/Contracts/*.php (User, Workspace)
- Front/Admin/View/Components/Sidemenu.php (User, WorkspaceService)
- Front/Mcp/McpContext.php (AgentPlan)
Comprehensive PHPDoc documentation:
- ModuleScanner.php - Scanner mechanics and priority system
- ModuleRegistry.php - Registration flow and querying
- LazyModuleListener.php - Lazy loading mechanism
- LifecycleEventProvider.php - Lifecycle phases
- All Event classes - When fired, context, examples
- Service contracts - HealthCheckable, ServiceDefinition
- Admin contracts - AdminMenuProvider, DynamicMenuProvider
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:24:39 +00:00
Snider
c6993dbfca
Prepare for open-source release
...
Remove internal branding:
- Replace "Snide" codename with "Core" in documentation
- Remove "host-uk/core" package name check in Boot.php
- Remove company references from CDN service comments
- Remove hardcoded fallback domains
Improve generated code clarity:
- Add [USER] prefix to TODO comments in MakePlugCommand templates
- Add header comments explaining generated files need implementation
- Convert dashboard TODOs to placeholder UI sections
- Remove internal roadmap TODOs from route files
Add EUPL-1.2 license headers:
- Added license header to 231 PHP files
- Skipped 208 Blade templates (HTML, not PHP)
Update release documentation:
- Mark critical and high issues as fixed in RELEASE-BLOCKERS.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 18:45:52 +00:00
Snider
606176585c
Fix critical and high severity issues from code review
...
Security fixes:
- Fix XSS in JSON-LD output via JSON_HEX_TAG (Seo module)
- Fix SQL injection via LIKE wildcards (Config module)
- Fix regex injection in env updates (Console module)
- Fix weak token hashing with HMAC-SHA256 (CDN module)
- Mask database credentials in install output (Console module)
New features:
- Add MakeModCommand, MakePlugCommand, MakeWebsiteCommand scaffolds
- Add event prioritization via array syntax in $listens
- Add EventAuditLog for tracking handler execution and failures
- Add ServiceVersion with semver and deprecation support
- Add HealthCheckable interface with HealthCheckResult
- Add ServiceStatus enum for service health states
- Add DynamicMenuProvider for uncached menu items
- Add LangServiceProvider with auto-discovery and fallback chains
Improvements:
- Add retry logic with exponential backoff (CDN uploads)
- Add file size validation before uploads (100MB default)
- Add key rotation mechanism for LthnHash
- Add Unicode NFC normalization to Sanitiser
- Add configurable filter rules per field (Input)
- Add menu caching with configurable TTL (Admin)
- Add Redis fallback alerting via events (Storage)
- Add Predis support alongside phpredis (Storage)
- Add memory safety checks for image processing (Media)
- Add SchemaValidator for schema.org validation (SEO)
- Add translation key validation in dev environments
Bug fixes:
- Fix nested array filtering returning null (Sanitiser)
- Fix race condition in EmailShieldStat increment
- Fix stack overflow on deep JSON nesting (ConfigResolver)
- Fix missing table existence check (BlocklistService)
- Fix missing class_exists guards (Search, Media)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:20:14 +00:00
Snider
b26c430cd6
Add core components and initial setup for the PHP framework
2026-01-21 14:11:45 +00:00
Snider
713cbc601d
Add Font Awesome Pro to admin layout
...
Load Font Awesome Pro CSS in admin layout using Cdn::versioned helper
for cache-busted asset loading.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 14:05:51 +00:00