RepoMicrosoftMicrosoftpublished May 9, 2022seen 1w

microsoft/live-share-sdk

TypeScript

Open original ↗

Captured source

source ↗
published May 9, 2022seen 1wcaptured 1whttp 200method plain

microsoft/live-share-sdk

Description: A framework for building collaborative Microsoft Teams and M365 experiences.

Language: TypeScript

License: NOASSERTION

Stars: 108

Forks: 35

Open issues: 79

Created: 2022-05-09T23:37:18Z

Pushed: 2026-06-13T03:51:44Z

Default branch: main

Fork: no

Archived: no

README:

Live Share SDK

The Live Share SDK builds on the Fluid Framework to enable the creation of collaborative experiences for Microsoft Teams and Microsoft 365. This package focuses on building collaborative meeting applications for Microsoft Teams using Fluid. The SDK provides a LiveShareClient class for connecting to a special Fluid Container associated with each meeting. A collection of Live Share specific Distributed Data Structure (DDS) classes are also provided to simplify building applications for common meeting scenarios like shared media playback.

To get started, we recommend first familiarizing yourself with the Fluid Framework and Live Share overview. You can then follow our Quick Start Guide to build your first Teams Meeting App that uses Live Share.

You can find our detailed API reference documentation at Live Share reference docs and Live Share Media reference docs.

Collaborative features

[Live Share](/packages/live-share/README.md) has several features that make building collaborative apps easier than ever, including:

  • LiveShareClient: Connect to a Fluid container associated with a Microsoft Teams meeting.
  • LivePresence: Track who is using your app during a meeting and associate custom metadata for each user (e.g., camera position).
  • LiveState: Synchronize a JSON-serializable value for maintaining consistent application state across clients.
  • LiveTimer: Build a collaborative countdown timer.
  • LiveEvent: Send one-time, stateless JSON-serializable values to each user in the session.
  • LiveFollowMode (beta): Easily integrate features to present to all, follow specific users, and suspend/resume following.

[Live Share Canvas](/packages/live-share-canvas/README.md) is an optional extension that allows any app to add a collaborative whiteboard as an app overlay. Key classes include:

  • InkingManager: Utilizes the HTML `` element for turn-key pen, highlighter, laser pointer, and eraser tools.
  • LiveCanvas: Synchronizes the InkingManager strokes and adds remote cursors for users in the session.

[Live Share Media](/packages/live-share-media/README.md) is an optional extension that makes it easy to add co-watch support to any video or audio player. Key classes include:

  • LiveMediaSession: Synchronizes player state for everyone in the session.
  • MediaPlayerSynchronizer: Delegate interface used with LiveMediaSession to execute playback commands against a media player; matches the HTML5 IMediaPlayer interface for ` or ` elements.

[Live Share React](/packages/live-share-react/README.md) (beta) is an optional integration for React, providing a `` context provider component and a series of custom React hooks that correspond with each Live Share and Fluid DDS.

Fluid Framework also offers some useful collaborative features, each of which is compatible with Live Share, including:

  • SharedMap: The DDS equivalent to a JavaScript Map, which is useful for synchronizing a collection of objects.
  • SharedString: Synchronize a string text value, useful for building real-time text editors.
  • SharedTree (alpha): Synchronize a complex tree of intersecting nodes.

Package Compatibility

The Live Share SDK contains dependencies for @microsoft/teams-js and fluid-framework packages among others. Both of these packages are sensitive to the package version your app any libraries use. You will likely run into issues if the package version your app uses doesn't match the version other libraries you depend on use.

It is critical that your app use the package dependencies listed in the table below. Lookup the version of the @microsoft/live-share you're using and set any other dependencies in your package.json file to match:

| @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-\* | @fluidframework/azure-client | @microsoft/TeamsFx | @microsoft/TeamsFx-react | | --------------------- | -------------------- | --------------- | -------------------------- | ---------------------------- | ------------------------------- | ------------------------------- | | ^1.0.0 | ^2.11.0 | ^1.2.3 | ^1.0.0 | ^1.0.0 | ^2.5.0 | ^2.5.0 |

Installing

Live Share

To add the latest version of the SDK to your application using NPM:

npm install fluid-framework @fluidframework/azure-client @microsoft/live-share --save

or using Yarn:

yarn add fluid-framework @fluidframework/azure-client @microsoft/live-share

Live Share Media

Optionally, to add the latest version of the media package to your application using NPM:

npm install @microsoft/live-share-media --save

or using Yarn:

yarn add @microsoft/live-share-media

Live Share Canvas

Optionally, to add the latest version of the canvas package (inking & cursors) to your application using NPM:

npm install @microsoft/live-share-canvas --save

or using Yarn:

yarn add @microsoft/live-share-canvas

Live Share integration with React

Optionally, to add the latest version of the React integration to your application using NPM:

npm install @microsoft/live-share-react --save

or using Yarn:

yarn add @microsoft/live-share-react

Contributing

There are several ways you can [contribute](./CONTRIBUTING.md) to this project:

-...

Excerpt shown — open the source for the full document.

Notability

notability 3.0/10

Routine SDK release, not AI-focused; moderate traction.