Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 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
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
103 changes: 52 additions & 51 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,67 +9,68 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: 'CodeQL'
name: "CodeQL"

on:
push:
branches: ['main', main*]
pull_request:
# The branches below must be a subset of the branches above
branches: ['main']
schedule:
- cron: '0 2 * * 6'
push:
branches: [main, mainv2]
pull_request:
# The branches below must be a subset of the branches above
branches: [main, mainv2]
schedule:
- cron: "0 2 * * 6"
workflow_dispatch:

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: ['javascript']
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
strategy:
fail-fast: false
matrix:
language: ["javascript"]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3
steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: '/language:${{matrix.language}}'
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
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]
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: [18.x, 22.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 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 about 1 month ago

To fix the issue, add a permissions block with least-privilege required by the workflow. As all current steps only read repository contents and never write to them (e.g., no pushes, PR creation, artifact upload), the minimal needed permission is for reading repository contents (contents: read).

The CodeQL warning suggests placing the permissions block either at the workflow root or inside the job. Adding it at the root ensures it applies to all jobs (present and future) unless overridden.

Edit the file .github/workflows/live-share-build-samples.yaml, and add the following block near the top, after the name: field and before/until jobs:. Ensure proper indentation and spacing. No new imports or methods are needed.


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
@@ -1,4 +1,6 @@
 name: Build Live Share SDK samples
+permissions:
+  contents: read
 
 on:
     push:
EOF
@@ -1,4 +1,6 @@
name: Build Live Share SDK samples
permissions:
contents: read

on:
push:
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]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 22.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 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 about 1 month ago

To fix the problem, add a permissions block to the workflow YAML to explicitly restrict the privileges granted to the GitHub Actions jobs. The block can be set either at the root (applies to all jobs) or inside each job. The best practice is to set the minimum permissions needed; for most formatting checks and “checkout”/read operations, contents: read is sufficient.

  • Add the following block 'permissions:\n contents: read' right after the name: line (global) or inside the jobs/build: job (per-job).
  • Since all steps shown only read files, run bash scripts, and do not publish or modify repo contents, contents: read is appropriate.
  • No changes to imports, extra method definitions, or downstream workflow content 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
@@ -1,4 +1,6 @@
 name: Check formatting
+permissions:
+  contents: read
 
 on:
     push:
EOF
@@ -1,4 +1,6 @@
name: Check formatting
permissions:
contents: read

on:
push:
Copilot is powered by AI and may make mistakes. Always verify output.
Loading
Loading