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

move-elevator / typo3-image-compression / 35984061667
91%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2026 09:55AM UTC
Jobs 1
Files 41
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

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

Uncovered Changes

Lines Coverage ∆ File
2
94.5
-0.14% Classes/Compression/LocalToolsCompressor.php

Coverage Regressions

Lines Coverage ∆ File
28
82.72
0.02% Classes/Command/CompressImageCommand.php
7
86.79
0.0% Classes/Compression/ToolDetection.php
6
95.95
0.0% Classes/Domain/Repository/FileRepository.php
4
94.5
-0.14% Classes/Compression/LocalToolsCompressor.php
4
96.23
-0.92% Classes/Report/CompressionStatusProvider.php
Jobs
ID Job ID Ran Files Coverage
1 35984061667.1 24 Sep 2026 09:55AM UTC 41
90.17
GitHub Action Run
Source Files on build 35984061667
  • Tree
  • List 41
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35984061667
  • 50e30dfa on github
  • Prev Build on main (#35981638346)
  • Next Build on main (#35989236511)
  • Delete
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