← Commit history

Publish 1.8.3

Drew Owens ·9860d2dced ·2mo ago ·parent be5d1ea
4 files changed +25−11
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.8.0/install.sh | bash+curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.8.3/install.sh | bash ```  No Rust, git, or other tooling needed: the installer downloads a prebuilt
SKILL.md+22−8
@@ -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.8.0/install.sh | bash+   curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.8.3/install.sh | bash    ```     The installer prints the exact next steps. It also authenticates its own@@ -162,18 +162,32 @@ 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.+Two failures matter with a feed poller, and the service now handles both by+itself rather than 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.+  URLs. The feed posts nothing and holds off, retrying on its own with a+  lengthening wait (30s, then doubling to a 30 minute ceiling, the same shape+  as a sign-in lockout). A transient burst clears itself and normal posting+  resumes with no intervention. If it persists across eight retries the ids are+  adopted without posting, which matches the usual cause and returns the feed+  to service instead of leaving it silent. You get one message when it starts+  holding off and one if it ends in adoption. 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+  interval) the feed says so once, in the space, then stays quiet until it   recovers. A broken feed is otherwise indistinguishable from a quiet one.+- **Weekly health check.** `adom-rss-gchat --health-check` polls every feed and+  reports only what is wrong: fetch failures, feeds that parse to nothing,+  anything silent for 45 days, and feeds currently held or failing. It posts+  nothing when everything is fine, because a weekly green report trains people+  to ignore it. The installer schedules it for 06:00 Sunday+  (`CRON_TZ=America/Chicago`; set `HEALTH_TZ` before installing to change it).+- **Malformed XML is repaired.** A single unescaped ampersand makes a whole+  document unparseable, and publishers ship them (NSF writes "CDS&E" raw, which+  cost 166 failed polls). Strict parsing is tried first; the repair is a+  fallback, and it is logged when used.  ## Upgrading safely 
package.json+1−1
@@ -2,7 +2,7 @@   "slug": "adom-rss-gchat",   "title": "RSS to Google Chat",   "type": "app",-  "version": "1.8.2",+  "version": "1.8.3",   "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.8.2",+  "version": "1.8.3",   "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",