DevTools: Show HTTP status code for non-2xx prefetch failures [devtools/devtools-frontend : main]

0 views
Skip to first unread message

Helmut Januschka (Gerrit)

unread,
Jan 28, 2026, 5:07:14 PM (13 days ago) Jan 28
to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
Attention needed from Wolfgang Beyer

Helmut Januschka added 1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Helmut Januschka . resolved

@wo...@chromium.org thanks in advance for your time and guidance, please let me know if you want me to address anything!

danke!

Open in Gerrit

Related details

Attention is currently required from:
  • Wolfgang Beyer
Submit Requirements:
  • 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: devtools/devtools-frontend
Gerrit-Branch: main
Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
Gerrit-Change-Number: 7520447
Gerrit-PatchSet: 2
Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
Gerrit-CC: Barry Pollard <barryp...@chromium.org>
Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
Gerrit-Comment-Date: Wed, 28 Jan 2026 22:07:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Wolfgang Beyer (Gerrit)

unread,
Feb 2, 2026, 10:46:34 AM (8 days ago) Feb 2
to Helmut Januschka, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
Attention needed from Helmut Januschka

Wolfgang Beyer added 4 comments

Patchset-level comments
Wolfgang Beyer . resolved

Thanks for taking a stab at this! I like how the end result looks, added some suggestions.

File front_end/panels/application/preloading/components/PreloadingGrid.ts
Line 74, Patchset 2 (Latest): const statusCodes = new Map<string, number|null>();
const networkLog = Logs.NetworkLog.NetworkLog.instance();
for (const row of rows) {
const attempt = row.pipeline.getOriginallyTriggered();
if (attempt.action === Protocol.Preload.SpeculationAction.Prefetch && 'requestId' in attempt) {
const requestId = (attempt as {requestId: Protocol.Network.RequestId}).requestId;
const requests = networkLog.requestsForId(requestId);
if (requests.length > 0) {
statusCodes.set(requestId, requests[0].statusCode);
}
}
}
Wolfgang Beyer . unresolved

Maybe the `requestId` can be added to `rows` directly, such that the `statusCodes` map is not needed. Also, it might be better to move the logic outside of this view-function, which should mostly only care about rendering things.

File front_end/panels/application/preloading/components/PreloadingString.ts
Line 542, Patchset 2 (Latest):/**
* Returns the failure reason for Non2XX prefetch errors with the status code.
* For other cases, returns null.
*/
export function prefetchFailureReasonWithStatusCode(
attempt: SDK.PreloadingModel.PrefetchAttempt, statusCode: number): string|null {
if (attempt.prefetchStatus === Protocol.Preload.PrefetchStatus.PrefetchFailedNon2XX) {
return i18nString(UIStrings.PrefetchFailedNon2XXWithStatusCode, {PH1: String(statusCode)});
}
return null;
}
Wolfgang Beyer . unresolved

How about handling this in `prefetchFailureReason` without defining a new helper? `prefetchFailureReason` could take an optional `statusCode` parameter and return the appropriate string.

Line 830, Patchset 2 (Latest): const detail = prefetchFailureReason(prefetchAttempt) ?? i18n.i18n.lockedString('Internal error');
Wolfgang Beyer . unresolved

see above. Most of the logic can probably removed if we handle this in `prefetchFailureReason` and pass it the optional `statusCode`.

Open in Gerrit

Related details

Attention is currently required from:
  • Helmut Januschka
Submit Requirements:
    • 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: devtools/devtools-frontend
    Gerrit-Branch: main
    Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
    Gerrit-Change-Number: 7520447
    Gerrit-PatchSet: 2
    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
    Gerrit-CC: Barry Pollard <barryp...@chromium.org>
    Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 15:46:30 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Helmut Januschka (Gerrit)

    unread,
    Feb 2, 2026, 5:43:19 PM (8 days ago) Feb 2
    to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
    Attention needed from Wolfgang Beyer

    Helmut Januschka added 3 comments

    File front_end/panels/application/preloading/components/PreloadingGrid.ts
    Line 74, Patchset 2: const statusCodes = new Map<string, number|null>();

    const networkLog = Logs.NetworkLog.NetworkLog.instance();
    for (const row of rows) {
    const attempt = row.pipeline.getOriginallyTriggered();
    if (attempt.action === Protocol.Preload.SpeculationAction.Prefetch && 'requestId' in attempt) {
    const requestId = (attempt as {requestId: Protocol.Network.RequestId}).requestId;
    const requests = networkLog.requestsForId(requestId);
    if (requests.length > 0) {
    statusCodes.set(requestId, requests[0].statusCode);
    }
    }
    }
    Wolfgang Beyer . resolved

    Maybe the `requestId` can be added to `rows` directly, such that the `statusCodes` map is not needed. Also, it might be better to move the logic outside of this view-function, which should mostly only care about rendering things.

    Helmut Januschka

    Done

    File front_end/panels/application/preloading/components/PreloadingString.ts

    * Returns the failure reason for Non2XX prefetch errors with the status code.
    * For other cases, returns null.
    */
    export function prefetchFailureReasonWithStatusCode(
    attempt: SDK.PreloadingModel.PrefetchAttempt, statusCode: number): string|null {
    if (attempt.prefetchStatus === Protocol.Preload.PrefetchStatus.PrefetchFailedNon2XX) {
    return i18nString(UIStrings.PrefetchFailedNon2XXWithStatusCode, {PH1: String(statusCode)});
    }
    return null;
    }
    Wolfgang Beyer . resolved

    How about handling this in `prefetchFailureReason` without defining a new helper? `prefetchFailureReason` could take an optional `statusCode` parameter and return the appropriate string.

    Helmut Januschka

    Done

    Line 830, Patchset 2: const detail = prefetchFailureReason(prefetchAttempt) ?? i18n.i18n.lockedString('Internal error');
    Wolfgang Beyer . resolved

    see above. Most of the logic can probably removed if we handle this in `prefetchFailureReason` and pass it the optional `statusCode`.

    Helmut Januschka

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Wolfgang Beyer
    Submit Requirements:
      • 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: devtools/devtools-frontend
      Gerrit-Branch: main
      Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
      Gerrit-Change-Number: 7520447
      Gerrit-PatchSet: 3
      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
      Gerrit-CC: Barry Pollard <barryp...@chromium.org>
      Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
      Gerrit-Comment-Date: Mon, 02 Feb 2026 22:43:14 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Wolfgang Beyer <wo...@chromium.org>
      unsatisfied_requirement
      open
      diffy

      Wolfgang Beyer (Gerrit)

      unread,
      Feb 3, 2026, 4:59:39 AM (7 days ago) Feb 3
      to Helmut Januschka, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
      Attention needed from Helmut Januschka

      Wolfgang Beyer added 6 comments

      File front_end/panels/application/preloading/PreloadingView.ts
      Line 509, Patchset 3 (Latest): const originalAttempt = pipeline.getOriginallyTriggered();
      Wolfgang Beyer . unresolved

      I'm not really familiar with preload pipelines. Why do we need to go from `attempt` to `pipeline` to `originalAttempt`?

      Line 512, Patchset 3 (Latest): const requests = networkLog.requestsForId(requestId);
      Wolfgang Beyer . unresolved

      Would `originalAttempt.requestId` also work?

      File front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts
      Line 353, Patchset 3 (Latest): let statusCode: number|null = null;
      Wolfgang Beyer . unresolved

      Since we want this to be an optional (i.e. number|undefined) parameter elsewhere, why not set it to undefined here? This allows us to avoid `statusCode?: number|null` in favor of `statusCode?: number`.
      Or does have `null` a special meaning in this context?

      Line 354, Patchset 3 (Latest): if ('requestId' in attempt) {
      Wolfgang Beyer . unresolved

      I think this can be removed, the type is already narrowed by the the `if` above.

      File front_end/panels/application/preloading/components/PreloadingGrid.ts
      Line 54, Patchset 3 (Latest): statusCode?: number|null;
      Wolfgang Beyer . unresolved

      See above. Any reason why this shouldn't be simplified to `statusCode?: number`?

      File front_end/panels/application/preloading/components/PreloadingString.ts
      Line 816, Patchset 3 (Latest): const prefetchAttempt = attempt as SDK.PreloadingModel.PrefetchAttempt;
      Wolfgang Beyer . unresolved

      Not needed, type is already narrowed.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Helmut Januschka
      Submit Requirements:
        • 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: devtools/devtools-frontend
        Gerrit-Branch: main
        Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
        Gerrit-Change-Number: 7520447
        Gerrit-PatchSet: 3
        Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
        Gerrit-CC: Barry Pollard <barryp...@chromium.org>
        Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
        Gerrit-Comment-Date: Tue, 03 Feb 2026 09:59:36 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        unsatisfied_requirement
        open
        diffy

        Helmut Januschka (Gerrit)

        unread,
        Feb 3, 2026, 3:52:44 PM (7 days ago) Feb 3
        to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
        Attention needed from Wolfgang Beyer

        Helmut Januschka added 7 comments

        Patchset-level comments
        File-level comment, Patchset 4 (Latest):
        Helmut Januschka . resolved

        thank you

        File front_end/panels/application/preloading/PreloadingView.ts
        Line 509, Patchset 3: const originalAttempt = pipeline.getOriginallyTriggered();
        Wolfgang Beyer . resolved

        I'm not really familiar with preload pipelines. Why do we need to go from `attempt` to `pipeline` to `originalAttempt`?

        Helmut Januschka

        we can use the representative attempt directly here, removed the originalAttempt indirection.

        Line 512, Patchset 3: const requests = networkLog.requestsForId(requestId);
        Wolfgang Beyer . resolved

        Would `originalAttempt.requestId` also work?

        Helmut Januschka

        Done

        File front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts
        Line 353, Patchset 3: let statusCode: number|null = null;
        Wolfgang Beyer . resolved

        Since we want this to be an optional (i.e. number|undefined) parameter elsewhere, why not set it to undefined here? This allows us to avoid `statusCode?: number|null` in favor of `statusCode?: number`.
        Or does have `null` a special meaning in this context?

        Helmut Januschka

        Switched to number|undefined and defaulted to undefined when missing.

        Line 354, Patchset 3: if ('requestId' in attempt) {
        Wolfgang Beyer . resolved

        I think this can be removed, the type is already narrowed by the the `if` above.

        Helmut Januschka

        Done

        File front_end/panels/application/preloading/components/PreloadingGrid.ts
        Line 54, Patchset 3: statusCode?: number|null;
        Wolfgang Beyer . resolved

        See above. Any reason why this shouldn't be simplified to `statusCode?: number`?

        Helmut Januschka

        Done

        File front_end/panels/application/preloading/components/PreloadingString.ts
        Line 816, Patchset 3: const prefetchAttempt = attempt as SDK.PreloadingModel.PrefetchAttempt;
        Wolfgang Beyer . resolved

        Not needed, type is already narrowed.

        Helmut Januschka

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Wolfgang Beyer
        Submit Requirements:
          • 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: devtools/devtools-frontend
          Gerrit-Branch: main
          Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
          Gerrit-Change-Number: 7520447
          Gerrit-PatchSet: 4
          Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
          Gerrit-CC: Barry Pollard <barryp...@chromium.org>
          Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
          Gerrit-Comment-Date: Tue, 03 Feb 2026 20:52:39 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Wolfgang Beyer <wo...@chromium.org>
          unsatisfied_requirement
          open
          diffy

          Wolfgang Beyer (Gerrit)

          unread,
          Feb 4, 2026, 1:14:00 PM (6 days ago) Feb 4
          to Helmut Januschka, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
          Attention needed from Helmut Januschka

          Wolfgang Beyer added 5 comments

          Patchset-level comments
          File-level comment, Patchset 5 (Latest):
          Wolfgang Beyer . unresolved

          Let's be consistent and ensure everywhere that `statusCode` cannot be `null`.

          File front_end/panels/application/preloading/components/PreloadingGrid.ts
          Line 111, Patchset 5 (Latest): ${hasWarning ? i18nString(UIStrings.prefetchFallbackReady) : composedStatus(attempt, row.statusCode ?? null)}
          Wolfgang Beyer . unresolved

          remove?

          File front_end/panels/application/preloading/components/PreloadingString.ts
          Line 455, Patchset 5 (Latest): {prefetchStatus}: SDK.PreloadingModel.PrefetchAttempt, statusCode?: number|null): string|null {
          Wolfgang Beyer . unresolved

          remove?

          Line 487, Patchset 5 (Latest): if (statusCode !== undefined && statusCode !== null) {
          Wolfgang Beyer . unresolved

          remove?

          Line 807, Patchset 5 (Latest):export function composedStatus(attempt: SDK.PreloadingModel.PreloadingAttempt, statusCode: number|null): string {
          Wolfgang Beyer . unresolved

          ```suggestion
          export function composedStatus(attempt: SDK.PreloadingModel.PreloadingAttempt, statusCode?: number): string {
          ```

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Helmut Januschka
          Submit Requirements:
            • 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: devtools/devtools-frontend
            Gerrit-Branch: main
            Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
            Gerrit-Change-Number: 7520447
            Gerrit-PatchSet: 5
            Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
            Gerrit-CC: Barry Pollard <barryp...@chromium.org>
            Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
            Gerrit-Comment-Date: Wed, 04 Feb 2026 18:13:55 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            unsatisfied_requirement
            open
            diffy

            Helmut Januschka (Gerrit)

            unread,
            Feb 4, 2026, 4:05:27 PM (6 days ago) Feb 4
            to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
            Attention needed from Wolfgang Beyer

            Helmut Januschka added 5 comments

            Patchset-level comments
            File-level comment, Patchset 5:
            Wolfgang Beyer . resolved

            Let's be consistent and ensure everywhere that `statusCode` cannot be `null`.

            Helmut Januschka

            Done

            File front_end/panels/application/preloading/components/PreloadingGrid.ts
            Line 111, Patchset 5: ${hasWarning ? i18nString(UIStrings.prefetchFallbackReady) : composedStatus(attempt, row.statusCode ?? null)}
            Wolfgang Beyer . resolved

            remove?

            Helmut Januschka

            Done

            File front_end/panels/application/preloading/components/PreloadingString.ts
            Line 455, Patchset 5: {prefetchStatus}: SDK.PreloadingModel.PrefetchAttempt, statusCode?: number|null): string|null {
            Wolfgang Beyer . resolved

            remove?

            Helmut Januschka

            Done

            Line 487, Patchset 5: if (statusCode !== undefined && statusCode !== null) {
            Wolfgang Beyer . resolved

            remove?

            Helmut Januschka

            Done

            Line 807, Patchset 5:export function composedStatus(attempt: SDK.PreloadingModel.PreloadingAttempt, statusCode: number|null): string {
            Wolfgang Beyer . resolved

            ```suggestion
            export function composedStatus(attempt: SDK.PreloadingModel.PreloadingAttempt, statusCode?: number): string {
            ```

            Helmut Januschka

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Wolfgang Beyer
            Submit Requirements:
              • 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: devtools/devtools-frontend
              Gerrit-Branch: main
              Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
              Gerrit-Change-Number: 7520447
              Gerrit-PatchSet: 5
              Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
              Gerrit-CC: Barry Pollard <barryp...@chromium.org>
              Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
              Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
              Gerrit-Comment-Date: Wed, 04 Feb 2026 21:05:21 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Wolfgang Beyer <wo...@chromium.org>
              unsatisfied_requirement
              open
              diffy

              Wolfgang Beyer (Gerrit)

              unread,
              Feb 5, 2026, 6:35:36 AM (5 days ago) Feb 5
              to Helmut Januschka, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
              Attention needed from Helmut Januschka

              Wolfgang Beyer voted and added 1 comment

              Votes added by Wolfgang Beyer

              Commit-Queue+1

              1 comment

              Patchset-level comments
              File-level comment, Patchset 7 (Latest):
              Wolfgang Beyer . unresolved

              Thanks, I think this looks great now! Sorry for coming up with another request, but could you maybe look into adding unit tests? There are existing unit tests for the changed files, so hopefully those can be used as guidance.

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Helmut Januschka
              Submit Requirements:
                • 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: devtools/devtools-frontend
                Gerrit-Branch: main
                Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                Gerrit-Change-Number: 7520447
                Gerrit-PatchSet: 7
                Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                Gerrit-Comment-Date: Thu, 05 Feb 2026 11:35:31 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                unsatisfied_requirement
                open
                diffy

                Helmut Januschka (Gerrit)

                unread,
                Feb 5, 2026, 2:39:02 PM (5 days ago) Feb 5
                to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                Attention needed from Wolfgang Beyer

                Helmut Januschka added 1 comment

                Patchset-level comments
                File-level comment, Patchset 7:
                Wolfgang Beyer . resolved

                Thanks, I think this looks great now! Sorry for coming up with another request, but could you maybe look into adding unit tests? There are existing unit tests for the changed files, so hopefully those can be used as guidance.

                Helmut Januschka

                No worries at all, thanks for the feedback! its worth doing this properly. added tests

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Wolfgang Beyer
                Submit Requirements:
                  • 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: devtools/devtools-frontend
                  Gerrit-Branch: main
                  Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                  Gerrit-Change-Number: 7520447
                  Gerrit-PatchSet: 8
                  Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                  Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                  Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                  Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
                  Gerrit-Comment-Date: Thu, 05 Feb 2026 19:38:57 +0000
                  unsatisfied_requirement
                  open
                  diffy

                  Wolfgang Beyer (Gerrit)

                  unread,
                  Feb 6, 2026, 4:50:30 AM (4 days ago) Feb 6
                  to Helmut Januschka, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                  Attention needed from Helmut Januschka

                  Wolfgang Beyer voted and added 1 comment

                  Votes added by Wolfgang Beyer

                  Code-Review+1

                  1 comment

                  Patchset-level comments
                  File-level comment, Patchset 9 (Latest):
                  Wolfgang Beyer . resolved

                  Awesome, thanks for adding tests! LGTM

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Helmut Januschka
                  Submit Requirements:
                  • requirement 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: devtools/devtools-frontend
                  Gerrit-Branch: main
                  Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                  Gerrit-Change-Number: 7520447
                  Gerrit-PatchSet: 9
                  Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                  Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                  Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                  Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Comment-Date: Fri, 06 Feb 2026 09:50:26 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: Yes
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Wolfgang Beyer (Gerrit)

                  unread,
                  Feb 6, 2026, 4:50:57 AM (4 days ago) Feb 6
                  to Helmut Januschka, Danil Somsikov, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                  Attention needed from Danil Somsikov and Helmut Januschka

                  Wolfgang Beyer added 1 comment

                  Patchset-level comments
                  Wolfgang Beyer . resolved

                  Danil, PTAL

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Danil Somsikov
                  • Helmut Januschka
                  Submit Requirements:
                  • requirement 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: devtools/devtools-frontend
                  Gerrit-Branch: main
                  Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                  Gerrit-Change-Number: 7520447
                  Gerrit-PatchSet: 9
                  Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Danil Somsikov <d...@chromium.org>
                  Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                  Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                  Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                  Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Attention: Danil Somsikov <d...@chromium.org>
                  Gerrit-Comment-Date: Fri, 06 Feb 2026 09:50:53 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Danil Somsikov (Gerrit)

                  unread,
                  Feb 6, 2026, 4:55:56 AM (4 days ago) Feb 6
                  to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                  Attention needed from Helmut Januschka

                  Danil Somsikov added 2 comments

                  File front_end/panels/application/preloading/PreloadingView.ts
                  Line 512, Patchset 9 (Latest): statusCode = requests[0].statusCode;
                  Danil Somsikov . unresolved

                  If a prefetched request is redirected, `requestsForId` will return all requests in the redirect chain in chronological order. To show the final status code, you should use the last request from the array, not the first.

                  Consider changing this to:
                  `statusCode = requests[requests.length - 1].statusCode;`

                  File front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts
                  Line 357, Patchset 9 (Latest): statusCode = requests[0].statusCode;
                  Danil Somsikov . unresolved

                  To correctly handle redirects, you should use the last request from the array to get the final status code. `requestsForId` returns requests in chronological order.

                  Consider changing this to:
                  `statusCode = requests[requests.length - 1].statusCode;`

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Helmut Januschka
                  Submit Requirements:
                    • requirement 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: devtools/devtools-frontend
                    Gerrit-Branch: main
                    Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                    Gerrit-Change-Number: 7520447
                    Gerrit-PatchSet: 9
                    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Reviewer: Danil Somsikov <d...@chromium.org>
                    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                    Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                    Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Comment-Date: Fri, 06 Feb 2026 09:55:52 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Helmut Januschka (Gerrit)

                    unread,
                    Feb 6, 2026, 5:26:18 PM (4 days ago) Feb 6
                    to Helmut Januschka, Danil Somsikov, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                    Attention needed from Danil Somsikov and Wolfgang Beyer

                    Helmut Januschka added 2 comments

                    File front_end/panels/application/preloading/PreloadingView.ts
                    Line 512, Patchset 9: statusCode = requests[0].statusCode;
                    Danil Somsikov . resolved

                    If a prefetched request is redirected, `requestsForId` will return all requests in the redirect chain in chronological order. To show the final status code, you should use the last request from the array, not the first.

                    Consider changing this to:
                    `statusCode = requests[requests.length - 1].statusCode;`

                    Helmut Januschka

                    Done

                    File front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts
                    Line 357, Patchset 9: statusCode = requests[0].statusCode;
                    Danil Somsikov . resolved

                    To correctly handle redirects, you should use the last request from the array to get the final status code. `requestsForId` returns requests in chronological order.

                    Consider changing this to:
                    `statusCode = requests[requests.length - 1].statusCode;`

                    Helmut Januschka

                    Done

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Danil Somsikov
                    • Wolfgang Beyer
                    Submit Requirements:
                      • requirement 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: devtools/devtools-frontend
                      Gerrit-Branch: main
                      Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                      Gerrit-Change-Number: 7520447
                      Gerrit-PatchSet: 9
                      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Danil Somsikov <d...@chromium.org>
                      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                      Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                      Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Attention: Wolfgang Beyer <wo...@chromium.org>
                      Gerrit-Attention: Danil Somsikov <d...@chromium.org>
                      Gerrit-Comment-Date: Fri, 06 Feb 2026 22:26:14 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      Comment-In-Reply-To: Danil Somsikov <d...@chromium.org>
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Wolfgang Beyer (Gerrit)

                      unread,
                      Feb 9, 2026, 5:15:38 AM (yesterday) Feb 9
                      to Helmut Januschka, Danil Somsikov, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                      Attention needed from Danil Somsikov and Helmut Januschka

                      Wolfgang Beyer voted Code-Review+1

                      Code-Review+1
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Danil Somsikov
                      • Helmut Januschka
                      Submit Requirements:
                      • requirement 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: devtools/devtools-frontend
                      Gerrit-Branch: main
                      Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                      Gerrit-Change-Number: 7520447
                      Gerrit-PatchSet: 10
                      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Danil Somsikov <d...@chromium.org>
                      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                      Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                      Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Attention: Danil Somsikov <d...@chromium.org>
                      Gerrit-Comment-Date: Mon, 09 Feb 2026 10:15:34 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Danil Somsikov (Gerrit)

                      unread,
                      7:04 AM (5 hours ago) 7:04 AM
                      to Helmut Januschka, Wolfgang Beyer, Barry Pollard, Devtools-frontend LUCI CQ, devtools-rev...@chromium.org
                      Attention needed from Helmut Januschka

                      Danil Somsikov voted and added 1 comment

                      Votes added by Danil Somsikov

                      Code-Review+1

                      1 comment

                      File front_end/panels/application/preloading/PreloadingView.ts
                      Line 514, Patchset 10 (Latest): }
                      Danil Somsikov . unresolved

                      This logic to retrieve the status code for a prefetch attempt is also used in `PreloadingDetailsReportView.ts`. Consider extracting it into a shared helper function to avoid duplication.

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Helmut Januschka
                      Submit Requirements:
                      • requirement satisfiedCode-Owners
                      • requirement satisfiedCode-Review
                      • requirement is not satisfiedNo-Unresolved-Comments
                      • requirement satisfiedReview-Enforcement
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: devtools/devtools-frontend
                      Gerrit-Branch: main
                      Gerrit-Change-Id: Id9912c64c2b26f34600601fa2fbf1bf02b603ba9
                      Gerrit-Change-Number: 7520447
                      Gerrit-PatchSet: 10
                      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Danil Somsikov <d...@chromium.org>
                      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Reviewer: Wolfgang Beyer <wo...@chromium.org>
                      Gerrit-CC: Barry Pollard <barryp...@chromium.org>
                      Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                      Gerrit-Comment-Date: Tue, 10 Feb 2026 12:04:48 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy
                      Reply all
                      Reply to author
                      Forward
                      0 new messages