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

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

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2026 10:48AM UTC
Jobs 1
Files 43
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 10:47AM UTC coverage: 90.047% (-0.1%) from 90.17%
35989236511

push

github

web-flow
feat: store compression results in structured sys_file columns (#63)

* feat: store compression results in structured sys_file columns

* feat: render compression info and total bytes saved from structured columns

* feat: add upgrade wizard to reset legacy compress_info to structured columns

* test: cover structured compression columns, formatter and upgrade wizard

* fix: make upgrade wizard service public and require typo3/cms-install at runtime

* refactor: promote readonly to class level in CompressionColumnsUpgradeWizard

* fix: widen byte columns, exclude negative deltas, and stop fabricating dates

compress_original_size and compress_size were int(11), which overflows for
files over 2 GiB; both columns (on sys_file and sys_file_processedfile) are
now bigint(20) unsigned, matching the type TYPO3 core already uses for
sys_file.size.

FileRepository::getTotalBytesSaved() summed compress_original_size minus
compress_size across all compressed rows, so a single compression whose
output grew (still marked compressed) could drag the total negative or
understate real savings; only positive deltas are aggregated now.

CompressionColumnsUpgradeWizard persisted compress_tstamp as time() for
migrated legacy rows, making every one of them appear to have been
compressed on upgrade day. The timestamp is left at its unknown default
instead, and CompressionInfoFormatter::format() now omits the date segment
for a null timestamp rather than defaulting it to now (CompressorTrait
passes the real timestamp explicitly for the live-compression case that
default previously covered).

CompressionInfoFormatter also rendered a malformed double-dash percentage
when the compressed output was larger than the original; the saved-percent
label now switches between a single leading minus and a plain value instead
of always prefixing one.

* fix: reclassify typo3/cms-install as a production dependency in the lock file

The move from require-dev to require in composer.json (nee... (continued)

140 of 150 new or added lines in 10 files covered. (93.33%)

5 existing lines in 1 file now uncovered.

1909 of 2120 relevant lines covered (90.05%)

4.49 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
75.61
Classes/Updates/CompressionColumnsUpgradeWizard.php

Coverage Regressions

Lines Coverage ∆ File
5
73.91
4.68% Classes/Domain/Model/File.php
Jobs
ID Job ID Ran Files Coverage
1 35989236511.1 24 Sep 2026 10:48AM UTC 43
90.05
GitHub Action Run
Source Files on build 35989236511
  • Tree
  • List 43
  • Changed 8
  • Source Changed 8
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35989236511
  • 2a04c061 on github
  • Prev Build on main (#35984061667)
  • Next Build on main (#35990673423)
  • 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