Commit c07ad4f
committed
fix(sdk): eviction monitor requests text/event-stream + reconnects
Two bugs made devbox.on_evict never fire:
1. The generated watch_evictions() sends Accept: application/json, but the
endpoint only streams for Accept: text/event-stream — otherwise it returns an
empty text/plain 200. The monitor now forces the SSE Accept header.
2. The monitor ran the stream once and stopped. The server force-closes on
leader change / slow consumer (and a long-lived HTTP/2 stream can drop), and
expects the client to reconnect and re-read the snapshot. The monitor now
reconnects with backoff until no devbox is still interested.
Adds debug logging around connect / event / reconnect. Verified against dev: a
forced flex drain now delivers on_evict for 20/20 devboxes before suspend.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 8a6e940 commit c07ad4f
1 file changed
Lines changed: 49 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
81 | 89 | | |
| 90 | + | |
82 | 91 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
89 | 103 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
94 | 133 | | |
95 | 134 | | |
96 | 135 | | |
| |||
0 commit comments