From ef874ba4bc65b15db046d9cf0ca537707d615725 Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 31 Aug 2026 20:25:16 -0700 Subject: [PATCH 1/3] docs(rum-legacy): point the CDN examples at paths that exist The bundle urls named v0.0.8, a version that was never released. This build first shipped in v0.1.0, so both of those urls 404 and a reader copying them gets nothing. Use a placeholder rather than a literal that goes stale on the next release, and say which release the legacy bundle starts at, since the directories of earlier ones exist but hold no fc-rum-legacy.js. The sync-bundles example passed `v0`, a directory the release tooling never writes: deploy-oss.js uploads under the full version, and what sits at v0 predates the legacy build entirely. The command therefore fails on fc-rum-legacy.js. Drop the arguments so the script takes the version from lerna.json and stays correct release to release, and note that its arguments are positional, so an output directory cannot be given without naming a version first. --- packages/rum-legacy/README.md | 19 ++++++++++++++----- scripts/deploy/sync-bundles.js | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/rum-legacy/README.md b/packages/rum-legacy/README.md index c175e2fca1..6c06a134eb 100644 --- a/packages/rum-legacy/README.md +++ b/packages/rum-legacy/README.md @@ -45,10 +45,13 @@ names, which those engines cannot even parse and no runtime guard could catch. Released bundles are served from the CDN under the directory of the release they belong to: ``` -https://static.flashcat.cloud/browser-sdk/v0.0.8/fc-rum-legacy.js -https://static.flashcat.cloud/browser-sdk/v0.0.8/flashcat-rum.js +https://static.flashcat.cloud/browser-sdk//fc-rum-legacy.js +https://static.flashcat.cloud/browser-sdk//flashcat-rum.js ``` +`` is the release tag, `v` prefix included. This build ships from `v0.1.0` onwards; the +directories of earlier releases exist but hold no `fc-rum-legacy.js`. + Each release gets its own directory and earlier ones are left as they were, so a url pins the version it names. Updating a self-hosted copy means pointing at the next release, not re-downloading the same url. @@ -59,11 +62,17 @@ chunk files that must match it exactly. `scripts/deploy/sync-bundles.js` downloa coherent set instead: ```bash -node scripts/deploy/sync-bundles.js prod v0 ./cdn-bundles +node scripts/deploy/sync-bundles.js ``` -It needs no credentials, fails loudly if any file is missing, and the resulting directory is served -as-is from the hosting origin — the `` in the snippet below. +Run from the checkout of the release being deployed: with no arguments it takes the version from +`lerna.json`, so the set it downloads matches the source it was run from and no version has to be +typed out. Its arguments are positional — `[env] [version] [outputDir]` — and naming an output +directory means naming the version before it. + +It needs no credentials, fails loudly if any file is missing, and the resulting directory +(`./cdn-bundles`) is served as-is from the hosting origin — the `` in the snippet +below. ## Setup diff --git a/scripts/deploy/sync-bundles.js b/scripts/deploy/sync-bundles.js index de254bfd1a..6446907da2 100644 --- a/scripts/deploy/sync-bundles.js +++ b/scripts/deploy/sync-bundles.js @@ -29,7 +29,7 @@ const ENTRY_BUNDLES = ['flashcat-logs.js', 'flashcat-rum.js', 'flashcat-rum-slim * Usage: * node sync-bundles.js [env] [version] [outputDir] * env = prod|staging, defaults to prod - * version = the release directory, ex: v0.0.8. Defaults to the version in lerna.json + * version = the release directory, ex: v0.1.0. Defaults to the version in lerna.json * outputDir = defaults to ./cdn-bundles * * The script needs no credentials: it downloads over plain HTTPS from the same URLs a page would From b5682405eff7fee3e8366f224c5379a0d23b6d7e Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 31 Aug 2026 23:23:02 -0700 Subject: [PATCH 2/3] docs: send readers to the SDK versions page for the version to use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both READMEs write the CDN url with a `` placeholder, which only works if the reader has somewhere to resolve it. The bucket cannot be listed without credentials, so until now there was nowhere: the legacy README left the reader to guess, and the root README named `v0`, a path that has not been updated since v0.1.0 moved releases into a directory per release. It still resolves, which is the part that makes it harmful — a page loading it gets an old bundle and no signal that anything is wrong. Both now point at the SDK versions page on the docs site, which carries the lookup link for every platform's registry, and the root README says plainly that the v0 path is frozen. --- README.md | 12 +++++++++++- packages/rum-legacy/README.md | 5 +++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a9a3134af2..53b2eb77d2 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,16 @@ This repository contains several packages: ## CDN bundle -https://static.flashcat.cloud/browser-sdk/v0/flashcat-rum.js +``` +https://static.flashcat.cloud/browser-sdk//flashcat-rum.js +``` + +`` is the release tag, `v` prefix included. The [SDK versions page][versions] is where to +look the current one up. Each release gets its own directory and earlier ones are never rewritten, +so a url serves the version it names. + +The earlier `/browser-sdk/v0/` path, named for the major version rather than the release, is no +longer updated. It still resolves, but stays at the release it last held. ## License Information @@ -31,6 +40,7 @@ This project is modified and distributed by flashcat under the Apache License 2. For complete license information, please refer to the [LICENSE](./LICENSE) file. +[versions]: https://docs.flashcat.cloud/en/rum/sdk/versions [18]: https://docs.flashcat.cloud/zh/flashduty/rum/introduction [01]: https://badge.fury.io/js/%40flashcatcloud%2Fbrowser-logs.svg [02]: https://badge.fury.io/js/%40flashcatcloud%2Fbrowser-logs diff --git a/packages/rum-legacy/README.md b/packages/rum-legacy/README.md index 6c06a134eb..e2e0886aa3 100644 --- a/packages/rum-legacy/README.md +++ b/packages/rum-legacy/README.md @@ -49,8 +49,9 @@ https://static.flashcat.cloud/browser-sdk//fc-rum-legacy.js https://static.flashcat.cloud/browser-sdk//flashcat-rum.js ``` -`` is the release tag, `v` prefix included. This build ships from `v0.1.0` onwards; the -directories of earlier releases exist but hold no `fc-rum-legacy.js`. +`` is the release tag, `v` prefix included. The [SDK versions page](https://docs.flashcat.cloud/en/rum/sdk/versions) is where to +look the current one up. This build ships from `v0.1.0` onwards; the directories of earlier +releases exist but hold no `fc-rum-legacy.js`. Each release gets its own directory and earlier ones are left as they were, so a url pins the version it names. Updating a self-hosted copy means pointing at the next release, not From 3befce326abc398b6afb552deff0cbcc09e6a4db Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 31 Aug 2026 23:23:02 -0700 Subject: [PATCH 3/3] chore: ignore editor swap files A .CHANGELOG.md.swp left behind by a crashed editor was committed and has been in the tree since. Remove it, and ignore the pattern so the next crash does not put another one there. --- .CHANGELOG.md.swp | Bin 12288 -> 0 bytes .gitignore | 3 +++ 2 files changed, 3 insertions(+) delete mode 100644 .CHANGELOG.md.swp diff --git a/.CHANGELOG.md.swp b/.CHANGELOG.md.swp deleted file mode 100644 index 8a7380416a9339a3176ce764bc0045a1917a3b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2PiP!f9LHaB6K$1x(BrQSrMfaRNvnc6lqTsKLzA{9Ru3hFw=-{NUUp{Q@aD~K za?xHqilT>twG;)R>Zy3~pr|+Tq$fR#jiO)$z0`yHo!y;ETadPwQuqygcJ}@G{pR;R z`}VNx>rB76v_jAL(*oB+LR{H1nVfmjPX2amLgcy{D4pth=>M)}UZhrJIB!hPJ86xd znoy?Kg}vNN434U@=S&e~+g@SKrV3rqv1U*z>y=S2Sa@#k_+oqc#G;=?*Ja=a8(;%> zZeW)dsSfBpYA@Y=8~00XDz}*Z><~1NWQ(S4@akQ1#@v@?d<~18jf|umLu}2G{@_xCaeL{K0(~T*u>m%~2G{@_U;}J`4X^<= za90g@q;u`4uWYGJPW@?r+Mn@cS|rk+p{_L<9f_oqk%_OJ2DVjpHMejV$#OPU8ge+B%(HJ+(4=^;X++3one{uPrat-7lS3J=R`b zN3Nt=3ZRl+9&I3yI8QRnE3rHy3fRE<#2T4UFw|Q!_yG@~amwUpljM?(?13 z-W%vVG6VnFg$)!zPtbquy0+V`uznDh=b5skNENBszU4v>)rF2%n901ty2cqAiOuq5 z9(BwX;T$#*t=3zny>U2R-by8g>8{JfvNhsX`GF^(b zORA0^nryb|4^vY`*LFl*m(HCTmUL5&Tkz3QPS(fWJ7A3RQ7V@Xn6=|~awl}i+1$8GA8s!~P1IE*|$ynU8DYHtP+QMrlbDf zFT8ag14m6*4ZG`|*+jg1<&)Pjc2Ze90iQ~!NM|?@-&gh2CjO0cm@{9+)YV(#$agNH r>$n;WB~(^5Q{Q~Qo@$ls={%-zxN%2gt=6)NRUQpD@pwz8CKmq!pR#r) diff --git a/.gitignore b/.gitignore index 2030a510f3..89d6ac70ff 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ package.tgz .VSCodeCounter .env .vscode + +# Editor swap files +*.swp