@eclaw/openclaw-channel 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +23 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -208,7 +208,7 @@ fs.writeFileSync(p, JSON.stringify(cfg, null, 2));
208
208
  execSync('rm -rf /home/node/.openclaw/extensions/openclaw-channel');
209
209
 
210
210
  // 4. Install new version (update version number below)
211
- var out = execSync('openclaw plugins install @eclaw/openclaw-channel@1.0.18 2>&1', { encoding: 'utf8' });
211
+ var out = execSync('openclaw plugins install @eclaw/openclaw-channel@1.1.2 2>&1', { encoding: 'utf8' });
212
212
  console.log(out);
213
213
 
214
214
  // 5. Restore channel config
@@ -239,6 +239,28 @@ In-process restart validates the config before loading plugins, so `channels.ecl
239
239
  3. In E-Claw Portal, confirm the entity shows as channel-bound (green dot)
240
240
  4. Check server logs: `curl "https://eclawbot.com/api/logs?deviceId=...&deviceSecret=...&limit=20"`
241
241
 
242
+ ## Major Fix History
243
+
244
+ A record of critical bug fixes, when they occurred, the problem, and the countermeasure.
245
+
246
+ ---
247
+
248
+ ### 2026-03-08 — v1.1.2: Callback URL overwritten after server restart
249
+
250
+ **Problem:**
251
+ When the E-Claw backend restarted (triggered by PostgreSQL DNS failure or Railway redeploy), the OpenClaw channel plugin re-registered its callback URL on reconnect. If `ECLAW_WEBHOOK_URL` or `account.webhookUrl` was misconfigured (e.g. `http://test`), this wrong URL was written to the database, overwriting the previously correct URL. The bot then stopped receiving messages silently — no error, no alert.
252
+
253
+ **Root cause:**
254
+ - `POST /api/channel/register` in the backend had no URL validation (no format check, no localhost rejection, no placeholder detection, no handshake test)
255
+ - The plugin re-registers unconditionally on every startup with whatever URL it has configured
256
+
257
+ **Countermeasure:**
258
+ - Validate `ECLAW_WEBHOOK_URL` / `webhookUrl` before starting: ensure it is a reachable HTTPS URL (not `localhost`, not `http://test`, not empty)
259
+ - If URL is invalid, log a clear error and refuse to register rather than writing a broken URL to the database
260
+ - Users should verify `ECLAW_WEBHOOK_URL` is set to their OpenClaw's public URL in Zeabur environment variables
261
+
262
+ ---
263
+
242
264
  ## License
243
265
 
244
266
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclaw/openclaw-channel",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "E-Claw channel plugin for OpenClaw — AI chat platform for live wallpaper entities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",