Skip to content

Update "Debug a Progressive Web App (PWA)"#3841

Open
mikehoffms wants to merge 16 commits into
mainfrom
user/mikehoffms/debug-pwa
Open

Update "Debug a Progressive Web App (PWA)"#3841
mikehoffms wants to merge 16 commits into
mainfrom
user/mikehoffms/debug-pwa

Conversation

@mikehoffms

@mikehoffms mikehoffms commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Rendered article sections for review:

AB#61645705

@mikehoffms mikehoffms added cat: devtools DevTools-related content. cat: pwas Progressive Web Apps-related content labels Jun 23, 2026
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md
Comment thread microsoft-edge/devtools/progressive-web-apps/index.md Outdated
<!-- https://developer.chrome.com/docs/devtools/progressive-web-apps/#test-protocol-handler -->

<!-- todo -->
A PWA can handle links that use a specific protocol, for a more integrated experience. To create a handler, see [URL protocol handler registration for PWAs](https://developer.chrome.com/docs/web-platform/best-practices/url-protocol-handler) (todo: local link or mdn)

@mikehoffms mikehoffms Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

![The Test protocol button](./index-images/test-protocol.png)

Service workers are a fundamental technology in the web platform. Service workers are scripts that the browser runs in the background, separate from a webpage. Service worker scripts enable your app to access features that don't need a webpage or user interaction, such as push notifications, background sync, and offline experiences.
1. Click the **Test protocol** button. todo: doesn't seem to work, opens new tab in Edge

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clicking the Test protocol button doesn't seem to work, opens new tab in Edge
pls test the two ways @captainbrosset

  • DevTools
  • non-DevTools

https://review.learn.microsoft.com/en-us/microsoft-edge/devtools/progressive-web-apps/?branch=pr-en-us-3841&source=docs#test-url-protocol-handler-registration

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I've had this bug too. I sent a report to the DevTools team.
The expected behavior is that the app should launch. Can we document this in the meantime?

* The **Sync** button emulates a background sync event.

<!--TODO: link Web "How tickle works" sections when available -->
* The **Periodic sync** section has a **Periodic sync** button. todo: state purpose

@mikehoffms mikehoffms Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have local articles for both sync and periodoc sync:

Suggested change
* The **Periodic sync** section has a **Periodic sync** button. todo: state purpose
* The **Periodic sync** button emulates a periodic sync event, to test code that uses the Periodic Background Sync API. See also [Use the Periodic Background Sync API to regularly get fresh content](../../progressive-web-apps/how-to/background-syncs.md#use-the-periodic-background-sync-api-to-regularly-get-fresh-content) in _Synchronize and update a PWA in the background_.

And something similar for the previous bullet point.

1. Open a PWA, such as the [PWAmp](https://microsoftedge.github.io/Demos/pwamp/) demo, in a new window or tab.

The **Clear Storage** tab is useful when developing a progressive web app. Use the **Clear Storage** pane to unregister service workers and clear all caches and storage, with a single button-click.
1. Right-click the PWA (todo: installed, or not?) and then select **Inspect**.

@mikehoffms mikehoffms Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, a PWA can use a service worker and store data in the cache without being installed.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critically compare each upstream vs. downstream section
scenario: upstream updated a sentence, that was previously copied (outdated) in an existing section.

@mikehoffms mikehoffms marked this pull request as ready for review July 9, 2026 02:59
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 1e03249:

✅ Validation status: passed

File Status Preview URL Details
microsoft-edge/devtools/progressive-web-apps/index-images/allow-app-to-open-links.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/app-available-install-button.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/app-available-install-icon.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/cache-page-cache-storage-resources.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/cache-pane-cache-storage-resources.png ✅Succeeded n/a (file deleted or renamed)
microsoft-edge/devtools/progressive-web-apps/index-images/clear-site-data-button.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/error-icon.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/manifest-page.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/manifest-pane.png ✅Succeeded n/a (file deleted or renamed)
microsoft-edge/devtools/progressive-web-apps/index-images/pwa-related-pages.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/run-dialog-test-protocol-handling.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/screenshots-populating-the-installation-dialog.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/service-workers-page.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/service-workers-pane.png ✅Succeeded n/a (file deleted or renamed)
microsoft-edge/devtools/progressive-web-apps/index-images/shortcut-sections.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/test-protocol.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/three-dot-menu.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index-images/viewing-minimum-safe-area.png ✅Succeeded View
microsoft-edge/devtools/progressive-web-apps/index.md ✅Succeeded View
microsoft-edge/devtools/storage/application-tool.md ✅Succeeded View
microsoft-edge/devtools/storage/cache.md ✅Succeeded View
microsoft-edge/progressive-web-apps/how-to/debug.md ✅Succeeded View

For more details, please refer to the build report.


To interpret the **Storage** > **Usage** section in the **Application** tool, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_.
<!-- todo: removed section, can't link:
To interpret the **Storage** > **Usage** section in the **Application** tool, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_. -->

@mikehoffms mikehoffms Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 - removed "Quota usage" section, so can't link from
https://review.learn.microsoft.com/microsoft-edge/devtools/storage/application-tool?branch=pr-en-us-3841
to the quota section that would be above the section:
https://review.learn.microsoft.com/microsoft-edge/devtools/progressive-web-apps/?branch=pr-en-us-3841&source=docs#clear-storage-storage-page

upstream has the omitted section:
https://developer.chrome.com/docs/devtools/progressive-web-apps/#opaque-responses

restore "Quota usage" section & link to it from here?

live downstream has the section, so this section removal is kind of a regression:
https://learn.microsoft.com/microsoft-edge/devtools/progressive-web-apps/#quota-usage
and introduces a deviation from upstream, affecting Maintenance.

@captainbrosset

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


To learn more about cache data storage quota, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_.
<!-- todo: removed section, can't link:
To learn more about cache data storage quota, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_. -->

@mikehoffms mikehoffms Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 - removed "Quota usage" section, so can't link from
https://review.learn.microsoft.com/microsoft-edge/devtools/storage/cache?branch=pr-en-us-3841#view-cache-data-1
to the quota section that would be above the section:
https://review.learn.microsoft.com/microsoft-edge/devtools/progressive-web-apps/?branch=pr-en-us-3841&source=docs#clear-storage-storage-page

upstream has the omitted section:
https://developer.chrome.com/docs/devtools/progressive-web-apps/#opaque-responses

restore "Quota usage" section & link to it from here?

live downstream has the section, so this section removal is kind of a regression:
https://learn.microsoft.com/microsoft-edge/devtools/progressive-web-apps/#quota-usage
and introduces a deviation from upstream, affecting Maintenance.

@captainbrosset

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image isn't used in the markdown anymore.

* Device search engines such as Spotlight.
* Content sharing sheets. For example, when you view a photo on your mobile device, you can share that photo with other apps, such as your messaging app. A PWA can trigger share dialogs, and can also appear in share dialogs. See [Share content with other apps](../../progressive-web-apps/how-to/share.md).

The features that are discussed below are features of the **Application** tool are relevant for PWAs. For help on the other features and pages in the **Application** tool, see:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The features that are discussed below are features of the **Application** tool are relevant for PWAs. For help on the other features and pages in the **Application** tool, see:
The features that are discussed below are features of the **Application** tool that are relevant for PWAs. For help on the other features and pages in the **Application** tool, see:

* The home screen on Android and iOS.
* PWAs show up in:
* Activity switchers.
* Device search engines such as Spotlight.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Device search engines such as Spotlight.
* Device search engines such as the Windows Start menu.

* PWAs show up in:
* Activity switchers.
* Device search engines such as Spotlight.
* Content sharing sheets. For example, when you view a photo on your mobile device, you can share that photo with other apps, such as your messaging app. A PWA can trigger share dialogs, and can also appear in share dialogs. See [Share content with other apps](../../progressive-web-apps/how-to/share.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably shorten this and keep it understandable.

Suggested change
* Content sharing sheets. For example, when you view a photo on your mobile device, you can share that photo with other apps, such as your messaging app. A PWA can trigger share dialogs, and can also appear in share dialogs. See [Share content with other apps](../../progressive-web-apps/how-to/share.md).
* Sharing dialogs, such as when sharing files between apps. A PWA can trigger share dialogs, and can also appear in share dialogs. See [Share content with other apps](../../progressive-web-apps/how-to/share.md).

<!-- https://developer.chrome.com/docs/devtools/progressive-web-apps/#test-protocol-handler -->

<!-- todo -->
A PWA can handle links that use a specific protocol, for a more integrated experience. To create a handler, see [URL protocol handler registration for PWAs](https://developer.chrome.com/docs/web-platform/best-practices/url-protocol-handler) (todo: local link or mdn)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

* If the service worker is running, a **Stop** button is displayed.

* The **Clients** line tells you the origin that the service worker is scoped to. The **focus** button is mostly useful when you've enabled the **show all** checkbox. When that checkbox is enabled, all registered service workers are listed. If you click the **focus** button next to a service worker that is running in a different tab, Microsoft Edge focuses on that tab.
Service workers are designed to be stopped and started by the browser at any time. Explicitly stopping your service worker using the **stop** button may simulate that.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Service workers are designed to be stopped and started by the browser at any time. Explicitly stopping your service worker using the **stop** button may simulate that.
Service workers are designed to be stopped and started by the browser at any time. Explicitly stopping your service worker using the **Stop** button may simulate that.

* The **Sync** button emulates a background sync event.

<!--TODO: link Web "How tickle works" sections when available -->
* The **Periodic sync** section has a **Periodic sync** button. todo: state purpose

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have local articles for both sync and periodoc sync:

Suggested change
* The **Periodic sync** section has a **Periodic sync** button. todo: state purpose
* The **Periodic sync** button emulates a periodic sync event, to test code that uses the Periodic Background Sync API. See also [Use the Periodic Background Sync API to regularly get fresh content](../../progressive-web-apps/how-to/background-syncs.md#use-the-periodic-background-sync-api-to-regularly-get-fresh-content) in _Synchronize and update a PWA in the background_.

And something similar for the previous bullet point.

1. Open a PWA, such as the [PWAmp](https://microsoftedge.github.io/Demos/pwamp/) demo, in a new window or tab.

The **Clear Storage** tab is useful when developing a progressive web app. Use the **Clear Storage** pane to unregister service workers and clear all caches and storage, with a single button-click.
1. Right-click the PWA (todo: installed, or not?) and then select **Inspect**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, a PWA can use a service worker and store data in the cache without being installed.


To interpret the **Storage** > **Usage** section in the **Application** tool, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_.
<!-- todo: removed section, can't link:
To interpret the **Storage** > **Usage** section in the **Application** tool, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_. -->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


To learn more about cache data storage quota, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_.
<!-- todo: removed section, can't link:
To learn more about cache data storage quota, see [Quota usage](../progressive-web-apps/index.md#quota-usage) in _Debug a Progressive Web App (PWA)_. -->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cat: devtools DevTools-related content. cat: pwas Progressive Web Apps-related content

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants