錯誤訊息
請比對第一個冒號前的前綴。Cinderous 中繼還會在前綴後面多放一個英文詞元(例如 quota、ceiling:blocked: quota: …);前綴與詞元是穩定的,後面是給人看的說明,內容可能會改。
連線被拒
中繼會先接受 WebSocket、送一則 NOTICE,再以代碼 1008 關線。關閉原因也附上文件連結,因為瀏覽器看不到握手失敗時的 HTTP 狀態。
| NOTICE 開頭 | 原因 | 修正方式 |
|---|---|---|
unknown relay path | 路徑不是 /app/<id>,也不是 Cinderous 的路徑 | 連到 wss://<relay>/app/<你的應用 id> |
invalid app lane | id 不符合格式 | 改用 1–64 個 a-z 0-9 . _ - 字元 |
rate-limited: too many new connections | 同一個 IP 每分鐘開超過 30 條車道連線 | 重連前先等一下 |
rate-limited:(連線中) | 單一連線每分鐘超過 240 則訊息 | 不要在迴圈裡反覆重開訂閱 |
訂閱(CLOSED)
| 前綴 | 原因 |
|---|---|
restricted: scope: | filter 沒有指定範圍、#p 指向別人,或沒 AUTH 就用 #p——見訂閱 |
rate-limited: subscriptions: | 這條連線同時開著的訂閱超過 16 個 |
error: resubscribe: | 中繼重啟後這個訂閱遺失了——再送一次同一個 REQ |
invalid: too-large: | 這條連線的訂閱合計超過 512 KiB——減少或縮小 filter |
事件(OK false)
| 前綴 | 原因 |
|---|---|
invalid: | 簽章錯誤(bad-signature)、created_at 超出容許範圍(clock-skew),或事件自帶的 expiration 已經過了(expired) |
duplicate: | 以 OK true 回覆:中繼已經有這顆(一小時內收過同一個 id),當成已收下 |
blocked: | 標籤太多(too-many-tags)、p 標籤太多(too-many-recipients)、事件太大(too-large);可尋址事件:比現有的舊(stale)、超過每位作者的配額(quota),或中繼空間已滿(ceiling——改寫到別座或稍後再試) |
rate-limited: events: | 這把金鑰每分鐘超過 120 則事件 |
pow: difficulty: | 工作量證明不足(只在開啟時出現) |
auth-failed: | AUTH 事件無效、過期,或指向別的中繼 |
冒號後的說明文字目前可能是中文。請以前綴判斷。