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

Freegle / Iznik / 25298
73%

Build:
DEFAULT BRANCH: master
Ran 07 Jul 2026 01:23AM UTC
Jobs 4
Files 1377
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

07 Jul 2026 12:55AM UTC coverage: 72.507% (-0.002%) from 72.509%
25298

push

circleci

invalid-email-address
fix(browse): ship reach bounding-box, not the full polygon — 64MB→45KB, fixes "no posts"

The nearby/mygroups feed selected ST_AsText(rr.polygon) as reach_wkt for every
in-reach post. The reach-gate's exact display polygons are huge (measured up to
~1.25MB of WKT each), so a single browse load serialized tens of MB - one heavy
user's feed was 64,326,257 bytes across 264 rows - and the query ran 30-52s
(apiv2 SLOW SQL log on prod). Clients timed out and showed NO posts
(discourse 9870, howiestarling@gmail.com et al). The backfill makes it worse
over time: every post it processes gains a full exact polygon.

reach_wkt is consumed only by ReachRadiusMetres (the relevance score's 'close'
term), which takes the farthest polygon vertex from the origin. The polygon's
bounding-box envelope gives that extent for ~100 bytes instead of megabytes, so
select ST_AsText(ST_Envelope(rr.polygon)) in all three arms (reach, own-posts,
mygroups). Same-user feed payload drops 64MB -> 45KB (264 rows), max row
1.25MB -> 197B, and the query returns fast.

Visibility is unchanged: the WHERE still tests ST_Contains on the FULL polygon,
so which posts appear is identical - only the score's 'close' denominator now
uses the bounding radius (a small, uniform over-estimate that just nudges
ordering). Mod reach-map endpoints that draw the real polygon are untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ka6SXbZyznGYXyCyC9C86h

12754 of 16824 branches covered (75.81%)

Branch coverage included in aggregate %.

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

2 existing lines in 2 files now uncovered.

133487 of 184867 relevant lines covered (72.21%)

38.04 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
94.77
0.0% iznik-batch/app/Services/AutoRepostService.php
1
80.71
-0.22% iznik-nuxt3/components/LoginModal.vue
Jobs
ID Job ID Ran Files Coverage
25298 playwright - 25298 07 Jul 2026 01:24AM UTC 74
22.54
CircleCI Job 25298
25298 vitest - 25298 07 Jul 2026 01:23AM UTC 748
70.36
CircleCI Job 25298
25298 laravel - 25298 07 Jul 2026 01:23AM UTC 482
69.77
CircleCI Job 25298
25298 go - 25298 07 Jul 2026 01:23AM UTC 146
84.22
CircleCI Job 25298
Source Files on build 25298
  • Tree
  • List 1377
  • 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 #25298
  • f6c2fc3c on github
  • Prev Build on master (#25289)
  • Next Build on master (#25307)
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