• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

move-elevator / typo3-image-compression / 35984061667

24 Sep 2026 09:54AM UTC coverage: 90.17% (+0.4%) from 89.805%
35984061667

push

github

web-flow
feat: dispatch PSR-14 events before and after image compression (#62)

* feat: dispatch PSR-14 events before and after image compression

* feat: add PSR-14 events around image compression

* test: cover BeforeImageCompressionEvent and AfterImageCompressionEvent

* feat: dispatch compression events from local-tools and local-basic providers

* test: cover PSR-14 event dispatch in compressor implementations

* test: cover PSR-14 compression event dispatch in TinifyCompressor

* test: cover before/after event dispatch and quality overrides

* test: cover PSR-14 event dispatch and quality override in local compressors

* test: cover PSR-14 compression event dispatch in LocalToolsCompressor

* test: cover before/after event dispatch and quality overrides in local providers

* test: cover PSR-14 compression event dispatch in LocalBasicCompressor

* test: cover before/after event dispatch in local-basic provider

* test: cover PSR-14 event dispatch in LocalBasicCompressor

* chore(deps): declare psr/event-dispatcher as an explicit dependency

* refactor: promote readonly to class level in AfterImageCompressionEvent

* fix: isolate listener failures from compression status and clamp quality events

TinifyCompressor dispatched AfterImageCompressionEvent inside the same
try/catch that handles compression errors, so a listener exception was
caught and routed through saveError(), overwriting the compression status
that had already been persisted as successful. The dispatch now happens
after the try/catch, so a listener exception propagates instead of being
misclassified as a compression failure.

BeforeImageCompressionEvent's quality setters accepted any int, letting a
listener push jpeg/png/webp quality outside the 1-100 range the local
compressors expect; they now clamp the same way ExtensionConfiguration
already does for the configured settings.

Also excludes Classes/Event/* from the Classes/* autowired service resource
in Services.yaml, alongside the existi... (continued)

116 of 118 new or added lines in 5 files covered. (98.31%)

49 existing lines in 5 files now uncovered.

1807 of 2004 relevant lines covered (90.17%)

4.66 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.95
/Classes/Domain/Repository/FileRepository.php


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc