Commit 2e05b82
authored
fix(cloud-task): make question answered state durable across chat switches and restarts
Since questions relay over the durable event stream (#3199, #3215), users
report that switching chats resets answered questions. Two gaps cause it:
1. The question card held its in-progress step answers in component state.
Switching chats unmounts the card, so every answer selected so far was
wiped and the card restarted at question 1 on return. The answers now
live in a view store keyed by toolCallId, and the card restores them
(including free-text input, via a new ActionSelector initialCustomInput
seed) on remount. Submit and cancel clear the draft.
2. A question answered after its run terminalized (the resume-as-prompt
path) never got a `_posthog/permission_resolved` record: the sandbox
that would write one is gone, so the request stays pending in the
persisted log forever and any log derivation that escapes the in-memory
guards (app restart, another device, a session rebuild) re-surfaces the
answered question as a fresh card. The client now appends the resolved
marker to the owning run's log itself, tracks responded requestIds so
stale snapshots (a marker not yet flushed to storage) cannot re-add
them, and the watcher dedups replayed permission_request frames by
stream id — they previously bypassed the seenEventIds guard entirely.
Generated-By: PostHog Code
Task-Id: 9c723d92-b8ef-4c9f-9317-2f53b4644f331 parent 7ece0f0 commit 2e05b82
10 files changed
Lines changed: 592 additions & 71 deletions
File tree
- packages
- core/src
- cloud-task
- sessions
- ui/src
- features
- permissions
- sessions
- primitives/action-selector
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
138 | 194 | | |
139 | 195 | | |
140 | 196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1138 | 1138 | | |
1139 | 1139 | | |
1140 | 1140 | | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
1141 | 1157 | | |
1142 | 1158 | | |
1143 | 1159 | | |
| |||
1150 | 1166 | | |
1151 | 1167 | | |
1152 | 1168 | | |
1153 | | - | |
1154 | | - | |
1155 | | - | |
1156 | | - | |
1157 | | - | |
1158 | | - | |
1159 | | - | |
1160 | | - | |
1161 | | - | |
1162 | | - | |
1163 | | - | |
1164 | | - | |
1165 | | - | |
1166 | | - | |
1167 | 1169 | | |
1168 | 1170 | | |
1169 | 1171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
101 | 102 | | |
102 | 103 | | |
103 | 104 | | |
| |||
607 | 608 | | |
608 | 609 | | |
609 | 610 | | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
610 | 618 | | |
611 | 619 | | |
612 | 620 | | |
| |||
2167 | 2175 | | |
2168 | 2176 | | |
2169 | 2177 | | |
| 2178 | + | |
| 2179 | + | |
| 2180 | + | |
| 2181 | + | |
| 2182 | + | |
| 2183 | + | |
| 2184 | + | |
| 2185 | + | |
| 2186 | + | |
2170 | 2187 | | |
2171 | 2188 | | |
2172 | 2189 | | |
| |||
3179 | 3196 | | |
3180 | 3197 | | |
3181 | 3198 | | |
| 3199 | + | |
3182 | 3200 | | |
3183 | 3201 | | |
3184 | 3202 | | |
| |||
3191 | 3209 | | |
3192 | 3210 | | |
3193 | 3211 | | |
3194 | | - | |
| 3212 | + | |
| 3213 | + | |
| 3214 | + | |
| 3215 | + | |
| 3216 | + | |
| 3217 | + | |
| 3218 | + | |
| 3219 | + | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
3195 | 3223 | | |
3196 | 3224 | | |
3197 | 3225 | | |
3198 | 3226 | | |
3199 | 3227 | | |
3200 | | - | |
3201 | 3228 | | |
3202 | | - | |
3203 | | - | |
3204 | | - | |
3205 | | - | |
3206 | | - | |
3207 | | - | |
| 3229 | + | |
| 3230 | + | |
| 3231 | + | |
3208 | 3232 | | |
| 3233 | + | |
3209 | 3234 | | |
3210 | | - | |
| 3235 | + | |
| 3236 | + | |
| 3237 | + | |
| 3238 | + | |
| 3239 | + | |
| 3240 | + | |
| 3241 | + | |
| 3242 | + | |
| 3243 | + | |
| 3244 | + | |
| 3245 | + | |
| 3246 | + | |
| 3247 | + | |
| 3248 | + | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
| 3252 | + | |
| 3253 | + | |
| 3254 | + | |
| 3255 | + | |
| 3256 | + | |
| 3257 | + | |
| 3258 | + | |
| 3259 | + | |
| 3260 | + | |
| 3261 | + | |
| 3262 | + | |
| 3263 | + | |
| 3264 | + | |
| 3265 | + | |
| 3266 | + | |
| 3267 | + | |
| 3268 | + | |
| 3269 | + | |
| 3270 | + | |
| 3271 | + | |
| 3272 | + | |
| 3273 | + | |
| 3274 | + | |
| 3275 | + | |
| 3276 | + | |
| 3277 | + | |
| 3278 | + | |
| 3279 | + | |
| 3280 | + | |
| 3281 | + | |
| 3282 | + | |
| 3283 | + | |
| 3284 | + | |
| 3285 | + | |
| 3286 | + | |
| 3287 | + | |
| 3288 | + | |
| 3289 | + | |
| 3290 | + | |
| 3291 | + | |
| 3292 | + | |
| 3293 | + | |
3211 | 3294 | | |
3212 | 3295 | | |
3213 | 3296 | | |
| |||
3269 | 3352 | | |
3270 | 3353 | | |
3271 | 3354 | | |
| 3355 | + | |
3272 | 3356 | | |
3273 | 3357 | | |
3274 | 3358 | | |
| |||
3292 | 3376 | | |
3293 | 3377 | | |
3294 | 3378 | | |
| 3379 | + | |
3295 | 3380 | | |
3296 | 3381 | | |
3297 | 3382 | | |
| |||
3301 | 3386 | | |
3302 | 3387 | | |
3303 | 3388 | | |
| 3389 | + | |
| 3390 | + | |
| 3391 | + | |
| 3392 | + | |
3304 | 3393 | | |
3305 | 3394 | | |
3306 | 3395 | | |
| |||
3352 | 3441 | | |
3353 | 3442 | | |
3354 | 3443 | | |
3355 | | - | |
| 3444 | + | |
| 3445 | + | |
3356 | 3446 | | |
| 3447 | + | |
| 3448 | + | |
| 3449 | + | |
| 3450 | + | |
| 3451 | + | |
| 3452 | + | |
| 3453 | + | |
3357 | 3454 | | |
3358 | 3455 | | |
3359 | 3456 | | |
| |||
3363 | 3460 | | |
3364 | 3461 | | |
3365 | 3462 | | |
| 3463 | + | |
3366 | 3464 | | |
3367 | 3465 | | |
3368 | 3466 | | |
| |||
Lines changed: 95 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
0 commit comments