cpu_performance: Add prototype implementation [chromium/src : main]

0 views
Skip to first unread message

Nikolaos Papaspyrou (Gerrit)

unread,
Sep 29, 2025, 11:47:24 AM (7 days ago) Sep 29
to Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
Attention needed from Camille Lamy and Dominic Farolino

Nikolaos Papaspyrou added 3 comments

Patchset-level comments
File-level comment, Patchset 5 (Latest):
Nikolaos Papaspyrou . resolved

I rewrote this CL from scratch in patchset 5.
PTAL and ignore the previous patchsets.

File content/browser/browser_interface_binders.cc
Line 1174, Patchset 2: base::BindRepeating(&ContentBrowserClient::BindCPUInfoProvider,
Camille Lamy . resolved

Why not match the call on line 1147?

Nikolaos Papaspyrou

This was rewritten in PS 5.

File third_party/blink/public/mojom/cpu_info/cpu_info.mojom
Line 10, Patchset 2: [Sync] GetCPUInfo() => (uint16 tier);
Camille Lamy . resolved

Could we make this non-sync?

Nikolaos Papaspyrou

This was rewritten in PS 5.

Open in Gerrit

Related details

Attention is currently required from:
  • Camille Lamy
  • Dominic Farolino
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: Ie711d0de89c44ee621c72271f5a98a0a32d64365
Gerrit-Change-Number: 6780564
Gerrit-PatchSet: 5
Gerrit-Owner: Nikolaos Papaspyrou <niko...@chromium.org>
Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
Gerrit-Reviewer: Dominic Farolino <d...@chromium.org>
Gerrit-Reviewer: Nikolaos Papaspyrou <niko...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Dominic Farolino <d...@chromium.org>
Gerrit-Attention: Camille Lamy <cl...@chromium.org>
Gerrit-Comment-Date: Mon, 29 Sep 2025 15:47:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Camille Lamy <cl...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Dominic Farolino (Gerrit)

unread,
Sep 30, 2025, 1:59:56 PM (5 days ago) Sep 30
to Nikolaos Papaspyrou, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
Attention needed from Camille Lamy and Nikolaos Papaspyrou

Dominic Farolino added 3 comments

File content/child/runtime_features.cc
Line 362, Patchset 5 (Latest): {"CpuPerformance", raw_ref(blink::features::kCpuPerformance)},
Dominic Farolino . unresolved

Related to my other comment, I'm hopeful we can get rid of this if we can get the right runtime enabled features incantation?

File third_party/blink/renderer/platform/runtime_enabled_features.json5
Line 1185, Patchset 5 (Latest): // the whole feature work.
Dominic Farolino . unresolved

Hmm, that's pretty standard for runtime enabled features though, including many that don't have `base_feature: none`, but actually list a real feature. Could you check out the documentation at the top of this file, in particular https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5;l=120-185;drc=2d4ffc91620fc1cae131415e81c8fed36dfabfaa, and see if we're able to modify this so that it auto generates the right feature?

File third_party/blink/web_tests/external/wpt/cpu-performance/OWNERS
Line 1, Patchset 5 (Latest):niko...@chromium.org
Dominic Farolino . unresolved

WPT doesn't really operate with owners files. This folder is synced with the external https://github.com/web-platform-tests/wpt repository, so instead we should just add DIR_METADATA and META.yml files. See https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/dom, for example.

Open in Gerrit

Related details

Attention is currently required from:
  • Camille Lamy
  • Nikolaos Papaspyrou
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie711d0de89c44ee621c72271f5a98a0a32d64365
    Gerrit-Change-Number: 6780564
    Gerrit-PatchSet: 5
    Gerrit-Owner: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
    Gerrit-Reviewer: Dominic Farolino <d...@chromium.org>
    Gerrit-Reviewer: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-Attention: Camille Lamy <cl...@chromium.org>
    Gerrit-Comment-Date: Tue, 30 Sep 2025 17:59:46 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nikolaos Papaspyrou (Gerrit)

    unread,
    Oct 1, 2025, 12:44:16 PM (5 days ago) Oct 1
    to Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Camille Lamy and Dominic Farolino

    Nikolaos Papaspyrou added 3 comments

    File content/child/runtime_features.cc
    Line 362, Patchset 5: {"CpuPerformance", raw_ref(blink::features::kCpuPerformance)},
    Dominic Farolino . resolved

    Related to my other comment, I'm hopeful we can get rid of this if we can get the right runtime enabled features incantation?

    Nikolaos Papaspyrou

    Done

    File third_party/blink/renderer/platform/runtime_enabled_features.json5
    Line 1185, Patchset 5: // the whole feature work.
    Dominic Farolino . resolved

    Hmm, that's pretty standard for runtime enabled features though, including many that don't have `base_feature: none`, but actually list a real feature. Could you check out the documentation at the top of this file, in particular https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5;l=120-185;drc=2d4ffc91620fc1cae131415e81c8fed36dfabfaa, and see if we're able to modify this so that it auto generates the right feature?

    Nikolaos Papaspyrou

    Done. This was written like this because in the previous version (PS#1) there was IPC between the renderer and the browser, and the latter consulted the real feature. It did not work correctly when `--enable-blink-features` was set but not `--enable-features`. If this is needed again, we'll see about it.

    File third_party/blink/web_tests/external/wpt/cpu-performance/OWNERS
    Line 1, Patchset 5:niko...@chromium.org
    Dominic Farolino . resolved

    WPT doesn't really operate with owners files. This folder is synced with the external https://github.com/web-platform-tests/wpt repository, so instead we should just add DIR_METADATA and META.yml files. See https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/dom, for example.

    Nikolaos Papaspyrou

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Camille Lamy
    • Dominic Farolino
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    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: Ie711d0de89c44ee621c72271f5a98a0a32d64365
    Gerrit-Change-Number: 6780564
    Gerrit-PatchSet: 6
    Gerrit-Owner: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
    Gerrit-Reviewer: Dominic Farolino <d...@chromium.org>
    Gerrit-Reviewer: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Dominic Farolino <d...@chromium.org>
    Gerrit-Attention: Camille Lamy <cl...@chromium.org>
    Gerrit-Comment-Date: Wed, 01 Oct 2025 16:43:59 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Dominic Farolino <d...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Camille Lamy (Gerrit)

    unread,
    Oct 2, 2025, 5:49:18 AM (4 days ago) Oct 2
    to Nikolaos Papaspyrou, Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Nikolaos Papaspyrou

    Camille Lamy added 1 comment

    Patchset-level comments
    File-level comment, Patchset 6 (Latest):
    Camille Lamy . resolved

    Now that there are no longer any changes in content/, I think you don't need my review anymore? Let me know if that is not the case.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Nikolaos Papaspyrou
    Gerrit-Attention: Nikolaos Papaspyrou <niko...@chromium.org>
    Gerrit-Comment-Date: Thu, 02 Oct 2025 09:49:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nikolaos Papaspyrou (Gerrit)

    unread,
    Oct 2, 2025, 5:49:55 AM (4 days ago) Oct 2
    to Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Nikolaos Papaspyrou

    Nikolaos Papaspyrou voted and added 1 comment

    Votes added by Nikolaos Papaspyrou

    Commit-Queue+1

    1 comment

    Patchset-level comments
    Nikolaos Papaspyrou . unresolved

    There seem to be some issues with the tests, after I cleaned up the feature according to your comments. Please wait until I fix them.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Nikolaos Papaspyrou
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie711d0de89c44ee621c72271f5a98a0a32d64365
      Gerrit-Change-Number: 6780564
      Gerrit-PatchSet: 6
      Gerrit-Owner: Nikolaos Papaspyrou <niko...@chromium.org>
      Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
      Gerrit-Reviewer: Dominic Farolino <d...@chromium.org>
      Gerrit-Reviewer: Nikolaos Papaspyrou <niko...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: gwsq
      Gerrit-Attention: Nikolaos Papaspyrou <niko...@chromium.org>
      Gerrit-Comment-Date: Thu, 02 Oct 2025 09:49:43 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Raphael Kubo da Costa (Gerrit)

      unread,
      Oct 2, 2025, 5:55:48 AM (4 days ago) Oct 2
      to Nikolaos Papaspyrou, Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
      Attention needed from Nikolaos Papaspyrou

      Raphael Kubo da Costa added 1 comment

      Patchset-level comments
      Raphael Kubo da Costa . unresolved

      Just a drive-by question: is there a corresponding spec and/or tracking bug somewhere? I don't see any links in the IDL file, a tracking bug or an Intent email on blink-dev.

      I got curious because the idea sounds similar to the [Compute Pressure API](https://w3c.github.io/compute-pressure/) and was looking for more information about this API.

      Gerrit-Comment-Date: Thu, 02 Oct 2025 09:55:34 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Nikolaos Papaspyrou (Gerrit)

      unread,
      Oct 2, 2025, 6:37:28 AM (4 days ago) Oct 2
      to Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
      Attention needed from Raphael Kubo da Costa

      Nikolaos Papaspyrou added 1 comment

      Patchset-level comments
      Raphael Kubo da Costa . resolved

      Just a drive-by question: is there a corresponding spec and/or tracking bug somewhere? I don't see any links in the IDL file, a tracking bug or an Intent email on blink-dev.

      I got curious because the idea sounds similar to the [Compute Pressure API](https://w3c.github.io/compute-pressure/) and was looking for more information about this API.

      Nikolaos Papaspyrou

      The compute pressure API gives dynamic information (user device current CPU usage). This simpler API gives static information (user device CPU performance in general). An external (non-Google) explainer document will be circulated shortly. Thanks for asking!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Raphael Kubo da Costa
      Gerrit-Attention: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Comment-Date: Thu, 02 Oct 2025 10:37:15 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Raphael Kubo da Costa <ku...@igalia.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Dominic Farolino (Gerrit)

      unread,
      Oct 2, 2025, 9:16:00 AM (4 days ago) Oct 2
      to Nikolaos Papaspyrou, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
      Attention needed from Nikolaos Papaspyrou and Raphael Kubo da Costa

      Dominic Farolino added 5 comments

      Patchset-level comments
      Raphael Kubo da Costa . resolved

      Just a drive-by question: is there a corresponding spec and/or tracking bug somewhere? I don't see any links in the IDL file, a tracking bug or an Intent email on blink-dev.

      I got curious because the idea sounds similar to the [Compute Pressure API](https://w3c.github.io/compute-pressure/) and was looking for more information about this API.

      Nikolaos Papaspyrou

      The compute pressure API gives dynamic information (user device current CPU usage). This simpler API gives static information (user device CPU performance in general). An external (non-Google) explainer document will be circulated shortly. Thanks for asking!

      Dominic Farolino

      We'll also need a Chrome Status entry for this feature (you can create one in https://chromestatus.com/), and an Intent to Prototype would be great, pointing to the explainer once its public. We should link to both from the commit description.

      All of this should be in https://www.chromium.org/blink/launching-features/ though, so let's make sure we follow all the steps there!

      Commit Message
      Line 20, Patchset 6 (Latest):Embedders may override this default with more complicated,
      Dominic Farolino . unresolved

      This isn't yet true though, right? Do you have a design in mind that will let embedders override this value, to be layered on top of the current Blink implementation?

      If so, maybe we could just mention what that design looks like, and say that this ability is "coming soon".

      File third_party/blink/renderer/core/frame/navigator_cpu_performance.h
      Line 10, Patchset 6 (Latest):#include "third_party/blink/renderer/core/frame/navigator.h"
      Dominic Farolino . unresolved

      Can we get away with a forward declaration here?

      File third_party/blink/web_tests/external/wpt/cpu-performance/META.yml
      Line 2, Patchset 6 (Latest): - nikolaos
      Dominic Farolino . unresolved

      Is https://github.com/nikolaos you? (Just FYI this file refers to GitHub accounts)

      File third_party/blink/web_tests/external/wpt/cpu-performance/enabled/cpu-performance.https.window.js
      Line 12, Patchset 6 (Latest):}, "navigator.cpuPerformance is valid, if the feature is enabled");
      Dominic Farolino . unresolved

      It might not be obvious, but our VirtualTestSuite infra which prompted you to create an enabled and disabled variant, is actually entirely internal to the Chromium project (because it doesn't exist inside the `external` directory). This means other browsers, and the overall public WPT project in general, will not know what the enabled/disabled distinction means, and they will have nothing to drive that behavior.

      What we should do is just add this enabled test, but NOT under the `/enabled` directory, and under a `tentative` directory instead, as is usual for non-standardized features. Then we'll just ensure that the test runs exclusively with your flag enabled via the VTS file. Let me know if that makes sense.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Nikolaos Papaspyrou
      • Raphael Kubo da Costa
      Gerrit-Attention: Nikolaos Papaspyrou <niko...@chromium.org>
      Gerrit-Comment-Date: Thu, 02 Oct 2025 13:15:54 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Raphael Kubo da Costa <ku...@igalia.com>
      Comment-In-Reply-To: Nikolaos Papaspyrou <niko...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Nikolaos Papaspyrou (Gerrit)

      unread,
      Oct 2, 2025, 9:41:01 AM (4 days ago) Oct 2
      to Dominic Farolino, Michael Lippautz, AyeAye, Chromium IPC Reviews, Camille Lamy, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revi...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
      Attention needed from Dominic Farolino and Raphael Kubo da Costa

      Nikolaos Papaspyrou added 1 comment

      File third_party/blink/web_tests/external/wpt/cpu-performance/META.yml
      Dominic Farolino . unresolved

      Is https://github.com/nikolaos you? (Just FYI this file refers to GitHub accounts)

      Nikolaos Papaspyrou

      It's https://github.com/nickie, so I suppose I have to change this to `nickie`.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Dominic Farolino
      • Raphael Kubo da Costa
      Gerrit-Attention: Dominic Farolino <d...@chromium.org>
      Gerrit-Comment-Date: Thu, 02 Oct 2025 13:40:45 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Dominic Farolino <d...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages