de14145f ยท zzmq.dev@gmail.com/zz
Commit
de14145f644c797ff782d508bdbe46895267a233
Unclaimed as its own tab, status filtering, sort by ask count, faster loads - "unclaimed across all watched repos" is now its own tab in the lane picker (1:lanes 2:unclaimed, left/right to switch), not a row mixed into the lane list. laneDetail's own onBack/onViewAsk/onClaimAsk callbacks + a new returnPhase (lanePicker vs. laneAsks) make "back" from a detail/session return to whichever screen the ask was actually opened from. - LaneDetail's own ask list can now be filtered by status ("s", cycled -- same convention as LiveLog.tsx's own filter bar): open/granted/ complete/denied for a real lane, open/claimed for the unclaimed pseudo-lane. The footer hint line only advertises actions a given LaneDetail instance actually supports (zz top passes neither onViewAsk nor onClaimAsk, so it no longer claims "enter: view detail c: claim and start" when neither does anything there). - LaneList now sorts lanes descending by their own ask count, busiest first, instead of whatever order listLanes happened to return. Investigated the "lane picker takes a while to load" question: found two real inefficiencies, not DO cold-start -- useLaneSnapshots and claimableAcrossRepos were each independently polling the exact same lane_list data over the network (once for display, once for the claimable-ask computation), and both fetched multiple watched repos sequentially instead of in parallel. Fixed both: claimableAcrossRepos is now Promise.all across repos with its filtering logic split out as the pure, synchronous claimableFromSnapshots, which AssistApp calls directly against the laneSnapshots it's already polling instead of re-fetching a second time; useLaneSnapshots itself is also now Promise.all across repos. Verified live against the deployed Worker: unclaimed tab with a live count, left/right switching, status filter cycling through all/open/claimed with correct counts, lanes sorted with the busiest first, and zz top's own lanes tab (shared LaneList/LaneDetail) still working unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8tksS4bucUkJguqksSVYR
Troy Howard <thoward37@gmail.com> -- 2026-10-13T21:18:42.000Z