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

Freegle / Iznik / 27811
74%

Build:
DEFAULT BRANCH: master
Ran 18 Jul 2026 11:08PM UTC
Jobs 4
Files 1422
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

18 Jul 2026 10:36PM UTC coverage: 72.435% (+0.004%) from 72.431%
27811

push

circleci

invalid-email-address
fix(session): confirming an email lifts the bounce suspension

A member who bounced and then fixed their address stayed silently cut off from
mail. users.bouncing gates UnifiedDigestService (->where('bouncing', 0)),
UserManagementService and NotificationChaseUpService, but NOTHING resets it: the
only unbounce path is the manual, per-domain UnbounceDomainCommand, and the
email-verify handler never touched the flag. So the suspension was effectively
permanent even after the member proved the address works.

Confirming a validatekey is exactly that proof - they had to receive the
verification mail to click the link - so clear the suspension there. Clears both
halves the canonical unbounce does: the per-address bounce stamp
(users_emails.bounced, which gates welcome mail via whereNull('bounced')) and the
per-user users.bouncing flag.

Found while checking whether a member's address was bouncing. It wasn't, but 47
members were suppressed despite having validated AFTER their bounce - several
within minutes of it:

    bounced 13:15:12 -> validated 13:17:43
    bounced 09:33:12 -> validated 09:38:08

Those 47 have been cleared in prod; this stops them re-accumulating (~47/month
at the observed rate). Safe if an address later fails again: BounceService
re-suspends on the next bounce.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

13215 of 17412 branches covered (75.9%)

Branch coverage included in aggregate %.

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

138234 of 191672 relevant lines covered (72.12%)

37.97 hits per line

Jobs
ID Job ID Ran Files Coverage
27811 laravel - 27811 18 Jul 2026 11:08PM UTC 499
69.25
CircleCI Job 27811
27811 vitest - 27811 18 Jul 2026 11:09PM UTC 764
70.56
CircleCI Job 27811
27811 playwright - 27811 18 Jul 2026 11:09PM UTC 75
22.08
CircleCI Job 27811
27811 go - 27811 18 Jul 2026 11:08PM UTC 158
83.48
CircleCI Job 27811
Source Files on build 27811
  • Tree
  • List 1422
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #27811
  • a1a53a89 on github
  • Prev Build on master (#27798)
  • Next Build on master (#27862)
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