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

Freegle / Iznik / 28691
73%

Build:
DEFAULT BRANCH: master
Ran 27 Jul 2026 01:17PM UTC
Jobs 3
Files 1442
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

27 Jul 2026 12:57PM UTC coverage: 73.051% (+0.3%) from 72.8%
28691

push

circleci

invalid-email-address
fix: emit tracking pixel via mj-raw to stop stray Outlook scrollbar

MJML renders mj-image as a table stack whose img gets width:100%. A
1x1 tracking pixel displayed at 100% width reads to Outlook Web as a
downscaled image, so it injects absolutely-positioned "Show original
size" overlay buttons. At the end of the body these overhang the
content, adding scrollHeight without clientHeight - producing a
second, nearly-immobile scrollbar on every tracked email (reported
against the Unified Digest, but affecting all 15 templates using the
MJML pixel variant).

getTrackingPixelMjml() now wraps the plain fixed-1px HTML pixel in
mj-raw, so the compiled output carries no width:100% and Outlook has
nothing to offer resizing for. mj-raw is valid both inside mj-column
(14 templates) and directly in mj-body (digest/unified.blade.php);
the old mj-image directly in mj-body was never valid MJML anyway.

Verified against a live digest send: rendered output contains the
plain 1px img only, and hiding the overlays in the reported DOM
zeroed the 34px overflow.

Adds TrackingPixelOutlookTest asserting on mrml-compiled output (the
layer Outlook sees): pixel img survives compilation in both parent
contexts, keeps width:1px, and never carries width:100%.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015ivcMDLZrMmqxCPopdv5rU

12897 of 14855 branches covered (86.82%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

1307 existing lines in 41 files now uncovered.

141027 of 195853 relevant lines covered (72.01%)

37.81 hits per line

Coverage Regressions

Lines Coverage ∆ File
261
63.72
-15.91% iznik-nuxt3/components/LoginModal.vue
146
71.05
-3.83% iznik-nuxt3/components/OurUploader.vue
135
74.76
6.18% iznik-nuxt3/components/VolunteerOpportunityModal.vue
113
77.79
8.17% iznik-nuxt3/components/CommunityEventModal.vue
85
64.53
-5.72% iznik-nuxt3/components/AddressModal.vue
74
79.33
0.29% iznik-nuxt3/components/MicroVolunteering.vue
58
83.3
5.51% iznik-nuxt3/components/AutoComplete.vue
56
68.24
-10.82% iznik-nuxt3/components/PostCode.vue
52
50.0
-12.31% iznik-nuxt3/components/AddToCalendar.vue
44
65.48
-4.89% iznik-nuxt3/components/ChatButton.vue
30
78.67
-16.44% iznik-nuxt3/components/SpinButton.vue
25
81.82
-14.5% iznik-nuxt3/components/InfiniteLoading.vue
23
84.82
7.04% iznik-nuxt3/components/SomethingWentWrong.vue
20
90.17
18.28% iznik-nuxt3/components/ChatMessageInterested.vue
19
87.36
-3.39% iznik-nuxt3/components/EmailValidator.vue
19
87.21
-0.29% iznik-nuxt3/components/MessageHistory.vue
18
86.32
1.63% iznik-nuxt3/components/ChatMessageText.vue
16
81.95
1.13% iznik-nuxt3/components/PostPhoto.vue
14
83.1
-1.15% iznik-nuxt3/components/GoogleOneTap.vue
13
90.26
2.98% iznik-nuxt3/components/UserRatings.vue
12
90.3
19.63% iznik-nuxt3/components/ChatMessage.vue
10
94.77
8.21% iznik-nuxt3/components/ActivityGraph.vue
9
80.0
2.89% iznik-nuxt3/components/AutoHeightTextarea.vue
9
92.83
16.93% iznik-nuxt3/components/VolunteerOpportunity.vue
7
88.0
-0.1% iznik-nuxt3/components/PasswordEntry.vue
5
92.44
5.39% iznik-nuxt3/components/ChatListEntry.vue
5
64.52
-8.21% iznik-nuxt3/components/ExternalLink.vue
5
94.31
1.59% iznik-nuxt3/components/ProfileImage.vue
5
82.35
1.34% iznik-nuxt3/components/ProxyImage.vue
3
96.88
17.31% iznik-nuxt3/components/GroupSelect.vue
2
95.92
16.93% iznik-nuxt3/components/ChatMessageSummary.vue
2
87.5
-7.95% iznik-nuxt3/components/OurDatePicker.vue
2
93.55
-6.45% iznik-nuxt3/components/OurToggle.vue
2
96.9
5.87% iznik-nuxt3/components/OurUploadedImage.vue
2
86.99
-1.37% iznik-server-go/recommendations/stats.go
1
97.42
14.89% iznik-nuxt3/components/ChatMessageAddress.vue
1
98.44
18.69% iznik-nuxt3/components/ChatMessageCompleted.vue
1
98.11
25.35% iznik-nuxt3/components/ChatMessagePromised.vue
1
99.5
20.53% iznik-nuxt3/components/CommunityEvent.vue
1
95.45
4.15% iznik-nuxt3/components/ProfileModal.vue
1
96.3
15.05% iznik-nuxt3/components/SupporterInfo.vue
Jobs
ID Job ID Ran Files Coverage
28691 go - 28691 27 Jul 2026 01:17PM UTC 163
83.5
CircleCI Job 28691
28691 laravel - 28691 27 Jul 2026 01:17PM UTC 508
70.26
CircleCI Job 28691
28691 vitest - 28691 27 Jul 2026 01:17PM UTC 771
70.78
CircleCI Job 28691
Source Files on build 28691
  • Tree
  • List 1442
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #28691
  • d6981931 on github
  • Prev Build on master (#28668)
  • Next Build on master (#28731)
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