Repository navigation
feat(profile): give Bookmarks its own tab on the own profile #8972
Description
Why
#8540 rebuilt the profile's My Lists tab to the approved design, and the Bookmarks row it briefly carried came out on 2026-09-09 at the owner's direction: bookmarks are not a curated list, they are a tab of their own. Until that tab exists, kind 10003 saves have no read surface on the profile, so the share sheet's Save action is write-only there. The /saved-videos screen still exists but nothing on the profile links to it.
Design
Figma: user-myProfile-scroll-bookmarks
The frame shows the own profile scrolled so the tab strip is pinned under the status bar. Five icon tabs: Videos, Liked, Reposts, Bookmarks (selected, bookmark glyph, green underline), Lists. Below it a three-column square grid of the saved videos, edge to edge, with thin gutters and no captions.
The app's own profile currently has six tabs, Videos, Collabs, Liked, Reposts, Lists, Comments, so the frame's five do not map one to one. Proposed order: Videos, Collabs, Liked, Reposts, Bookmarks, Lists, Comments, which keeps Bookmarks between Reposts and Lists as the frame draws it and leaves the two tabs the frame omits where they are.
What exists already
ProfileSavedGrid(mobile/lib/widgets/profile/profile_saved_grid.dart) renders a viewer's kind 10003 saves as a paginated grid; today onlySavedVideosScreen(/saved-videos) embeds it. The tab should reuse it rather than add a second saved-videos grid.profileTabKindsinmobile/lib/widgets/profile/profile_tab_kind.dartowns tab order per profile type;ProfileTabKindneeds abookmarksmember and the own-profile list needs the new slot. The other-profile order stays unchanged, since someone else's bookmarks are not ours to browse.- Two open bugs sit in the grid this tab will surface: fix(profile): an unresolved video in a partly-filled Saved/Liked window is never retried #7626 (an unresolved video in a partly filled window is never retried) and fix(profile): Saved and Reposts assert a load failure over IDs they never fetched #7639 (Saved and Reposts assert a load failure over IDs they never fetched). Worth landing first or alongside, since the tab will make them visible on every profile visit.
Acceptance
- Own profile shows a Bookmarks tab in the slot above, with the bookmark glyph from
divine_uiand a localized semantic label; other profiles show no such tab. - The tab renders the viewer's saves through
ProfileSavedGrid, with the same empty state the/saved-videosscreen shows today, and tapping a tile opens the video. - Saving from the share sheet and returning to the profile shows the new save without a restart.
profile_tab_kind_test.dartpins the new order for both profile types; a widget test pins that the tab renders the grid and that another user's profile has no Bookmarks tab.- Decide what happens to the
/saved-videosroute once the tab is the read surface: keep it as a deep-link target or redirect it to the profile tab.
Screenshot of the Figma frame attached below.

Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTesting
Activity
feat(profile): show your bookmarks in their own tab on your profile (d…