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

Freegle / Iznik / 28012
73%

Build:
DEFAULT BRANCH: master
Ran 21 Jul 2026 02:06PM UTC
Jobs 4
Files 1432
Run time 3min
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

21 Jul 2026 01:36PM UTC coverage: 72.515% (+0.007%) from 72.508%
28012

push

circleci

edwh
feat(modtools): tell a moderator when someone else is holding the item

#1132 made the server enforce holds on memberships, admins, spam reports,
community events and volunteering, but the refusal surfaced as a generic
failure - the action correctly did not happen and nothing said why. Posts and
chat got this messaging in #1131; this brings the other five up to the same
standard.

Shared rather than repeated five times:
- api/heldConflict.js gains asHeldByOtherError() (a 409 carrying heldby becomes
  a tagged error naming the holder) and runHoldAware(), which also runs the
  caller's refresh so the "Held by X" state reaches the screen - the mod's copy
  is stale by definition when this fires.
- composables/useHeldNotice.js gives components { heldError, guardHold }: wrap
  the action, render heldError. Anything that is not a hold refusal still
  throws, so real faults are unaffected.

Wired through the five stores and their components, guarding at the entry
points (the SpinButton handle and modal confirms) rather than each call site,
so nothing downstream can miss it. ModVolunteerOpportunity only drops the item
from the list when the save actually happened - a refused approve has to stay
on screen with the reason showing.

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

13250 of 17447 branches covered (75.94%)

Branch coverage included in aggregate %.

103 of 161 new or added lines in 11 files covered. (63.98%)

243 existing lines in 10 files now uncovered.

139289 of 192908 relevant lines covered (72.2%)

37.99 hits per line

Uncovered Changes

Lines Coverage ∆ File
30
60.77
-1.61% iznik-nuxt3/modtools/stores/member.js
11
52.94
0.29% iznik-nuxt3/modtools/stores/spammer.js
8
84.16
-4.61% iznik-nuxt3/modtools/stores/admins.js
6
87.94
-0.86% iznik-nuxt3/modtools/components/ModCommunityEvent.vue
2
93.55
iznik-nuxt3/composables/useHeldNotice.js
1
68.87
0.18% iznik-nuxt3/modtools/components/ModStdMessageModal.vue

Coverage Regressions

Lines Coverage ∆ File
79
90.67
0.2% iznik-server-go/membership/membership.go
48
72.73
3.82% iznik-server-go/admin/admin.go
43
73.4
1.72% iznik-server-go/spammers/spammers.go
29
82.25
-2.93% iznik-server-go/volunteering/volunteering.go
28
81.25
-3.12% iznik-server-go/communityevent/communityEvent.go
10
92.54
-1.45% iznik-server-go/recommendations/stats.go
2
84.16
-4.61% iznik-nuxt3/modtools/stores/admins.js
2
60.77
-1.61% iznik-nuxt3/modtools/stores/member.js
1
95.0
-0.56% iznik-batch/app/Services/AutoRepostService.php
1
87.94
-0.86% iznik-nuxt3/modtools/components/ModCommunityEvent.vue
Jobs
ID Job ID Ran Files Coverage
28012 vitest - 28012 21 Jul 2026 02:06PM UTC 766
70.58
CircleCI Job 28012
28012 playwright - 28012 21 Jul 2026 02:06PM UTC 75
22.24
CircleCI Job 28012
28012 laravel - 28012 21 Jul 2026 02:06PM UTC 503
69.42
CircleCI Job 28012
28012 go - 28012 21 Jul 2026 02:06PM UTC 162
83.53
CircleCI Job 28012
Source Files on build 28012
  • Tree
  • List 1432
  • Changed 18
  • Source Changed 0
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #28012
  • 0790e376 on github
  • Prev Build on master (#27983)
  • Next Build on master (#28021)
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