···5252#### 2026-04-01
53535454- Profile Context (Blocking/Blocked By, Lists, etc.) section accessible from profiles
5555+- Suggested Follows tab (for non-currently authenticated users) in the Profile screen
5656+- Video upload limits in settings
55575658#### 2026-04-11
5759···7173#### 2026-04-29
72747375- Configurable autocomplete/typeahead for login & profile/actor search
7676+- Starter Pack search (not implemented upstream) screen
+4-1
docs/TODO.md
···1111## UI
12121313- Show feed icons in the feed management UI
1414-- (bug) In the side menu, navigation items scroll behind the logged in account label
1514- We should create a section for "Advanced Features" in the side menu, and include a
1615 link to dev tools and follow audits.
1716- Constellation URL should remain configurable internally but the option to change the
1817 URL should be removed from the UI.
1918- Saved posts should be a tabbed view for local & ATProto/BSky saved posts.
1919+2020+- Disabled/inactive inputs need distinct visual language and some disabled inputs aren't
2121+ actually disabled (starterpack search)
2222+- The Navigation Menu links aren't fully route/context aware.
20232124## UX
2225
+3-60
docs/tasks/phase-5.md
···7788## M20 - Starter Pack Search
991010-### Core
1111-1212-- [x] `SearchRepository.searchStarterPacks()` - call `bluesky.graph.searchStarterPacks(q:, limit:, cursor:)`, return result with `List<StarterPackViewBasic>` and cursor
1313-- [x] Add `starterPacks` value to `SearchTab` enum, update `SearchTabLabel` extension
1414-1515-### Cubit
1616-1717-- [x] `SearchBloc` - handle starter packs tab: dispatch search on tab switch if query present, handle `LoadMoreRequested` with cursor pagination
1818-- [x] `SearchState` - add `starterPacks` list and `starterPacksCursor` fields
1919-2020-### UI
2121-2222-- [x] Search screen UI - add third "Starter Packs" tab pill in `_buildTab` row
2323-- [x] Starter pack result tile widget - show name, creator handle, member count, joined stats; reuse pattern from profile starter packs tab
2424-- [x] Tap result → navigate to existing starter pack detail screen (`/starter-pack?uri=`)
2525-- [x] Infinite scroll pagination for starter packs tab
2626-2727-### Tests
2828-2929-- [x] Unit tests: `SearchRepository.searchStarterPacks`, bloc events for new tab, pagination
3030-- [x] Widget tests: third tab renders, results display, empty state, tap navigation
1010+Completed(-ish) [2026-04-29](../../CHANGELOG.md#2026-04-29)
31113212## M21 - Suggested Follows Sheet
33133434-### Core
3535-3636-- [x] `ProfileRepository.getSuggestedFollows()` - call `bluesky.graph.getSuggestedFollowsByActor(actor:)`, return `List<ProfileView>`
3737-3838-### Cubit
3939-4040-- [x] `SuggestedFollowsCubit` - `load(actor:)` fetches suggestions, exposes loaded/loading/error states
4141-4242-### UI
4343-4444-- [x] Suggested follows sheet widget - `DraggableScrollableSheet` listing `ProfileView` tiles with follow/unfollow toggle buttons
4545-- [x] Profile screen overflow menu - add "Suggested Follows" `ListTile` entry; hide when viewing own profile
4646-- [x] Tap entry → create cubit, show sheet with `BlocProvider.value`, close cubit on sheet dismiss via `.whenComplete`
4747-- [x] Tap profile tile → pop sheet, navigate to profile screen
4848-- [x] Empty state when no suggestions returned
4949-5050-### Tests
5151-5252-- [x] Unit tests: repository method, cubit state transitions
5353-- [x] Widget tests: sheet renders profiles, follow button toggles, own-profile menu hides entry, empty state
1414+Completed [2026-04-01](../../CHANGELOG.md#2026-04-01)
54155516## M22 - Video Upload Limits
56175757-### Core
5858-5959-- [x] `VideoRepository` (or extend settings repository) - `getUploadLimits()` calling `bluesky.video.getUploadLimits()`, return typed result
6060-6161-### Cubit
6262-6363-- [x] `VideoUploadLimitsCubit` - fetch on init, expose `canUpload`, remaining counts, message/error
6464-6565-### UI
6666-6767-- [x] Settings screen - new tile in Account section: "Video Upload Limits"
6868-- [x] Tile UI - show remaining daily video count, remaining bytes formatted as MB/GB, `canUpload` status badge
6969-- [x] Loading state while fetching, error state if request fails
7070-- [x] Display server `message` if present; show `error` text with warning styling if `canUpload` is false
7171-7272-### Tests
7373-7474-- [x] Unit tests: repository method, cubit state transitions and formatting
7575-- [x] Widget tests: tile renders limits, loading indicator, error state, message display
1818+Completed [2026-04-01](../../CHANGELOG.md#2026-04-01)
76197720## M23 - Profile Context (Constellation)
7821