-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
fix(cmds): cleanup unicode identify strings #9465
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
Conversation
6357a06 to
0d30552
Compare
0d30552 to
7384cb4
Compare
57cb269 to
a593889
Compare
a593889 to
2ad8bf7
Compare
|
I'm not sure I understand the motivation behind this. I'd prefer to embrace UTF-8, instead of taking extra steps to restrict ourselves to ASCII. |
|
@lidel : FYI I bumped this to 0.21 (not 0.20). Feel free to pull it in sooner. |
aligns with kubo's limit from ipfs/kubo#9465
- adopt ipfs-check sanitization approach (replace non-ASCII with _) - sanitize AgentVersion in swarm peers --identify - sanitize protocols in both id and swarm commands
6696917 to
d794bca
Compare
|
Updated this PR and the specs one to allow up to 128 unicode runes: Rationale: this is high enough to not impact anything that exists today, but acts as a sensible failsafe in places where we show these unicode strings to end users: |
replace control/format/surrogate chars with U+FFFD instead of deleting as deletion is a security risk preserve private use characters as specified enforce 128 rune limit on untrusted peer data https://www.rfc-editor.org/rfc/rfc9839.html
d794bca to
3807757
Compare
- removes client-side truncation as it will be handled upstream in kubo via ipfs/kubo#9465 - simplifies agentVersion to use undefined instead of empty string when not present
* feat: add Agent Version column to peers table shows which IPFS implementation each peer is running (e.g., kubo/0.35.0) depends on ipfs/js-kubo-rpc-client#342 * fix: increase agent version truncation to 64 chars aligns with kubo's limit from ipfs/kubo#9465 * chore: update kubo-rpc-client to v5.3.0 - includes identify field support from ipfs/js-kubo-rpc-client#342 - add @babel/plugin-proposal-private-property-in-object to fix build warning - update browserslist database * refactor: remove agent version truncation - removes client-side truncation as it will be handled upstream in kubo via ipfs/kubo#9465 - simplifies agentVersion to use undefined instead of empty string when not present * refactor: compact connection column display - use slash notation (ip4/tcp) instead of bullets - shorten quic-v1 to quic - use monospace font like other technical columns
## [4.9.0](v4.8.0...v4.9.0) (2025-09-17) CID `bafybeietkqxghs3hm56e3w64s4papqlvvzqzjigs4eyuy24plkpz652fee` --- ### Features * add Agent Version column to peers table ([#2433](#2433)) ([614f30d](614f30d)), closes [ipfs/kubo#9465](ipfs/kubo#9465) [ipfs/js-kubo-rpc-client#342](ipfs/js-kubo-rpc-client#342) [ipfs/kubo#9465](ipfs/kubo#9465) * add close button to file viewer for improved navigation ([#2401](#2401)) ([84969a5](84969a5)) * add diagnostics screen ([#2392](#2392)) ([f3a8179](f3a8179)), closes [#2424](#2424) [ipfs-check#102](ipfs/ipfs-check#102) [/github.com/ipfs/ipfs-check/pull/102#pullrequestreview-3214396503](https://github.com/ipfs//github.com/ipfs/ipfs-check/pull/102/issues/pullrequestreview-3214396503) [#2434](#2434) * **files:** advanced sorting options ([#2421](#2421)) ([c9251eb](c9251eb)) * migrate Tooltip from Javascript to Typescript ([#2381](#2381)) ([dc9e9ac](dc9e9ac)) ### Bug Fixes * create redux-bundler migration helpers ([#2388](#2388)) ([d1fdb87](d1fdb87)) * display UX friendly error for missing files ([#2346](#2346)) ([d4e7fca](d4e7fca)) * **files:** rename in Grid View ([#2422](#2422)) ([e39bce6](e39bce6)) * **i18n:** prevent English replacements in translation sync workflow ([#2418](#2418)) ([323c59e](323c59e)) * macos input focus issue in draggable regions ([#2416](#2416)) ([5382688](5382688)) * migrate error boundary to typescript ([#2402](#2402)) ([b33775a](b33775a)) * **navbar:** highlighting on browser back ([#2425](#2425)) ([cec6dfd](cec6dfd)) * Prevent layout breaks with long filenames in file preview ([#2415](#2415)) ([f82efcd](f82efcd)) * reference to `global` in browser environment ([#2408](#2408)) ([03b2e92](03b2e92)) * shared max for bandwidth chart ([#2426](#2426)) ([cd17032](cd17032)) * typecheck more files ([#2409](#2409)) ([fb967ee](fb967ee)) ### Tests * fix bring-your-own kubo node functionality ([#2396](#2396)) ([0883cfa](0883cfa)) * make e2e tests more robust ([#2438](#2438)) ([3de544b](3de544b)) ### Trivial Changes * **readme:** update links ([dc6f8f4](dc6f8f4)) * remove selectApiUrl selector ([#2412](#2412)) ([d4710e8](d4710e8))
- resolved go.mod conflict by accepting newer dependency versions - kept go-ipfs-cmds v0.15.0 alongside new dependencies
This is a follow-up for #9457 that ensures we trim identify versions to
ASCII-only, max 64 charactersprintable Unicode, max 128 runes.It is applied to both values sent by Kubo, and ones read from other peers.
I also submitted
to make this canonical behavior across implementations.