fix: resolve RedisCache array offset error and improve discovery diagnostics

- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
This commit is contained in:
2025-09-12 20:05:18 +02:00
parent 8040d3e7a5
commit e30753ba0e
46990 changed files with 10789682 additions and 89639 deletions

View File

@@ -40,4 +40,20 @@ final readonly class Image
public string $altText,
) {
}
public function withFilename(string $filename): self
{
return new self(
ulid: $this->ulid,
filename: $filename,
originalFilename: $this->originalFilename,
mimeType: $this->mimeType,
fileSize: $this->fileSize,
width: $this->width,
height: $this->height,
hash: $this->hash,
path: $this->path,
altText: $this->altText
);
}
}

View File

@@ -40,6 +40,9 @@ final readonly class ImageRepository
return $this->entityManager->findOneBy(Image::class, ['hash' => $hash]);
}
/**
* @return Image[]
*/
public function findAll(int $limit = 50, int $offset = 0, ?string $search = null): array
{
// Simplified version - use EntityManager::findAll for now
@@ -91,11 +94,14 @@ final readonly class ImageRepository
$image = $this->findByUlid($ulid);
if ($image) {
$image->filename = $filename;
$this->entityManager->save($image);
$updatedImage = $image->withFilename($filename);
$this->entityManager->save($updatedImage);
}
}
/**
* @return Image[]
*/
public function search(string $query, ?string $type = null, int $minWidth = 0, int $minHeight = 0): array
{
$allImages = $this->entityManager->findAll(Image::class);

View File

@@ -33,6 +33,9 @@ final readonly class ImageSlotRepository
return $this->entityManager->save($imageSlot);
}
/**
* @return array<int, ImageSlotView>
*/
public function findAllWithImages(): array
{
$slots = $this->entityManager->findAll(ImageSlot::class);