Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add id member to manifest #988

Merged
merged 42 commits into from Oct 5, 2021
Merged

Conversation

philloooo
Copy link
Collaborator

@philloooo philloooo commented Jul 15, 2021

Closes #586

Explainer https://github.com/philloooo/pwa-unique-id/blob/main/explainer.md

This change:

  • Adds new normative recommendations or optional items

Implementation commitment (delete if not making normative changes):

If change is normative, and it adds or changes a member:

Commit message:

Explicitly defines what uniquely identifies a web application and allow developers to specify the identifier in the manifest.


💥 Error: connect ETIMEDOUT 128.30.52.89:443 💥

PR Preview failed to build. (Last tried on Oct 5, 2021, 11:30 PM UTC).

More

PR Preview relies on a number of web services to run. There seems to be an issue with the following one:

🚨 Spec Generator - Spec Generator is the web service used to build specs that rely on ReSpec.

🔗 Related URL

If you don't have enough information above to solve the error by yourself (or to understand to which web service the error is related to, if any), please file an issue.

@dmurph
Copy link
Collaborator

dmurph commented Jul 15, 2021

Nice - I can also see this fleshing out the section "Updating the manifest" as well with the algorithm

@philloooo
Copy link
Collaborator Author

Nice - I can also see this fleshing out the section "Updating the manifest" as well with the algorithm

Will do, thanks for reminding!

index.html Outdated Show resolved Hide resolved
@philloooo
Copy link
Collaborator Author

@mgiuca can you take a look at this?

Copy link
Collaborator

@mgiuca mgiuca left a comment

Choose a reason for hiding this comment

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

Very good, overall. Everything's in the right place and largely conveys the meaning I think you intended. So don't be alarmed by the high volume of comments. These are details :)

Now I've made a lot of specific phrasing suggestions. Feel free to reword them. They are by no means perfect or canonical, just the way that I would personally phrase things. Ask if you have questions.

Thanks, it's exciting to see this finally coming together!

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
Copy link
Member

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

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

Looking really good @philloooo! Excited to implement this in Gecko. I'll make a start once you make the next round of updates.

Copy link
Collaborator

@aarongustafson aarongustafson left a comment

Choose a reason for hiding this comment

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

Just some minor suggestions.

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
@philloooo
Copy link
Collaborator Author

thanks for the review! @aarongustafson @marcoscaceres @mgiuca

blueboxd pushed a commit to blueboxd/chromium-legacy that referenced this pull request Jul 22, 2021
Use ParseURL for manifest id parsing logic. This allows id to be both
specified as a full url or a string as path to app's origin. This allows
a more consistent spec processing definition, see in spec pull request
w3c/manifest#988 (comment). The
processed manifest id is still passed as a  normalized relative url path
to WebAppProvider system to keep the manifest_id saved in sync system
the same and backward-compatible since changing the manifest_id format
in sync system will make new apps not syncable to previous versions of
Chromium.

Bug: 1182363
Change-Id: I65a7ca615bae3ee504b605abba954f60dc5d2c31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3042714
Commit-Queue: Phillis Tang <phillis@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#904128}
@mgiuca
Copy link
Collaborator

mgiuca commented Jul 23, 2021

Apologies, I haven't got around to re-reviewing this. Looks like Aaron and Marcos are happy.

I'd like to take another look at it, but if I don't get to it by ~Monday, then you can probably go ahead and merge it.

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
@marcoscaceres
Copy link
Member

@philloooo, I hope to implement this next week. I may have more feedback then! Thanks again for the great work.

Copy link
Member

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

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

Started to implement but hit some issues.

@philloooo, made some suggested changes to the algorithm.

I didn't get a chance to feed the table values into it, but they could serve as unit tests for it.

index.html Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
Copy link
Member

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

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

Request to send update as a different PR.

@philloooo
Copy link
Collaborator Author

Request to send update as a different PR.

Moved to #1011

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
@marcoscaceres
Copy link
Member

Some of the w3c systems are currently down, which is causing the CI errors.

@marcoscaceres marcoscaceres merged commit 8102fc5 into w3c:gh-pages Oct 5, 2021
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Oct 14, 2021
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Oct 14, 2021
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
Use ParseURL for manifest id parsing logic. This allows id to be both
specified as a full url or a string as path to app's origin. This allows
a more consistent spec processing definition, see in spec pull request
w3c/manifest#988 (comment). The
processed manifest id is still passed as a  normalized relative url path
to WebAppProvider system to keep the manifest_id saved in sync system
the same and backward-compatible since changing the manifest_id format
in sync system will make new apps not syncable to previous versions of
Chromium.

Bug: 1182363
Change-Id: I65a7ca615bae3ee504b605abba954f60dc5d2c31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3042714
Commit-Queue: Phillis Tang <phillis@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#904128}
NOKEYCHECK=True
GitOrigin-RevId: 3ef03e903e21bab3db9ff191f0ce9fc7e90944f9
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
The change was requested from spec editor review
w3c/manifest#988 (review).
This makes manifest parsing to treat specifying empty string for id
field same as it's not specified. Updated |ParseURL| to add
|ignore_empty_string| param. This is needed because we currently
parse url fields inconsistently.

Bug: 1182363
Change-Id: Ie5f6d331da7075f7c919f6e2120ea3840fc650f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3177726
Commit-Queue: Phillis Tang <phillis@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/main@{#924541}
NOKEYCHECK=True
GitOrigin-RevId: 6fc55b5ee6ccec48d2e0ee47fb0e4bed0e1f8040
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
Requested from app manifest pull request
w3c/manifest#988 (review).
It makes sense to remove fragment from the id because different
fragments still identify the same resource.

Bug: 1182363
Change-Id: Ic8d258f380efec5b172990418fbe57c269f3ff66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3188751
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Phillis Tang <phillis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#925484}
NOKEYCHECK=True
GitOrigin-RevId: 9814468fb1bf3cd8554c2ed5a1de092d95275688
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a unique identifier for a PWA
10 participants