mirror of https://github.com/pixelfed/pixelfed
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
queueDelivery() runs synchronously from the v1 follow/unfollow endpoints (via Helpers::sendSignedObject), which commit local state before delivery and have no try/catch. After the Http::send() rewrite, a ConnectionException from a momentarily-unreachable remote was rethrown out of queueDelivery(), turning a best-effort delivery into a 500 for the user after the follow/ unfollow was already persisted. For unfollows, a retry then hit the isFollowing==false branch and never re-sent the Undo, diverging state. Treat transport failures (ConnectionException) as best-effort on this single-delivery path: log, record host health, and return without propagating. Other exception types (invalid sender/destination, signing, serialization) still throw, matching pre-rewrite precondition behavior. Also widen SendUpdateActor's per-user catch from HttpException to Throwable so a single bad host no longer aborts a fleet-wide actor update (the old HttpException catch is dead for ConnectionException/invalid-destination). |
1 week ago | |
|---|---|---|
| .. | ||
| Auth | 1 week ago | |
| Console/Commands | 1 week ago | |
| Events | 4 weeks ago | |
| Exceptions | 2 weeks ago | |
| Http | 1 week ago | |
| Jobs | 1 week ago | |
| Listeners | 4 weeks ago | |
| 4 weeks ago | ||
| Models | 2 weeks ago | |
| Observers | 2 weeks ago | |
| Passport | ||
| Policies | 4 weeks ago | |
| Providers | 2 weeks ago | |
| Rules | 4 weeks ago | |
| Services | 1 week ago | |
| Transformer | 2 weeks ago | |
| Util | 1 week ago | |
| HasSnowflakePrimary.php | ||
| helpers.php | ||