Bläddra i källkod

Merge worktree-agent-a7b05e66 into master

claude 1 månad sedan
förälder
incheckning
6a590c59d5
1 ändrade filer med 3 tillägg och 4 borttagningar
  1. 3 4
      internal/ui/chat/guildstate.go

+ 3 - 4
internal/ui/chat/guildstate.go

@@ -44,20 +44,19 @@ func loadGuildState() *guildState {
 	return gs
 }
 
+// save persists guild state to disk. Caller must hold gs.mu.
 func (gs *guildState) save() {
-	gs.mu.Lock()
-	defer gs.mu.Unlock()
 	atomicSaveJSON(stateFilePath, gs)
 }
 
 func (gs *guildState) setExpanded(id discord.GuildID, expanded bool) {
 	gs.mu.Lock()
+	defer gs.mu.Unlock()
 	if expanded {
 		gs.ExpandedGuilds[id] = true
 	} else {
 		delete(gs.ExpandedGuilds, id)
 	}
-	gs.mu.Unlock()
 	gs.save()
 }
 
@@ -69,12 +68,12 @@ func (gs *guildState) isExpanded(id discord.GuildID) bool {
 
 func (gs *guildState) setChannelExpanded(id discord.ChannelID, expanded bool) {
 	gs.mu.Lock()
+	defer gs.mu.Unlock()
 	if expanded {
 		gs.ExpandedChannels[id] = true
 	} else {
 		delete(gs.ExpandedChannels, id)
 	}
-	gs.mu.Unlock()
 	gs.save()
 }