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

bleedingdeacons / link / 34693956309
92%

Build:
DEFAULT BRANCH: main
Ran 12 Sep 2026 12:33PM UTC
Jobs 1
Files 21
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

12 Sep 2026 12:32PM UTC coverage: 93.349% (-2.0%) from 95.355%
34693956309

push

github

web-flow
feat: tell a member when their phone has been signed out (#40)

A handset can stop being authorised without doing anything wrong: an
administrator revokes it, a member's record changes in Unity, or somebody
rotates the site's WordPress salts and every token in the fellowship stops
working at once. None of that is visible from the app except as a refused
request.

Every refusal read as "offline". So a phone the intergroup had
deliberately cut off looked exactly like one in a tunnel, went on polling
on a timer, and told its member nothing -- while the member waited for
messages that were never coming.

FellowshipFailure is the missing distinction: Network, Unauthenticated,
NotEligible, Server. InboxPage and SyncResult carry it, and
FellowshipClient maps the status -- 401 is the token, 403 is the person,
everything else is the server having a bad day.

Only Unauthenticated and NotEligible sign a handset out, and the
narrowness of that test is the whole point. A handset that signed itself
out over a 500 or a dropped connection would leave the fellowship every
time somebody drove through a tunnel, which is worse than the fault this
fixes. Hand's alert loop draws the line in the same place, in the same
four lines.

THE MESSAGES STAY. Losing authorisation is far more often an
administrator's change or a corrected email address than a phone in the
wrong hands, and taking a member's correspondence away over a clerical
fix would be the wrong default. The credentials go; the history does not.

That is only defensible if the next member cannot read them, so the store
now records whose messages it holds and enrolment checks it. Same member
signing back in keeps everything; anyone else gets an empty inbox and
fetches their own history from the beginning. A store written before
owners were recorded counts as somebody else's and is emptied once -- the
alternative is a guess about whose messages they are.

The reason reaches the screen as a banner rather than a redire... (continued)

1193 of 1278 relevant lines covered (93.35%)

15.41 hits per line

Coverage Regressions

Lines Coverage ∆ File
25
86.38
-5.49% Services/JsonMessageHistory.cs
15
87.07
-9.87% Services/MessageService.cs
8
97.77
-0.5% Services/FellowshipClient.cs
Jobs
ID Job ID Ran Files Coverage
1 34693956309.1 12 Sep 2026 12:33PM UTC 21
93.35
GitHub Action Run
Source Files on build 34693956309
  • Tree
  • List 21
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34693956309
  • fd39fd61 on github
  • Prev Build on main (#34692537628)
  • Next Build on main (#34694204606)
  • 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