Skip to content

connector: report definite LINE rejections as permanent and map direct media errors - #295

Open
Fizzadar wants to merge 5 commits into
mainfrom
nick/permanent-and-media-errors
Open

Fizzadar wants to merge 5 commits into
mainfrom
nick/permanent-and-media-errors

Conversation

@Fizzadar

Copy link
Copy Markdown
Contributor

TalkExceptions and other 4xx responses to Matrix sends are now FAIL_PERMANENT, except for excessive access and LINE-side server errors, which stay retriable. Direct media downloads now return a mautrix.RespError matching the upstream failure, instead of a plain error the proxy sent as 404. mautrix-go is updated to v0.32.0 so the media proxy reports transport errors as 502.

🤖 Generated with Claude Code

Fizzadar and others added 3 commits October 28, 2026 16:41
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@indent
indent Bot marked this pull request as ready for review October 28, 2026 20:14
@indent

indent Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Issues

All clear! No issues remaining. 🎉

1 issue already resolved
  • Reactions rejected by LINE with TalkException code 4 (rate limit) or 2/15/20/33 (server error) now fail permanently, because parseTalkException only parses the JSON-envelope format and not the react failed: code 10051 message RESPONSE_ERROR data {...} format used by reaction calls. (fixed by commit 9e3a47d)
    Found by Indent Review Agent

CI Checks

All CI checks passed on 23345bc.

Review agents

Select any unchecked box below to run or rerun that agent.

Passed (1)
  • Indent Review Agent · No issues found
Full results

Indent Review Agent

  • Summary: No issues found
  • Last ran on commit: 23345bce
  • Latest result
    {
      "summary": "No issues found",
      "findings": []
    }

Comment thread pkg/line/errors.go
React, CancelReaction and updateSettingsAttributes2 formatted their
errors as "code N message M data {...}", which parseTalkException can't
read, so rate limits and server errors on reactions looked like
definite rejections and failed permanently. Return the raw response
like the other Talk calls do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant