Skip to content

Conversation

@amitjoshi438
Copy link
Contributor

@amitjoshi438 amitjoshi438 commented Jul 24, 2025

This pull request introduces significant updates to the Power Platform VS Code extension, including architectural documentation, bug fixes, feature enhancements, and improved test coverage. The most notable changes include the addition of a comprehensive architecture overview, updates to support new environments, and fixes for user-reported issues. Below is a categorized summary of the most important changes:

Documentation and Architecture Updates:

  • Replaced the "Coding Guidelines" section in .github/copilot-instructions.md with an "Architecture Overview" and detailed descriptions of the extension's key components, critical patterns, development workflows, and testing patterns. This provides a clearer understanding of the extension's structure and development processes.

Environment and Dependency Updates:

  • Added support for .NET 9 in the GitHub Actions workflow (.github/workflows/PullRequest.yml) to align with new dependencies.
  • Updated the pac CLI version from 1.44.2 to 1.45.3 in gulpfile.mjs and documented this change in CHANGELOG.md. [1] [2]

Bug Fixes and Feature Enhancements:

  • Fixed an issue in ActionsHubCommandHandlers.ts where inactive site URLs were incorrectly handled by initializing empty URLs when none were provided.
  • Enhanced PPAPIService to support additional environments (e.g., HIGH, DOD, MOONCAKE) by updating endpoint mappings and adding corresponding tests. [1] [2] [3] [4]

Telemetry and Logging Improvements:

  • Added a new telemetry event WEB_EXTENSION_DUPLICATE_FOLDER_NAME_CREATED to track duplicate folder creation in web extensions.

Security and Code Quality:

  • Addressed CodeQL warnings in copilot.js by adding comments to indicate that no user input is used in dynamically generated HTML content. [1] [2] [3]

These updates enhance the extension's functionality, improve its reliability, and provide better support for developers working in diverse environments.

amitjoshi438 and others added 30 commits October 25, 2024 11:09
… 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]>
* 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

* 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]>
…stration (#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]>
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>
* add release note

* fix typo

---------

Co-authored-by: Sandeep Satheesh <[email protected]>
Removing the command `extension.createChatView` from package.json as it is registered but there is no handler associated with it.
Fixes the error throws in case of bulk header rejection
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

* Fix import

* Add tests
…hanced 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 `Send` button in Power Pages Copilot pane. Updated the `aria-label` to `Send` instead of `Match Case`
To be able to easily run tests from VS Code, added test scripts in `tasks.json`
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

* 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]>
…rtual workspace and remove alt cmds (#1083)

Co-authored-by: amitjoshi <[email protected]>
…butes in notification panel (#1089)

Co-authored-by: amitjoshi <[email protected]>
* 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
amitjoshi438 and others added 23 commits May 12, 2025 12:55
…mprovements (#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]>
Bump PAC version to 1.43.6
* [Power Pages] Enhance authentication flow with login button and improved error messaging

* [Power Pages] Integrate user authentication in VSCode and enhance API request handling

* Update authentication messages for clarity in localization files

---------

Co-authored-by: Amit Joshi <[email protected]>
* Fix: Update preprod studio endpoint to use test endpoint

* Fix: Update URLs in ActionsHubCommandHandlers tests to use test environment

---------

Co-authored-by: Amit Joshi <[email protected]>
- ✨ Added environment parameter to OneDSLogger and oneDSLoggerWrapper constructors.
- 🔧 Updated instantiation calls to include environment information in telemetry logs.
- 📈 Improved logging context for better tracking of telemetry data.

-Priyanshu
… powerpages.config.json (#1204)

* Add Power Pages configuration handling

- ✨ Introduced IPowerPagesConfig and IPowerPagesConfigData interfaces for configuration structure.
- 🛠️ Implemented readPowerPagesConfig function to parse the powerpages.config.json file.
- 🔧 Enhanced uploadCodeSite function to utilize configuration data for building upload commands.
- 📜 Added POWER_PAGES_CONFIG_FILE_NAME constant for configuration file name.

-Priyanshu

* Add tests for upload site functionality

- 🧪 Implement test for cancellation of compiledPath selection
- 🐛 Add error handling test during code site upload
- ✅ Ensure proper handling of public site visibility case sensitivity
- -Priyanshu
- 🔧 Updated variable names for clarity in URL generation.
- 🌐 Simplified logic for constructing endpoint URLs.
- 🛠️ Ensured consistency in suffix handling for different environments.

-Priyanshu
- ✨ Introduced JSON schema validation for powerpages.config.json
- 📄 Added URL to the schema store for validation reference

-Priyanshu
update vulnerable packages
* [Power Pages] Add command to reactivate inactive sites in Actions Hub

* Update reactivateSite function to construct correct reactivation URL with dynamic parameters

* Add languageCode property to website models and update related components

* Add reactivation title for inactive sites and improve site reactivation URL construction

* Add languageCode property to Active and Inactive Group Tree Item tests

* Update site reactivation logic and improve error handling; adjust command group and add languageCode to website data

* Fix reactivation site URL parameter for website ID in reactivateSite function

* Fix null handling in getPowerPagesSiteRecords to prevent errors when response data is missing

---------

Co-authored-by: amitjoshi <[email protected]>
….json (#1209)

chore: update release-it to version 19.0.3 in package.json

fix: correct formatting in fileSystemProvider.ts for improved readability

Co-authored-by: Amit Joshi <[email protected]>
…1212)

chore: update pac CLI version to 1.44.2 in changelog and gulpfile

Co-authored-by: Amit Joshi <[email protected]>
chore: update changelog for version 2.0.88

Co-authored-by: Amit Joshi <[email protected]>
…ruction (#1216)

* fix: handle null or undefined siteAddress in reactivateSite URL construction

* fix: ensure siteAddress is set to an empty string for reactivation when null or undefined

---------

Co-authored-by: Amit Joshi <[email protected]>
* Refactor copilot instructions: reorganize architecture overview, development workflows, and coding guidelines

* Add directory structure overview documentation for Power Platform VS Code extension
…ntext (#1221)

* feat: implement webpage duplication handling and related properties in WebExtensionContext

* refactor: simplify webpage duplicate handling and remove unused methods in WebExtensionContext

* refactor: remove webpageName property and related methods from FileData and FileDataMap

* refactor: remove inline duplicate handling comment in createContentFiles function

* feat: add telemetry for duplicate folder name creation and sanitize entity ID in filename

* feat: enhance telemetry for duplicate folder name creation with organization and environment IDs

---------

Co-authored-by: Amit Joshi <[email protected]>
fix: update API endpoints for various service scopes

- 🔧 Updated PPAPI_MOONCAKE_WEBSITES_SERVICE_SCOPE_DEFAULT to use the correct URL.
- 🔧 Added new endpoints for GCC and HIGH service scopes.
- 🔧 Updated DOD service scope endpoint to the correct URL.

-Priyanshu
Bump PAC to 1.45.3
…ower Pages Actions (#1228)

* Update CHANGELOG for pac CLI 1.45.3 and bug fixes in Power Pages Actions

* Fix wording in CHANGELOG for duplicate webpage handling bug

---------

Co-authored-by: Amit Joshi <[email protected]>
@amitjoshi438 amitjoshi438 requested review from a team as code owners July 24, 2025 06:44
@amitjoshi438 amitjoshi438 merged commit 8f395e2 into release/stable Jul 24, 2025
7 checks passed
@amitjoshi438 amitjoshi438 deleted the users/amitjoshi/julyReleaseBranch branch July 24, 2025 07:19
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.

7 participants