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

Freegle / Iznik / 4788
70%

Build:
DEFAULT BRANCH: master
Ran 17 Apr 2026 07:54PM UTC
Jobs 4
Files 976
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

17 Apr 2026 05:56PM UTC coverage: 71.202% (+0.1%) from 71.06%
4788

push

circleci

web-flow
fix(ModLogsModal): dedupe logs on push to prevent duplicates (#196)

Reproduces Discourse 9518.181 — @Neville_Reid reported the ModLogsModal
showed the same four-row block repeated three times on the Pending
Message page.

Root cause is client-side. The server query (SELECT logs.* FROM logs
WHERE ... ORDER BY logs.id DESC LIMIT ?) has no amplifying JOIN and
pagination is exclusive (logs.id < ?) so it cannot return the same
row twice in one call. But multiple ModLogsModal / ModPostingHistory
instances on the same page share a single global Pinia store, and
rapid re-opens can run fetchChunk concurrently. Both in-flight fetches
see this.context === null, both request page 1, both push identical
rows into the shared list.

Dedupe by id on push so repeated or concurrent fetches of overlapping
pages (including a later fetch that straddles the previous context
boundary) cannot produce visible duplicates.

Two Vitest tests cover the concurrent and sequential-overlap cases.
Full suite 11794/11794 passes.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>

13286 of 20292 branches covered (65.47%)

Branch coverage included in aggregate %.

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

60 existing lines in 10 files now uncovered.

94680 of 131342 relevant lines covered (72.09%)

19.97 hits per line

Coverage Regressions

Lines Coverage ∆ File
21
70.06
-14.94% iznik-nuxt3/layouts/default.vue
20
0.0
0.0% iznik-nuxt3/pages/stats/authority/[[id]].vue
6
66.07
-19.64% iznik-nuxt3/pages/stats/heatmap.vue
4
48.08
-39.64% iznik-nuxt3/pages/index.vue
2
92.11
-1.32% iznik-batch/app/Services/DonationService.php
2
58.33
-12.25% iznik-nuxt3/app.vue
2
53.33
18.55% iznik-nuxt3/pages/stats/authorities.vue
1
79.85
0.15% iznik-nuxt3/components/ExternalDa.vue
1
73.34
1.04% iznik-nuxt3/components/PostMap.vue
1
82.03
0.36% iznik-server-go/microvolunteering/microvolunteering.go
Jobs
ID Job ID Ran Files Coverage
4788 vitest - 4788 17 Apr 2026 07:55PM UTC 685
64.2
CircleCI Job 4788
4788 laravel - 4788 17 Apr 2026 07:54PM UTC 174
66.26
CircleCI Job 4788
4788 playwright - 4788 17 Apr 2026 07:55PM UTC 230
45.72
CircleCI Job 4788
4788 go - 4788 17 Apr 2026 07:54PM UTC 112
79.54
CircleCI Job 4788
Source Files on build 4788
  • Tree
  • List 976
  • Changed 35
  • Source Changed 0
  • Coverage Changed 35
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #4788
  • a3d0d985 on github
  • Prev Build on master (#4706)
  • Next Build on master (#4849)
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