Skip to content

Name .NET and Node.js among the languages on the new usage sharing defaults - #324

Draft
jwrosewell wants to merge 1 commit into
rcfrom
docs/usage-sharing-net-node
Draft

jwrosewell wants to merge 1 commit into
rcfrom
docs/usage-sharing-net-node

Conversation

@jwrosewell

Copy link
Copy Markdown
Contributor

Problem

documentation#323 added a sentence to the usage sharing page and to the Evidence key filter page, naming the languages that follow the new usage sharing defaults (Go and Rust) and those still on the old ones (.NET, Java, Node.js and Python). Since then 51degrees-dotnet#244 merged into the .NET rc at 04:01 UTC and 51degrees-node#135 into the Node.js rc at 04:02 UTC on 15 November. Once those releases reach main, both sentences put .NET and Node.js on the wrong side.

What the specification says

usage-sharing-element.md lines 65 to 69 at b3b2c0dd, the head of the specification's rc, which holds specifications#155:

It MUST also return false, whatever the configuration and even when all Evidence is shared, for any key whose prefix is cookie. and whose field does not start with 51D_. The 51D_ cookies carry the values the 51Degrees JavaScript sends, and they are the only cookies shared. A cookie a site sets for itself, such as its session cookie, is never shared.

Lines 80 and 81:

Share all query string parameters is on by default, so every query string and HTTP form parameter is shared unless a user turns it off.

What changed

  • src/pipelineapi/features/usagesharing.md line 90 now says .NET, Go, Node.js and Rust follow these rules, and that in Java and Python sharing all query string parameters is still off by default and sharing all Evidence also shares every cookie.
  • src/pipelineapi/concepts/data/evidencekeyfilter.md line 52 says the same of the Evidence key filter.

Nothing else on either page changes.

Each language on its rc at 04:30 UTC on 15 November

Language Every query value shared by default No cookie but 51D_ ones with all Evidence shared Where
.NET yes yes Constants.cs line 106 and EvidenceKeyFilterShareUsage.cs lines 304 to 312 at f18eb7b5, from #244
Node.js yes yes shareUsage.js line 154 and shareUsageEvidenceKeyFilter.js lines 76 and 121 to 126 at 0e89a400, from #135
Go yes yes 51degrees-go#154, already named by documentation#323
Rust yes yes 51degrees-rust#458, already named by documentation#323
Java no no ShareUsageBuilderBase.java line 68 declares shareAllQueryStringParameters with no starting value, so it is false, and EvidenceKeyFilterShareUsage.java lines 200 to 202 share every key when all Evidence is shared, before the cookie rule, at 2eebbff3. 51degrees-java#160 makes the change and is an open draft.
Python no no share_usage.py lines 106 and 111 default query_whitelist to an empty list and share_all to false, and share_usage_evidencekeyfilter.py lines 100 and 101 share every key not in the never shared list when all Evidence is shared, before the cookie rule, at 0cc7aa14. No pull request makes the change yet.

When this merges

Into rc once reviewed, and into main with the documentation's release after the Monday language releases reach main, as documentation#321 and #323 do. If 51degrees-java#160 or a Python change merges into its rc before then, this draft names that language too before it merges. If .NET or Node.js misses the Monday release, this draft goes back to naming it.

Build

To follow once the checks on the head finish.

@github-actions

Copy link
Copy Markdown
Contributor

Documentation preview 👀

This branch has not been deployed

No deployments
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.

1 participant