Conversation
…erflow (#1658) - PostActionsBar: flex-wrap so actions can wrap on narrow widths - PostMain: drop overflow-y-scroll on actions row (avoid clipping wrapped row) - theme: BREAKPOINTS.xxs (375) and xs (480) for hooks / responsive checks - Update snapshots Made-with: Cursor
Greptile SummaryThis hotfix addresses three distinct layout/scroll regressions: Confidence Score: 5/5Safe to merge — all three bug fixes are correct and well-scoped; the only finding is a minor dead-code addition. All remaining findings are P2. The unused breakpoints in theme.ts are a style/dead-code concern that does not affect runtime behavior, correctness, or security. src/config/theme.ts — unused xxs/xs breakpoints should be removed or wired up
|
| Filename | Overview |
|---|---|
| src/components/organisms/Timeline/Feed/TimelineFeed/VisualTimelinePosts.tsx | Adds a useEffect-based auto-pagination guard: when a fetched page contains no media tiles (so rows.length stays flat), Virtuoso never fires endReached again; the effect detects the stall and calls loadMore() until rows grow or hasMore is false. |
| src/components/organisms/PostMain/PostMain.tsx | Removes overflow-y-scroll from the PostActionsBar className to fix the spurious vertical scrollbar/overflow introduced in the previous release. |
| src/components/organisms/PostActionsBar/PostActionsBar.tsx | Adds flex-wrap to the actions container to prevent horizontal overflow on narrow screens; renames buttonClassName to btnClassName in destructuring to avoid variable shadowing with the outer buttonClassName const. |
| src/config/theme.ts | Adds xxs: 375 and xs: 480 breakpoints to BREAKPOINTS; neither value is referenced anywhere in the codebase yet, making them effectively dead configuration. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[VisualTimelinePosts renders] --> B{loading?}
B -- yes --> C[Reset stableRowCountRef = 0]
B -- no --> D{loadingMore OR error\nOR !hasMore OR hasPendingTiles\nOR postIds empty?}
D -- yes --> E[Bail — do nothing]
D -- no --> F{rows.length <=\nstableRowCountRef?}
F -- yes --> G[Call loadMore]
G --> H[loadingMore = true\nnext effect run bails]
H --> I[loadingMore = false\neffect re-evaluates]
I --> F
F -- no --> J[Update stableRowCountRef = rows.length]
J --> K[Virtuoso endReached fires normally]
Reviews (2): Last reviewed commit: "fix(timeline): auto-paginate visual feed..." | Re-trigger Greptile
🚀 Preview DeploymentURL: https://franky-preview-pr-1665-fzxmjul7ya-oa.a.run.app
|
Virtuoso's endReached callback only fires when the user scrolls past rendered items. When a stream page contains only text/link posts, the visual grid produces no new rows and Virtuoso never re-fires, stalling pagination. Track the stable row count and auto-load the next page whenever a completed fetch didn't grow the grid. Closes: #1661 Co-authored-by: V <jovanovicv90@gmail.com>
* tests: visual layout e2e * tests: refactor * tests: fix gt -> gte * tests: fix visual layout e2e
|
Waiting for fix for #1678 |
* fix: visual layout not showing when fresh db or low filter result count * fix: always show all posts in global content 'All' * chore: format
|
Waiting for #1688 to revert Virtuoso |
To fix: