Skip to content

Commit cf9aae6

Browse files
amitjoshi438amitjoshiashwani123psparrow1303tyaginidhi
authored
[May Release 2025] Merge Commits from Main (#1194)
* Refactor PowerPagesChatParticipant and add CommandRegistry (#1050) Co-authored-by: amitjoshi <[email protected]> * [PowerPage][Copilot] Nl2Site and Nl2Page Service Integration for Site Create (#1053) * Refactor PowerPagesChatParticipantConstants and add NL2PAGE and NL2SITE constants * Refactor PowerPagesChatParticipantConstants and add new page types * Update constants and move telemetry to different file * Refactor and add getCommonHeaders function --------- Co-authored-by: amitjoshi <[email protected]> * Corrected scope of PPAPI access token for preprod env (#1055) Co-authored-by: Ashwani Kumar <[email protected]> * Hook for create site command with nl2page&site (#1057) * Hook for create site command with nl2page&site * Disable any type validation * Refactor PowerPagesChatParticipantConstants and CreateSiteCommand - Add NL2SITE_GENERATING_SITE constant for generating a new Power Pages site - Update progress message in CreateSiteCommand to use NL2SITE_GENERATING_SITE constant - Remove unnecessary markdown formatting in CreateSiteHelper error handling * Refactor localization files and update Power Pages chat participant utils * Refactor NL2SiteService and Nl2PageService to include additional telemetry logging --------- Co-authored-by: amitjoshi <[email protected]> Co-authored-by: tyaginidhi <[email protected]> * Add environment list retrieval and refactor BAP endpoint logic (#1060) * Add environment list retrieval and refactor BAP endpoint logic * Add type annotation for environment list retrieval in Utils.ts * Update src/common/utilities/Utils.ts Co-authored-by: Priyanshu Agrawal <[email protected]> * Refactor BAP environment list URL to use a variable for API version and update imports in Utils.ts --------- Co-authored-by: amitjoshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * [PowerPages][create-site] Preview and Edit Site Page and Command Registration (#1061) * Enhance CreateSiteCommand to include extension context and add ReadonlyFileSystemProvider for site page previews * Implement EditableFileSystemProvider for site page editing and update CreateSiteHelper to utilize it * Integrate CreateSiteCommand into CommandRegistry and update related components for site creation functionality * Disable copy functionality in EditableFileSystemProvider implementation * Remove ReadonlyFileSystemProvider implementation * Add telemetry constant for previewing site pages and refactor related components * Refactor CommandRegistry and add command registration utility for chat participants * Add constants for site creation parameters and refactor NL2SiteService to use them * Refactor CreateSiteCommand and CreateSiteHelper to use structured options and improve readability; add CreateSiteTypes for better type management * Add error telemetry constant for previewing site pages and handle errors in previewSitePagesContent function * Rename fileContentMap to _fileContentMap for consistency and clarity in EditableFileSystemProvider * Remove unused getUpdatedPageContent function from CreateSiteHelper to streamline code * Add ESLint disable comments for any type usage in CreateSiteHelper and CreateSiteTypes --------- Co-authored-by: amitjoshi <[email protected]> * Bump cross-spawn (#1059) Bumps and [cross-spawn](https://github.com/moxystudio/node-cross-spawn). These dependencies needed to be updated together. Updates `cross-spawn` from 7.0.3 to 7.0.6 - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6) Updates `cross-spawn` from 6.0.5 to 7.0.6 - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump CLI version from 1.35.1 to 1.37.4 (#1065) Co-authored-by: amitjoshi <[email protected]> * December Release Notes (#1066) * add release note * fix typo --------- Co-authored-by: Sandeep Satheesh <[email protected]> * Remove unused command from package.json (#1070) Removing the command `extension.createChatView` from package.json as it is registered but there is no handler associated with it. * Fix error type for concurrency handler (#1071) Fixes the error throws in case of bulk header rejection * Add code coverage output folder in gitignore (#1072) Adding the code coverage output folder `.nyc_ouput` folder in `.gitignore` so that it doesn't show up in `git diff` after running code coverage command. * Refactor CLI Acquisition Context (#1074) * Refactor CLI Acquisition Context * Fix import * Add tests * [PowerPages] [Create-Site] Implement multi-step site creation with enhanced input handling (#1063) * Enhance CreateSiteCommand to include extension context and add ReadonlyFileSystemProvider for site page previews * Implement EditableFileSystemProvider for site page editing and update CreateSiteHelper to utilize it * Integrate CreateSiteCommand into CommandRegistry and update related components for site creation functionality * Disable copy functionality in EditableFileSystemProvider implementation * Remove ReadonlyFileSystemProvider implementation * Add telemetry constant for previewing site pages and refactor related components * Refactor CommandRegistry and add command registration utility for chat participants * Add constants for site creation parameters and refactor NL2SiteService to use them * Refactor CreateSiteCommand and CreateSiteHelper to use structured options and improve readability; add CreateSiteTypes for better type management * Add error telemetry constant for previewing site pages and handle errors in previewSitePagesContent function * Rename fileContentMap to _fileContentMap for consistency and clarity in EditableFileSystemProvider * Implement multi-step input for site creation and register command for user inputs in CreateSiteHelper * Enhance copilot availability checks and update response structure in ArtemisService * Add site creation inputs and environment info interfaces; refactor CreateSiteCommand * Update src/common/chat-participants/powerpages/commands/create-site/CreateSiteTypes.ts Co-authored-by: Priyanshu Agrawal <[email protected]> * Update src/common/chat-participants/powerpages/commands/create-site/CreateSiteHelper.ts Co-authored-by: Priyanshu Agrawal <[email protected]> * Update src/common/chat-participants/powerpages/commands/create-site/CreateSiteHelper.ts Co-authored-by: Priyanshu Agrawal <[email protected]> * Add eslint directives to suppress no-explicit-any warnings in site page handling --------- Co-authored-by: amitjoshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * Fix accessibility issue in Pages Copilot pane (#1076) Fix accessibility issue in `Send` button in Power Pages Copilot pane. Updated the `aria-label` to `Send` instead of `Match Case` * Fix casing of OrgUrl to orgUrl in site creation input handling (#1077) Co-authored-by: amitjoshi <[email protected]> * Add test scripts in .vscode\tasks.json (#1078) To be able to easily run tests from VS Code, added test scripts in `tasks.json` * Remove redundant step from gulp file (#1079) The step `testWeb` is redundant as the step `testUnitTests` already includes the test pattern defined in `testWeb` step. Hence, removing it from gulp config. * Added site runtime preview code behind ECS Config (#1052) * Added site runtime preview code behind ECS Config * localization added and moved preview site code to separate file * fixed build failures and handled empty website recordID * Corrected website details ppapi service for runtime preview * merged main branch to runtimePreviewECS * correcting function call for runtime preview * corrected localised error * removed bug of no show command found * Launch Edge new tab instead of launching project --------- Co-authored-by: Ashwani Kumar <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * Hide preview site command from palette when feature is disabled (#1080) * Enhance feedback interaction by adding keyboard accessibility for thumbs up/down buttons (#1082) Co-authored-by: amitjoshi <[email protected]> * Add conditional visibility for Current Active Users command in web virtual workspace and remove alt cmds (#1083) Co-authored-by: amitjoshi <[email protected]> * Handle null language code for content snippets and update query parameters in portal schema (#1086) Co-authored-by: amitjoshi <[email protected]> * Enhance accessibility by adding ARIA attributes and keyboard navigation support (#1085) Co-authored-by: amitjoshi <[email protected]> * Enhance accessibility by adding ARIA attributes and making thinking message focusable (#1087) Co-authored-by: amitjoshi <[email protected]> * Add sovereign cloud endpoints for PPAPI service (#1081) * Site Preview Enhancements: Clear cache and telemetry logging (#1088) * Enhance accessibility by improving focus styles and adding ARIA attributes in notification panel (#1089) Co-authored-by: amitjoshi <[email protected]> * Actions Hub: Implement base classes to show tree structure (#1090) * Add models for Actions Hub * Basic wireup * Add models * ToDo * Remove foo environment * Remove error * Refactor * Add translations * Add tests * Add tree item for No sites found * Add translations * Added changes for orgGeo (#1093) * Refactor: Move actions-hub and preview-site folder under power-pages (#1092) * Refactor: Move actions-hub and preview-site folder under power-pages * Remove unwanted file * Refactor * Add PPAPI to known words * Disable actions hub by default * Web Extension: Remove dependency on website preview URL (#1091) * Web Extension: Remove dependency on website preview URL * Translations * Web Extension: Fix file opening for media files (#1094) Using `vscode.open` API to open the default file instead of `window.showTextDocument` because `showTextDocument` doesn't open binary files to it was failing to open non-text files. * Bump CLI version from 1.37.4 to 1.39.3 (#1095) * Fix environment icon for dark mode (#1097) * Fix environment icon for dark mode * Refactor * Fix test * fix screen reader issue in copilot chat (#1100) Co-authored-by: Sandeep Satheesh <[email protected]> * add focus ring (#1099) Co-authored-by: Sandeep Satheesh <[email protected]> * add release notes (#1101) Co-authored-by: Sandeep Satheesh <[email protected]> * Site Preview: Initialize after ECS fetch (#1102) * Site Preview: Initialize after ECS fetch * Set context after loading website URL * Add source attribute handling and telemetry for invalid attributes in web extension (#1105) * Add source attribute handling and telemetry for invalid attributes in web extension * Refactor source attribute handling in processDataAndCreateFile function --------- Co-authored-by: amitjoshi <[email protected]> * Enhance Actions Hub with environment support and unit tests (#1098) * Enhance Actions Hub: Add support for environment retrieval and localization updates * Add unit tests for ActionsHubTreeDataProvider functionality --------- Co-authored-by: amitjoshi <[email protected]> * Fix A11y bug (#1108) * Actions Hub: Add toggle based on ECS (#1107) * Add feature flag for Actions Hub * Refactor * Fix errors * Fix errors * Add unit tests * [PowerPages] [Site Preview] Simplify preview functionality (#1109) * Refactor telemetry handling by removing ITelemetry parameter from functions (#1110) * Refactor telemetry handling by removing ITelemetry parameter from sendTelemetryEvent and related functions * Refactor: Remove telemetry parameter from getEndpoint and related functions * Refactor: Remove telemetry parameter from authentication functions and related calls * Refactor: Remove telemetry parameter from getArtemisResponse call in activate function * Refactor: Remove telemetry parameter from various authentication and service calls --------- Co-authored-by: amitjoshi <[email protected]> * Webpack: Ignore warnings (#1113) * Run desktop integration tests in CI (#1114) * Run desktop integration tests in CI * Run desktop test only on Windows * Enhance Actions Hub with environment retrieval and refresh functionality (#1111) * Enhance Actions Hub: Add support for environment retrieval and localization updates * Add unit tests for ActionsHubTreeDataProvider functionality * Add AuthManager class and AuthInfo interface for authentication handling * Enhance authentication handling: Add auth info extraction and update environment info retrieval in Actions Hub * Add refresh command and event handling for Actions Hub environment changes * Refactor ActionsHubTreeDataProvider: Manual refresh should trigger Pac * Remove AuthManager class and related authentication logic * Add error handling to refresh command in ActionsHubTreeDataProvider * RemoveDependencyOnOldTelemetryCluster * Refactor ActionsHubTreeDataProvider tests to include PacTerminal in initialization * Remove telemetry dependency from intelligence API endpoint retrieval * Refactor telemetry handling by removing ITelemetry parameter from sendTelemetryEvent and related functions * Refactor: Remove telemetry parameter from getEndpoint and related functions * Refactor: Remove telemetry parameter from authentication functions and related calls * Refactor telemetry event assertion in AuthenticationProvider tests * Refactor: Remove telemetry parameter from getArtemisResponse call in activate function * Refactor: Remove telemetry parameter from various authentication and service calls * Refactor: Rename AuthManager to PacAuthManager for consistency * Refactor: Use pacWrapper for activeAuth retrieval in ActionsHubTreeDataProvider * Add ACTIONS_HUB_REFRESH_FAILED constant and update error logging in ActionsHubTreeDataProvider * Remove unused AuthInfo interface from Constants.ts * Refactor ActionsHub initialization by removing authentication handling and simplifying the process * Add localization for expired environment message and update refresh title --------- Co-authored-by: amitjoshi <[email protected]> * Remove old telemetry usage (#1112) * Remove old telemetry usage * Remove more usage * Remove more usage * Remove more usage * Remove more usage * Fix tests * Fix typo * Comment tests * Refactor Actions Hub and Preview Site initialization logic (#1115) * [PowerPages][Actions Hub] Toggle to Change Environment (#1119) * Add switch environment functionality to Actions Hub * Update icon for switch environment command in Actions Hub * Update translation for switch environment title to "Change Environment" * Add tests for switch environment command registration and error handling * Remove redundant error handling tests for switch environment and refresh commands * Refactor command names to include namespace for actions in Actions Hub * Update refresh command registration to include namespace in Actions Hub tests --------- Co-authored-by: amitjoshi <[email protected]> * Bump serialize-javascript, gulp-mocha and mocha (#1120) Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) to 6.0.2 and updates ancestor dependencies [serialize-javascript](https://github.com/yahoo/serialize-javascript), [gulp-mocha](https://github.com/sindresorhus/gulp-mocha) and [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together. Updates `serialize-javascript` from 5.0.1 to 6.0.2 - [Release notes](https://github.com/yahoo/serialize-javascript/releases) - [Commits](yahoo/serialize-javascript@v5.0.1...v6.0.2) Updates `gulp-mocha` from 8.0.0 to 10.0.1 - [Release notes](https://github.com/sindresorhus/gulp-mocha/releases) - [Commits](sindresorhus/gulp-mocha@v8.0.0...v10.0.1) Updates `mocha` from 9.2.2 to 11.1.0 - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md) - [Commits](mochajs/mocha@v9.2.2...v11.1.0) --- updated-dependencies: - dependency-name: serialize-javascript dependency-type: indirect - dependency-name: gulp-mocha dependency-type: direct:development - dependency-name: mocha dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [Power Pages][Actions Hub] Add "Show Environment Details" to Actions Hub (#1118) * [Power Pages][Actions Hub] Add "Show Environment Details" to Actions Hub * [PowerPages][Actions Hub] Update icon for switch environment command * [PowerPages][Actions Hub] Remove refresh command from Actions Hub navigation * Fix order * Update translation identifiers and fix newline in localization files * Refactor Actions Hub commands and extract command handlers into a new file * Add tests for switchEnvironment command * [PowerPages][ActionsHub] - Show Active and Inactive Sites (#1117) * show active and inactive sites in actions hub view * add integration tests for actions hub * [Power Pages][Actions Hub] Add NoSitesTreeItem to handle empty site groups * [Power Pages][Actions Hub] Update website details property names to PascalCase and change collapsible state to expanded * Refactor environment handling: rename method for clarity, improve error handling, and streamline environment selection process * Update localization strings for environment selection and session details * Refactor authentication and organization data structures; update TypeScript configuration and remove unused PacAuthManager * Add ArtemisContext for managing service responses; update ActionsHub and related components to utilize new context --------- Co-authored-by: Sandeep Satheesh <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * [PowerPages][Actions Hub] Add Instance URL to Environment Details (#1122) * Add 'isCurrent' property and description to site tree items (#1123) * Update ArtemisService URLs to use production segment for GCC, high, mooncake, and DOD environments (#1121) Co-authored-by: amitjoshi <[email protected]> * [PowerPages][Actions Hub] Add commands to open active and inactive site in PP Studio (#1124) * [PowerPages][Actions Hub] Add commands to open active and inactive sites in Power Pages Studio * Refactor studio URL handling to use constants for endpoints * Add localization entries for "Current" and "Instance url" in JSON and XLF files * Refactor studio URL generation to include environment ID and add openInactiveSitesInStudio function * [Power Pages][Actions Hub] Add ability to preview active sites in VS Code (#1127) * Add preview command and siteInfo property to SiteTreeItem * Add unit tests for PreviewSite.isSiteRuntimePreviewEnabled method * Refactor PreviewSite initialization and loadSiteUrl method; update tests for loadSiteUrl functionality * Add tests for ActionsHubTreeDataProvider.getChildren method; mock website data for active and inactive sites * Add mocks for active and all websites in ActionsHubTreeDataProvider tests * Refactor site context values to distinguish between current and non-current active sites; update related tests * Add websiteId property to IWebsiteInfo interface and update related tree item implementations * Update walkthrough title to use h4 and enhance focus indicator for accessibility (#1125) Co-authored-by: amitjoshi <[email protected]> * Add new command to create authentication profile and handle errors in actions hub (#1128) * Add new command to create authentication profile and handle errors in actions hub * Refactor tests for ActionsHubCommandHandlers and ActionsHubTreeDataProvider to improve argument validation and remove unnecessary assertions * Stub AuthInfo and OrgInfo getters in ActionsHubTreeDataProvider tests to improve test reliability * Remove redundant test for creating new auth profile in ActionsHubCommandHandlers * Fix async initialization in ActionsHub and streamline environment info handling in ActionsHubTreeDataProvider * Implement createAuthProfileExp function and add tests for authentication profile creation * Refactor createAuthProfileExp function import path and add new utility file for authentication profile creation * Add tests for ActionsHubTreeDataProvider to validate site retrieval and error handling * Remove redundant tests from ActionsHubTreeDataProvider for getChildren method * Refactor import path for createAuthProfileExp to new utility file in PacAuthUtil * Remove tests for PacAuthUtils as part of code cleanup * Add comment to clarify DV authentication requirement in createNewAuthProfile --------- Co-authored-by: amitjoshi <[email protected]> * [Power Pages][Actions Hub] Show current site (#1129) * Refactor site context handling and update site data types for improved clarity * Refactor website data handling to use IWebsiteDetails and streamline site fetching logic * Refactor import statements in ActiveGroupTreeItem, EnvironmentGroupTreeItem, and InactiveGroupTreeItem for improved organization and clarity * Refactor import statements in InactiveGroupTreeItem for improved organization * Add tests for PacContext and improve context update logic * Add tests for previewSite functionality in ActionsHubCommandHandlers * Add fetchWebsites function and related tests for website retrieval logic * Add tests for ActiveGroupTreeItem and update siteInfo assertions * Add tests for ActionsHubTreeDataProvider to verify website loading logic * Add websiteid to VSCode settings for improved configuration * Refactor ActionsHubTreeDataProvider to simplify loadWebsites method and improve refresh logic * Refactor CurrentSiteContext to utilize utility functions for website YAML handling and improve code clarity * Refactor ActionsHubTreeDataProvider to streamline website loading logic and improve refresh handling * [Power Pages][Actions Hub] Update "Change environment" option to match Figma (#1130) * [Power Pages][Actions Hub] Update "Change environment" option to match Figma * Add test for environment switching in Actions Hub command handlers * Refactor environment switching to use detailed description and enhance test coverage for environment selection * Refactor tests for ActionsHubTreeDataProvider by removing redundant cases and ensuring proper stubbing of fetchWebsites * Disable website loading in ActionsHubTreeDataProvider tests to ensure empty result for specific scenarios * [Power Pages][Actions Hub] Add revealInOS command for current active site and update translations (#1131) * Refactor website details to use camelCase properties and add siteVisibility field (#1133) * [Power Pages][Actions Hub] Update command references for authentication profile (#1132) * [Power Pages][Actions Hub] Update command references for authentication profile * Update command reference for new authentication profile in ActionsHubTreeDataProvider test --------- Co-authored-by: amitjoshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * [Power Pages][Actions Hub] Add open site management functionality (#1136) * [Power Pages][Actions Hub] Add open site management functionality * Update translation for "Open Site Management" to use lowercase in localization files * [PowerPages][ActionsHub] Upload site command with visibility confirmation (#1134) * Refactor website details to use camelCase properties and add siteVisibility field * [Power Pages][Actions Hub] Add upload site command with confirmation dialog * [Power Pages][Actions Hub] Implement upload site command with confirmation dialog and tests * [Power Pages][Actions Hub] Add site visibility check before upload confirmation dialog * [Power Pages][Actions Hub] Enhance upload site command to handle public and private site visibility * Update login message links and adjust Actions Hub feature gate settings * [Power Pages][Actions Hub] Update upload site tests to use warning message and reset stubs * Refactor upload site tests to use showInformationMessage and remove unnecessary stubs * Refactor uploadSite tests to use showInformationMessage and handle site visibility for public and private sites * Refactor uploadSite test to remove unused showInformationMessage stub * ``` Refactor uploadSite tests to improve clarity and maintainability ``` * Stub showInformationMessage in ActionsHubCommandHandlers tests for improved test isolation * Refactor ActionsHubCommandHandlers tests to improve test isolation by removing unused stubs and enhancing setup * Refactor test setup in ActionsHubCommandHandlers for improved isolation --------- Co-authored-by: Priyanshu Agrawal <[email protected]> Co-authored-by: amitjoshi <[email protected]> * Update login command reference and add upload site title in localization file (#1138) Co-authored-by: amitjoshi <[email protected]> * [Power Pages] Add title for Copilot feedback Submit button (#1139) * [PowerPages] [Actions Hub] Add support for other sites in Actions Hub (#1140) * Add support for other sites in Actions Hub and update related interfaces * Update tests for OtherSitesGroupTreeItem and ActionsHubTreeDataProvider to include handling of other sites * Refactor findOtherSites function to accept fs and yaml modules as parameters for improved testability * Add mockFs and mockYaml to ActionsHubCommandHandlers tests for improved isolation * Remove test for YAML parsing errors in ActionsHubCommandHandlers to streamline error handling * Disable Actions Hub Panel by default in fallback configuration * Clarify comment on dataModelVersion in OtherSitesGroupTreeItem to specify defaulting behavior for other sites * Add js-yaml dependency and update YAML parsing in WorkspaceInfoFinderUtil * Remove yaml dependency from package.json and package-lock.json * Replace js-yaml with yaml package and update YAML parsing methods * Refactor findOtherSites and createKnownSiteIdsSet to use Set for known site IDs * Refactor findOtherSites and createKnownSiteIdsMap to use Set for known site IDs --------- Co-authored-by: amitjoshi <[email protected]> * [Power Pages][Actions Hub] Add site details command (#1141) * [Power Pages][Actions Hub] Add site details command * Add openSiteManagement function with error handling and tests * Fix menu item order * [Power Pages] [Actions Hub] Add download site command to Actions Hub (#1143) * [Power Pages][Actions Hub] Add download site command * Add tests * [PowerPages][ActionsHub] Upload functionality for other sites (#1144) * [Power Pages] Enhance upload functionality to support other sites in Actions Hub * [Power Pages] Enhance uploadSite functionality with confirmation handling and error management * [Power Pages][Actions Hub] Refactor test setup by removing unused stubs in ActionsHubCommandHandlers tests * [Power Pages][Actions Hub] Remove unused error handling test for uploadSite and update data model version for other sites * [Power Pages][Actions Hub] Remove unused test for upload handling of other sites in ActionsHubCommandHandlers --------- Co-authored-by: amitjoshi <[email protected]> * [Power Pages] [Actions Hub] Add 'Open in Power Pages Studio' command (#1145) * [Power Pages][Preview Site] Show notification when previewing site with pending changes (#1146) * [Power Pages][Preview Site] Show notification when previewing site with pending changes * [Power Pages][Localization] Update localization strings for site preview notifications * [Power Pages][Preview Site] Enhance site preview functionality with site visibility and upload path adjustments * [Power Pages][PacInterop] Update PAC executable path to use dynamic CLI path * Refactor uploadSite function calls to include an empty string parameter for consistency * Refactor uploadSite to use logical OR for websitePath fallback * [Power Pages] [Actions Hub] Enhance revealInOS command to support other sites (#1147) * [Power Pages] [Actions Hub] Initialize OrgChangeNotifier instance in activate function for all workspaces (#1148) Co-authored-by: amitjoshi <[email protected]> * [Power Pages] [Actions Hub] Handle null or undefined labels in ActionsHubTreeItem (#1149) * [Power Pages] [Actions Hub] Handle null or undefined labels in ActionsHubTreeItem * [Power Pages] [Actions Hub] Refactor isCurrent logic and enhance tests for ActiveGroupTreeItem * Fix typos and improve file path handling in tests (#1151) - ✏️ Corrected spelling of "Pattern" in test names - 🔧 Updated file path handling to use vscode.Uri.file - 📂 Simplified file path construction for better readability -Priyanshu * Remove outline from feedback button styles (#1150) - ✨ Removed the outline property from button styles for improved accessibility. -Priyanshu * [Power Pages] [Copilot] Add localization for Copilot response and code block messages; enhance accessibility with live regions for screen readers (#1152) Co-authored-by: amitjoshi <[email protected]> * Fix typos in OneDSLogger and oneDSLoggerWrapper (#1153) - ✏️ Corrected spelling of 'initialize' in OneDSLogger and oneDSLoggerWrapper classes - 🔧 Updated variable name from 'oneDSLoggerIntance' to 'oneDSLoggerInstance' for consistency -Priyanshu * Enhance website management features (#1155) - ✨ Added new properties `createdOn` and `creator` to website details. - 🔄 Refactored site visibility handling to use an enum. - 🛠️ Updated various components to utilize new properties. - ✅ Enhanced tests to cover new functionality. -Priyanshu * [Powerpages][ActionsHub]Sort active websites by creation date in fetchWebsites function (#1156) * Sort active websites by creation date in fetchWebsites function * Refactor website sorting logic to use a dedicated function for sorting by creation date --------- Co-authored-by: amitjoshi <[email protected]> * [Power Pages][Actions Hub] Add unit tests (#1157) * Add unit tests for getActiveWebsites function - 🧪 Implement tests for calling PPAPIService.getAllWebsiteDetails with correct parameters. - ✅ Validate return values from PPAPIService for active websites. - 🛠️ Handle empty array responses from PPAPIService. - 🚨 Ensure errors from PPAPIService are propagated correctly. -Priyanshu * Update getAppModules to accept accessToken parameter - 🔧 Modified getAppModules function to accept accessToken as a parameter. - 🔄 Updated getAllWebsites to pass accessToken when calling getAppModules. - 📜 Adjusted related API calls to ensure proper token usage. -Priyanshu * Add coding and test guidelines to documentation (#1158) This commit introduces a comprehensive set of coding and test instructions to ensure consistency and quality in the codebase. - 📜 Added coding guidelines including naming conventions and style rules. - 🧪 Included test instructions for writing and running tests effectively. -Priyanshu * Bump CLI version to 1.40.4 (#1159) Bump CLI version to latest * [Power Pages][Actions Hub] Enhance telemetry logging and error handling (#1161) * Enhance telemetry logging and error handling - ✨ Added `getBaseEventInfo` function for enriched telemetry data. - 🔧 Updated logging in `ActionsHub`, `ActionsHubCommandHandlers`, and `ActionsHubTreeDataProvider` to include event info. - 🐛 Improved error handling in `fetchWebsites` and `loadWebsites` methods. - ✅ Added unit tests for `getBaseEventInfo` and updated existing tests for logging changes. -Priyanshu * Enhance telemetry and error handling - ✨ Added OS detection in telemetry events. - 🔧 Improved logging for environment switching and site management actions. - 🐛 Fixed error handling in various command handlers. - 📜 Updated constants for new telemetry events. - 🧪 Added tests for telemetry helper functions. -Priyanshu * Refactor telemetry test for clarity - 🧹 Remove unused OS import from TelemetryHelper.test.ts - 🔄 Rename 'siteId' to 'currentSiteId' for consistency in event info - ✅ Update test assertions to reflect the new naming - 🧪 Ensure tests maintain expected behavior after changes -Priyanshu * Add tenantId to event info and update tests - ✨ Added tenantId to the event info in getBaseEventInfo. - 🔧 Updated tests to include tenantId in various scenarios. - 🧪 Enhanced test stubs for AuthInfo to ensure accurate testing. - 📜 Improved test coverage for cases with undefined values. - 🛠️ Fixed formatting issues in TelemetryHelper.ts. -Priyanshu * Enhance telemetry and localization support - ✨ Added new localization strings for environment changes, site visibility, creator, and created date. - 🔧 Refactored telemetry helper to remove OS dependency and improve event info structure. - 🧪 Updated tests to reflect changes in telemetry event info and removed OS checks. -Priyanshu * Close existing Edge DevTools before launching preview (#1163) - 🔧 Added a method to close existing Edge DevTools tabs before launching a new preview. - 🚀 Updated the site preview command to ensure no duplicate DevTools instances are open. -Priyanshu * Add preview message for published changes (#1164) - ✨ Added a new message for the preview indicating that it shows published changes. - 🔧 Updated localization files to include the new message. - 📜 Modified the Constants and PreviewSite files to utilize the new message. -Priyanshu * [Power Pages][Actions Hub] Refactor telemetry logging (#1167) * Refactor telemetry logging in Actions Hub - 🔄 Replaced oneDSLoggerWrapper with direct calls to traceInfo and traceError in ActionsHubCommandHandlers. - 🧪 Updated TelemetryHelper to utilize oneDSLoggerWrapper for logging. - ✅ Enhanced unit tests for TelemetryHelper to verify logging behavior. - 🔧 Adjusted context population in OneDSLogger for tenantId. -Priyanshu * Remove console log from telemetry event - 🧹 Removed unnecessary console log statement for telemetry events to clean up output. - 🔒 Ensured sensitive data redaction remains intact after event enrichment. -Priyanshu * Update CHANGELOG.md (#1168) * Update CHANGELOG.md * Update CHANGELOG for version 2.0.82 * Enhance spell check words and clean activation events (#1169) - ✏️ Added additional words to the cSpell configuration. - 🗑️ Removed unused activation events from package.json. -Priyanshu * Add download site folder configuration and description (#1170) - ✨ Introduced a new configuration for the download site folder. - 📝 Added a description for the download site folder setting in localization files. - 🔧 Updated the logic to check for a configured download path in the ActionsHub command handlers. -Priyanshu * [Power Pages] Refactor PortalWebView to use new utility function (#1172) * Refactor PortalWebView to use new utility function - 🔄 Replace `searchPortalConfigFolder` with `findWebsiteYmlFolder` for improved folder detection. - 🔧 Update logic to handle active text editor and reveal the panel correctly. - 📂 Simplify local resource root folder setup. -Priyanshu * Add error message for missing website root folder - ✏️ Added a new error message for when the website root folder cannot be located in the localization files. - 📜 Updated the XLF translation file to include the new message. -Priyanshu * Bump PAC version to 1.41.1 (#1173) Bump PAC version to 1.41.1 * Update CHANGELOG.md (#1174) * Bump koa from 2.14.2 to 2.16.1 (#1177) Bumps [koa](https://github.com/koajs/koa) from 2.14.2 to 2.16.1. - [Release notes](https://github.com/koajs/koa/releases) - [Changelog](https://github.com/koajs/koa/blob/master/History.md) - [Commits](koajs/koa@2.14.2...v2.16.1) --- updated-dependencies: - dependency-name: koa dependency-version: 2.16.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Enhance package.json by adding new categories and keywords for improved discoverability and updating Copilot description for Power Pages (#1175) Co-authored-by: Amit Joshi <[email protected]> * Bump axios, @fluidframework/azure-client and fluid-framework (#1178) Bumps [axios](https://github.com/axios/axios) to 1.8.4 and updates ancestor dependencies [axios](https://github.com/axios/axios), [@fluidframework/azure-client](https://github.com/microsoft/FluidFramework/tree/HEAD/packages/service-clients/azure-client) and [fluid-framework](https://github.com/microsoft/FluidFramework/tree/HEAD/packages/framework/fluid-framework). These dependencies need to be updated together. Updates `axios` from 0.28.0 to 1.8.4 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v0.28.0...v1.8.4) Updates `@fluidframework/azure-client` from 1.2.0 to 2.31.1 - [Release notes](https://github.com/microsoft/FluidFramework/releases) - [Changelog](https://github.com/microsoft/FluidFramework/blob/main/packages/service-clients/azure-client/CHANGELOG.md) - [Commits](https://github.com/microsoft/FluidFramework/commits/client_v2.31.1/packages/service-clients/azure-client) Updates `fluid-framework` from 1.4.0 to 2.31.1 - [Release notes](https://github.com/microsoft/FluidFramework/releases) - [Changelog](https://github.com/microsoft/FluidFramework/blob/main/packages/framework/fluid-framework/CHANGELOG.md) - [Commits](https://github.com/microsoft/FluidFramework/commits/client_v2.31.1/packages/framework/fluid-framework) --- updated-dependencies: - dependency-name: axios dependency-version: 1.8.4 dependency-type: indirect - dependency-name: "@fluidframework/azure-client" dependency-version: 2.31.1 dependency-type: direct:production - dependency-name: fluid-framework dependency-version: 2.31.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add environment initialization context (#1176) - ✨ Added 'microsoft.powerplatform.environment.initialized' context for command execution in activate function. - 🔧 Updated command execution on organization change error to ensure actions hub initialization. -Priyanshu * Enhance context management for auth and actions hub (#1179) - ✨ Set context for auth panel initialization. - 🔄 Update loading state context for actions hub websites. - 🛠️ Improve conditional enablement for UI elements. -Priyanshu * [PowerPages][Web] PPHome Launch Error Page fix for V1 (#1180) * Add REFERRER enum and update PortalsFS to handle referrer logic * Update PortalsFS to handle referrer logic based on portal version * Fix comment to clarify behavior when referrer is power pages home and DM is V1 * Add spacing for REFERRER enum declaration for consistency --------- Co-authored-by: Amit Joshi <[email protected]> * show outline for focused link. (#1181) * [PowerPages][ActionsHub][Enable Actions Hub Panel in VS Code Desktop (#1182) * Enable Actions Hub Panel in VS Code Desktop * Fix ActionsHub enabling logic to return true when undefined * Fix test assertion for ActionsHub enabling logic to return true when undefined --------- Co-authored-by: Amit Joshi <[email protected]> * Added sessionId support to Power Pages actions (#1186) * Implement authentication enhancements and update createNewAuthProfile to accept orgUrl (#1187) * Implement authentication enhancements and update createNewAuthProfile to accept orgUrl * Add comment to clarify error handling for user consent in bapServiceAuthentication * Fix auth * Update comment * load websites * Use basic auth when creating new auth profile * Rename method * Fix unit tests * Update unit tests * Add global auth for web extension --------- Co-authored-by: Amit Joshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * Refactor panel registration in PAC Activity Bar and Terminal for improved ECS initialization handling (#1188) * Refactor panel registration in PAC Activity Bar and Terminal for improved ECS initialization handling * Remove RegisterPanels function from PacActivityBarUI - 🗑️ Deleted the RegisterPanels function that combined basic and copilot panels. - 🔧 Simplified panel registration by directly using individual registration functions. -Priyanshu * Refactor copilot panel registration logic for improved clarity and reuse --------- Co-authored-by: Amit Joshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * Bump CLI version from 1.41.1 to 1.42.1 (#1190) Co-authored-by: Amit Joshi <[email protected]> * [PowerPages][GitHub Copilot] Refactor endpoint initialization logic to use cached data and improve efficiency (#1191) * Refactor endpoint initialization logic to use cached data and improve efficiency * Refactor getEndpoint function to remove cachedEndpoint parameter and streamline endpoint retrieval --------- Co-authored-by: Amit Joshi <[email protected]> * [Power Pages] [Copilot] Implement Copilot Governance Check feature and telemetry updates (#1171) * Implement Copilot Governance Check feature and related telemetry events * Refactor Copilot governance check feature and update related settings * Add TODO comment to review governance endpoints in PPAPIService * Refactor governance flag retrieval to use workspace folder path directly and update response handling * Refactor CurrentSiteContext to utilize getCurrentSiteInfo utility and update PPAPIService to fetch website ID accordingly * Add websiteId parameter to PowerPagesCopilot and update related services for improved governance checks for web copilot * Update governance endpoint construction in PPAPIService to use website details and modify response handling in sendApiRequest * Update governance endpoint construction in PPAPIService to use website details and modify response handling in sendApiRequest * Remove hardcoded test AIB endpoint from sendApiRequest function * Fix sendApiRequest to use the correct aibEndpoint variable for API requests * Add governance settings to telemetry and API service for Pro Dev Copilot * Fix casing of CopilotGovernanceSetting to copilotGovernanceSetting in feature flags * Add governance settings to telemetry data and update sendTelemetryEvent calls * Refactor governance flag check to handle multiple string representations * Fix formatting and governance checks in services - ✨ Adjusted formatting in OneDSLogger for clarity. - 🔧 Added a missing line break in PPAPIService. - 🔄 Updated governance check conditions in PPAPIService. -Priyanshu * Passing website for desktop during copilot panel initialization. * Refactor governance settings to use constant for Copilot governance configuration * Update COPILOT_GOVERNANCE_SETTING_NAME to allow makers for existing sites * Refactor endpoint initialization logic to use cached data and improve efficiency * Update PowerPagesChatParticipant instantiation to include websiteId * Refactor getEndpoint function to remove cachedEndpoint parameter and streamline endpoint retrieval * Refactor ICurrentSiteContext interface and remove redundant definition from constants * Add unit tests for PPAPIService to validate API interactions and governance flag logic * update telemetry event value --------- Co-authored-by: Amit Joshi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> * [Power Pages][Actions Hub] Configure upload and download site command for code sites (#1192) * Update the logic to find other sites using new .powerpages-site metadata folder. - ✨ Introduced a new constant for the Power Pages site folder. - 🔧 Updated logic in findOtherSites to check for the existence of the new folder. - 🛠️ Enhanced condition to ensure siteTreeItem is defined before accessing its properties. -Priyanshu * Refactor createKnownSiteIdsSet function declaration - 🔧 Changed the export declaration of createKnownSiteIdsSet to a regular function declaration. - 📦 No functional changes were made to the logic. - -Priyanshu * Enhance Power Pages site management features - ✨ Added `isCodeSite` property to various site-related models. - 🔧 Updated logic to handle code sites in site download commands. - 📈 Introduced new API paths for managing Power Pages site settings. - 🛠️ Refactored site fetching logic to incorporate new settings. -Priyanshu * Add upload code site functionality and related updates - ✨ Implemented `uploadCodeSite` function for uploading code sites. - 🔧 Updated `uploadOtherSite` and `uploadCurrentSite` to handle code sites. - 📦 Added constants for error messages related to code site uploads. - 🔍 Enhanced `getCurrentSiteInfo` to find Power Pages site folder. - 🛠️ Introduced `findPowerPagesSiteFolder` utility function. -Priyanshu * Update CHANGELOG for pac CLI 1.42.1 release and authentication flow improvements (#1193) * Update CHANGELOG for pac CLI 1.42.1 release and authentication flow improvements * Add Download/Upload support for code sites in Actions hub to CHANGELOG --------- Co-authored-by: Amit Joshi <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: amitjoshi <[email protected]> Co-authored-by: Ashwani Kumar <[email protected]> Co-authored-by: Ashwani Kumar <[email protected]> Co-authored-by: tyaginidhi <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sandeep Satheesh <[email protected]> Co-authored-by: Sandeep Satheesh <[email protected]> Co-authored-by: Priyanshu Agrawal <[email protected]> Co-authored-by: BidishaMS <[email protected]>
1 parent c561284 commit cf9aae6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1390
-333
lines changed

.vscode/settings.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
{
22
"cSpell.words": [
33
"appmoduleid",
4+
"appmodules",
45
"ation",
56
"contentsnippet",
67
"createdon",
78
"dataverse",
9+
"edgedevtools",
810
"entityrecord",
911
"Entra",
1012
"fileicons",
@@ -24,11 +26,16 @@
2426
"powerapps",
2527
"powerpages",
2628
"powerpagesiteid",
29+
"powerpagesites",
2730
"powerplatform",
31+
"PPAC",
2832
"PPAPI",
2933
"primarydomainname",
3034
"Puid",
3135
"readlines",
36+
"sitesettings",
37+
"statecode",
38+
"systemuserid",
3239
"testorg",
3340
"uniquename",
3441
"webfile",

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Change Log - Power Platform Extension
22

3+
## 2.0.84
4+
- pac CLI 1.42.1, (see release notes on [nuget.org](https://www.nuget.org/packages/Microsoft.PowerApps.CLI/))
5+
- Download/Upload support for code sites in Actions hub.
6+
- Accessibility enhancements
7+
- Improved efficiency of @powerpages calls.
8+
- Bug Fixes
9+
- Updated authentication flow for VS Code desktop.
10+
311
## 2.0.82
412
- pac CLI 1.41.1, (March 2025 refresh, see release notes on [nuget.org](https://www.nuget.org/packages/Microsoft.PowerApps.CLI/))
513
- Accessibility enhancements
@@ -15,7 +23,7 @@
1523
- Fixed a minor content snippets related bug
1624

1725
## 2.0.76
18-
- pac CLI 1.37.4, (November 2024 refresh, see release notes on [nuget.org](https://www.nuget.org/packages/Microsoft.PowerApps.CLI/))
26+
- pac CLI 1.37.4, (November 2024 refresh, see release notes on [nuget.org](https://www.nuget.org/packages/Microsoft.PowerApps.CLI/))
1927

2028
## 2.0.74
2129
- pac CLI 1.35.1, (September 2024 refresh, see release notes on [nuget.org](https://www.nuget.org/packages/Microsoft.PowerApps.CLI/))

gulpfile.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ async function snapshot() {
339339
}
340340
}
341341

342-
const cliVersion = '1.41.1';
342+
const cliVersion = '1.42.1';
343343

344344
const recompile = gulp.series(
345345
clean,

l10n/bundle.l10n.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"Preview site URL is not valid": "Preview site URL is not valid",
1111
"Opening preview site...": "Opening preview site...",
1212
"Power Pages studio URL is not available": "Power Pages studio URL is not available",
13-
"Microsoft wants your feeback": "Microsoft wants your feeback",
13+
"Microsoft wants your feedback": "Microsoft wants your feedback",
1414
"Check the URL and verify the parameters are correct": "Check the URL and verify the parameters are correct",
1515
"Unable to complete the request": "Unable to complete the request",
1616
"One or more attribute names have been changed or removed. Contact your admin.": "One or more attribute names have been changed or removed. Contact your admin.",
@@ -135,6 +135,7 @@
135135
"Your preview isn't updated. Please upload your site to see the latest changes.": "Your preview isn't updated. Please upload your site to see the latest changes.",
136136
"Upload changes": "Upload changes",
137137
"The preview shown is for published changes. Please publish any pending changes to see them in the preview.": "The preview shown is for published changes. Please publish any pending changes to see them in the preview.",
138+
"Please login to preview the site.": "Please login to preview the site.",
138139
"Enter the name of the web template": "Enter the name of the web template",
139140
"Please enter a name for the web template.": "Please enter a name for the web template.",
140141
"A webtemplate with the same name already exists. Please enter a different name.": "A webtemplate with the same name already exists. Please enter a different name.",
@@ -205,14 +206,23 @@
205206
"Site Details": "Site Details",
206207
"Browse...": "Browse...",
207208
"Select the folder that will contain your project root for your site": "Select the folder that will contain your project root for your site",
209+
"Select the folder that contains your compiled output": "Select the folder that contains your compiled output",
208210
"Select Folder": "Select Folder",
209211
"Environment changed successfully.": "Environment changed successfully.",
212+
"Please select the folder that contains your compiled output to upload your site.": "Please select the folder that contains your compiled output to upload your site.",
213+
"Upload failed. Please try again later.": "Upload failed. Please try again later.",
210214
"Timestamp: {0}/{0} is the timestamp": {
211215
"message": "Timestamp: {0}",
212216
"comment": [
213217
"{0} is the timestamp"
214218
]
215219
},
220+
"Session ID: {0}/{0} is the Session ID": {
221+
"message": "Session ID: {0}",
222+
"comment": [
223+
"{0} is the Session ID"
224+
]
225+
},
216226
"Tenant ID: {0}/{0} is the Tenant ID": {
217227
"message": "Tenant ID: {0}",
218228
"comment": [

loc/translations-export/vscode-powerplatform.xlf

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,8 @@ Return to this chat and @powerpages can help you write and edit your website cod
353353
<trans-unit id="++CODE++8a194d5287e3da019883144787cd5f282753f5ce892d933be0833b3818c25503">
354354
<source xml:lang="en">Maximum 30 characters allowed</source>
355355
</trans-unit>
356-
<trans-unit id="++CODE++7fcd8b1c5225f7d9a771a4a02ca3e4795c3c9202cf2b3c3c879c625abb8b43e4">
357-
<source xml:lang="en">Microsoft wants your feeback</source>
356+
<trans-unit id="++CODE++b1c8258fb401975727a82d9ce473af0a600f076cc7b73dbd16524e815cf4153d">
357+
<source xml:lang="en">Microsoft wants your feedback</source>
358358
</trans-unit>
359359
<trans-unit id="++CODE++a253ff09c5a8678e1fd1962b2c329245e139e45f9cc6ced4e5d7ad42c4108fc0">
360360
<source xml:lang="en">NEW</source>
@@ -460,6 +460,12 @@ The {3} represents Dataverse Environment's Organization ID (GUID)</note>
460460
<trans-unit id="++CODE++7f6276dc63b573d177b7d6e17f787b108e3c8c7d449324ac13a6d06b1be59d8e">
461461
<source xml:lang="en">Please enter a name for the webpage.</source>
462462
</trans-unit>
463+
<trans-unit id="++CODE++6355962eca901310bd24d2142605263344a3f09fb4fc30fc0f9dcf4cd56bf534">
464+
<source xml:lang="en">Please login to preview the site.</source>
465+
</trans-unit>
466+
<trans-unit id="++CODE++f413d35f48356c6c13c6c9d8947f011221acb3bea7d0ce74eb2f5ed217f26bad">
467+
<source xml:lang="en">Please select the folder that contains your compiled output to upload your site.</source>
468+
</trans-unit>
463469
<trans-unit id="++CODE++1bac158cc07a75506df3774db0ad7c188c19ccad4943c4cf03da8b6700ef9ce4">
464470
<source xml:lang="en">Power Pages Copilot is now connected to the environment: {0} : {1}</source>
465471
<note>{0} represents the environment name</note>
@@ -500,6 +506,9 @@ The {3} represents Dataverse Environment's Organization ID (GUID)</note>
500506
<trans-unit id="++CODE++87468e6a845b82466220c11dd0ca315a4389dc1cb8e0ee102035bb4ce5cb7e39">
501507
<source xml:lang="en">Select an environment</source>
502508
</trans-unit>
509+
<trans-unit id="++CODE++259b03b37447930b5127e28e350f988803a3047bbb0c7be4441c7da4f9b517d4">
510+
<source xml:lang="en">Select the folder that contains your compiled output</source>
511+
</trans-unit>
503512
<trans-unit id="++CODE++26297069e403c73e147151f2964757b7e9149762cf3a8e04ffd833907fb979e4">
504513
<source xml:lang="en">Select the folder that will contain your project root for your site</source>
505514
</trans-unit>
@@ -512,6 +521,10 @@ The {3} represents Dataverse Environment's Organization ID (GUID)</note>
512521
<trans-unit id="++CODE++142027a259879fdd2b6410360a9cd3798f433c2fc5668bb685dd4ff513072e16">
513522
<source xml:lang="en">Session Details</source>
514523
</trans-unit>
524+
<trans-unit id="++CODE++08b44927dd7cd913d5c36c74e3ccf55ef966b6c2f067b173fbbe4e3c32f30d15">
525+
<source xml:lang="en">Session ID: {0}</source>
526+
<note>{0} is the Session ID</note>
527+
</trans-unit>
515528
<trans-unit id="++CODE++899fb203e6c2faac8093e21a2fa8db0d4b13d16ea5492461d8b72dbcee3ecf2a">
516529
<source xml:lang="en">Show Output Panel</source>
517530
</trans-unit>
@@ -613,6 +626,9 @@ The {3} represents Dataverse Environment's Organization ID (GUID)</note>
613626
<trans-unit id="++CODE++7fce0124a7cb74955461f08e39ceaaed1e2850492f077f4e6defd82ef3ca6b0e">
614627
<source xml:lang="en">Upload changes</source>
615628
</trans-unit>
629+
<trans-unit id="++CODE++8a91e7caf57148c6be78b3986477464b36f0282a9e9a09b635b0db4fe6246132">
630+
<source xml:lang="en">Upload failed. Please try again later.</source>
631+
</trans-unit>
616632
<trans-unit id="++CODE++696d5f7b79a75961bc5d99ecbbea7b535acc73160e0b6422daa45b0ae7c04368">
617633
<source xml:lang="en">User: {0}</source>
618634
<note>The {0} represents auth profile's user name (email address))</note>
@@ -791,7 +807,7 @@ The second line should be '[TRANSLATION HERE](command:microsoft.powerplatform.pa
791807
</trans-unit>
792808
<trans-unit id="pacCLI.authPanel.welcome.whenInteractiveNotSupported">
793809
<source xml:lang="en">No auth profiles found on this computer.
794-
Interactive Authentication is not availalbe for remote scenarios; auth profiles must be created by the command line. The `--deviceCode` flow must be used for users with MFA requirements, or whose tenants use ADFS.
810+
Interactive Authentication is not available for remote scenarios; auth profiles must be created by the command line. The `--deviceCode` flow must be used for users with MFA requirements, or whose tenants use ADFS.
795811
[View Auth Profile Help](command:pacCLI.pacAuthHelp)</source>
796812
<note>This is a Markdown formatted string, and the formatting must persist across translations.
797813
The second line should not translate the argument `--deviceCode`

package.nls.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
]
2121
},
2222
"pacCLI.authPanel.welcome.whenInteractiveNotSupported": {
23-
"message": "No auth profiles found on this computer.\nInteractive Authentication is not availalbe for remote scenarios; auth profiles must be created by the command line. The `--deviceCode` flow must be used for users with MFA requirements, or whose tenants use ADFS.\n[View Auth Profile Help](command:pacCLI.pacAuthHelp)",
23+
"message": "No auth profiles found on this computer.\nInteractive Authentication is not available for remote scenarios; auth profiles must be created by the command line. The `--deviceCode` flow must be used for users with MFA requirements, or whose tenants use ADFS.\n[View Auth Profile Help](command:pacCLI.pacAuthHelp)",
2424
"comment": [
2525
"This is a Markdown formatted string, and the formatting must persist across translations.",
2626
"The second line should not translate the argument `--deviceCode`",

src/client/extension.ts

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,17 @@ import { ActionsHub } from "./power-pages/actions-hub/ActionsHub";
4747
import { extractAuthInfo, extractOrgInfo } from "./power-pages/commonUtility";
4848
import PacContext from "./pac/PacContext";
4949
import ArtemisContext from "./ArtemisContext";
50+
import { RegisterBasicPanels, RegisterCopilotPanels } from "./lib/PacActivityBarUI";
51+
import { PacWrapper } from "./pac/PacWrapper";
52+
import { authenticateUserInVSCode } from "../common/services/AuthenticationProvider";
53+
import { PROVIDER_ID } from "../common/services/Constants";
5054

5155
let client: LanguageClient;
5256
let _context: vscode.ExtensionContext;
5357
let htmlServerRunning = false;
5458
let yamlServerRunning = false;
59+
let copilotPanelsRegistered = false;
60+
let copilotPanelsDisposable: vscode.Disposable[] = [];
5561

5662

5763
export async function activate(
@@ -66,6 +72,14 @@ export async function activate(
6672
"pac.userId": readUserSettings().uniqueId
6773
});
6874

75+
_context.subscriptions.push(
76+
vscode.authentication.onDidChangeSessions(async (event) => {
77+
if (event.provider.id === PROVIDER_ID) {
78+
await authenticateUserInVSCode(true);
79+
}
80+
})
81+
);
82+
6983
// Setup context switches
7084
if (
7185
vscode.env.remoteName === undefined ||
@@ -85,6 +99,8 @@ export async function activate(
8599
);
86100
}
87101

102+
await authenticateUserInVSCode(); //Authentication for extension
103+
88104
// portal web view panel
89105
_context.subscriptions.push(
90106
vscode.commands.registerCommand(
@@ -159,6 +175,11 @@ export async function activate(
159175
_context.subscriptions.push(cli);
160176
_context.subscriptions.push(pacTerminal);
161177

178+
// Register auth and env panels
179+
const pacWrapper = pacTerminal.getWrapper();
180+
const basicPanels = RegisterBasicPanels(pacWrapper);
181+
_context.subscriptions.push(...basicPanels);
182+
162183
let copilotNotificationShown = false;
163184

164185
const workspaceFolders = getWorkspaceFolders();
@@ -194,6 +215,7 @@ export async function activate(
194215
}
195216

196217
if (EnvID && TenantID && AadObjectId) {
218+
// Initialize ECS features client
197219
await ECSFeaturesClient.init(
198220
{
199221
AppName: PowerPagesAppName,
@@ -204,6 +226,9 @@ export async function activate(
204226
Location: getECSOrgLocationValue(clusterName, clusterNumber)
205227
},
206228
PowerPagesClientName, true);
229+
230+
// Register copilot panels only after ECS initialization is complete
231+
registerCopilotPanels(pacWrapper);
207232
}
208233

209234
oneDSLoggerWrapper.instantiate(geoName, geoLongName);
@@ -241,8 +266,11 @@ export async function activate(
241266
}),
242267

243268
orgChangeErrorEvent(async () => {
244-
//Even if auth change was unsuccessful, we should still initialize the actions hub
245-
await ActionsHub.initialize(context, pacTerminal);
269+
// Register copilot panels even if org change was unsuccessful
270+
registerCopilotPanels(pacWrapper);
271+
272+
// Even if auth change was unsuccessful, we should still initialize the actions hub
273+
await ActionsHub.initialize(_context, pacTerminal);
246274

247275
vscode.commands.executeCommand('setContext', 'microsoft.powerplatform.environment.initialized', true);
248276
})
@@ -450,3 +478,22 @@ function showNotificationForCopilot(telemetryData: string, countOfActivePortals:
450478
}
451479

452480
}
481+
482+
/**
483+
* Registers copilot panels if they haven't been registered yet
484+
* @param pacWrapper The PAC wrapper instance
485+
*/
486+
function registerCopilotPanels(pacWrapper: PacWrapper): void {
487+
if (!copilotPanelsRegistered) {
488+
// Dispose previous copilot panel registrations if they exist
489+
for (const disposable of copilotPanelsDisposable) {
490+
disposable.dispose();
491+
}
492+
copilotPanelsDisposable = [];
493+
494+
// Use RegisterCopilotPanels to register all copilot-related panels
495+
copilotPanelsDisposable = RegisterCopilotPanels(pacWrapper, _context);
496+
_context.subscriptions.push(...copilotPanelsDisposable);
497+
copilotPanelsRegistered = true;
498+
}
499+
}

src/client/lib/PacActivityBarUI.ts

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,44 @@ import { AuthTreeView } from './AuthPanelView';
99
import { EnvAndSolutionTreeView } from './EnvAndSolutionTreeView';
1010
import { PowerPagesCopilot } from '../../common/copilot/PowerPagesCopilot';
1111
import { PowerPagesChatParticipant } from '../../common/chat-participants/powerpages/PowerPagesChatParticipant';
12+
import { getCurrentSiteInfo } from '../power-pages/actions-hub/CurrentSiteContext';
1213

13-
export function RegisterPanels(pacWrapper: PacWrapper, context: vscode.ExtensionContext): vscode.Disposable[] {
14+
/**
15+
* Registers authentication and environment panels that don't require ECS initialization
16+
* @param pacWrapper - The PAC wrapper instance
17+
* @returns Array of disposable objects
18+
*/
19+
export function RegisterBasicPanels(pacWrapper: PacWrapper): vscode.Disposable[] {
1420
const authPanel = new AuthTreeView(() => pacWrapper.authList(), pacWrapper);
1521
const envAndSolutionPanel = new EnvAndSolutionTreeView(
1622
() => pacWrapper.orgList(),
1723
(environmentUrl) => pacWrapper.solutionListFromEnvironment(environmentUrl),
1824
authPanel.onDidChangeTreeData,
1925
pacWrapper);
2026

21-
const copilotPanel = new PowerPagesCopilot(context.extensionUri, context, pacWrapper);
27+
return [authPanel, envAndSolutionPanel];
28+
}
29+
30+
/**
31+
* Registers copilot related panels that require ECS initialization
32+
* @param pacWrapper - The PAC wrapper instance
33+
* @param context - The VS Code extension context
34+
* @returns Array of disposable objects
35+
*/
36+
export function RegisterCopilotPanels(pacWrapper: PacWrapper, context: vscode.ExtensionContext): vscode.Disposable[] {
37+
38+
const siteInfo = getCurrentSiteInfo();
39+
const websiteId = siteInfo.currentSiteId;
40+
2241

23-
const powerPagesChatParticipant = PowerPagesChatParticipant.getInstance(context, pacWrapper);
42+
const copilotPanel = new PowerPagesCopilot(context.extensionUri, context, pacWrapper, undefined, websiteId ?? undefined);
43+
const powerPagesChatParticipant = PowerPagesChatParticipant.getInstance(context, pacWrapper, websiteId ?? undefined);
2444

2545
vscode.window.registerWebviewViewProvider('powerpages.copilot', copilotPanel, {
2646
webviewOptions: {
2747
retainContextWhenHidden: true,
2848
},
2949
});
3050

31-
return [authPanel, envAndSolutionPanel, copilotPanel, powerPagesChatParticipant];
51+
return [copilotPanel, powerPagesChatParticipant];
3252
}

src/client/lib/PacTerminal.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import * as path from 'path';
77
import * as vscode from 'vscode';
88
import * as os from 'os'
99
import { PacInterop, PacWrapper } from '../pac/PacWrapper';
10-
import { RegisterPanels } from './PacActivityBarUI';
1110
import { PacWrapperContext } from '../pac/PacWrapperContext';
1211
import { RegisterUriHandler } from '../uriHandler';
1312

@@ -64,7 +63,6 @@ export class PacTerminal implements vscode.Disposable {
6463
}
6564
}));
6665

67-
this._cmdDisposables.push(...RegisterPanels(this._pacWrapper, context));
6866
this._cmdDisposables.push(RegisterUriHandler(this._pacWrapper));
6967
}
7068

0 commit comments

Comments
 (0)