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

DigitalTolk / ex / 37931641757
100%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 12:44PM UTC
Jobs 2
Files 464
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

09 Oct 2026 12:40PM UTC coverage: 99.983% (-0.02%) from 99.998%
37931641757

push

github

web-flow
Chat: unread line, landing, render performance, notification titles (#304)

* Chat: unread line, landing, render performance, notification titles

Unread / scrolling
- Open a chat at the newest messages; the "New messages" line stays where
  you left off and fades 3s after it is seen without moving the rows.
- Own sends no longer flash as unread: the seq bump + author read-mark run
  on the send path instead of detached.
- Reopening a chat with cached history no longer lands above the bottom
  (settle loop); fast scroll-up no longer jitters (row estimate 30px,
  synchronous Virtuoso resize corrections).
- Grouped rows show "(edited)" inline; thread bar shows only the dot.

Render performance
- structuralSharing off for message pages (a live append re-created every
  message object on the tail page).
- Stable row props: openThread useCallback, content comparator on
  MessageRow, per-row thread meta, memoized quick reactions, one time
  formatter.
- Shared row data (emoji map, watchers, pick tokens) fetched once per list
  via MessageRowDataProvider instead of per row.
- Hover toolbar, delete confirm and the emoji picker grid mount on demand.
- Send confirmed ~850ms -> ~70ms in dev; incoming messages no longer
  re-render the list.

Notifications
- Titles always say where: "~channel", the group's name, or "a direct
  message".
- Message banners persist until dismissed (requireInteraction).

Dev
- react-scan injected by a dev-server-only vite plugin (REACT_SCAN=0 off).

* UserHoverCard: mount the popover subtree only while open

Three cards mount per message row; the user fetch, DM mutation and router
hook now live in the content and exist only while the card is open.

* test fix

* Notifications: Mattermost-style titles and bodies

Title is the place (~channel, group name, or the sender for a DM), body is
"who: what". Thread replies are titled by the thread: "Thread in ~channel:
<root…>" with the reply as the body.

* Cover the unread line, row memo and... (continued)

9782 of 9782 branches covered (100.0%)

Branch coverage included in aggregate %.

216 of 223 new or added lines in 15 files covered. (96.86%)

1 existing line in 1 file now uncovered.

43263 of 43272 relevant lines covered (99.98%)

1965.34 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
95.24
-4.76% internal/service/notification_render.go

Coverage Regressions

Lines Coverage ∆ File
1
95.24
-4.76% internal/service/notification_render.go
Jobs
ID Job ID Ran Files Coverage
1 frontend - 37931641757.1 09 Oct 2026 12:50PM UTC 297
100.0
GitHub Action Run
2 backend - 37931641757.2 09 Oct 2026 12:44PM UTC 167
99.97
GitHub Action Run
Source Files on build 37931641757
  • Tree
  • List 464
  • Changed 20
  • Source Changed 20
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37931641757
  • f0638446 on github
  • Prev Build on main (#37897299275)
  • Next Build on main (#38216659758)
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