[WebInstallAPI] Rewire 0 param installs through manifest URL path [chromium/src : main]

0 views
Skip to first unread message

Lia Hiscock (Gerrit)

unread,
Jul 23, 2026, 2:00:30 PM (4 days ago) Jul 23
to Lu Huang, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
Attention needed from Lu Huang

Lia Hiscock voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Lu Huang
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I1c8e3b2cb4a5e9582f73ddf800fa8e4735222173
Gerrit-Change-Number: 8127883
Gerrit-PatchSet: 8
Gerrit-Owner: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Reviewer: Lu Huang <lu...@microsoft.com>
Gerrit-Attention: Lu Huang <lu...@microsoft.com>
Gerrit-Comment-Date: Thu, 23 Jul 2026 18:00:04 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Lu Huang (Gerrit)

unread,
Jul 24, 2026, 10:59:51 AM (3 days ago) Jul 24
to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
Attention needed from Lia Hiscock

Lu Huang added 4 comments

File chrome/browser/web_applications/web_install_service_impl.cc
Line 529, Patchset 10 (Latest): CHECK(provider);
Lu Huang . unresolved

Since the AreWebAppsUserInstallable()/TriggerInstallNotSupportedDialog() guard now runs later in the flow, can GetForWebApps(provider_profile) return null here? The legacy path reached its CHECK(provider) only after that guard, while the manifest-URL path handles a null provider gracefully. Should this do the same?

Line 587, Patchset 10 (Latest): // Manifest was successfully parsed and meets all web install requirements.
Lu Huang . unresolved

Does this manifest actually meet all install requirements? GetPrimaryPageFirstSpecifiedManifest() does not enforce a valid specified start_url or name like ParseManifestFromStringJob does. Should that required-field validation be shared here, or tracked as a follow-up?

Line 607, Patchset 10 (Latest): const webapps::AppId* app_id =
web_app::WebAppTabHelper::GetAppId(web_contents);
Lu Huang . unresolved

I think WATH::GetAppId uses `FindBestAppWithUrlInScope(url, ...)`.

Should we do this instead for a more precise match using `manifest->id`?

```C++
auto* provider = WebAppProvider::GetForWebContents(web_contents);
CHECK(provider);

std::optional<webapps::AppId> app_id =
IsAppInstalled(*provider, last_committed_url_,
std::make_optional(manifest->id));
```
Line 1045, Patchset 10 (Latest): web_app::WebAppTabHelper::GetAppId(web_contents);
Lu Huang . unresolved

Ditto?

Open in Gerrit

Related details

Attention is currently required from:
  • Lia Hiscock
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I1c8e3b2cb4a5e9582f73ddf800fa8e4735222173
    Gerrit-Change-Number: 8127883
    Gerrit-PatchSet: 10
    Gerrit-Owner: Lia Hiscock <liahi...@microsoft.com>
    Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
    Gerrit-Reviewer: Lu Huang <lu...@microsoft.com>
    Gerrit-CC: Kristin Lee <krist...@microsoft.com>
    Gerrit-Attention: Lia Hiscock <liahi...@microsoft.com>
    Gerrit-Comment-Date: Fri, 24 Jul 2026 14:59:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Lu Huang (Gerrit)

    unread,
    Jul 24, 2026, 12:02:04 PM (3 days ago) Jul 24
    to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
    Attention needed from Lia Hiscock

    Lu Huang added 1 comment

    File third_party/blink/renderer/modules/web_install/navigator_web_install_test.cc
    Line 198, Patchset 10 (Latest): EXPECT_TRUE(tester.IsFulfilled());
    Lu Huang . unresolved

    Could we lock in that a successful zero-argument install no longer exposes manifestId? There does not appear to be a successful-install WPT covering the result shape.

    ```
    ASSERT_TRUE(tester.IsFulfilled());

    DummyExceptionStateForTesting conversion_exception_state;
    WebInstallResult* result =
    NativeValueTraits<WebInstallResult>::NativeValue(
    GetScriptState()->GetIsolate(), tester.Value().V8Value(),
    conversion_exception_state);

    ASSERT_FALSE(conversion_exception_state.HadException());
    ASSERT_TRUE(result);
    EXPECT_FALSE(result->hasManifestId());
    ```

    Gerrit-Comment-Date: Fri, 24 Jul 2026 16:01:36 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Lu Huang (Gerrit)

    unread,
    Jul 24, 2026, 12:05:09 PM (3 days ago) Jul 24
    to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
    Attention needed from Lia Hiscock

    Lu Huang added 1 comment

    File chrome/browser/web_applications/web_install_service_impl.cc
    Line 1045, Patchset 10 (Latest): web_app::WebAppTabHelper::GetAppId(web_contents);
    Lu Huang . unresolved

    Ditto?

    Lu Huang

    Actually, manifest->id is not available here and this should be removed soon anyway.

    Gerrit-Comment-Date: Fri, 24 Jul 2026 16:04:59 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Lu Huang <lu...@microsoft.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Lu Huang (Gerrit)

    unread,
    Jul 24, 2026, 12:08:05 PM (3 days ago) Jul 24
    to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
    Attention needed from Lia Hiscock

    Lu Huang voted and added 1 comment

    Votes added by Lu Huang

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 10 (Latest):
    Lu Huang . resolved

    LGTM for adding reviewers.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Lia Hiscock
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I1c8e3b2cb4a5e9582f73ddf800fa8e4735222173
      Gerrit-Change-Number: 8127883
      Gerrit-PatchSet: 10
      Gerrit-Owner: Lia Hiscock <liahi...@microsoft.com>
      Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
      Gerrit-Reviewer: Lu Huang <lu...@microsoft.com>
      Gerrit-CC: Kristin Lee <krist...@microsoft.com>
      Gerrit-Attention: Lia Hiscock <liahi...@microsoft.com>
      Gerrit-Comment-Date: Fri, 24 Jul 2026 16:07:58 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Lu Huang (Gerrit)

      unread,
      Jul 24, 2026, 1:06:33 PM (3 days ago) Jul 24
      to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
      Attention needed from Lia Hiscock

      Lu Huang added 2 comments

      File chrome/browser/web_applications/web_install_service_impl_unittest.cc
      Line 105, Patchset 10 (Latest): EXPECT_TRUE(future.Wait());
      return future.Get();
      Lu Huang . unresolved

      Nit:

      ```suggestion
      return future.Take();
      ```
      Line 115, Patchset 10 (Latest): EXPECT_TRUE(future.Wait());
      return future.Get();
      Lu Huang . unresolved

      Nit:

      ```suggestion
      return future.Take();
      ```
      Gerrit-Comment-Date: Fri, 24 Jul 2026 17:06:20 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Lu Huang (Gerrit)

      unread,
      Jul 24, 2026, 1:08:33 PM (3 days ago) Jul 24
      to Lia Hiscock, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
      Attention needed from Lia Hiscock

      Lu Huang added 1 comment

      File chrome/browser/web_applications/web_install_service_impl_unittest.cc
      Line 105, Patchset 10 (Latest): EXPECT_TRUE(future.Wait());
      return future.Get();
      Lu Huang . unresolved

      Nit:

      ```suggestion
      return future.Take();
      ```
      Lu Huang

      Take includes a CHECK for success -

      Take() → TakeTuple() → Wait() → CHECK(success)

      Gerrit-Comment-Date: Fri, 24 Jul 2026 17:08:05 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Lu Huang <lu...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Lia Hiscock (Gerrit)

      unread,
      Jul 26, 2026, 1:38:14 PM (15 hours ago) Jul 26
      to Lu Huang, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
      Attention needed from Lu Huang

      Lia Hiscock added 9 comments

      File chrome/browser/web_applications/web_install_service_impl.cc
      Line 529, Patchset 10: CHECK(provider);
      Lu Huang . resolved

      Since the AreWebAppsUserInstallable()/TriggerInstallNotSupportedDialog() guard now runs later in the flow, can GetForWebApps(provider_profile) return null here? The legacy path reached its CHECK(provider) only after that guard, while the manifest-URL path handles a null provider gracefully. Should this do the same?

      Lia Hiscock

      yeah...this should only be an issue if web apps are somehow not enabled in both the original and the calling profiles...according to copilot "some system, kiosk, or unusual embedder-created profiles"...still unclear on those other profiles, but yeah i switched to an abort error

      Line 587, Patchset 10: // Manifest was successfully parsed and meets all web install requirements.
      Lu Huang . unresolved

      Does this manifest actually meet all install requirements? GetPrimaryPageFirstSpecifiedManifest() does not enforce a valid specified start_url or name like ParseManifestFromStringJob does. Should that required-field validation be shared here, or tracked as a follow-up?

      Lia Hiscock

      Thanks for the callout. I ended up switching `GetPrimaryPageFirstSpecifiedManifest` to `CheckInstallabilityAndRetrieveManifest`, as that's what's eventually used by `FetchManifestAndInstallCommand`, so it'll get us the closest parity for data errors, as it's not just missing/mismatched manifest id.

      e.g. A manifest without a valid icon should also produce a data error in incognito, since that's what would happen in a regular profile. Added `WebInstallPrivacyInvariantTest` coverage for these data errors.

      LMK (or @krist...@microsoft.com i guess) if there are any other things you can think that we should specifically be pre-validating here!

      Line 607, Patchset 10: const webapps::AppId* app_id =
      web_app::WebAppTabHelper::GetAppId(web_contents);
      Lu Huang . resolved

      I think WATH::GetAppId uses `FindBestAppWithUrlInScope(url, ...)`.

      Should we do this instead for a more precise match using `manifest->id`?

      ```C++
      auto* provider = WebAppProvider::GetForWebContents(web_contents);
      CHECK(provider);

      std::optional<webapps::AppId> app_id =
      IsAppInstalled(*provider, last_committed_url_,
      std::make_optional(manifest->id));
      ```
      Lia Hiscock

      ah yes good point. then we can also plumb `app_id` through to the actual launch dialog command, instetad of recomputing it again

      Line 967, Patchset 12:void WebInstallServiceImpl::OnAppInstalledFromManifest(
      Lia Hiscock . unresolved

      @krist...@microsoft.com - i realized i never actually copied over all the logic here that was in `OnAppInstalled` - apparently it wasn't that critical to any tests, but JFYI that this logic wasn't here before...

      Line 1045, Patchset 10: web_app::WebAppTabHelper::GetAppId(web_contents);
      Lu Huang . resolved

      Ditto?

      Lu Huang

      Actually, manifest->id is not available here and this should be removed soon anyway.

      Lia Hiscock

      Acknowledged - yes `TryInstallCurrentDocument` will be removed

      Line 1096, Patchset 10: *app_id, web_app::WebAppFilter::InstalledInChrome())) {
      Lia Hiscock . unresolved

      @krist...@microsoft.com - can you double check why we used `InstalledInChrome` here instead of `LaunchableFromInstallApi`? Can't remember if I just hadn't landed `LaunchableFromInstallApi` yet or there was an intentional reason...

      It's relevant for the new function I added - `RecheckInstalledAppMaybeLaunch` - which I chose `LaunchableFromInstallApi` for.

      Either way, my initial feeling was to use `LaunchableFromInstallApi`, since that's what's being used for the initial "is this app installed" check, so it doesn't really make sense to diverge.

      File chrome/browser/web_applications/web_install_service_impl_unittest.cc
      Line 105, Patchset 10: EXPECT_TRUE(future.Wait());
      return future.Get();
      Lu Huang . resolved

      Nit:

      ```suggestion
      return future.Take();
      ```
      Lu Huang

      Take includes a CHECK for success -

      Take() → TakeTuple() → Wait() → CHECK(success)

      Lia Hiscock

      Done

      Line 115, Patchset 10: EXPECT_TRUE(future.Wait());
      return future.Get();
      Lu Huang . resolved

      Nit:

      ```suggestion
      return future.Take();
      ```
      Lia Hiscock

      Done

      File third_party/blink/renderer/modules/web_install/navigator_web_install_test.cc
      Line 198, Patchset 10: EXPECT_TRUE(tester.IsFulfilled());
      Lu Huang . unresolved

      Could we lock in that a successful zero-argument install no longer exposes manifestId? There does not appear to be a successful-install WPT covering the result shape.

      ```
      ASSERT_TRUE(tester.IsFulfilled());

      DummyExceptionStateForTesting conversion_exception_state;
      WebInstallResult* result =
      NativeValueTraits<WebInstallResult>::NativeValue(
      GetScriptState()->GetIsolate(), tester.Value().V8Value(),
      conversion_exception_state);

      ASSERT_FALSE(conversion_exception_state.HadException());
      ASSERT_TRUE(result);
      EXPECT_FALSE(result->hasManifestId());
      ```

      Lia Hiscock

      you're correct, we don't have any WPTs that cover the result shape - I think this is because i assumed we could only test the initial invocation of `n.i()`, and return value validation would require some kind of response? @krist...@microsoft.com can you confirm whether a result-shape WPT is possible?

      re. this comment though - yes, added the manifestId validation here.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Lu Huang
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1c8e3b2cb4a5e9582f73ddf800fa8e4735222173
        Gerrit-Change-Number: 8127883
        Gerrit-PatchSet: 13
        Gerrit-Owner: Lia Hiscock <liahi...@microsoft.com>
        Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
        Gerrit-Reviewer: Lu Huang <lu...@microsoft.com>
        Gerrit-CC: Kristin Lee <krist...@microsoft.com>
        Gerrit-Attention: Lu Huang <lu...@microsoft.com>
        Gerrit-Comment-Date: Sun, 26 Jul 2026 17:38:03 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Lia Hiscock (Gerrit)

        unread,
        Jul 26, 2026, 1:41:32 PM (15 hours ago) Jul 26
        to Lu Huang, Kristin Lee, Chromium LUCI CQ, chromium...@chromium.org, android-bu...@system.gserviceaccount.com, jmedle...@chromium.org, ipc-securi...@chromium.org, blink-...@chromium.org, kuragin+web-ap...@chromium.org, blink-rev...@chromium.org, dmurph+watc...@chromium.org, loyso...@chromium.org, philli...@chromium.org, aixba+wat...@chromium.org, mgiuca...@chromium.org, mek+w...@chromium.org, dibyapal+wa...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, zelin+watch-we...@chromium.org, japhet+...@chromium.org, webap...@microsoft.com
        Attention needed from Kristin Lee and Lu Huang

        Lia Hiscock added 1 comment

        File chrome/browser/web_applications/web_install_browsertest.cc
        Line 298, Patchset 13 (Latest): NestedScopeInstallsManifestApp) {
        Lia Hiscock . unresolved

        @krist...@microsoft.com - this test, and the one below, were added by my agent to ensure our `FindInstalledAppByManifestId` correctly handles nested app scopes - I didn't get a chance to think through the general logic here though - if you can, please just confirm these are actually testing what we want

        cc @lu...@microsoft.com - these are new since you reviewed I think

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Kristin Lee
        • Lu Huang
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1c8e3b2cb4a5e9582f73ddf800fa8e4735222173
        Gerrit-Change-Number: 8127883
        Gerrit-PatchSet: 13
        Gerrit-Owner: Lia Hiscock <liahi...@microsoft.com>
        Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
        Gerrit-Reviewer: Lu Huang <lu...@microsoft.com>
        Gerrit-CC: Kristin Lee <krist...@microsoft.com>
        Gerrit-Attention: Lu Huang <lu...@microsoft.com>
        Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
        Gerrit-Comment-Date: Sun, 26 Jul 2026 17:41:20 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages