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

umputun / tg-spam / 30172617851 / 1
84%
master: 84%

Build:
DEFAULT BRANCH: master
Ran 25 Jul 2026 08:01PM UTC
Files 42
Run time 1s
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

25 Jul 2026 07:57PM UTC coverage: 83.778% (+0.04%) from 83.742%
30172617851.1

push

github

web-flow
fix(events): make spam and /spam aliases of the report command (#432)

* fix(events): treat non-admin spam as report

* fix(review-loop): iteration 1 addressed 3 findings

- [major] [app/events/listener.go:317] alias in the shared isReportCommand predicate also armed the
  orphaned-command cleanup, silently deleting any standalone "spam" message. moved the alias to a
  separate isSpamReportAlias used only by procUserReply, gated on report.enabled so the plain word
  stays an ordinary message when the feature is off
- [minor] [app/events/listener.go:541] godoc and log strings named only /report after the alias
- [minor] [README.md:370] new trigger words undocumented and /spam described as admin-only

adds regression coverage for the standalone alias not being deleted, the alias falling through to the
spam check when reporting is off, and a table for isSpamReportAlias

* fix(review-loop): iteration 2 addressed 2 findings

- [major] [app/events/listener.go:330] an anonymous admin's or post-as-channel "spam" reply reached the
  user-report path, where From is a telegram pseudo-user that can never be an approved reporter: the
  command message was deleted and no report filed. excluded SenderChat senders at the dispatch site,
  restoring the deliberate anonymous-admin skip. same guard also stops /report being swallowed there
- [minor] [app/events/listener_test.go:1215] TestTelegramListener_DoWithDirectSpamReport ran with
  reporting disabled, so it never exercised superuser /spam while the alias is live. enabled it, which
  makes its existing assertions pin that procSuperReply keeps precedence over the alias

adds a regression test covering spam, /spam and /report from a pseudo-user sender; verified it fails
against the unguarded dispatch for all three forms

* fix(review-loop): final cleanup pass — addressed 1 finding

- [minor] [README.md:370] the sentence said "from a non-superuser", which the SenderChat guard made
  inaccurate for anonymous-admin and po... (continued)

8945 of 10677 relevant lines covered (83.78%)

236.46 hits per line

Source Files on job 30172617851.1
  • Tree
  • List 42
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 30172617851
  • 0203ff1d on github
  • Prev Job for on master (#29611674358.1)
  • Next Job for on master (#30732610420.1)
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