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

Freegle / Iznik / 24549
72%

Build:
DEFAULT BRANCH: master
Ran 03 Jul 2026 01:04PM UTC
Jobs 4
Files 1370
Run time 4min
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

03 Jul 2026 12:33PM UTC coverage: 71.705% (+0.02%) from 71.681%
24549

push

circleci

edwh
fix(browse): make the nearby feed honour browseMaxDistance so it matches the unread badge

A Tower Hamlets moderator saw the browse unread badge say 3 while 9 posts sat above the
"You're up to date" divider. Two causes, both fixed:

1) The feed ignored the distance preference. isochrone.Count -> nearbyCount filters unseen
   posts to the member's browseMaxDistance, but isochrone.Messages returned every reach-
   covered post regardless. The client slider hid the far ones visually, but their `unseen`
   flag still put them above the divider, so badge != feed. Messages now applies the SAME
   resolveMaxDistance filter as the count (reads ?maxDistance= else the saved setting), so
   the unseen posts the feed shows and the badge count come from one universe. Own posts
   (blurred distance ~0 from the viewer) always pass; only far reach posts drop; no pinned
   exemption, so it matches nearbyCount exactly. New TestNearbyFeedHonoursDistanceLimit
   mirrors TestNearbyCountDistanceLimit for the feed.

2) Stale feed cache after "Mark seen". markSeen() marked the server + polled the count to
   zero but never cleared the cached feed's `unseen` flags, so posts lingered above the
   divider (and a second device's cache stayed stale). Now markSeen also clears the local
   flags immediately (nearbyStore.markSeen) and, once the count clears, refetches the feed
   (nearbyStore.fetchMessages(true)) so the divider split comes from server truth.

Full Go suite: the only failures are the unrelated Bulk* tests hitting a stale local test
DB missing the new bulk-offer `edittoken` migration (CI runs a migrated DB); every browse/
isochrone/count test passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AsgvoSgfeUwBMBbxKJHSNy

12266 of 16221 branches covered (75.62%)

Branch coverage included in aggregate %.

19 of 19 new or added lines in 2 files covered. (100.0%)

52 existing lines in 3 files now uncovered.

130673 of 183121 relevant lines covered (71.36%)

37.83 hits per line

Coverage Regressions

Lines Coverage ∆ File
43
88.85
0.18% iznik-server-go/dashboard/dashboard.go
8
0.71
0.02% iznik-nuxt3/pages/stats/heatmap.vue
1
94.77
-0.58% iznik-batch/app/Services/AutoRepostService.php
Jobs
ID Job ID Ran Files Coverage
24549 laravel - 24549 03 Jul 2026 01:04PM UTC 477
68.75
CircleCI Job 24549
24549 playwright - 24549 03 Jul 2026 01:04PM UTC 74
22.75
CircleCI Job 24549
24549 go - 24549 03 Jul 2026 01:04PM UTC 145
83.89
CircleCI Job 24549
24549 vitest - 24549 03 Jul 2026 01:04PM UTC 747
69.45
CircleCI Job 24549
Source Files on build 24549
  • Tree
  • List 1370
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #24549
  • 1b26097e on github
  • Prev Build on master (#24536)
  • Next Build on master (#24558)
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