Port Linux build to GitHub Desktop 3.5.12 - #1312
Open
digaovaa wants to merge 1727 commits into
Open
Conversation
…unch Fix target path quotation when launching custom shells
Make Copilot CLI import path Windows-safe. - app/src/lib/stores/copilot-store.ts: construct a file:// URL importPath when running on Windows so the --eval import uses a properly escaped file URL (avoids CLI import-parsing issues). Use importPath in the cliArgs array.
Replace manual file:// URL construction with Node's pathToFileURL to produce a correct file:// URL on Windows. Adds import of pathToFileURL from 'url' and uses it to set importPath when __WIN32__ is true, simplifying escaping and ensuring proper URL formatting.
Update Copilot SDK to 0.2.1
Use highly optimized test() method from re2js in v2
Previously, formatting preferences were written directly to localStorage from the Preferences dialog, bypassing the AppStore. This meant no state change was emitted, so already-mounted components wouldn't re-render to reflect the new preference. This change: - Adds preferAbsoluteDates to IAppState - Adds _setPreferAbsoluteDates to AppStore (writes localStorage + emits update) - Adds setPreferAbsoluteDates to Dispatcher - Updates Preferences save to call dispatcher instead of direct localStorage - Threads preferAbsoluteDates as a prop through App → RepositoryView → CompareSidebar → CommitList → CommitListItem (required because CommitListItem is a PureComponent) - Adds preferAbsoluteDates to CommitList's invalidationProps so the virtualized list forces row re-renders - Updates CommitDragElement, ConfigureGitUser, and UnreachableCommitsDialog to pass the new required prop Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Formatting preferences
Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.104.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.94.0...v5.104.1) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.104.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…/webpack-5.104.1 build(deps): bump webpack from 5.94.0 to 5.104.1
Delete extra backtick in changelog.json
- Remove 'pitch' label (along with 'needs-triage') when issues are closed - Exclude issues labeled 'skip-pitch' from monthly pitch surfacing
Refactor CopilotStore to extend BaseStore instead of using its own event-kit Emitter. Replace direct emitter usage with BaseStore's emitUpdate and simplified promise handlers, and remove onDidUpdate/onDidError/emitError methods. Also add super() call in the constructor and import BaseStore; this centralizes store event handling and reduces duplicate code. Co-Authored-By: Markus Olsson <634063+niik@users.noreply.github.com>
…rkflow-improvements Improve pitch label management: auto-remove on close and support skip-pitch exclusion
Update dugite to v3.2.2 which pulls in dugite-native v2.53.0-3 with Git for Windows v2.53.0.windows.3. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update Git for Windows to v2.53.0.windows.3
Update Git for Windows to v2.53.0.windows.3
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Two bugs fixed in the draft-release workflow: 1. Beta changelog entries were empty because the workflow parsed markdown release notes with grep '^\[', but the AI-generated notes format entries as '- [Tag] ...' (with markdown list prefix). Now uses the structured release-notes-json output from copilot-release-notes action and extracts descriptions with jq. 2. Beta release notes compared from the latest production tag instead of the latest beta tag. In semver, 3.5.7 > 3.5.7-beta3, so getLatestRelease returned the production tag. Now ci.ts outputs a compare-base that uses the latest beta tag for the comparison, while keeping version computation correct (still based on the overall latest tag). Also cleaned up the duplicated beta-tag discovery logic in ci.ts for production releases to reuse the new onlyBetaReleases option in getLatestRelease. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Release 3.5.8
- Production: wrap beta tag lookup with descriptive error message explaining that production releases must be based on a beta tag - Beta: only catch 'No matching release tags found' specifically, rethrow unexpected errors (e.g. git failures) instead of silently falling back to the wrong compare base - Update JSDoc on getLatestRelease to reflect conditional filtering Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…notes Fix beta draft release: use JSON output and compare from last beta tag
…es, enforce ordering - Clarify that Dependabot dependency bumps should always be skipped, even if they mention security fixes (these are build/dev deps) - Clarify that embedded component updates (Git, Electron, etc.) should always be included since they ship with the app - Add explicit Output Ordering section requiring entries to be sorted by tag in the canonical order: New, Added, Fixed, Improved, Removed Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The draft-release workflow pushes the releases/* branch using GITHUB_TOKEN, which cannot trigger other workflow events. This means release-pr.yml (on: create) never fires, requiring manual PR creation each time. Use the same Desktop Releases GitHub App token (tibdex/github-app-token) that release-pr.yml already uses, so the push triggers the create event and the release PR is created automatically. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…/ip-address-10.2.0 Bump ip-address from 10.0.1 to 10.2.0
…/fast-uri-3.1.2 Bump fast-uri from 3.1.0 to 3.1.2
Update app/package.json version to 3.5.9-beta3 and add 3.5.9-beta3 release notes to changelog.json. Notes include fixes for linked worktree pruning, commit message button styling, long changed-files rendering, and an Electron update to 42.0.1.
Eagerly run Electron's install script from script/post-install.ts so Electron's prebuilt binary is available immediately after npm/yarn install. This preserves behavior for scripts that read node_modules/electron/dist (for example validate-macos-version) without requiring Electron to be required first. Exit with non-zero status if the install script fails. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update app/package.json to set version 3.5.9 (remove beta tag). Add a new 3.5.9 release entry to changelog.json with added, fixed, and improved items (moved/expanded from 3.5.9-beta3).
This reverts commit 3020027.
Import and use pathExists to ensure the Copilot CLI entry point exists before creating a CopilotClient, throwing a clear error if it does not to avoid a half-broken client. Also adjust the modelsInFlight caching flow: assign the in-flight promise inside the try, log a warning on fetch failure, clear the in-flight marker in finally, and return null on failure to avoid leaving a stale promise.
Import enableCopilotSdkCommitMessageGeneration and update listModels to return null when there is no current account or the feature flag is disabled. This prevents Copilot model enumeration unless commit message generation via the Copilot SDK is enabled for the account.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add a third FilesChangedBadge with filesChangedCount=3000 and update the expected badge texts to ['12', '301', '3k']. This ensures the component correctly formats large counts using the 'k' abbreviation in the unit tests.
…path Fix launching custom shells
Update app/package.json to version 3.5.11 and add a new release entry in changelog.json for 3.5.11 documenting the fix: "[Fixed] Fix launching custom shells". This is a patch release following 3.5.10.
react-virtualized 9.22.6 introduced automatic role="gridcell" injection on cells that don't have an explicit role prop (upstream PR desktop#1624). Since our ListRow components were not passed an explicit role prop in listbox mode, the injected "gridcell" role overrode the intended "option" role, producing an invalid ARIA tree (listbox > gridcell) that NVDA cannot navigate. Fix by always passing the correct role explicitly to ListRow so that react-virtualized's defaultCellRangeRenderer skips the injection. Fixes desktop#22219, fixes desktop#22203 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Validation
yarn build:prodyarn lint:src/usr/bin/cursorx-github-desktop-dev-authis registered and reaches the running appStartupWMClassThe branch is based on the official
release-3.5.12tag because this is a full version port.