diff options
| author | Christian Cleberg <[email protected]> | 2026-07-15 22:02:55 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-15 22:02:55 -0500 |
| commit | 2913d950a5c82d80226050e05bd64be7e30ff87d (patch) | |
| tree | a5e178a4cb241c8ad362f864fd6ce082e0bbeefa /HutchTests/RepositoryListViewModelTests.swift | |
| parent | 575e62f6dab44b0c9836623fe8b7d17a219f8e0f (diff) | |
| download | hutch-2913d950a5c82d80226050e05bd64be7e30ff87d.tar.gz hutch-2913d950a5c82d80226050e05bd64be7e30ff87d.tar.bz2 hutch-2913d950a5c82d80226050e05bd64be7e30ff87d.zip | |
fix: collapse patches to stop a recursive layout loop
Opening a patchset wedged the app. UICollectionView reported a row oscillating
between 3674pt and 1647pt and trapped in a recursive layout loop, leaving the
UI unresponsive.
The detail view rendered every patch in the series expanded, so a List held one
enormous self-sizing row per patch, each with a full diff. Self-sizing cells
that large do not settle.
Patches now start collapsed and expand on tap, so at most the ones a reviewer
opens are measured. This is what ThreadDetailView already does — it collapses
every message but the last, and renders the same diffs through the same
DiffView without trouble. Reviewing a series one patch at a time is also closer
to how the reading actually goes.
The rendering of a block list is shared between the cover letter and patches
rather than duplicated.
Diffstat (limited to 'HutchTests/RepositoryListViewModelTests.swift')
0 files changed, 0 insertions, 0 deletions
