Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
7059ce7
Beginning migration to Fluid V2 (#765)
huntj88 Feb 26, 2024
a663f32
Update package-lock.json
ryanbliss Feb 26, 2024
5879aa6
fixed test-runtime-utils usage
Feb 26, 2024
ecbeaf8
updated version to 2.0.0-internal.2
ryanbliss Feb 26, 2024
0611b48
Live Share unit tests now use Fluid v2 (#771)
huntj88 Mar 6, 2024
fd17ce9
publish v 2.0.0-internal.3
ryanbliss Mar 15, 2024
887393c
remove NodeJS.Timeout types for node compatibility
ryanbliss Mar 28, 2024
e424043
Replaced EventEmitter with TypedEventEmitter
ryanbliss Mar 28, 2024
0066390
updated versions
ryanbliss Mar 28, 2024
f6651da
Fixed `InkingManager` ES compatibility issues, `SharedMap` v2 clear()…
ryanbliss Apr 5, 2024
df65822
Updated versions to 2.0.0-internal.5
ryanbliss Apr 5, 2024
1956dff
Updated FluidFramework packages (#779)
huntj88 May 28, 2024
40957e9
Merged main into mainv2 (#780)
huntj88 May 29, 2024
d605f1e
update imports in tests
May 29, 2024
e2b33a7
Integrating turbo into base live-share package, delete live-share-tur…
huntj88 Jun 25, 2024
bbde862
Cleanup Live Share folder structure (#782)
huntj88 Jul 1, 2024
640def5
deleted old host decorators
Jul 1, 2024
a875776
Provide CommonJS and ESM implementations (#785)
huntj88 Jul 22, 2024
e5821ee
React SDK `useSharedTree` and `useTreeNode` (#783)
ryanbliss Jul 22, 2024
f0edcbf
Delete deprecated docs (#787)
huntj88 Jul 25, 2024
0050369
Improved Build performance, Improved build durability of auto build a…
huntj88 Jul 25, 2024
37f09ca
When running 'npm run doctor', Prettier now also invoked (#788)
huntj88 Jul 25, 2024
6957598
Use a param object for LiveObjectSynchronizer.start method (#789)
huntj88 Jul 26, 2024
811ee43
Use Audience in LivePresence for setting online/offline state (#790)
huntj88 Aug 13, 2024
217519d
Better dual ESM/CJS support, tsconfig module now Node16, improved pnp…
huntj88 Aug 13, 2024
cacda7f
Changed TData generic to support undefined and null (#792)
ryanbliss Aug 14, 2024
0655416
mainv2 docs & samples updates (#793)
ryanbliss Aug 26, 2024
4681998
Merge branch 'mainv2'
Aug 29, 2024
d40306f
update live share package version to 2.0.0, change test package to 1.…
Aug 29, 2024
2db81b7
Target signals to specific clients (#795)
ryanbliss Aug 30, 2024
a3e0b20
Change versions to 2.0.0-internal.6
ryanbliss Sep 4, 2024
cbb4ab7
Presence update change status of user to Online
Sep 6, 2024
dddcf28
Return onlineUsers from useLivePresence
ryanbliss Sep 18, 2024
01a704e
Published 2.0.0-internal.7
ryanbliss Sep 18, 2024
e80c59b
`maxPlaybackDrift` and `positionUpdateInterval` scaling by audience s…
ryanbliss Sep 24, 2024
ebf6a44
Update .npmignore, no unnecessary files in published package (#799)
huntj88 Sep 25, 2024
c2e4bd5
Publish v2.0.0-internal.8
ryanbliss Sep 25, 2024
6b0babb
update fluid imports to use /legacy > /internal when possible
ryanbliss Oct 18, 2024
ac366c8
Added video js sample (#801)
ryanbliss Oct 23, 2024
34b8084
Update typedocs
ryanbliss Oct 25, 2024
f2a6105
remove `createDataObjectKind` (#802)
ryanbliss Oct 31, 2024
4eb0ab9
InsecureTokenProvider usage change (#804)
huntj88 Apr 30, 2025
c3e537f
Fix JS sample 22 (#806)
huntj88 May 5, 2025
6a57441
2.0.0-internal.9 release (#805)
ryanbliss May 15, 2025
8e96a09
Fix pipeline timeout (#809)
huntj88 May 22, 2025
89bfabe
Remove legacy assert and re-add azure-client as peer dep (#807)
ryanbliss May 29, 2025
bcc9659
build: fix path to support Windows (#820)
jason-ha Jun 24, 2025
e6cb0f5
improvement: use public imports where possible (#822)
jason-ha Jun 24, 2025
3b03a0b
improvement: typed result Containers (#808)
jason-ha Aug 14, 2025
9de0002
Update compatibility with FluidFramework to >=2.40 <2.70 (#824)
huntj88 Sep 4, 2025
fdc04c7
update to version 2.0.0-internal.12 (#825)
ryanbliss Sep 4, 2025
54bf1c5
update fluid versions + v2.0.0-internal.13 release (#826)
ryanbliss Oct 28, 2025
319b323
Update to version 2.0.0-internal.14 (#827)
huntj88 Jan 8, 2026
2bbd52f
2.0.0-internal.15 (#830)
huntj88 Mar 4, 2026
9907d2b
V2: Harden live cursor profile rendering and picture URL handling in …
huntj88 Apr 2, 2026
401584c
make exponential backoff slightly less aggressive
Apr 27, 2026
655f64d
Update live share versions to 2.0.0-internal.17 / fluid versions to >…
huntj88 Apr 29, 2026
710d42d
Version Update 2.0.0 internal.18 (#886)
huntj88 Jun 25, 2026
f7bec93
Drop the CommonJS build and migrate build/tests to ESM + Node16 (#888)
huntj88 Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
@arun2k17 @corinagum @halbondmsft @pradeepananth @ryanbliss @siduppal @Stevenic
@pradeepananth @ryanbliss @siduppal @huntj88
11 changes: 7 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
## Linked issues

> What issue(s) does this Pull Request address?

Issues: # (issue number)

## Details

#### PR type:

- [ ] Bug fix
Expand All @@ -12,25 +14,26 @@ Issues: # (issue number)
- [ ] Samples or Test coverage

#### Change details

> Describe your changes, with screenshots and code snippets as appropriate

**code snippets**:

**screenshots**:

## Checklist

## Checklist
<!-- - [ ] My code follows the style guidelines of this project -->

- [ ] I have checked for/fixed spelling, linting, and other errors
- [ ] I have commented my code for clarity
- [ ] I have made corresponding changes to the documentation (we use [TypeDoc](https://typedoc.org/) to document our code)
- [ ] My changes generate no new warnings
- [ ] I have added tests that validates my changes, and provides sufficient test coverage. I have tested with:
- [ ] Local testing
- [ ] E2E testing in Teams
- [ ] Local testing
- [ ] E2E testing in Teams
- [ ] New and existing unit tests pass locally with my changes

### Additional information

> Feel free to add other relevant information below

38 changes: 19 additions & 19 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
version: 2
updates:
- package-ecosystem: "npm"
# Only specify the root so dependabot will update all manifests once per package
# See https://github.com/dependabot/dependabot-core/issues/5226#issuecomment-1179434437
directory: "/"
schedule:
interval: "weekly"
day: "monday"
# Ignore the following packages because
# 1. Semver for these packages is not always followed
# 1. These packages MUST be updated all at the same time (same PR)
ignore:
- "fluid-framework",
- "@fluidframework/test-client-utils"
- "@fluidframework/test-utils"
- "@fluidframework/test-runtime-utils"
- "@fluidframework/azure-client",
- "@microsoft/teams-js"
# Updates both the package-lock and package.json, not just package-lock
versioning-strategy: increase
- package-ecosystem: "npm"
# Only specify the root so dependabot will update all manifests once per package
# See https://github.com/dependabot/dependabot-core/issues/5226#issuecomment-1179434437
directory: "/"
schedule:
interval: "weekly"
day: "monday"
# Ignore the following packages because
# 1. Semver for these packages is not always followed
# 1. These packages MUST be updated all at the same time (same PR)
ignore:
- dependency-name: "fluid-framework"
- dependency-name: "@fluidframework/test-client-utils"
- dependency-name: "@fluidframework/test-utils"
- dependency-name: "@fluidframework/test-runtime-utils"
- dependency-name: "@fluidframework/azure-client"
- dependency-name: "@microsoft/teams-js"
# Updates both the package-lock and package.json, not just package-lock
versioning-strategy: increase
15 changes: 15 additions & 0 deletions .github/workflows/checkFormatting.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
cd ../..
npm run doctor
diff=`git diff`
if [ -z "$diff" ]
then
echo "everything formatted"
exit 0
else
echo "" # empty line
echo "" # empty line
echo "FORMATTING NEEDED"
echo "Please run 'npm run doctor'"
exit 1
fi
75 changes: 0 additions & 75 deletions .github/workflows/codeql.yaml

This file was deleted.

65 changes: 34 additions & 31 deletions .github/workflows/live-share-build-samples.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
name: Build Live Share SDK samples

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
push:
branches: [main, mainv2]
pull_request:
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm install jest
working-directory: samples/javascript/02.react-video

- name: "build packages and samples"
run: npm run build

# TODO: get scenario_test.sh working

# - name: "test 02.react-video sample"
# shell: "bash"
# run: sh ../../../.github/workflows/scenario_test.sh
# working-directory: samples/javascript/02.react-video
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22.x, 24.x]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm --loglevel verbose ci --ignore-scripts
timeout-minutes: 20

- run: npm install jest
working-directory: samples/javascript/02.react-video

- name: "build packages and samples"
run: npm run build

# TODO: get scenario_test.sh working

# - name: "test 02.react-video sample"
# shell: "bash"
# run: sh ../../../.github/workflows/scenario_test.sh
# working-directory: samples/javascript/02.react-video
Comment thread Fixed
Comment thread Fixed
Comment on lines +12 to +39

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 6 months ago

Add an explicit permissions block to the workflow so the GITHUB_TOKEN is constrained to least privilege. The best fix here is to add it at the workflow root (top-level), since there is only one job and no sign of differing permission needs per job.

In .github/workflows/live-share-build-samples.yaml, insert:

permissions:
    contents: read

right after the trigger section (on: block) and before jobs:. This preserves existing behavior while explicitly limiting token access to read-only repository contents, which is sufficient for checkout/build in this snippet.

Suggested changeset 1
.github/workflows/live-share-build-samples.yaml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/live-share-build-samples.yaml b/.github/workflows/live-share-build-samples.yaml
--- a/.github/workflows/live-share-build-samples.yaml
+++ b/.github/workflows/live-share-build-samples.yaml
@@ -7,6 +7,9 @@
         branches: [main, mainv2, "user/**", "copilot/**"]
     workflow_dispatch:
 
+permissions:
+    contents: read
+
 jobs:
     build:
         runs-on: ubuntu-latest
EOF
@@ -7,6 +7,9 @@
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
Copilot is powered by AI and may make mistakes. Always verify output.
31 changes: 31 additions & 0 deletions .github/workflows/live-share-formatting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Check formatting

on:
push:
branches: [main, mainv2]
pull_request:
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22.x, 24.x]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"

- run: npm --loglevel verbose ci --ignore-scripts
timeout-minutes: 20

- name: "check formatting"
run: "bash checkFormatting.sh"
working-directory: .github/workflows
Comment thread Fixed
Comment thread Fixed
Comment on lines +12 to +31

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 6 months ago

Add an explicit permissions block to the workflow, ideally at the root so it applies to all jobs unless overridden. For this workflow, the minimal and appropriate permission is:

  • contents: read

This preserves current functionality (actions/checkout and reading repository content) while enforcing least privilege.
Edit .github/workflows/live-share-formatting.yaml by inserting the permissions block between the trigger section and jobs:.

No imports, methods, or dependency changes are needed.

Suggested changeset 1
.github/workflows/live-share-formatting.yaml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/live-share-formatting.yaml b/.github/workflows/live-share-formatting.yaml
--- a/.github/workflows/live-share-formatting.yaml
+++ b/.github/workflows/live-share-formatting.yaml
@@ -7,6 +7,9 @@
         branches: [main, mainv2, "user/**", "copilot/**"]
     workflow_dispatch:
 
+permissions:
+    contents: read
+
 jobs:
     build:
         runs-on: ubuntu-latest
EOF
@@ -7,6 +7,9 @@
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
Copilot is powered by AI and may make mistakes. Always verify output.
71 changes: 35 additions & 36 deletions .github/workflows/live-share-test-packages.yaml
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
name: Test Live Share SDK packages

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
push:
branches: [main, mainv2]
pull_request:
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build:packages

- name: "test live-share"
run: npm run test
working-directory: packages/live-share

- name: "test live-share-canvas"
run: npm run test
working-directory: packages/live-share-canvas

- name: "test live-share-media"
run: npm run test
working-directory: packages/live-share-media

- name: "test live-share-turbo"
run: npm run test
working-directory: packages/live-share-turbo
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22.x, 24.x]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm --loglevel verbose ci --ignore-scripts
timeout-minutes: 20

- run: npm run prepare # will trigger a build of all packages

- name: "test live-share"
run: npm run test
working-directory: packages/live-share

- name: "test live-share-canvas"
run: npm run test
working-directory: packages/live-share-canvas

- name: "test live-share-media"
run: npm run test
working-directory: packages/live-share-media
Comment thread Fixed
Comment thread Fixed
Comment on lines +12 to +40

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 6 months ago

Add an explicit permissions block at the workflow root so it applies to all jobs (including build) unless overridden. For this workflow, the minimal required scope is:

  • contents: read

This preserves existing functionality while preventing unintended broader token privileges if defaults change.

Change needed in:

  • .github/workflows/live-share-test-packages.yaml
  • Insert permissions: between the on: section and jobs: section.

No new imports, methods, or dependencies are required.

Suggested changeset 1
.github/workflows/live-share-test-packages.yaml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/live-share-test-packages.yaml b/.github/workflows/live-share-test-packages.yaml
--- a/.github/workflows/live-share-test-packages.yaml
+++ b/.github/workflows/live-share-test-packages.yaml
@@ -7,6 +7,9 @@
         branches: [main, mainv2, "user/**", "copilot/**"]
     workflow_dispatch:
 
+permissions:
+    contents: read
+
 jobs:
     build:
         runs-on: ubuntu-latest
EOF
@@ -7,6 +7,9 @@
branches: [main, mainv2, "user/**", "copilot/**"]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
Copilot is powered by AI and may make mistakes. Always verify output.
Loading
Loading