Skip to content

Code Quality: Use main as the single integration branch - #76

Merged
MemerGamer merged 62 commits into
mainfrom
chore/main-only
Oct 5, 2026
Merged

MemerGamer merged 62 commits into
mainfrom
chore/main-only

Conversation

@MemerGamer

Copy link
Copy Markdown
Owner

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

MemerGamer and others added 30 commits October 5, 2026 19:25
… 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
…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
MemerGamer and others added 28 commits October 5, 2026 21:53
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)
…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
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)
@MemerGamer
MemerGamer merged commit 8d4ccd6 into main Oct 5, 2026
3 checks passed
@MemerGamer
MemerGamer deleted the chore/main-only branch October 5, 2026 20:30
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