feat: queued mutations while reloading or offline

This commit is contained in:
2026-08-03 12:14:31 +02:00
parent 63b6a645e0
commit 312b25fd39
11 changed files with 1247 additions and 28 deletions

View File

@@ -585,9 +585,17 @@ func TestDetailRefreshKeepsLogicalCommentAnchored(t *testing.T) {
func TestWriteCapabilityGateExplainsCachedAndPermissionStates(t *testing.T) {
cached := writeCapabilities(PRDetails{FromCache: true}, nil)
if cached[0].reason != "offline cached snapshot" || cached[0].enabled {
if cached[0].reason != "saved snapshot did not grant this thread permission" || cached[0].enabled {
t.Fatalf("cached capability = %#v", cached[0])
}
cachedAllowed := writeCapabilities(PRDetails{
PullRequest: PullRequest{FromCache: true},
Permissions: ViewerPermissions{CanUpdatePR: true},
}, &ReviewThread{ViewerCanReply: true, ViewerCanResolve: true})
if !cachedAllowed[0].enabled || !cachedAllowed[1].enabled || !cachedAllowed[3].enabled ||
cachedAllowed[4].enabled || cachedAllowed[5].enabled {
t.Fatalf("cached saved gates = %#v", cachedAllowed)
}
thread := &ReviewThread{ViewerCanReply: true}
live := writeCapabilities(PRDetails{Permissions: ViewerPermissions{CanReact: true}}, thread)
if !live[0].enabled || live[1].enabled || live[2].enabled {