Conversation
Port agents and skills from PowerToys for automated PR and issue workflows, generalized for any repository: Agents (8): ReviewPR, FixPR, TriagePR, ReviewIssue, PlanIssue, FixIssue, IssueToPR, ReviewTheReview Skills (10): pr-review (13-dimension analysis), pr-fix, pr-rework (iterative review-fix-build loops), pr-triage, issue-review, issue-fix, issue-review-review, issue-to-pr-cycle, continuous-issue-triage, parallel-job-orchestrator Key generalizations: - Auto-detect owner/repo via gh CLI (Get-RepoSlug helper) - Build commands use existing BuildAll.ps1 - Worktree scripts use existing worktree-manager skill - Review dimension 10 rewritten for C++/WinRT + WIL patterns - All 13 review dimensions updated with WinAppSDK-specific checks - No hardcoded repo references; fully portable Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bump AppLifecycleContract from v2 to v3 and expose a public constructor on AppActivationArguments(ExtendedActivationKind, IInspectable) so callers can create instances directly for activation redirection scenarios without relying on internal factory methods. Fixes #6075
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a public WinRT constructor to
AppActivationArgumentsso callers can create instances directly for activation redirection scenarios (e.g.,RedirectActivationToAsync) without relying on internal factory methods.Fixes #6075
Changes
API surface (
dev/AppLifecycle/AppLifecycle.idl)AppLifecycleContractfromcontractversion(2)tocontractversion(3)AppActivationArguments(ExtendedActivationKind kind, IInspectable data)constructor gated to[contract(AppLifecycleContract, 3)]Implementation (
dev/AppLifecycle/AppActivationArguments.h)= deleteon the default constructor (the WinRT factory needs it)factory_implementationnamespace with the required factory structFactory wiring (
dev/AppLifecycle/AppActivationArguments.cpp— new file).g.cppto provide thewinrt_make_factory function that the WinRT projection calls when consumers invoke the new public constructorBuild system (
dev/AppLifecycle/AppLifecycle.vcxitems)AppActivationArguments.cppto the shared items projectMotivation
Issue #6075 (and companion #6074) describe a gap where
AppActivationArgumentshad no public constructor, making it impossible for developers to construct custom activation args for scenarios like:AppInstance.RedirectActivationToAsync()with modified or synthetic activation dataThe existing internal constructors were only accessible from within the SDK.
Validation
BuildAll.ps1 -Platform x64 -Configuration Release— ✅ passes (exit code 0)AppLifecycleContractv3; existing v1/v2 consumers are unaffectedRisk
Low — additive API surface only. The new constructor delegates to the same field assignments used by existing internal code paths.
A microsoft employee must use /azp run to validate using the pipelines below.
WARNING: Comments made by azure-pipelines bot maybe inaccurate. Please see pipeline link to verify that the build is being ran.
For status checks on the main branch, please use TransportPackage-Foundation-PR and run the build against your PR branch with the default parameters.