Conversation
…ocalization, mail, queues
…fail, hasColumn wildcards, logger docblocks
…, queue, fuse inheritance) + home nav + skill update
…, Queue - 110 new tests covering all new features - Fix Job::getPayload() to use actual property values - Fix Schema::buildCreateSql() to avoid double PK on SQLite - Fix Translator::choice() double-colon replacement - Fix Translator::matchesExplicitRule() to handle * wildcard - 393 tests total, 710 assertions, 0 failures
- StorageDriver interface with 16 methods - LocalDriver for local filesystem operations - S3Driver using AWS SDK (optional soft dependency) - Storage static facade with fromConfig() and disk() switching - Config at app/config/storage.php - 22 tests covering all operations - 415 tests total, 743 assertions, 0 failures
- Auto created_at/updated_at on save (configurable via ) - Soft delete with deleted_at column ( = true) - withTrashed() / onlyTrashed() query scopes - restore() / forceDelete() / trashed() methods - QueryBuilder IS NOT NULL support - 13 tests, 428 total, 761 assertions, 0 failures
- Bump version to 2.3.0 throughout the codebase - UserProvider::retrieveByCredentials() iterates all credential fields - Scope::validate() with allowlist enforcement - SessionGuard::login() throws on null user id - CLI getPortArg() changed to instance method using $this->argv - CLI SQLite DSN guards against double 'sqlite:' prefix - RedisDriver::setMultiple() checks availability before transaction - FileDriver::saveTagIndex() adds LOCK_EX - Cache::normalizeKey() complies with PSR-16 charset - Router regex delimiter # -> ~ to avoid URL collision - ModelTimestampTest removes brittle sleep(1) - Add Dockerfile (multi-stage), compose.yaml, Caddyfile, .dockerignore - Update README with all features, Docker guide, test stats
Code Review – v2.3Reviewed 16 files changed in this pr. Finding 1: Docker dev stage missing system deps + composer install (FIXED)File: Finding 2: Unused variable in test (FIXED)File: Finding 3: compose.yaml mounts gitignored composer.lockFile: All other changes look correct:
|
devsimsek
left a comment
There was a problem hiding this comment.
I like the code I like and the code open code writes at the same time. Though there exist a few security issues which are well documented within youtrack. Ill fix em now.
|
Finally :) |
Summary
Bump version to v2.3 with code review bug fixes, new Docker deployment infrastructure, and comprehensive documentation update.
Code Review Fixes
UserProvider.phpretrieveByCredentials()iterates all credential fields, skips passwordScope.phpvalidate()method with allowlist enforcementSessionGuard.phplogin()throwsRuntimeExceptionwhen user id is nullsdf/cligetPortArg()changed from static$GLOBALSto instance methodsdf/clisqlite:prefixRedisDriver.phpsetMultiple()checks availability before multi/execFileDriver.phpsaveTagIndex()addsLOCK_EXfor concurrent safetyCache.phpnormalizeKey()removes!-violating PSR-16 charsetRouter.php#to~to avoid URL collisionModelTimestampTest.phpsleep(1)dependencyDocker
Dockerfile— multi-stage (base/dev/production) with FrankenPHPcompose.yaml— app + MySQL 8.4 + Redis 7-alpineCaddyfile— static serving, security headers, forbidden paths.dockerignore— build exclusionsDocumentation
Tests: 428 tests, 763 assertions, 0 failures