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

romshark / datapages / 37042520297
44%

Build:
DEFAULT BRANCH: main
Ran 02 Oct 2026 05:43PM UTC
Jobs 11
Files 190
Run time 1min
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

02 Oct 2026 05:41PM UTC coverage: 40.523% (-0.04%) from 40.562%
37042520297

push

github

romshark
fix: Refuse subject fields that misroute events

- fix: Refuse a second datapages.SubjectUser field on an event in
  datapages lint and gen. A stream subscribes by one user position,
  the first one:

      // EventDMed is "dmed"
      type EventDMed struct {
          To, Cc datapages.SubjectUser

          Text string `json:"text"`
      }

  Dispatching EventDMed{To: "alice", Cc: "bob"} publishes to
  dmed.alice.bob, but every stream subscribes to dmed.<user>.*. Bob
  never receives the event, and alice receives it whatever Cc holds.

- fix: Refuse an event field whose type holds datapages.SubjectUser,
  datapages.Subject or datapages.SubjectStateID in a slice, array, map,
  pointer or channel. Such a field looks like a list of recipients but
  is a payload field, which leaves the event without the segment:

      // EventDirectMessage is "dm"
      type EventDirectMessage struct {
          Recipients []datapages.SubjectUser `json:"recipients"`

          Text string `json:"text"`
      }

  EventDirectMessage has no subject field. Dispatching it publishes to
  dm, and every stream of a page handling it receives the message,
  not only the listed recipients. Rewrite the Dispatcher example to
  dispatch once per participant instead of setting
  Recipients: room.ParticipantIDs.

33 of 79 new or added lines in 5 files covered. (41.77%)

20 existing lines in 3 files now uncovered.

14722 of 36330 relevant lines covered (40.52%)

543.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
30
13.03
-1.41% internal/parser/internal/typecheck/typecheck.go
14
0.0
0.0% internal/parser/internal/structinspect/structinspect.go
2
75.35
0.11% internal/parser/errsuggest/errsuggest.go

Coverage Regressions

Lines Coverage ∆ File
16
55.75
-0.75% example/file-upload/app/app_templ.go
3
77.64
0.0% modules/sessions/natskv/natskv.go
1
85.8
-0.3% runtime/httpserve/core.go
Jobs
ID Job ID Ran Files Coverage
1 root - 37042520297.1 02 Oct 2026 05:54PM UTC 77
77.85
GitHub Action Run
2 fast-shim - 37042520297.2 02 Oct 2026 05:43PM UTC 4
0.0
GitHub Action Run
3 webcomponents - 37042520297.3 02 Oct 2026 05:43PM UTC 6
0.0
GitHub Action Run
4 todolist - 37042520297.4 02 Oct 2026 05:43PM UTC 11
0.0
GitHub Action Run
5 tailwindcss - 37042520297.5 02 Oct 2026 05:43PM UTC 6
0.0
GitHub Action Run
6 calculator - 37042520297.6 02 Oct 2026 05:45PM UTC 10
17.11
GitHub Action Run
7 file-upload - 37042520297.7 02 Oct 2026 05:43PM UTC 18
45.88
GitHub Action Run
8 counter - 37042520297.8 02 Oct 2026 05:43PM UTC 12
0.0
GitHub Action Run
9 offline-cache - 37042520297.9 02 Oct 2026 05:43PM UTC 19
0.0
GitHub Action Run
10 classifieds - 37042520297.10 02 Oct 2026 05:43PM UTC 18
0.0
GitHub Action Run
11 sqlitesessions - 37042520297.11 02 Oct 2026 05:43PM UTC 9
0.0
GitHub Action Run
Source Files on build 37042520297
  • Tree
  • List 190
  • Changed 11
  • Source Changed 7
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37042520297
  • 4f2f1181 on github
  • Prev Build on main (#37026452002)
  • Next Build on main (#37048041084)
  • Delete
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