Skip to content

[Fix] Another try to fix the app-update issue - #610

Merged
Power-Maverick merged 303 commits into
mainfrom
dev
Jul 27, 2026
Merged

[Fix] Another try to fix the app-update issue#610
Power-Maverick merged 303 commits into
mainfrom
dev

Conversation

@Power-Maverick

@Power-Maverick Power-Maverick commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #

Type of change

  • New feature
  • Bug fix
  • Refactor (no functional change)
  • Documentation
  • Chore / maintenance (dependency update, build, config)
  • Test addition / improvement

Changes

Architecture checklist

Packages (types & validation)

  • Not applicable — no changes to packages/

If you did change a package:

  • @pptb/types (types): type definitions updated and version bumped in packages/types/package.json
  • @pptb/validate (validation): validation rules updated and version bumped in packages/validation/package.json

Code quality

  • pnpm run typecheck passes with 0 errors (warnings are acceptable)
  • pnpm run lint passes with 0 errors (warnings are acceptable)
  • pnpm run build completes successfully

Testing

  • pnpm run test:unit passes (for changes to src/main/, src/common/, or src/renderer/ utilities)
  • pnpm run test:e2e passes (for UI / navigation / end-to-end flows)
  • Manually tested in the running app (pnpm run dev)

Scenario tested:

Screenshots / recordings

Breaking changes

  • No breaking changes
  • Yes — describe impact and migration path below:

Reviewer notes

  • I have added appropriate unit and/or e2e tests for this change
  • I have resolved all GitHub Copilot review comments
  • I have followed the guidelines in CONTRIBUTING.md

Copilot AI and others added 30 commits March 6, 2026 22:18
…#443)

* Initial plan

* feat: remove Sentry and replace with console logging

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Replace sentryHelper calls with direct console.* equivalents

- logInfo → console.info
- logWarn → console.warn
- logDebug → console.debug
- logCheckpoint → console.log
- captureException(err, ctx) → console.error(err) (ctx dropped)
- captureMessage(msg, level, ctx) → console.error/warn(msg) (ctx dropped)
- addBreadcrumb(...) → removed entirely
- wrapAsyncOperation(name, async () => { body }, ctx) → (async () => { body })()
- Removed all sentryHelper import lines across 26 files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: resolve lint errors after sentryHelper removal

- Fix unterminated string literals in encryptionManager, terminalManager, toolRegistryManager
- Rename unused catch params to _error/_trigger to satisfy no-unused-vars rule
- Rename unused function param extra -> _extra in homepageManagement

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: replace console.* calls with centralized logger functions

Replace all direct console.info/warn/error/debug/log calls in src/main/
and src/renderer/modules/ with the corresponding logger functions from
the new src/common/logger module:

- console.info  → logInfo
- console.warn  → logWarn
- console.error → logError
- console.debug → logDebug
- console.log   → logCheckpoint

Each file receives a scoped import for only the functions it uses.
Files in src/renderer/modals/ are intentionally left unchanged as they
contain console calls inside template literal strings for inline browser
scripts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: introduce src/common/logger.ts and route all logging through it

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* refactor: pass caught error as second arg to logError/logWarn in catch blocks

In catch blocks across the codebase, replace error message interpolation
(e.g. `${(error as Error).message}`) with passing the raw catch variable
as the second `data` argument to logError/logWarn. Also strip trailing
colon-only patterns where the colon was only there to precede the error.

Files changed:
- src/main/managers/authManager.ts (5 calls)
- src/main/managers/browserManager.ts (4 calls)
- src/main/managers/browserviewProtocolManager.ts (2 calls)
- src/main/managers/encryptionManager.ts (1 call)
- src/main/managers/toolRegistryManager.ts (7 calls)
- src/main/managers/toolWindowManager.ts (11 calls)
- src/main/managers/toolsManager.ts (1 call)
- src/renderer/modules/connectionManagement.ts (14 calls)
- src/renderer/modules/marketplaceManagement.ts (1 call)
- src/renderer/modules/toolsSidebarManagement.ts (1 call)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: apply all PR review feedback - severity corrections, pass error args, remove unused params, simplify IIFEs

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ystem modals. fix for [Bug]: Update is above all windows, not just toolbox

Fixes #447
* Remove alwaysOnTop property from loading overlay and update auto-update notification modal to prevent covering system dialogs

* Add search clear buttons to sidebar search inputs

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add clear buttons to search inputs in select connection modals

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: implement "What's New" feature with auto-update notifications and markdown rendering

* feat: enhance "What's New" feature to support insider version detection and update URLs accordingly

* Fix: Inject PPTB_UPDATES_ORIGIN into renderer CSP at build time (#454)

* Initial plan

* fix: make CSP reflect configured PPTB_UPDATES_ORIGIN at build time via Vite transformIndexHtml

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* refactor: replace duplicate escapeHtml in markdown.ts with shared import from toolIconResolver (#457)

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: add native context menu support with IPC integration for tabs

* fix: format grantCspConsent function for improved readability

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Bugfix

* Bugfix context menu position

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Initial plan

* feat: add connection import/export with warning for incomplete credentials

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* fix: update color adjustment method for connection warning in light theme

* fix: improve import/export UI layout, fix theme-aware icons, add export by category

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* fix: always show category export button and make it theme-aware

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: address unresolved code review comments (error normalization, UUID, accessibility)

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…eload (#461)

* Initial plan

* Fix refresh issue: correct BrowserView dimensions and restore session with saved connections

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Fix closeAllToolViews to also close terminals and revoke filesystem access per instance

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
…enu (#464)

* Initial plan

* Change settings to open as a tab and add Settings option in View menu

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Redesign settings tab: VSCode-style UI, fix tab label to show 'Settings' only, scrollable content

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* refactor: reorganize settings management and remove unused navigation elements

* Rename loadSidebarSettings/saveSidebarSettings to loadSettings/saveSettings

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com>
* Initial plan

* feat: import connections from XrmToolBox XML files

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* fix: import crypto from node built-in in connectionsManager to fix ReferenceError in main process

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Initial plan

* feat: support US Gov cloud (GCC High/DoD) URLs for Dataverse connections

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* refactor: extract isValidDataverseUrl helper with hostname-only, anchored, case-insensitive validation

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
* wip/feat: implement multi-agent workflow setup with defined roles and human approval gate

* feat: implement mesh collaboration and risk-based checkpointing for agent workflows

* feat: enhance chat output contracts for agents to improve communication and clarity

* feat: add important links sidebar with curated resources and strict URL validation

* feat: enhance important links sidebar with display host and improved styling

* feat: add favicon fetching functionality and update important links sidebar with descriptions and icons

* Update src/main/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix: Rename `getFaviconApiUrl` parameter from `host` to `url` (#471)

* Initial plan

* fix: update getFaviconApiUrl parameter name from host to url

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

* Fix: Links Hub favicon handler security, XSS, and rendering bugs (#472)

* Initial plan

* fix: address unresolved PR review comments on Links Hub favicon handler and sidebar

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
…rove category and environment colour UX (#476)

* Initial plan

* fix(ui): fix dual-connection tab colours, swap test/uat env defaults, add category colour reuse in modals

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/36215f3c-c4f5-4b8d-b69c-38a10596f30b

* fix(ui): replace category datalist with styled select dropdown; show -- when no category selected

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/e63c4fea-b3f3-4128-a5e4-31201aeca998

* feat(ui): env color defaults, category reset visibility, sidebar category color swatch

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/04495a30-b495-4fa9-8788-86465ede19cb

* feat(ui): hide category color section when no category (default) is selected

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/afe2255f-00cc-455e-99a4-9ff8d1b4a95e

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
* Initial plan

* Replace blocking About dialog with custom modal BrowserWindow

The About dialog previously used dialog.showMessageBoxSync which is
not modal relative to the main app window and can be hidden behind it.

Now it sends a SHOW_ABOUT IPC event to the renderer which shows a
custom BrowserWindow-based modal (same pattern as the update dialog)
with version info, environment details, and a copy-to-clipboard button.

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/51cb116a-9705-4972-8e3b-242f5767550e

* Show success notification after copying About info to clipboard

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/5b424552-b2fb-4bce-adb3-1893b210285a

* Guard showAboutDialog against destroyed/loading webContents; remove unused GET_ABOUT_INFO IPC

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/a4e390e5-c47b-4e65-b9a4-6e47ed1385d3

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
…ers (#481)

* Initial plan

* Add appearance settings for category/environment color show/hide and border thickness

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/193f644f-df36-4d4c-8ed0-96b7a0f482c9

* Move hardcoded appearance defaults into named constants

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/f393659c-9ed8-4b82-a91b-e94a799801a8

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
* Initial plan

* Add 'Restore Session on Startup' setting to skip reopening tools on app start

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/8ec8d9a2-6b1a-4686-879a-b04708e4cbe8

* Fix build error, add tool name to connection modals, fix missing braces from merge

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/3d6bb8bf-f335-43ee-9634-7e61be7db8fc

* fix: silently re-authenticate connections on session restore, show modal on failure

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/24765ec3-ad59-4605-a741-566555503b34

* feat: add unsaved changes detection and close guard for settings tab
feat: made settings button sticky

* fix pr review comment - #482 (comment)

* fix: apply unresolved reviewer feedback - shared escapeHtml, await closeOtherTabs

Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/fb9f6281-aee9-4813-b322-1751c3a0844b

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com>
Power-Maverick and others added 23 commits July 23, 2026 09:16
…id-configuration

[Feature] Configure App in Entra with proper configurations when add/edit connections
[Fix] Fixed issue with auto-update for windows exe
Both NotificationWindowManager and NotificationHistoryWindowManager now
accept a SettingsManager instance and expose a private isDarkTheme()
helper that reads the user's theme setting via resolveTheme().

generateHTML() (toast popup) and generateHistoryHTML() (bell panel) now
produce light or dark colour schemes based on the resolved theme instead
of being hard-coded to the dark palette, fixing the bug where the
notification UI always rendered dark even when the app was set to light
theme.
…ation-panel-theme

[Fix] Notification panel and toast follow selected app theme
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 27, 2026 14:46
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

✅ PR Checklist

All required checklist items are complete. This PR is ready for review.

@github-actions

Copy link
Copy Markdown

✅ Preflight checks passed

All preflight checks required for merging into main are currently passing.

Checked at commit b0098b2view run

@github-actions

Copy link
Copy Markdown

Bundle Size Report 📦

Bundle Size
Main Process 1.32 MB
Renderer JS 612.59 KB
Renderer CSS 101.13 KB
Total 2.01 MB

Bundle Analysis Reports

The detailed bundle analysis reports are available in the workflow artifacts:

  • 📊 Main Process: stats-main.html
  • 📊 Renderer Process: stats-renderer.html

Download the artifacts from the workflow run to view interactive visualizations.


Bundle size tracking is now active! This helps prevent bundle bloat.

@Power-Maverick
Power-Maverick merged commit ecc8d89 into main Jul 27, 2026
4 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GitHub Actions release workflows to ensure Windows builds contain resources/app-update.yml (required by electron-updater) by generating it during CI when it’s missing.

Changes:

  • Added a Windows-only PowerShell step to generate resources/app-update.yml after packaging the prepacked app.
  • Reads publish metadata from the electron-builder JSON config (and its extends parent) and writes the minimal YAML needed for updates.
  • Keeps an existing validation step that fails the workflow if app-update.yml is still missing.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/prod-release.yml Adds a Windows CI step to generate resources/app-update.yml for production releases.
.github/workflows/nightly-release.yml Adds the same Windows CI generation step for nightly/insider releases.

if ($publish.channel) { $lines += "channel: $($publish.channel)" }
$lines += "updaterCacheDirName: $updaterCacheDirName"

Set-Content -Path $appUpdateYml -Value ($lines -join "`n") -NoNewline
if ($publish.channel) { $lines += "channel: $($publish.channel)" }
$lines += "updaterCacheDirName: $updaterCacheDirName"

Set-Content -Path $appUpdateYml -Value ($lines -join "`n") -NoNewline
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.

9 participants