From 2392d99f5ff327869ccf07a654a182d7af134a5a Mon Sep 17 00:00:00 2001 From: Charlie Leitheiser Date: Mon, 27 Apr 2026 21:07:43 +0100 Subject: [PATCH 1/2] fix(ci): correct publish.owner and skip publish in build matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publish config in package.json pointed at "p-stream/p-stream-desktop" which doesn't exist, so when electron-builder ran in the matrix build steps it auto-attempted to publish (because GH_TOKEN is set in env), queried the releases API for that nonexistent repo, got a 404, and failed every shard. Two fixes: - package.json: publish.owner -> "xp-technologies-dev" so the URL resolves to the real repo. - build-and-release.yml: pass --publish=never to all matrix build:* commands. The release job already uploads via `gh release upload`, so electron-builder never needs to talk to the releases API in the matrix shards. Either fix alone would unbreak the workflow; both together are defensive — if someone changes the repo location later, the matrix won't silently start hitting the API again. --- .github/workflows/build-and-release.yml | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 8ccc384..a81d350 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -46,9 +46,9 @@ jobs: - name: Build Linux ${{ matrix.arch }} run: | if [ "${{ matrix.arch }}" = "x64" ]; then - pnpm run build:linux --x64 + pnpm run build:linux --x64 --publish=never else - pnpm run build:linux --${{ matrix.arch }} + pnpm run build:linux --${{ matrix.arch }} --publish=never fi - name: Upload Linux artifacts @@ -89,9 +89,9 @@ jobs: shell: bash run: | if [ "${{ matrix.arch }}" = "x64" ]; then - pnpm run build:win --x64 + pnpm run build:win --x64 --publish=never else - pnpm run build:win --${{ matrix.arch }} + pnpm run build:win --${{ matrix.arch }} --publish=never fi - name: Upload Windows artifacts @@ -133,9 +133,9 @@ jobs: - name: Build macOS ${{ matrix.arch }} run: | if [ "${{ matrix.arch }}" = "x64" ]; then - pnpm run build:mac --x64 + pnpm run build:mac --x64 --publish=never else - pnpm run build:mac --${{ matrix.arch }} + pnpm run build:mac --${{ matrix.arch }} --publish=never fi - name: Upload macOS artifacts diff --git a/package.json b/package.json index 0b0f17a..d7df298 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ }, "publish": { "provider": "github", - "owner": "p-stream", + "owner": "xp-technologies-dev", "repo": "p-stream-desktop" }, "files": [ From 5754fddd14c47c00d373248ceb5d164009123294 Mon Sep 17 00:00:00 2001 From: Charlie Leitheiser Date: Mon, 27 Apr 2026 21:15:06 +0100 Subject: [PATCH 2/2] fix(updater): point auto-updater at correct GitHub owner Same root cause as the CI fix in the previous commit, but in runtime code: src/main/auto-updater.js, src/main/main.js (autoUpdater.setFeedURL call), and the "open releases page" shell.openExternal calls all hardcoded the wrong owner "p-stream". Result: every running app instance hits api.github.com/repos/p-stream/p-stream-desktop/releases/latest and gets HTTP 404 on every update check. Changes "p-stream" -> "xp-technologies-dev" in the three places it appears in src/main/. --- src/main/auto-updater.js | 2 +- src/main/main.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/auto-updater.js b/src/main/auto-updater.js index b699b92..1cb0b44 100644 --- a/src/main/auto-updater.js +++ b/src/main/auto-updater.js @@ -12,7 +12,7 @@ const PRELOAD = path.join(__dirname, '..', 'preload'); const UPDATER = path.join(__dirname, '..', 'updater'); // GitHub repository configuration -const GITHUB_OWNER = 'p-stream'; +const GITHUB_OWNER = 'xp-technologies-dev'; const GITHUB_REPO = 'p-stream-desktop'; // Updater window reference diff --git a/src/main/main.js b/src/main/main.js index 6fdec28..20c292c 100644 --- a/src/main/main.js +++ b/src/main/main.js @@ -1055,7 +1055,7 @@ if (app.isPackaged) { // But we can explicitly set it to ensure it works autoUpdater.setFeedURL({ provider: 'github', - owner: 'p-stream', + owner: 'xp-technologies-dev', repo: 'p-stream-desktop', }); console.log('Auto-updater configured for GitHub releases'); @@ -1116,7 +1116,7 @@ autoUpdater.on('update-available', (info) => { await checkAndAutoUpdate(); } else if (result.response === 1) { // Open Releases Page button - shell.openExternal('https://github.com/p-stream/p-stream-desktop/releases'); + shell.openExternal('https://github.com/xp-technologies-dev/p-stream-desktop/releases'); } }) .catch(console.error); @@ -1416,7 +1416,7 @@ app.whenReady().then(async () => { // IPC handler for opening releases page in external browser ipcMain.handle('openReleasesPage', () => { try { - shell.openExternal('https://github.com/p-stream/p-stream-desktop/releases'); + shell.openExternal('https://github.com/xp-technologies-dev/p-stream-desktop/releases'); return { success: true }; } catch (error) { console.error('Failed to open releases page:', error);