Commit e1cce38
committed
fix(inbox-worker): retry mute/favorite/read on a missing sub like roles
UpdateSubscriptionMute/Favorite/Read silently no-op'd when the subscription didn't
exist yet, while UpdateSubscriptionRoles Nak-retries. Because member_added runs on the
FIFO membership lane and the field events on the worker pool, a field event frequently
wins the race and finds no sub — silently dropping the migrated mute/favorite/unread
state. Add the same subscriptionExists disambiguation (extracted as naksIfSubscriptionMissing)
to all four: a genuinely missing sub now errors → redelivered until member_added lands,
while a stale event the high-water guard rejected stays a silent no-op. Follows the
review's "don't silently drop migrated state" principle (the field-state instance ngangwar962
flagged for status but not subscriptions). Tests flipped to assert the new Nak behavior.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012X9qhQT4NwmCHjdndwNtFD1 parent e1c8151 commit e1cce38
4 files changed
Lines changed: 66 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
| 40 | + | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1686 | 1686 | | |
1687 | 1687 | | |
1688 | 1688 | | |
1689 | | - | |
| 1689 | + | |
1690 | 1690 | | |
1691 | 1691 | | |
1692 | 1692 | | |
1693 | 1693 | | |
1694 | | - | |
| 1694 | + | |
1695 | 1695 | | |
1696 | 1696 | | |
1697 | 1697 | | |
| |||
1701 | 1701 | | |
1702 | 1702 | | |
1703 | 1703 | | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
1704 | 1708 | | |
1705 | 1709 | | |
1706 | 1710 | | |
| |||
1751 | 1755 | | |
1752 | 1756 | | |
1753 | 1757 | | |
1754 | | - | |
| 1758 | + | |
1755 | 1759 | | |
1756 | 1760 | | |
1757 | 1761 | | |
1758 | 1762 | | |
1759 | | - | |
| 1763 | + | |
1760 | 1764 | | |
1761 | 1765 | | |
1762 | 1766 | | |
| |||
1766 | 1770 | | |
1767 | 1771 | | |
1768 | 1772 | | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
1769 | 1777 | | |
1770 | 1778 | | |
1771 | 1779 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
337 | 337 | | |
338 | 338 | | |
339 | 339 | | |
340 | | - | |
| 340 | + | |
341 | 341 | | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
349 | 350 | | |
350 | | - | |
351 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
352 | 367 | | |
353 | 368 | | |
354 | 369 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
109 | | - | |
| 108 | + | |
| 109 | + | |
110 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
111 | 119 | | |
112 | 120 | | |
113 | 121 | | |
| |||
236 | 244 | | |
237 | 245 | | |
238 | 246 | | |
239 | | - | |
| 247 | + | |
| 248 | + | |
240 | 249 | | |
241 | 250 | | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
242 | 254 | | |
243 | 255 | | |
244 | 256 | | |
| |||
256 | 268 | | |
257 | 269 | | |
258 | 270 | | |
259 | | - | |
| 271 | + | |
| 272 | + | |
260 | 273 | | |
261 | 274 | | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
262 | 278 | | |
263 | 279 | | |
264 | 280 | | |
| |||
272 | 288 | | |
273 | 289 | | |
274 | 290 | | |
275 | | - | |
| 291 | + | |
| 292 | + | |
276 | 293 | | |
277 | 294 | | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
278 | 298 | | |
279 | 299 | | |
280 | 300 | | |
| |||
0 commit comments