mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 01:36:31 +02:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request When creating/editing a Paste AI provider in Settings, providers that don’t require an endpoint (e.g., Google/Gemini) could still end up persisting the Azure OpenAI placeholder (https://your-resource.openai.azure.com/) into settings.json. ### Fix: - On save, for service types that don’t use an endpoint, prevent placeholder/stale values from being persisted by forcing endpoint-url to be empty. - Reuse a single “requires endpoint” check so the dialog visibility and save behavior stay consistent. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #44243 <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed ## AI Generated Note: This pull request refactors and improves how endpoint handling is managed for different AI service types in the `AdvancedPastePage.xaml.cs` file. The changes centralize the logic for determining whether an endpoint is required, prevent persisting placeholder or stale endpoint values for services that do not use them, and ensure placeholder values are only provided where appropriate. **Refactoring and logic centralization:** * Introduced the `RequiresEndpointForService` helper method to centralize and clarify the logic for determining if a service type requires an endpoint, replacing inline checks in multiple places. [[1]](diffhunk://#diff-14126907329c7fcd49dd33bab32283296c7dd68ddc3902163a482a3b3ce58d36L317-R317) [[2]](diffhunk://#diff-14126907329c7fcd49dd33bab32283296c7dd68ddc3902163a482a3b3ce58d36R838-R845) **Improved endpoint value handling:** * Updated the dialog logic to ensure that endpoints are not persisted for services that do not require them, preventing storage of placeholder or irrelevant values. * Modified the `GetEndpointPlaceholder` method to return an empty string for service types that do not require an endpoint, rather than a generic placeholder.