Skip to content

[Fix] Validate app-update.yml exists - #609

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

[Fix] Validate app-update.yml exists#609
Power-Maverick merged 301 commits into
mainfrom
dev

Conversation

@Power-Maverick

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

Copy link
Copy Markdown
Contributor

Summary

Validate app-update.yml exists

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

Power-Maverick and others added 30 commits March 4, 2026 22:15
* fix: add alwaysOnTop option for modal windows and update notification text

* fix: ensure modal windows move to the top when opened

* fix: update action button text for update notification modal
…#440)

* Initial plan

* feat: add category filter and grouping to connection selection modals

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>
…#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>
Power-Maverick and others added 22 commits July 22, 2026 13:07
…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:27
@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 0d5ede0view 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.

Comment thread src/main/index.ts
const scriptLines = [
"$ErrorActionPreference = 'Stop'",
`$clientId = '${safeClientId}'`,
'$requiredRedirectUris = @("msal${clientId}://auth", "http://localhost")',
* Report that auto-updates are unavailable for the current installation.
*/
private reportAutoUpdateUnavailable(action: string): void {
let message = "Automatic updates are unavailable for this installation.";
@Power-Maverick
Power-Maverick merged commit c452a1e 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 adds a guardrail for Windows auto-update availability by checking for resources/app-update.yml, while also introducing a significantly broader set of changes across testing infrastructure, MCP/preview features, headless tooling/CLI scaffolding, and multiple UI + type updates.

Changes:

  • Add runtime + CI validation that app-update.yml exists before attempting Windows auto-update flows.
  • Introduce Jest unit tests + Playwright Electron e2e tests (configs, mocks, workflows, and initial test suites).
  • Expand MCP/preview/headless-related capabilities (preview feature flags/UI gating, MCP assets/types, CLI scaffold, and related API/type surface additions).

Reviewed changes

Copilot reviewed 115 out of 128 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tsconfig.test.json Adds a dedicated TS config for tests (Jest/Playwright typings and includes).
tsconfig.cli.json Adds a dedicated TS build target for the Node CLI output.
tests/unit/renderer/toolSourceIcon.test.ts Unit tests for renderer icon HTML helpers.
tests/unit/renderer/modalFeedback.test.ts Unit tests asserting modal feedback CSS/script behavior.
tests/unit/main/managers/terminalManager.test.ts Unit tests for terminal command parsing/hardening helpers.
tests/unit/main/managers/installIdManager.test.ts Unit tests for install ID persistence/migration behavior.
tests/unit/main/managers/encryptionManager.test.ts Unit tests for encryption behavior with Electron mocks.
tests/unit/common/cspUtils.test.ts Unit tests for CSP exception normalization.
tests/README.md Documents the test structure and how to run unit/e2e tests.
tests/e2e/splitLayout.spec.ts E2E coverage for split-layout DOM structure and ARIA state.
tests/e2e/notificationHistory.spec.ts E2E coverage for notification history bell + window behavior.
tests/e2e/navigation.spec.ts E2E smoke tests for sidebar/settings/marketplace/modals/search.
tests/e2e/fixtures.ts Playwright Electron fixtures for launching and finding the main window.
tests/e2e/app.spec.ts E2E smoke tests for app launch and startup errors.
tests/mocks/electron.ts Jest manual mock for Electron APIs used by unit tests.
tests/mocks/electron-store.ts Jest manual mock for electron-store using an in-memory Map.
src/renderer/utils/connectionSorting.ts Updates connection type naming (DataverseConnectionConnection) and formatting cleanup.
src/renderer/types/index.ts Adds preview feature settings state and tool MCP capability flag.
src/renderer/styles/homepage.scss Adds layout + styling for MCP badge on quick tool tiles.
src/renderer/styles/_variables.scss Adds muted text variables for light/dark themes.
src/renderer/modules/whatsNewManagement.ts Switches tab open helper to openLocalPageAsTab.
src/renderer/modules/settingsManagement.ts Adds preview feature settings UI + change detection + persistence wiring.
src/renderer/modules/previewFeatureManagement.ts New module to normalize/apply preview feature flags and gate MCP UI.
src/renderer/modules/notifications.ts Adds notification history bell wiring + badge updates; improves notification docs/comments.
src/renderer/modules/initialization.ts Initializes split layout, notification history, preview feature visibility, and MCP logs button behavior.
src/renderer/modules/homepageManagement.ts Adds MCP headless badge rendering behind preview gate.
src/renderer/modules/globalSearchManagement.ts Type rename to Connection and import ordering cleanup.
src/renderer/modals/toolDetail/controller.ts README load error path updated (now uses console.error; see review comment).
src/renderer/modals/sharedStyles.ts Adds success/error feedback variants, PP API badge styling, and checkbox styling.
src/renderer/modals/selectMultiConnection/view.ts Adds PP API info message and minor template formatting changes.
src/renderer/modals/selectMultiConnection/controller.ts Adds PP API badge + guidance toggles and a new parameter; introduces console.error (see review comments).
src/renderer/modals/selectConnection/view.ts Adds PP API info message and minor template formatting changes.
src/renderer/modals/selectConnection/controller.ts Adds PP API badge + guidance toggles and a new parameter.
src/renderer/modals/feedbackScript.ts Adds shared helpers for structured modal feedback payload parsing.
src/renderer/modals/editConnection/view.ts Adds “Enable for Power Platform API” checkbox and footer button tweaks.
src/renderer/modals/addConnection/view.ts Adds “Enable for Power Platform API” checkbox and footer button tweaks.
src/renderer/index.html Adds MCP button, MCP-enabled filters, split layout containers/divider, and notification bell/badge markup.
src/renderer/icons/light/mcp.svg Adds MCP icon (light).
src/renderer/icons/light/logs.svg Adds logs icon (light).
src/renderer/icons/dark/mcp.svg Adds MCP icon (dark).
src/renderer/icons/dark/logs.svg Adds logs icon (dark).
src/renderer/constants/index.ts Registers the MCP icon in activity bar icon loading list.
src/main/toolPreloadBridge.ts Exposes Power Platform API client surface; adds PP API connection fields; enriches launch context metadata.
src/main/preload.ts Adds split layout, MCP server, and agent invocation APIs to renderer preload bridge.
src/main/notificationPreload.ts Adds notification history actions to notification window preload API.
src/main/modalPreload.ts Adds app registration config + clipboard/notification utils for modals.
src/main/mcp/schemaConverter.ts New converter from PPTB schema to JSON schema for MCP/tool surfaces.
src/main/mcp/agentToolRegistry.ts New registry for agent-invokable tools based on installed manifests/config.
src/main/managers/trayManager.ts Adds MCP server start/stop + status to tray menu (with refresh).
src/main/managers/toolsManager.ts Adds MCP headless flag propagation and local-tool uninstall behavior change.
src/main/managers/toolRegistryManager.ts Adds MCP headless flag detection/propagation and safe uninstall guard.
src/main/managers/terminalManager.ts Hardens executable blocking (normalized candidates) and exports test utilities.
src/main/managers/settingsManager.ts Adds MCP access token generation + preview-feature migration + defaults.
src/main/managers/protocolHandlerManager.ts Updates protocol listener docs/behavior when protocol is disabled.
src/main/managers/headlessToolInvocationManager.ts New headless job tracking/execution state machine with TTL cleanup.
src/main/managers/encryptionManager.ts Avoids decryption attempts on non-canonical base64 inputs.
src/main/managers/dataverseManager.ts Type rename and formatting cleanup in operation URL construction.
src/main/managers/browserManager.ts Type rename (DataverseConnectionConnection) and import ordering cleanup.
src/main/managers/autoUpdateManager.ts Adds app-update.yml presence validation before update checks/download/scheduling.
src/main/constants.ts Expands blocked terminal commands list (node/dotnet/conhost/start etc.).
src/common/types/tool.ts Adds PP API feature flag and MCP headless-enabled flag on tools/manifests.
src/common/types/settings.ts Adds preview feature flag system, MCP token, and split divider persistence fields; type rename to Connection.
src/common/types/connection.ts Renames and expands connection type to include PP API fields; updates type guard + parsing.
src/common/ipc/channels.ts Adds channels for PP API requests, MCP server, agent logs, split layout, and MCP token retrieval.
src/cli/index.ts Adds initial CLI scaffold for headless operation (placeholder commands).
src/cli/constants.ts Adds CLI constants, commands, and exit codes.
RELEASE_NOTES.md Bumps release notes to 1.2.4 with new highlight set.
README.md Adds links to inter-tool/MCP docs for tool authors.
playwright.config.ts Adds Playwright test configuration for Electron e2e tests.
packages/validation/tsconfig.json Adds TS config for the new @pptb/validate package.
packages/validation/src/npm.ts Adds Node-only npm registry + tarball structure validation helpers.
packages/validation/src/index.ts Exposes validation-only public API surface.
packages/validation/src/cli.ts Adds a CLI entry for validation package checks.
packages/validation/package.json Adds the new @pptb/validate package manifest.
packages/types/toolboxAPI.d.ts Extends tool API types for invocation metadata + connection type rename.
packages/types/pptbConfig.d.ts Adds agents contract typing for MCP/agent invocation.
packages/types/package.json Bumps version and adds dependency on @pptb/validate (see review comment).
packages/types/index.d.ts Adds powerplatform API references/exports and adjusts export order.
packages/types/dataverseAPI.d.ts Adds globalThis.dataverseAPI typing for headless usage.
packages/types/bin/pptb-validate.js Adds a bin wrapper that invokes @pptb/validate/cli.
packages/lib/validate.js Updates validation JS to include new agents + PP API feature flag validations.
package.json Bumps app version; adds CLI bin, build:cli, test scripts, and Jest/Playwright deps.
jest.config.ts Adds Jest configuration with ts-jest and Electron/electron-store mocks.
docs/MCP_TOOL_AUTHOR_MIGRATION.md Adds tool author migration guidance for MCP agent invocation.
docs/MCP_HEADLESS_UNATTENDED_IMPLEMENTATION.md Documents the headless/unattended MCP execution plan and architecture.
docs/LOGGING_BEST_PRACTICES.md Adds guidance for redacting invocation logs.
docs/INTER_TOOL_INVOCATION.md Adds MCP agentic invocation section and reorganizes examples.
buildScripts/electron-builder-win.json Removes MSI wrapped target (Windows packaging adjustment).
.gitignore Ignores Playwright test results output directory.
.github/workflows/test.yml Adds CI workflows for Jest unit tests and Playwright Electron e2e tests.
.github/workflows/prod-release.yml Adds Windows app-update.yml validation step; fixes types version path.
.github/workflows/nightly-release.yml Adds Windows app-update.yml validation step.
.github/workflows/bundle-size.yml Prevents commenting on forks; makes bundle-size comment sticky/updatable.
.github/workflows/build.yml Fixes types version path; makes preflight comment sticky/updatable and adjusts permissions.
.github/pull_request_template.md Replaces template with structured checklist (summary/testing/architecture/etc.).
.github/plans/plan-mcp-headless-unattended-execution.md Adds a phased plan doc for headless MCP execution.
Comments suppressed due to low confidence (2)

src/renderer/modals/selectMultiConnection/controller.ts:487

  • Avoid console.error in production modal scripts. If you want to surface authentication failures, prefer the existing modal feedback UI or the app notification system rather than logging to the console.
    packages/types/package.json:27
  • @pptb/types depends on @pptb/validate with a version range (^0.0.2) that does not satisfy the workspace package version (packages/validation is 1.0.0). In a pnpm workspace this prevents local linking and will attempt to fetch from the registry instead, breaking installs/builds.

Comment on lines 166 to 170
} catch (error) {
captureException("Failed to load README", error);
console.error("Failed to load README", error);
readmeContainer.textContent = "Unable to load README.";
}
};
Comment on lines 347 to 351
} catch (error) {
captureException('Error connecting:', error);
console.error('Error connecting:', error);
button.disabled = false;
button.textContent = originalText;
}
Comment on lines +99 to +108
/**
* Determine whether the installed app has the updater metadata electron-updater needs.
*/
private canCheckForUpdates(): boolean {
if (!app.isPackaged) {
return false;
}

return fs.existsSync(this.appUpdateConfigPath);
}
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