Repository navigation
Code Quality: Use main as the single integration branch - #76
Merged
Merged
Conversation
… XML and icon names Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
…el on Uno Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
…pdates on watcher changes 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> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
…lated (P4-C) Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
# Conflicts: # src/Files.App/Helpers/Application/AppLifecycleHelper.cs
Apply upstream v4.2.38 search performance changes (files-community#18992): shared batching, shortcut and icon finalization in FolderSearch.cs, Win32 walk in FolderSearch.Windows.cs. 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>
Code Quality: Platform file-operation factory and path-based history (P4-B)
Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…imits, Windows zip semantics ListAsync/IsEncryptedAsync now read headers without browsing limits; limits apply via ListForBrowsingAsync. Restore Windows IsBrowsableZipFile behaviour, cache archive passwords per session, drop OpenEntry double buffer, refresh compat-off baseline. 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>
Widgets use IStorable with an icon lookup instead of IWindowsStorable, add LinuxHomeFolder built on the platform services, and move the WinRT/IAgileReference code to *.Windows.cs, fixing two inherited compat-off keys. 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
…ad of failure ListAsync/IsEncryptedAsync/HasMultipleTopLevelEntriesAsync stream headers with entry, name-byte, header-byte and time caps and report IsTruncated. Only the decompressed-size/ratio guard stays browsing-only. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
…der wrappers on Linux Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
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
Fix: Toolbar row missing on Linux
Linux perf: ReadyToRun publish, faster MIME/icon lookup
Move RemovableDevice, SyncRootHelpers (with a Linux stub) and the Win32 breadcrumb subfolder enumeration into *.Windows.cs files. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Code Quality: Isolate remaining Windows-only code (P4 orphans)
Code Quality: Home, widgets and sidebar on portable storables (P4-J)
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
…Windows toolbar behaviour Co-Authored-By: GPT-6.1-sol (OpenAI Codex) <noreply@openai.com> Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Code Quality: Isolate Windows-only actions and shell UX (P4-H)
…op .Windows suffix on wrappers 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
Code Quality: Previews and leaf storage users on storables (P4-G)
Feature: Browse inside archives on Linux (P4-A)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Code Quality: Resolver-based storage helpers; isolate Windows enumeration and search (P4-C)
Move the FindFirstFileEx/StorageFolder enumeration, ReadDirectoryChangesW watchers, alternate data streams, Recycle Bin shell items and BitLocker prompt verbatim into ShellViewModel.Windows.cs. Linux lists archive roots and folders through IStorableResolver/ArchiveFolder (read-only, no watcher) and can navigate into folders inside an archive. Ratchet the compat-off baseline to 2 keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
FilesWin32Compat now defaults to false and stays as an opt-in lens (defines FILES_WIN32_COMPAT). The desktop build compiles with 0 errors and without the CsWin32 prebuild: registry cloud detectors and MTP shell resolution move to *.Windows.cs, the remaining Win32 call sites get small #if WINDOWS blocks or Linux fallbacks, ICommonDialogService and IStartMenuService get desktop stubs, and IStorageItemWithPath.Item plus the unused desktop WinRT StorageHelpers members are gone. Linux CI builds Files.App with compat off as a blocking step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
Feature: Nightly Linux builds published as a rolling pre-release
Code Quality: ShellViewModel Windows code isolated (P4-E)
Code Quality: Switch Win32 compat mode off on Linux (P4-Z)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY
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.
Brings main up to date with linux/main (Phase 4 complete) and makes main the only integration branch. Nightly builds now come from pushes to main; stable releases are linux-v* tags. linux/main is retired.
🤖 Generated with Claude Code
https://claude.ai/code/session_01LeKXJc3DnK3PzAqwgA72NY