fix(trash): keep Recover/Delete visible with long titles (#298) - #299
Merged
Conversation
A trashed note's title had no width bound inside the row, so a long title measured to the full row width and pushed the action buttons off the right edge of the screen (reported as missing or as an 'elongated streak'). Constrain the title with weight(1f) + TextOverflow.Ellipsis, matching the other list screens. Adds a Robolectric regression test that fails on the old layout (Recover not displayed) and passes on the new one.
Ships the #298 trash-screen fix: long note titles no longer push the Recover/Delete actions off the right edge. - versionCode 124 -> 125, versionName 2.32.2 -> 2.32.3 - CHANGELOG.md and CHANGELOG.ko.md gain the v2.32.3 section - seven store-locale 125.txt: 253 characters in English, 334 at the longest, every locale keeping well below the 500 cap (zh-CN's first) - landing x7 (softwareVersion, release-line, trust-ledger) and README x7 release links move to v2.32.3; the figcaption screenshot version stays at v2.23.0, which is what it documents
Owner
Author
|
Fixed in v2.32.3 — the trash row now constrains the title with \Modifier.weight(1f)\ + \TextOverflow.Ellipsis\ so the Recover and Delete buttons stay fully visible at the right edge for any title length. A Robolectric regression test (\TrashScreenTest) was added and fails on the old layout, passes on the fix. Release: v2.32.3 · GitHub APK · F-Droid will pick up the tag shortly. Thanks again for the detailed report with screenshots! |
jeiel85
added a commit
that referenced
this pull request
Aug 13, 2026
Addresses two hardening candidates from the #298 review (PR #299): - items(trashedNotes) now passes key = { it.id }, matching every other list screen (archive, locked, search, notes). Without a key LazyColumn tracks rows by position, so restoring or deleting a note could leave the wrong row briefly visible or animate incorrectly. - The inline Restore/Delete actions switch from Button to TextButton, the standard Material 3 pattern for list-row actions. TextButton's smaller horizontal padding (~24dp less per button) leaves the title more room on narrow screens with long localized labels (e.g. German 'Wiederherstellen'), while both actions stay visible and tappable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #298.
Problem
In the trash bin, a note's title had no width bound inside its row. With a long title the title measured to the full row width and pushed the Recover/Delete buttons past the right edge of the screen — reported as buttons that "are either not present at all or are elongated", easy to tap wrong when only a sliver showed.
Fix
Give the title
Modifier.weight(1f)+TextOverflow.Ellipsisso it takes only the room the buttons leave and ellipsizes when it runs out — the same treatment every other list screen (notes, archive, locked, tags, search) already uses.Test
New
TrashScreenTest(Robolectric, no golden): renders a trash row with a title longer than the screen and asserts both action buttons are displayed, the title's right edge does not overlap Recover, and Recover sits left of Delete. Verified both ways — fails on the old layout (Recover not displayed), passes with the fix.Release prep
v2.32.3 (versionCode 125): CHANGELOG both editions, seven store-locale changelogs, landing x7 + README x7 version markers.
verify-release-notes.ps1andverify-landing-versions.ps1pass locally;testDebugUnitTest(68 suites) and:app:lintReleaseare green.