repo show carries no watch, bookmark or fork state #178

closed cmc opened this on 2026-09-06 23:17 UTC · milestone v1.15.0

Discussion

cmc 2026-09-06 23:17 UTC

repo watch, repo unwatch, repo bookmark and repo unbookmark all change per-account state that no read command reports back, so a client can fire them but cannot render what the current state is.

  • Watch state: store.RepoWatchState computes "watching" / "muted" / "" but is internal; no command exposes it. A client can only offer two stateless actions, not a toggle that shows where you are.
  • Bookmark state: derivable by calling repo bookmarks and testing membership, but that is a second request per repository screen purely to decide how to draw one control.
  • fork_of: emitted on repo fork's own response (internal/control/mr.go:94) but not by repo show, so an existing fork cannot say what it was forked from.

Adding these three to repo show would let a client draw the real state without extra reads. The iOS client (krz/gitbay-ios) currently ships watch and mute as two stateless buttons for this reason.

Found while closing the iOS parity rows.

referenced in commit 39fe375c4c by cmc: wiki: iOS forks, watches and bookmarks repositories

2026-09-06 23:59 UTC

closed by commit 3e75710732 by cmc: control, wiki: repo show reports watch, bookmark and fork state

2026-09-07 03:08 UTC