Split from #5822. homeTabs(current) in src/web/studio/home_tabs.ts draws Feed / Your apps / Asked on / (studio/home.ts), /apps (pages/apps.ts) and /asked (studio/asked_page.ts).
Done when:
[ ] homeTabs takes the number of unshipped asks as a second argument and the tab reads Asked 3 (the number in a §5 count/badge the tabs already use, not a new class); at 0 or when not given it reads plain Asked.
[ ] The three callers pass askedCounts(db, repos).unshipped from src/core/asked.ts, the same number /asked shows; on / the read is a Server-Timing phase named asked.
[ ] A test seeds one forge with 3 unshipped asks and finds Asked 3 on / and the same count on /asked; with none it finds plain Asked.
[ ] A warm / stays inside its existing budget test.
Files: src/web/studio/home_tabs.ts, its three callers, one test.
Split from #5822.
homeTabs(current)insrc/web/studio/home_tabs.tsdraws Feed / Your apps / Asked on/(studio/home.ts),/apps(pages/apps.ts) and/asked(studio/asked_page.ts).Done when:
homeTabstakes the number of unshipped asks as a second argument and the tab readsAsked 3(the number in a §5 count/badge the tabs already use, not a new class); at 0 or when not given it reads plainAsked.askedCounts(db, repos).unshippedfromsrc/core/asked.ts, the same number/askedshows; on/the read is a Server-Timing phase namedasked.Asked 3on/and the same count on/asked; with none it finds plainAsked./stays inside its existing budget test.Files: src/web/studio/home_tabs.ts, its three callers, one test.