← Commit history

Publish 1.8.0

Drew Owens ·2f4d9ea7f8 ·2mo ago ·parent 5b99895
4 files changed +20−4
README.md+1−1
@@ -65,7 +65,7 @@ boot, then prefix the install command below with Run this on whichever container will host the service:  ```bash-curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.7.7/install.sh | bash+curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.8.0/install.sh | bash ```  No Rust, git, or other tooling needed: the installer downloads a prebuilt
SKILL.md+17−1
@@ -44,7 +44,7 @@ own small Adom container; no central service, no shared credentials. 2. **Install on the host container** (one-liner, no Rust/git needed):     ```bash-   curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.7.7/install.sh | bash+   curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.8.0/install.sh | bash    ```     The installer prints the exact next steps. It also authenticates its own@@ -89,6 +89,7 @@ service container over SSH, same format:   (same slugs) does not make its whole archive look new and replay it. - `dedup: "guid+date"`, re-post when an item's pubDate changes (status pages:   Investigating, Monitoring, Resolved each post).+- `max_burst: <n>`, per-feed override for the burst guard (default 12). - `note: "<text>"`, a free-text note carried on the feed line for whoever   reads the config later. Never posted, never matched against. - `dedup_group: "<name>"`, share one dedup namespace across several feeds of a@@ -159,6 +160,21 @@ Put them in `watchlist` in feeds.json (`label`, `site`, optional `notes` and then conventional paths. It announces once, to the default webhook, when a site starts publishing a feed with actual items. It never adds the feed for you. +## Guards against a flood or a silent death++Two failures matter with a feed poller, and the service now speaks up for both+instead of either spamming or going quiet.++- **Burst guard.** More than `max_burst` items (default 12) arriving as new in+  one cycle is a symptom, not news: it means the publisher changed its item+  URLs. The feed posts nothing, pauses, and sends one message saying so.+  Saving the feed config resumes it, and on resume the pending ids are+  **adopted without posting**, which is the remedy that matches the cause. Set+  `max_burst` per feed for a genuinely high-volume source.+- **Dead-feed alert.** After 20 consecutive failed polls (~10h at the default+  interval) the feed says so once, in the space, then goes quiet again until it+  recovers. A broken feed is otherwise indistinguishable from a quiet one.+ ## Upgrading safely  The watchdog respawns the binary every two minutes, and a process already
package.json+1−1
@@ -2,7 +2,7 @@   "slug": "adom-rss-gchat",   "title": "RSS to Google Chat",   "type": "app",-  "version": "1.7.7",+  "version": "1.8.0",   "description": "Post new RSS feed items straight into your Google Chat spaces. A small always-on poller with a pinnable web editor: click the link in your space, add or edit feeds, Save \u2014 live within one poll cycle. Per-feed dedup handles both news feeds (post once) and status pages (re-post on updates).",   "tags": [     "rss",
page.json+1−1
@@ -2,7 +2,7 @@   "slug": "adom-rss-gchat",   "title": "RSS to Google Chat",   "type": "app",-  "version": "1.7.7",+  "version": "1.8.0",   "description": "Post new RSS feed items straight into your Google Chat spaces. A small always-on poller with a pinnable web editor: click the link in your space, add or edit feeds, Save — live within one poll cycle. Per-feed dedup handles both news feeds (post once) and status pages (re-post on updates).",   "tags": [     "rss",