diff --git a/.github/ISSUE_TEMPLATE/0-new-issue.yml b/.github/ISSUE_TEMPLATE/0-new-issue.yml new file mode 100644 index 000000000..207e90b10 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/0-new-issue.yml @@ -0,0 +1,17 @@ +name: New issue +description: File a new issue against the Fetch Standard. +body: + - type: markdown + attributes: + value: | + Before filling out this form, please familiarize yourself with the [Code of Conduct](https://whatwg.org/code-of-conduct). You might also find the [FAQ](https://whatwg.org/faq) and [Working Mode](https://whatwg.org/working-mode) useful. + + If at any point you have questions, please reach out to us on [Chat](https://whatwg.org/chat). + - type: textarea + attributes: + label: "What is the issue with the Fetch Standard?" + validations: + required: true + - type: markdown + attributes: + value: "Thank you for taking the time to improve the Fetch Standard!" diff --git a/.github/ISSUE_TEMPLATE/1-new-feature.yml b/.github/ISSUE_TEMPLATE/1-new-feature.yml new file mode 100644 index 000000000..1f366f79a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-new-feature.yml @@ -0,0 +1,27 @@ +name: New feature +description: Request a new feature in the Fetch Standard. +labels: ["addition/proposal", "needs implementer interest"] +body: + - type: markdown + attributes: + value: | + Before filling out this form, please familiarize yourself with the [Code of Conduct](https://whatwg.org/code-of-conduct), [FAQ](https://whatwg.org/faq), and [Working Mode](https://whatwg.org/working-mode). They help with setting expectations and making sure you know what is required. The FAQ ["How should I go about proposing new features to WHATWG standards?"](https://whatwg.org/faq#adding-new-features) is especially relevant. + + If at any point you have questions, please reach out to us on [Chat](https://whatwg.org/chat). + - type: textarea + attributes: + label: "What problem are you trying to solve?" + validations: + required: true + - type: textarea + attributes: + label: "What solutions exist today?" + - type: textarea + attributes: + label: "How would you solve it?" + - type: textarea + attributes: + label: "Anything else?" + - type: markdown + attributes: + value: "Thank you for taking the time to improve the Fetch Standard!" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..70e8d0d48 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Chat + url: https://whatwg.org/chat + about: Please do reach out with questions and feedback! + - name: Stack Overflow + url: https://stackoverflow.com/ + about: If you're having trouble building a web page, this is not the right repository. Consider asking your question on Stack Overflow instead. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 445136a1b..af3476e83 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,15 +9,14 @@ on: jobs: build: name: Build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: fetch-depth: 2 - # Note: `python` will also be this version, which various scripts depend on. - - uses: actions/setup-python@v3 + - uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.11" # Note: `make deploy` will do a deploy dry run on PRs. - run: make deploy env: diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 9411e2e1c..57b6a966d 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,17 +1,20 @@ - [ ] At least two implementers are interested (and none opposed): * … * … - [ ] [Tests](https://github.com/web-platform-tests/wpt) are written and can be reviewed and commented upon at: - * … + * … - [ ] [Implementation bugs](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md#handling-pull-requests) are filed: * Chromium: … * Gecko: … * WebKit: … * Deno (not for CORS changes): … - [ ] [MDN issue](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md#handling-pull-requests) is filed: … +- [ ] The top of this comment includes a [clear commit message](https://github.com/whatwg/meta/blob/main/COMMITTING.md) to use. (See [WHATWG Working Mode: Changes](https://whatwg.org/working-mode#changes) for more details.) diff --git a/README.md b/README.md index 22ecbd7e6..4ba4acd49 100644 --- a/README.md +++ b/README.md @@ -2,53 +2,55 @@ This repository hosts the [Fetch Standard](https://fetch.spec.whatwg.org/). ## Code of conduct -We are committed to providing a friendly, safe, and welcoming environment for all. Please read and -respect the [WHATWG Code of Conduct](https://whatwg.org/code-of-conduct). +We are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the [Code of Conduct](https://whatwg.org/code-of-conduct). ## Contribution opportunities -Folks notice minor and larger issues with the Fetch Standard all the time and we'd love your help -fixing those. Pull requests for typographical and grammar errors are also most welcome. +Folks notice minor and larger issues with the Fetch Standard all the time and we'd love your help fixing those. Pull requests for typographical and grammar errors are also most welcome. -We'd be happy to mentor you through this process. If you're interested and need help getting -started, leave a comment on the issue or ask around [on IRC](https://whatwg.org/irc). +Issues labeled ["good first issue"](https://github.com/whatwg/fetch/labels/good%20first%20issue) are a good place to get a taste for editing the Fetch Standard. Note that we don't assign issues and there's no reason to ask for availability either, just provide a pull request. + +If you are thinking of suggesting a new feature, read through the [FAQ](https://whatwg.org/faq) and [Working Mode](https://whatwg.org/working-mode) documents to get yourself familiarized with the process. + +We'd be happy to help you with all of this [on Chat](https://whatwg.org/chat). ## Pull requests -In short, change `fetch.bs` and submit your patch, with a -[good commit message](https://github.com/whatwg/meta/blob/main/COMMITTING.md). Consider -reading through the [WHATWG FAQ](https://whatwg.org/faq) if you are new here. +In short, change `fetch.bs` and submit your patch, with a [good commit message](https://github.com/whatwg/meta/blob/main/COMMITTING.md). + +Please add your name to the Acknowledgments section in your first pull request, even for trivial fixes. The names are sorted lexicographically. + +To ensure your patch meets all the necessary requirements, please also see the [Contributor Guidelines](https://github.com/whatwg/meta/blob/main/CONTRIBUTING.md). Editors of the Fetch Standard are expected to follow the [Maintainer Guidelines](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md). -Please add your name to the Acknowledgments section in your first pull request, even for trivial -fixes. The names are sorted lexicographically. +## Tests + +Tests are an essential part of the standardization process and will need to be created or adjusted as changes to the standard are made. Tests for the Fetch Standard can be found in the `fetch/` directory of [`web-platform-tests/wpt`](https://github.com/web-platform-tests/wpt). + +A dashboard showing the tests running against browser engines can be seen at [wpt.fyi/results/fetch](https://wpt.fyi/results/fetch). ## Building "locally" -For quick local iteration, run `make`. To verify your changes locally, run `make deploy`. See more -in the -[WHATWG Contributor Guidelines](https://github.com/whatwg/meta/blob/main/CONTRIBUTING.md#building). +For quick local iteration, run `make`; this will use a web service to build the standard, so that you don't have to install anything. See more in the [Contributor Guidelines](https://github.com/whatwg/meta/blob/main/CONTRIBUTING.md#building). ## Formatting Use a column width of 100 characters. -Do not use newlines inside "inline" elements, even if that means exceeding the column width -requirement. +Do not use newlines inside "inline" elements, even if that means exceeding the column width requirement. ```html -
  • Execute - set response's CSP list - on response. CSP +

    The +remove(tokens…) +method, when invoked, must run these steps: ``` is okay and ```html -

  • Execute - set response's CSP - list on response. CSP +

    The remove(tokens…) method, when +invoked, must run these steps: ``` is not. -Using newlines between "inline" element tag names and their content is also forbidden. (This -actually alters the content, by adding spaces.) That is +Using newlines between "inline" element tag names and their content is also forbidden. (This actually alters the content, by adding spaces.) That is ```html token ``` @@ -65,25 +67,23 @@ If a "block" element contains a single "block" element, do not put it on a newli Do not indent for anything except a new "block" element. For instance ```html -

  • Set response's url list to a copy of - request's url list. +

  • For each token in tokens, in given order, that is not in + tokens, append token to tokens. ``` is not indented, but ```html +

    1. -

      Run these substeps in parallel: +

      For each token in tokens, run these substeps:

        +
      1. If token is the empty string, throw a {{SyntaxError}} exception. ``` is. -End tags must be omitted when possible and attribute values must not be quoted (if necessary, use -double quotes). - -Place one newline between paragraphs (including list elements). Place three newlines before `

        `, -and two newlines before other headings. This does not apply when a nested heading follows the parent -heading. +End tags may be included (if done consistently) and attributes may be quoted (using double quotes), though the prevalent theme is to omit end tags and not quote attributes (unless they contain a space). +Place one newline between paragraphs (including list elements). Place three newlines before `

        `, and two newlines before other headings. This does not apply when a nested heading follows the parent heading. ```html
        • Do not place a newline above. @@ -101,10 +101,7 @@ heading.

          Place two newlines above.

          ``` - -Use camel case for variable names and sentence case use spaced names for definitions, algorithms, -etc. - +Use camel-case for variable names and "spaced" names for definitions, algorithms, etc. ```html

          A request has an associated redirect mode,... @@ -112,13 +109,3 @@ etc. ```html

          Let redirectMode be request's redirect mode. ``` - -## Merge policy - -If you can commit to this repository, see the -[maintainer guidelines](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md). - -## Tests - -Tests can be found in the `fetch/` directory of -[web-platform-tests/wpt](https://github.com/web-platform-tests/wpt).