Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
a5834fc
feat: update org flashcatcloud
Mar 17, 2025
9d5a702
update version
Mar 17, 2025
482f190
add changelog
Mar 17, 2025
23e193b
feat: remove site validation
Mar 17, 2025
b9c39b2
update site
Mar 17, 2025
db716f7
v0.0.1-alpha.2
Mar 17, 2025
c468cf1
add workflow
Mar 18, 2025
4d5533f
全局替换window.FC_RUM + window.FC_LOGS
Mar 18, 2025
b909ca0
add ali-oss deploy
Mar 18, 2025
d483ba4
update workflow
Mar 18, 2025
abf316b
debug NPM_TOKEN
Mar 18, 2025
6e567a8
debug dingtalk notify
Mar 18, 2025
8471645
update deploy notify
Mar 19, 2025
ce41174
update manual deploy
Mar 19, 2025
862e5ab
feat: update sandbox sdk package
Fiona2016 Mar 21, 2025
bdcc64b
feat: update site
Apr 18, 2025
43aa6f5
Merge branch 'feat/publish_flashcat' of github.com:flashcatcloud/brow…
Apr 18, 2025
f3184f8
v0.0.1-beta.0
Apr 18, 2025
afb76a6
feat: 去掉site前缀
Apr 18, 2025
ac1bc86
v0.0.1-beta.1
Apr 18, 2025
880ad0b
feat: remove dd trace type
Fiona2016 Apr 27, 2025
2709c87
Merge pull request #2 from flashcatcloud/feat/trace-type
niuweili Apr 27, 2025
bb7d530
v0.0.1-beta.2
Apr 27, 2025
dc9c0d5
feat: update md
May 13, 2025
185f77c
Merge pull request #3 from flashcatcloud/publish
niuweili May 13, 2025
b09d482
v0.0.1
May 13, 2025
3a296d6
rename flashcat
May 15, 2025
75caad7
change submodule
May 15, 2025
11d8f6c
Merge branch 'main' into flashcat
May 15, 2025
5053669
Merge pull request #4 from flashcatcloud/flashcat
niuweili May 15, 2025
b8d6611
v0.0.2
May 15, 2025
90ad4a0
Merge branch 'main' of github.com:flashcatcloud/browser-sdk
May 26, 2025
8908c95
feat: add default usrId
May 26, 2025
15187ae
fix: init
May 26, 2025
7d20c7c
Merge pull request #6 from flashcatcloud/feat/default_usrId
niuweili May 26, 2025
5ad963f
feat: update yarn.lock
May 26, 2025
fabc54c
Merge branch 'main' into publish
May 26, 2025
7cf50ee
feat: update lock
May 26, 2025
10134e4
del: test/app
May 26, 2025
2b97be2
Merge branch 'main' into publish
May 26, 2025
e35a4bb
fix: version error
May 26, 2025
9d58f14
v0.0.3-beta.0
May 26, 2025
2048a0f
Merge branch 'main' into publish
May 26, 2025
a0c22ea
v0.0.3-beta.1
May 26, 2025
75848ad
del: changelog action
May 26, 2025
ecd9f0d
chore: release v0.0.3
Jul 7, 2025
98dc7e6
v0.0.3-beta.2
Jul 7, 2025
ade2dbb
v0.0.3
Jul 7, 2025
f4ca65c
Feat/session replay (#8)
niuweili Jul 7, 2025
ff3bcdd
chore: publish bugfix
Jul 7, 2025
d9b6210
chore: publish bugfix (#9)
niuweili Jul 7, 2025
ca7be1e
fix: rrweb pkg bugfix
Jul 7, 2025
05c1964
Merge branch 'fix/publish_bugfix@nwl' into publish
Jul 7, 2025
b426e31
v0.0.4-alpha.1
Jul 7, 2025
de358ef
Revert "Feat/session replay (#8)" (#10)
Fiona2016 Aug 29, 2025
47ccf1e
v0.0.4-alpha.2
Fiona2016 Aug 29, 2025
9b27f7d
Merge branch 'main' into publish
Nov 11, 2025
64180ee
feat(replay): add createPageActivationObservable for inactive->active…
Fiona2016 Jun 9, 2026
c4bbfab
feat(replay): add PAGE_REACTIVATED lifecycle event and bridge
Fiona2016 Jun 9, 2026
94fc9a9
feat(replay): flush replay segment on page re-activation
Fiona2016 Jun 9, 2026
8395382
feat(replay): take a subsequent full snapshot on page re-activation
Fiona2016 Jun 9, 2026
19f0f95
test(replay): drive debounce test from REACTIVATE_DEBOUNCE constant
Fiona2016 Jun 9, 2026
ccc350e
chore: restore release safety baseline
Fiona2016 Jun 11, 2026
a5117c3
Merge pull request #12 from flashcatcloud/feat/replay-resnapshot-on-r…
Fiona2016 Jun 12, 2026
3c40377
Merge remote-tracking branch 'origin/publish' into chore/release-safe…
Fiona2016 Jun 12, 2026
3fa1022
test(logs): expect default usr.id from anonymous id in request spec
Fiona2016 Jun 12, 2026
61fefa3
Merge pull request #13 from flashcatcloud/chore/release-safety-automa…
Fiona2016 Jun 12, 2026
b4b2e22
fix: CI baseline follow-up — replay focus misfire, BUILD_MODE leak, P…
Fiona2016 Jun 12, 2026
0f5b88e
test(e2e): use latest view update per view id in init scenario
Fiona2016 Jun 12, 2026
d3fc4bc
Merge pull request #14 from flashcatcloud/fix/ci-baseline-followup
Fiona2016 Jun 12, 2026
43d8fd8
v0.0.5
Fiona2016 Jun 12, 2026
60048cc
ci: fetch tags in deploy workflow checkouts
Fiona2016 Jun 12, 2026
7362dd0
feat(rum): add trackWebVitals config to opt out of initial view metrics
Fiona2016 Jun 15, 2026
1e23f80
Merge pull request #15 from flashcatcloud/feat/track-web-vitals
Fiona2016 Jun 16, 2026
97bcf9b
v0.0.6
Fiona2016 Jun 16, 2026
1e2b3a1
feat(rum): keep collecting Session Replay in the page when a host bri…
Fiona2016 Aug 5, 2026
2e5b179
fix(rum): keep intake credentials and stop backfilling usr.id under a…
Fiona2016 Aug 5, 2026
4f9fe7b
docs: make the FLASHCAT FORK markers name the right change
Fiona2016 Aug 5, 2026
e370864
docs: state what an empty host identifier means on the bridge
Fiona2016 Aug 5, 2026
72dbbd1
fix(rum): stop collecting for the host while it has no session
Fiona2016 Aug 6, 2026
1d10475
Merge pull request #18 from flashcatcloud/feat/renderer-replay-direct…
Fiona2016 Aug 6, 2026
d231223
fix(ci): unblock releases from TypeScript 7
Fiona2016 Aug 7, 2026
14b35f3
fix(ci): migrate the lockfile to the format the new yarn writes
Fiona2016 Aug 7, 2026
14aa6f5
fix(ci): keep the yarn upgrade to the yarn path
Fiona2016 Aug 7, 2026
59b0a3a
fix(ci): let package install scripts run again
Fiona2016 Aug 7, 2026
f824571
Merge pull request #19 from flashcatcloud/fix/ts7-compat-toolchain
Fiona2016 Aug 7, 2026
e196524
v0.0.7
Fiona2016 Aug 7, 2026
5671331
fix(ci): make a pushed tag actually release again
Fiona2016 Aug 7, 2026
872f7f6
Merge pull request #21 from flashcatcloud/fix/tag-triggered-release
Fiona2016 Aug 7, 2026
f670bcc
Merge branch 'publish' into main
Fiona2016 Aug 21, 2026
e623cca
fix(deploy): teach the release tooling about the legacy bundle
Fiona2016 Aug 21, 2026
e7b2cbd
fix(deploy): duplicate whole expectations, not just their command line
Fiona2016 Aug 21, 2026
2d4f3dc
fix(rum-legacy): survive the checks the merged CI actually runs
Fiona2016 Aug 21, 2026
2066f36
test(rum-legacy): assert the view fields that reach the wire
Fiona2016 Aug 21, 2026
d3efe5a
test(rum-legacy): stop the time spent measurement drifting
Fiona2016 Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions .github/workflows/changelog-to-confluence.yml

This file was deleted.

132 changes: 132 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
name: Browser SDK CI

on:
pull_request:
branches:
- main
- publish
push:
branches:
- main
- publish
workflow_dispatch:

env:
NODE_VERSION: '23.11.1'

jobs:
quality:
name: Build, lint, typecheck
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Check formatting
run: yarn format

- name: Build packages
run: yarn build

- name: Lint packages
run: yarn lint

- name: Check package metadata
run: node scripts/check-packages.js

- name: Typecheck packages and test apps
run: |
yarn typecheck
scripts/cli typecheck test/apps/vanilla
scripts/cli typecheck test/e2e

unit:
name: Unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Run unit tests
run: yarn test:unit --single-run

compatibility:
name: Compatibility checks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Check TypeScript compatibility
run: yarn test:compat:tsc

- name: Check server-side rendering compatibility
run: yarn test:compat:ssr

bundle:
name: Bundle and script tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Build release bundles
run: yarn build:bundle
env:
# scoped to this step only: script tests must run with the default (dev) build mode
BUILD_MODE: release

- name: Run script tests
run: yarn test:script

e2e:
name: Chromium e2e
runs-on: ubuntu-latest
env:
FORCE_COLOR: '1'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Run Chromium e2e tests
run: yarn test:e2e:ci
83 changes: 69 additions & 14 deletions .github/workflows/deploy-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,19 @@ on:
tags:
- 'v*' # 当推送带有 v 前缀的标签时触发

# Unlike deploy-manual.yml, no job here asks for `fetch-tags`. This workflow is triggered *by* the
# tag, so the tag is the ref being checked out and is already there — `check-release.js` finds it.
# Asking for it on top makes checkout fetch the commit and the tag into the same `refs/tags/*`,
# which git refuses: "Cannot fetch both <sha> and refs/tags/vX to refs/tags/vX". That failure took
# down every tag-triggered release from v0.0.5 onwards.

env:
NODE_VERSION: '23.11.1'
BUILD_MODE: release

jobs:
deploy-prod:
preflight:
name: Release preflight
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand All @@ -15,29 +26,73 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn
run: yarn install --immutable

- name: Export BUILD_MODE
run: export BUILD_MODE=release
- name: Validate tag matches package version
run: |
FULL_VERSION=$(node -p "require('./lerna.json').version")
TAG_VERSION="${GITHUB_REF_NAME#v}"
if [ "$FULL_VERSION" != "$TAG_VERSION" ]; then
echo "Tag v$TAG_VERSION does not match lerna.json version $FULL_VERSION"
exit 1
fi

- name: Get version
- name: Check release metadata
run: node scripts/release/check-release.js

- name: Run release checks
run: |
FULL_VERSION=$(node -p -e "require('./lerna.json').version")
MAJOR_VERSION=$(echo $FULL_VERSION | cut -d. -f1)
echo "VERSION=$MAJOR_VERSION" >> $GITHUB_ENV
echo "version=$MAJOR_VERSION" >> $GITHUB_OUTPUT
env:
BUILD_MODE: release
yarn format
yarn build
yarn lint
node scripts/check-packages.js
yarn typecheck
yarn test:unit --single-run
yarn test:compat:tsc
yarn test:compat:ssr

- name: Build bundle
run: yarn build:bundle

- name: Verify ES5 compatibility of the legacy bundle
run: yarn test:compat:es5

- name: Upload bundle artifact
uses: actions/upload-artifact@v4
with:
name: release-bundles
path: packages/*/bundle/**
if-no-files-found: error

deploy-prod:
needs: preflight
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install dependencies
run: yarn install --immutable

- name: Download verified bundle artifact
uses: actions/download-artifact@v4
with:
name: release-bundles
path: packages

- name: Get version
run: |
FULL_VERSION=$(node -p "require('./lerna.json').version")
echo "VERSION=$FULL_VERSION" >> $GITHUB_ENV

- name: Deploy to prod
run: node ./scripts/deploy/deploy-oss.js prod v${VERSION}
env:
Expand All @@ -57,11 +112,11 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
node-version: ${{ env.NODE_VERSION }}
registry-url: 'https://registry.npmjs.org/'

- name: Install dependencies
run: yarn
run: yarn install --immutable

- name: Publish to NPM
run: node ./scripts/deploy/publish-npm.js
Expand Down
Loading
Loading