feat: add 11 alert backends and fix PyPI/DEV.to search

Add Wikipedia, Stack Exchange, GitLab, npm, PyPI, Docker Hub,
arXiv, Lobsters, DEV.to, Medium, and Hugging Face backends to
the alert plugin (16 -> 27 total). Fix PyPI backend to use RSS
updates feed (web search now requires JS challenge). Fix DEV.to
to use public articles API (feed_content endpoint returns empty).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-16 20:07:01 +01:00
parent 34d5dd6f8d
commit 8e2b94fef0
5 changed files with 579 additions and 23 deletions

View File

@@ -1,25 +1,28 @@
# derp - Tasks
## Current Sprint -- v1.1.0 Hardening (2026-02-15)
## Current Sprint -- v1.2.0 Subscriptions + Proxy (2026-02-16)
| Pri | Status | Task |
|-----|--------|------|
| P0 | [x] | IRC 512-byte message truncation (RFC 2812) |
| P0 | [x] | Exponential reconnect backoff with jitter |
| P1 | [x] | `dork` plugin (Google dork query builder) |
| P1 | [x] | `wayback` plugin (Wayback Machine snapshot lookup) |
| P1 | [x] | Config merge/load/resolve unit tests |
| P1 | [x] | Bot API + format_msg + split_utf8 tests |
| P1 | [x] | Per-channel plugin enable/disable |
| P1 | [x] | Structured JSON logging |
| P1 | [x] | Documentation update |
| P1 | [x] | `username` plugin (cross-platform username enumeration) |
| P1 | [x] | Integration tests with mock IRC server (14 tests) |
| P0 | [x] | `rss` plugin (RSS/Atom feed subscriptions) |
| P0 | [x] | `yt` plugin (YouTube channel follow via Atom feeds) |
| P0 | [x] | `twitch` plugin (livestream notifications via GQL) |
| P0 | [x] | `alert` plugin (keyword alerts, 27 backends) |
| P0 | [x] | SOCKS5 proxy transport layer (HTTP, TCP, async) |
| P1 | [x] | `searx` plugin (SearXNG web search) |
| P1 | [x] | `tdns` plugin (TCP DNS via SOCKS5) |
| P1 | [x] | `remind` plugin (one-shot, repeating, calendar) |
| P1 | [x] | Alert history (SQLite) with short IDs + `!alert info` |
| P1 | [x] | OG tag fetching for keyword match + date enrichment |
| P1 | [x] | InnerTube channel resolution for video URLs |
| P2 | [x] | Invite auto-join with persistence |
| P2 | [x] | Graceful SIGTERM shutdown |
## Completed
| Date | Task |
|------|------|
| 2026-02-16 | v1.2.0 (subscriptions, alerts, proxy, reminders) |
| 2026-02-15 | Calendar-based reminders (at/yearly) with persistence |
| 2026-02-15 | v1.1.0 (channel filter, JSON logging, dork, wayback, tests) |
| 2026-02-15 | v1.0.0 (IRCv3, chanmgmt, state persistence) |