From bce33cc426414c3c1b634c35c88723159ff961d6 Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Fri, 1 May 2026 17:18:46 +0200 Subject: [PATCH 1/4] Add note for changing the endpoint --- content.mkd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content.mkd b/content.mkd index 7ac3191..38de1e3 100644 --- a/content.mkd +++ b/content.mkd @@ -284,6 +284,11 @@ A server MUST NOT register a subscription with the same identifier multiple time The response is the same as for subscription registration. +**Note:** Both registering and updating a subscription use the same POST request to the WebDAV resource. The server distinguishes between these two operations by checking whether the push resource is already registered for that resource. Therefore, when a client needs to change a subscription's push resource, it cannot update the existing subscription because that would require changing the identifier itself. Instead: + +- the old subscription for the old push resource has to be removed, and then +- a new subscription for the new push resource has to be created. + ## Subscription Removal From b61d4d9727cb7c788ac6f63a05d002ef98638e27 Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Fri, 1 May 2026 17:36:25 +0200 Subject: [PATCH 2/4] Fix errors --- content.mkd | 2 -- webdav-push.mkd | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/content.mkd b/content.mkd index 38de1e3..55e54a5 100644 --- a/content.mkd +++ b/content.mkd @@ -13,8 +13,6 @@ Typical use cases: - A desktop file manager shows contents of a WebDAV collection and wants to be notified on updates in order to refresh the view. - A calendar Web app shows a CalDAV collection and wants to be notified on updates in order to refresh the view. -[^todo]: TO BE DONE - ## Notational Conventions diff --git a/webdav-push.mkd b/webdav-push.mkd index 2555d57..0b87a86 100644 --- a/webdav-push.mkd +++ b/webdav-push.mkd @@ -7,8 +7,9 @@ category: exp submissionType: independent ipr: none workgroup: Independent submission -keyword: WebDAV -keyword: push +keyword: + - WebDAV + - push stand_alone: yes pi: [toc, sortrefs, symrefs] From d995452b58690070ff7516f8ec0995f95ffc796f Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Fri, 1 May 2026 17:46:31 +0200 Subject: [PATCH 3/4] Use goat 0.2.0 --- .github/workflows/build-rfc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-rfc.yml b/.github/workflows/build-rfc.yml index 0d5c841..672d7a4 100644 --- a/.github/workflows/build-rfc.yml +++ b/.github/workflows/build-rfc.yml @@ -25,7 +25,7 @@ jobs: sudo apt-get install --no-install-recommends -y golang-go && sudo gem install kramdown-rfc && sudo pip3 install svgcheck xml2rfc --break-system-packages && - go install github.com/blampe/goat/cmd/goat@latest && echo ~/go/bin >> $GITHUB_PATH + go install github.com/blampe/goat/cmd/goat@v0.2.0 && echo ~/go/bin >> $GITHUB_PATH - name: Prepare output directory run: mkdir build From 40826c6e768c9fc9a14f7d279d1816ba964afb0d Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Fri, 1 May 2026 19:57:55 +0200 Subject: [PATCH 4/4] Update workflow and .gitignore --- .github/workflows/build-rfc.yml | 38 ++++++++++++++++++++++----------- .gitignore | 4 ++++ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-rfc.yml b/.github/workflows/build-rfc.yml index 672d7a4..03ea7ff 100644 --- a/.github/workflows/build-rfc.yml +++ b/.github/workflows/build-rfc.yml @@ -15,23 +15,37 @@ jobs: - uses: actions/checkout@v4 - uses: actions/cache@v4 with: - path: | - $HOME/.local/share/gem - .refcache - key: webdav-push.mkd - - - name: Install packages - run: > - sudo apt-get install --no-install-recommends -y golang-go && - sudo gem install kramdown-rfc && - sudo pip3 install svgcheck xml2rfc --break-system-packages && - go install github.com/blampe/goat/cmd/goat@v0.2.0 && echo ~/go/bin >> $GITHUB_PATH + path: .refcache + key: kramdown-refcache + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + cache: 'pip' + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + ruby-version: '4.0' + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: 'latest' + cache: 'npm' + + - name: Install dependencies + run: | + pip install -r requirements.txt + npm ci && echo "$GITHUB_WORKSPACE/node_modules/.bin" >> "$GITHUB_PATH" - name: Prepare output directory run: mkdir build - name: Kramdown to XML - run: kramdown-rfc2629 webdav-push.mkd >build/draft-bitfire-webdav-push-00.xml + run: bundle exec kramdown-rfc2629 webdav-push.mkd >build/draft-bitfire-webdav-push-00.xml - name: XML to HTML run: (cd build; xml2rfc --html draft-bitfire-webdav-push-00.xml) diff --git a/.gitignore b/.gitignore index 46e8f5c..dbdc6cf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,7 @@ .obsidian/ .refcache/ build/ + +Gemfile.lock +node_modules/ +vendor/