Skip to content

Code Quality: Previews and leaf storage users on storables (P4-G) - #70

Merged
MemerGamer merged 6 commits into
linux/mainfrom
linux/p4-g
Oct 5, 2026
Merged

MemerGamer merged 6 commits into
linux/mainfrom
linux/p4-g

Conversation

@MemerGamer

@MemerGamer MemerGamer commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • ListedItem.ItemFile / IListedItem.ItemFile are IFile? on desktop (BaseStorageFile? on Windows); no binding-visible member changes.
  • Previews resolve files through IStorableResolver; local files keep the PreviewFile.OpenRead O_PATH/stat-before-open hardening. Folder, text, image, media-metadata and archive previews updated.
  • Shortcut items use ShowWindowCommand (no SHOW_WINDOW_CMD casts); ShowWindowCommandExtensions is now Win32-free (int based) and used by the enumerators/FolderSearch.
  • ShelfPane resolves dropped paths via IStorableResolver; Git service no longer needs ShellStorageFolder.
  • Windows-only code moved to *.Windows.cs (FTP ToStorageItem, Share/Transfer helpers, Code/Markdown/Shell/Text previews, BasePreviewModel).
  • Media/PDF/RichText previews stay shared with LINUX-TODO stubs on desktop (their controls still compile).

Behaviour change

On desktop, copy/cut in TransferHelpers now also publishes the paths to the system clipboard through DesktopFileDragHelper.PublishFilesAsync; a failure there is logged and does not fail the action.

Verification

  • Desktop build and platform tests (838 passed, 7 skipped) pass.
  • compat-off: 13 keys fixed (ListedItem/UIFilesystemHelpers SHOW_WINDOW_CMD plus the P4-B FileOperationsHelpers/FilesystemHelpers keys), 3 previously masked body errors surfaced in untouched Win32 code (WidgetFolderCardItem, FolderSearch, QuickAccessWidgetViewModel); baseline ratcheted.
  • Headless (Xvfb, sandbox HOME): txt, md, png and zip previews render; dragging a file onto a folder within the app moves it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY

MemerGamer and others added 6 commits October 5, 2026 20:59
ListedItem.ItemFile is IFile? on desktop, previews resolve files through
IStorableResolver and keep the O_PATH/stat-before-open PreviewFile.OpenRead
hardening for local files. Shortcut items use ShowWindowCommand; Windows-only
preview and helper code moved to *.Windows.cs. Compat-off baseline ratcheted.

Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
…locks

Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
@MemerGamer
MemerGamer merged commit a409f26 into linux/main Oct 5, 2026
4 of 5 checks passed
@MemerGamer
MemerGamer deleted the linux/p4-g branch October 5, 2026 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant