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

umputun / tg-spam / 30172617851
84%

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

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

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)

6 of 7 new or added lines in 1 file covered. (85.71%)

76 existing lines in 2 files now uncovered.

8945 of 10677 relevant lines covered (83.78%)

236.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
83.36
-0.14% app/events/listener.go

Coverage Regressions

Lines Coverage ∆ File
75
86.6
0.29% app/events/reports.go
1
83.36
-0.14% app/events/listener.go
Jobs
ID Job ID Ran Files Coverage
1 30172617851.1 25 Jul 2026 08:01PM UTC 42
83.78
GitHub Action Run
Source Files on build 30172617851
  • Tree
  • List 42
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0203ff1d on github
  • Prev Build on master (#29611674358)
  • Next Build on master (#30732610420)
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