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

Freegle / Iznik / 24990
72%

Build:
DEFAULT BRANCH: master
Ran 05 Jul 2026 03:25PM UTC
Jobs 4
Files 1369
Run time 2min
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

05 Jul 2026 02:56PM UTC coverage: 71.764% (-0.03%) from 71.794%
24990

push

circleci

invalid-email-address
feat(upload): instrument the client-side compression step directly

The closed PR #963 claimed ~13% of selected photos were "abandoned during
compression", but nothing measured that: no Loki event bracketed the compress
step (preprocess-progress was only console.logged), and with autoProceed the
`upload` event (upload_started) fires in @uppy/core's createUpload BEFORE
runUpload executes the Compressor pre-processor — so the selected->started gap
is before compression by construction, and the 87->76 delta was a per-file
(file-added) vs per-batch (upload) counting artifact.

Instrument it properly instead of guessing:

- upload_compress_started / upload_compress_finished bracket each file's
  compression via @uppy/compressor's per-file preprocess-progress /
  preprocess-complete events, capturing original_size, compressed_size,
  elapsed_ms, and whether the bytes actually shrank.
- A `compressed` flag, set from the batch `compressor:complete` event (which
  carries only successfully-compressed files), records silent compression
  failures — @uppy/compressor swallows its own errors and uploads the file
  UNCOMPRESSED, so absence from that event is the real, measurable failure
  mode the PR only speculated about.
- Make the funnel per-file end-to-end (selected -> compress_started ->
  compress_finished -> succeeded) so stages are comparable, fixing the
  per-file/per-batch mismatch that caused the original misdiagnosis.
- Tag every event with `uploader` (our|photo) so desktop (OurUploader) and
  mobile/tablet (PhotoUploader) can be separated in Loki. PhotoUploader had
  no upload telemetry at all; it now emits the same funnel.

No change to compression config or upload behaviour — this establishes a
baseline against the current default Compressor so any future downscaling
change can be judged on measured data, not inference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VqZianMqz6i4FKMdPgnvWM

12352 of 16346 branches covered (75.57%)

Branch coverage included in aggregate %.

33 of 89 new or added lines in 2 files covered. (37.08%)

514 existing lines in 9 files now uncovered.

131319 of 183852 relevant lines covered (71.43%)

38.1 hits per line

Uncovered Changes

Lines Coverage ∆ File
44
74.66
-4.11% iznik-nuxt3/components/PhotoUploader.vue
12
66.41
-3.63% iznik-nuxt3/components/OurUploader.vue

Coverage Regressions

Lines Coverage ∆ File
237
13.15
0.14% iznik-batch/app/Console/Commands/Mail/TestMailCommand.php
88
85.79
0.0% iznik-batch/app/Services/UnifiedDigestService.php
78
72.63
0.68% iznik-server-go/location/location.go
64
0.0
0.0% iznik-nuxt3/pages/browse/[[term]].vue
28
81.55
0.0% iznik-server-go/userdump/sqlite.go
8
90.36
-9.64% iznik-nuxt3/stores/location.js
7
88.95
-0.08% iznik-nuxt3/modtools/pages/admins.vue
3
96.3
-0.04% iznik-nuxt3/modtools/components/ModAdmin.vue
1
94.77
-0.58% iznik-batch/app/Services/AutoRepostService.php
Jobs
ID Job ID Ran Files Coverage
24990 vitest - 24990 05 Jul 2026 03:25PM UTC 746
69.45
CircleCI Job 24990
24990 go - 24990 05 Jul 2026 03:25PM UTC 145
84.06
CircleCI Job 24990
24990 playwright - 24990 05 Jul 2026 03:25PM UTC 74
22.59
CircleCI Job 24990
24990 laravel - 24990 05 Jul 2026 03:25PM UTC 477
68.85
CircleCI Job 24990
Source Files on build 24990
  • Tree
  • List 1369
  • Changed 15
  • Source Changed 0
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #24990
  • cd265297 on github
  • Prev Build on master (#24970)
  • Next Build on master (#25006)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc