acd49583 ยท zzmq.dev@gmail.com/zz
Commit
acd49583dbeecbf773d9dc54bfeafab32f53fea8
Fix anonymous tracking never actually showing data; preview before track Real bug, not a config problem: handleApiCallTool required real auth for every tool call, including lane_list/ladder_tree on a PUBLIC repo. zz top's whole "not logged in" mode exists to track a repo with no login (Explore's anonymous search) -- confirmed live, tracking "succeeded" (added to the watch list / wrote to config) but every subsequent poll 401'd and was silently swallowed by useLaneSnapshots/ useLadderTrees's own "not reachable yet" catch, which looked indistinguishable from "nothing to show." Restarting didn't help either, for the same reason -- the config was saved correctly, data just still couldn't load. Fix has two halves, both needed: - Server (webApp.ts): a new ANON_READ_TOOLS allowlist (lane_list, ladder_tree -- the only two these views ever call) lets a PUBLIC repo's tool call through with no auth at all. Matches a capability the web app's own repo page already has (handleRepoPage's getLadderTree/getRootLane call stub.callTool() directly, outside this JSON layer, so it was never gated here to begin with) -- not a new permissiveness, closing a gap relative to it. A private repo, or any other (mutating) tool, is unaffected. - Client (remoteTools.ts, useLaneSnapshots.ts, useLadderTrees.ts): callRemoteTool grew an allowAnonymous passthrough to apiFetch's existing flag. Without this half the server fix alone does nothing -- apiFetch was throwing locally via requireCredentials() before a request ever reached the network. Also: tracking from Explore was immediate (select a result, it's tracked) -- direct feedback was that it should preview first, track second, like the web's own repo page. Explore's remote mode now shows a detail view (description, lane count, Ladder summary, fetched through the same now-anonymous-capable calls) with its own "t" to track; local mode already had an equivalent preview (onboarded status before track) and gained the same lane/ladder summary for parity. Also: Explore is now always tabs[0] (reachable the same way regardless of mode) but only the tab that opens first when there's nothing else being watched yet (TabView grew an `initialTab` prop for this, default 0, zero change for WorkApp's existing usage) -- logged-in/local-with- discovered-repos sessions still open on lanes. Verified live: the exact client call path (callRemoteTool with allowAnonymous) now returns real lane/ladder data for a public repo with no credentials file present at all.
Troy Howard <thoward37@gmail.com> -- 2026-10-13T09:39:14.000Z