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

DigitalTolk / ex / 39481021887
100%

Build:
DEFAULT BRANCH: main
Ran 20 Oct 2026 07:13PM UTC
Jobs 2
Files 561
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

20 Oct 2026 07:09PM UTC coverage: 99.998%. Remained the same
39481021887

push

github

web-flow
History importer (pkg/importer) and user list pagination fix (#329)

* Fix user list pagination restarting at the first page

ListUsers built the continuation key with PK = USER#<GSI2 sort key>
instead of USER#<user id>, so DynamoDB could not position after the last
item and every follow-up page started over — a caller draining the list
(search reindex past one page of users) never terminated. Derive the
user id from the sort key's suffix; the regression test pages one user
at a time and asserts each user is visited exactly once.

* Add storage-layer helpers for writing history in bulk

- internal/limits: input ceilings and validators moved out of the service
  layer (service keeps the same names as re-exports) so every writer
  enforces identical rules; display-name cap included.
- store: DeriveGroupConversationID next to DeriveDMConversationID (the
  service now uses both), AddMessageSeq for channels and conversations,
  AddChannelLastRead / AddConversationLastRead, and SetReplyMetadata for
  recomputing a thread root from its full reply set.
- cache: DeleteUsers drops many cached user records in one round-trip.
- storage: PutChecksummedObject uploads a known object with its SHA-256 so
  S3 verifies it and stores the checksum attachment verification reads.
- search: IndexParentMessages bulk-indexes one parent's messages and files
  with the same documents the full reindex writes (shared builders).

* Add pkg/importer for importing chat history

A public package that writes users, channels, direct and group
conversations, memberships, messages, threads, reactions, pins and file
attachments straight through the storage layers. It never calls the
service layer, so imports publish no WebSocket events, send no
notifications or pushes and start no agent runs. Callers supply
deterministic IDs (message IDs are ULIDs carrying the original creation
time, so imported history interleaves with existing messages), which
makes every call idempotent and safe to ret... (continued)

11532 of 11532 branches covered (100.0%)

Branch coverage included in aggregate %.

1553 of 1553 new or added lines in 21 files covered. (100.0%)

49469 of 49470 relevant lines covered (100.0%)

1805.04 hits per line

Jobs
ID Job ID Ran Files Coverage
1 frontend - 39481021887.1 20 Oct 2026 07:27PM UTC 368
100.0
GitHub Action Run
2 backend - 39481021887.2 20 Oct 2026 07:13PM UTC 193
100.0
GitHub Action Run
Source Files on build 39481021887
  • Tree
  • List 561
  • Changed 11
  • Source Changed 11
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39481021887
  • 74edcf57 on github
  • Prev Build on main (#39415093281)
  • Next Build on main (#39753226752)
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