Repository navigation
Sync lgse/strata#1872–#1896: accessible names, menus past the window, shared settings saves - #42
Merged
wmfeht merged 17 commits intoOct 28, 2026
Conversation
…d settings saves Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
…robe and wording fixes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015rmfTXdVg1CEGCkG21C8Au
5 tasks
…earch, preview fixes Syncs lgse/strata#1904, #1898, #1899, #1906, #1908, and #1901 (be3343a..923b39d) and advances the watermark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RQ23A9aNN8aT7Tpt3zouac
This was referenced Oct 27, 2026
Merged
Sync lgse/strata#1898–#1908: Save stem selection, multi-word global search, preview fixes
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.
Closes #41
Stacked on #40
This PR is stacked on #40, which is itself stacked on #38. It targets #40's branch,
claude/friendly-cray-f9fxd3, and my branch isclaude/friendly-cray-w1gznr. Merge #38, then #40, and GitHub retargets this PR tomain. The diff covers only the 16 PRs from #41.Upstream range
d6c74746cdb27e506a08e8cdefa3bc8cef7d10f9(watermark after #40) →be3343a5992a2a5497b1a2ee7faa525be18e988f. That is 17 commits: 16 PRs and one direct push,chore: release v1.1.1(be3343a), which needs no map change.sources.yamlholds the new watermark.GraphQL is blocked in this session, so
driftandqa --prran on scratchdata/prs.jsonlrows fetched over the REST API. Those rows are not committed.settings/themesbrowser/search/filterdevices/volumes/drive-dialogsbrowser/view-modes/columnsoperations/archivesapp/infrastructureapp/packaging/installerremote/file-providers/externaloperations/deletesettings/themessettings/themessettings/preferences/storagebrowser/context-menuapp/infrastructure(fix 1);operations/renameandbrowser/view-modes(fix 2)app/accessibilityapp/accessibilityAll merged on 2026-10-25 (UTC). Several PR bodies are stale because review commits changed the code before merge. The map follows the merged code:
publish_renameearly return was removed.systemctlandxdg-mimerun under the deadline too.Per node
app
app/accessibility(rows #1895, #1896):set_tooltip_and_label,set_labelled_by).codesets them (see "Accessible names" below).app/infrastructure(rows #1890 fix 1, #1873):#1873added to the log redaction bullet.Location::parentcopies credentials (#1846, #1873).app/packaging/installer(row #1876):timeout 5on ReloadConfig andxdg-mime,timeoutnow required, and status 124 outcomes. Two Design bullets.app/dialogs: form fields limited in bytes or UTF-16 units trim typed and pasted text, and the caption counts in that unit (#1875). Gap: the install command field is unnamed (#1896).app/shortcut-reference: gap: the footer's selection size adds a file link's target size (#1853, #1880).browser
browser/context-menu(row #1894):browser/search/filter(row #1888): a plain click on a filtered file now follows the click-count and single-click preview preferences. Enter and folder clicks still open. In the chooser and Trash, a click never opens a file. Design rewritten (#681, #697, #1881, #1888).browser/view-modes/columns(row #1874): no Behavior here. #1874's code is directory-monitoring's, so its bullets live there.browser/directory-monitoring(no row):### Renaming to a hidden name: rename-to-dot with hidden files off acts as a removal. The cursor goes to the visible neighbor, deeper Columns close in place, and F2 works.browser/view-modes(row #1890 fix 2): History only. It also takes the pane header names from #1895 and #1896.browser/view-modes/folder-views: another process's default sort and size are adopted during an unrelated save (#1877).browser/sidebar: stale or doubled location tint.browser/navigation/location-bar: deep breadcrumbs shrink to "l…".browser/view-modes/density: Compact and Airy buttons overlap.operations
operations/archives(row #1872): a colon after the first component is a name, and a leading drive prefix is still refused, including through..and./. TAR hard links to such members work. One Design bullet; the docs link SHA was bumped.operations/delete(row #1880):testsgainsdelete-file-symlink-sizes-link.jsonl.operations/rename(row #1890 fix 2): after a rename re-sorts List, Down moves to the next file and stays there.operations/clipboard/conflicts:relatedgainsapp/infrastructure.settings
settings/themes(rows #1887, #1891, #1892):settings/preferences/storage(row #1877):### Saves from several processes: changed and repaired keys are merged over the file on disk, and unknown keys are kept.ListColumnsstay whole. The later save wins.settings/themes/omarchy: the legacyomarchy_variantkey is removed only once an Omarchy theme is detected (#1816, #1877).settings/preferences:auto_refresh_intervalcites #1877.devices, remote, integration, preview
devices/volumes/drive-dialogs(row #1875):remote/file-providers/external(row #1878):integration/portal-file-chooser/setup: on a silent bus, setup and restore finish after 5 s deadlines (#1876). Gap: a failed reload still reports success in Settings (#1876, maintainer review).preview/preview-panel: gap: the media seek and volume sliders are unnamed (#1896).reviewed_atonly: the preview nodesdriftlisted (route QA timing in #1890),integration/open-with, and others listed bydrift.Accessible names (#1895, #1896, no rows)
Each name bullet sits on the node whose
codesets it:browser/view-modes: header buttons, Columns, filter fields, and the Thumbnail size slider.browser/navigation/location-bar: Copy path and the sign-in fields.browser/folder-customization: Default (Theme color) and Back to palette.browser/search.browser/sidebar/connect-to-server: Server address.app/dialogs: the install copy button.app/shortcut-reference: F1 search and the 10xer prompt.preview/preview-panel: Play/Pause and Mute.operations/archives/preview: Go up one level.operations/archives: the Compress fields.integration/portal-file-chooser: Cancel and Name.integration/open-with.settings/preferences: the shared "Clear search".settings/themes: the editor.devices/volumes/drive-dialogs: the label fields.devices/volumes/release: Eject/Unmount.devices/volumes/encrypted: Unlock/Lock. Itssrc/ui/window.rshas no owning node.QA
Tier-1 plans: no PR has unmapped changes.
settings/themes+ 4 childrensearch/filter,view-modes,view-modes/columns,portal-file-chooserdevices/volumes/drive-dialogs,app/dialogsapp/dialogs,app/window,browser/directory-monitoringsrc/app/browser.rs,src/app/navigation.rs)operations/archivesapp/infrastructure,startup-arguments,browser/tabs,integration/open-withapp/packaging/installer,portal-file-chooser/setupremote/file-providers/externaloperations/create,operations/trash,settings/themes/iconssrc/style.css)settings/preferences,storage; 5 browser preference nodessrc/ui/preferences.rs)browser/context-menu,app/infrastructure(baseline PNG)app/infrastructure,keyboard-navigation,view-modes,clipboard/conflicts,rename, 6 preview nodesapp/accessibility+ 8 nodessrc/ui/window.rs)app/accessibility+ 10 nodesAll 8 sweeps moved
reviewed_attobe3343a5./dev/shm.flockwithXDG_CONFIG_HOMEon sshfs.scripts/chooser-dev.sh. Integration has a silent-bussocatfixture, and browser has more compositors.Needs a person
settings/preferences/storage, as #1869 did in Sync lgse/strata#1831–#1871: tabs from drags, G-code and route previews, privacy fixes #40. Most of its code is insrc/ui/preferences.rs, a settings sweep trigger, and storage ownswriter.rsand the test module.browser/search/filter. It is the node whose #697 bullet the fix rewrote, and its scope (filter) maps there.merge_pending_changeinlocal_files.rs, so the row goes onapp/infrastructure.inline_edit.rsandbrowser_modes.rs, so rows go on bothoperations/renameandbrowser/view-modes.settings/themes, which ownsdocs/themes.md. It fails the Nest rule as a new node.loggingis ignored.driftlists it as "Ignored" but "in triage" on its nodes. The row went on the fallbackapp/infrastructure, following the Update feature map: lgse/strata#1644, #1761 #27fix(logging)precedent there. Drop it if ignored scopes should get no row.driftdrops PRs mapped by scope alone with no path match. #1891 (src/style.cssonly, scopetheme) appeared in no section of the report.browser/view-modes/columnssection omitted #1874's "History row here".scopes.yaml:themes: settings/themes. #1887 and #1892 use the plural. Not added, because no new node owns it.operations/deleteowns none of #1880's files. The dialog is intrash.rs(operations/trash) and the size sum inentry.rs(settings/themes/icons). The confirmation Behavior stays on delete, as with #1134 and #1627.browser/view-modes/iconsmay belong tobrowser/view-modes, which builds the slider inbrowser_modes.rs.app/shortcut-referenceSummary says 10xer prompts belong tointegration/10xer-mode. Their names are set inshortcut_footer.rs.shortcut_footer.rs). It is stated in a #1853 comment and the #1880 review, and recorded as a gap.directory_summary.rs). Stated in a #1853 comment; not recorded..settings-search-popoverand.jobs-popoverkeep the@strata_bgshadow that #1891 removed. Found by code reading; not recorded.*?:/\|<>", whichmkfs.exfataccepts. Stated in the #1875 body and recorded as a gap.mount_laneslane keys hold full user info, though nothing logs them (#1873 body). Not recorded.colors.tomlreload, raw GVfs errors, Updates ignoring the startup check, the g+pin flash, and the context-menu Gtk-CRITICAL from #1860. Not recorded.docs/file-providers.mdlines 72–74 still say each change and Refresh stop the running providers, but #1878 retires them.docs/performance-baseline.md:24says default logs carry no browsed locations. The INFO-level "target location unavailable" warning logs the location. This predates #1873.site/src/reference/file-providers.mdmay still say Refresh stops every provider.checkwarns that the site describes v1.0.0, while v1.1.0 and v1.1.1 are out.(unverified)claims added (37):--install-portaland--uninstall-portalwarning, and no reload warning in Settings.Review loop
Three rounds, with fresh reviewers each round. Every blocking finding got an independent verifier or a direct code check.
folder-views.toml: different directories.omarchy_variantwas said to be removed on any save. It is removed only after migration.app/accessibility. They moved to their owning nodes.(unverified)marks, sentence length, probe duplicates, and stale wording.operations/renameandbrowser/view-modes.search/filter.theme.rs:456-458).:destination condition, and splits.view-modes/columnstobrowser/directory-monitoring, whosedirectory_changes.rsimplements it. The row stays on columns, asdriftsaid.(unverified). Round 1 cited the #1894 maintainer review as stating them. Round 3 read them as #1893's proposal, with the code leaving them to GTK and the compositor.operations/renameandbrowser/view-modesfollow the batch rule literally. One round-2 reviewer preferred one row.scripts/featuremap.py checkreports 0 errors. Its 25 warnings are all site and release staleness. The unit tests pass (39).Generated by Claude Code