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

umputun / tg-spam / 17341729857
83%

Build:
DEFAULT BRANCH: master
Ran 30 Aug 2025 08:49AM UTC
Jobs 1
Files 0
Run time –
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

pending completion
17341729857

push

github

web-flow
Add duplicate message detection for spam filtering (#315)

* Add duplicate message detection for spam filtering

Implement duplicate message detection to identify spam from users
sending the same message repeatedly. Uses LRU cache with 10K user
limit to prevent memory exhaustion and O(1) hash-based tracking.

Features:
- Configurable threshold for number of duplicates to trigger spam
- Time window for tracking duplicate messages
- Automatic cleanup of expired entries
- Thread-safe implementation with mutex protection
- LRU eviction when user limit is reached

Configuration:
- --duplicates.threshold: number of identical messages (default: 0, disabled)
- --duplicates.window: time window for detection (default: 1h)

Includes comprehensive tests for functionality, concurrency, and edge cases.

* fix(duplicate-detection): resolve race condition and add memory protection

- fix critical race condition in concurrent message tracking by adding mutex protection
- add maxEntriesPerUser limit (200) to prevent memory exhaustion attacks
- ensure atomic Get-Modify-Set operations for user history updates
- add comprehensive tests for race condition and memory protection
- verified with Go race detector - no races detected

* refactor: clean up duplicate detection implementation

- remove unnecessary validation from main.go for consistency with other checkers
- move duplicateDetector field next to other checker fields in Detector struct
- let detector handle edge cases gracefully without fatal exits
Jobs
ID Job ID Ran Files Coverage
1 17341729857.1 30 Aug 2025 08:49AM UTC 0
GitHub Action Run
Source Files on build 17341729857
Detailed source file information is not available for this build.
  • Back to Repo
  • 139e26e7 on github
  • Prev Build on master (#16972293495)
  • Next Build on master (#17341879765)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc