Compare commits
27 Commits
mk/separat
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12cee3ed06 | ||
|
|
2220072d47 | ||
|
|
392ca136de | ||
|
|
3a75f3222f | ||
|
|
f80673aba8 | ||
|
|
690dc1011a | ||
|
|
6de1bc8cc6 | ||
|
|
563925f757 | ||
|
|
0b62ed930e | ||
|
|
baa4e787a2 | ||
|
|
dc82cc23b9 | ||
|
|
e9b037bac1 | ||
|
|
49b83637dc | ||
|
|
aa9be8cdc0 | ||
|
|
03aac6591a | ||
|
|
83424b27d5 | ||
|
|
55adec00d3 | ||
|
|
5ff6fa32ac | ||
|
|
8e66391a01 | ||
|
|
e9dba9861a | ||
|
|
76234cdf93 | ||
|
|
0b4af83a3f | ||
|
|
6fdf7f0b9a | ||
|
|
372cdfe760 | ||
|
|
fcec3a2459 | ||
|
|
7d1d62b6c3 | ||
|
|
aa310ade64 |
31
.github/workflows/sync-to-production.yaml
vendored
31
.github/workflows/sync-to-production.yaml
vendored
@ -1,33 +1,16 @@
|
|||||||
|
# .github/workflows/sync-to-production.yaml
|
||||||
name: Sync main to sandbox-production
|
name: Sync main to sandbox-production
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
workflow_dispatch:
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync:
|
sync:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- uses: livekit-examples/sandbox-deploy-action@v1
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Fetch all history so we can force push
|
production_branch: 'sandbox-production'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Set up Git
|
|
||||||
run: |
|
|
||||||
git config --global user.name 'github-actions[bot]'
|
|
||||||
git config --global user.email 'github-actions[bot]@livekit.io'
|
|
||||||
|
|
||||||
- name: Sync to sandbox-production
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
git checkout sandbox-production || git checkout -b sandbox-production
|
|
||||||
git merge --strategy-option theirs main
|
|
||||||
git push origin sandbox-production
|
|
||||||
|
|||||||
8
.github/workflows/test.yaml
vendored
8
.github/workflows/test.yaml
vendored
@ -11,12 +11,12 @@ jobs:
|
|||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- uses: pnpm/action-setup@v4
|
- uses: pnpm/action-setup@v4
|
||||||
- name: Use Node.js 20
|
- name: Use Node.js 22
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 20
|
node-version: 24
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@ -29,4 +29,4 @@ jobs:
|
|||||||
run: pnpm format:check
|
run: pnpm format:check
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: pnpm test
|
run: pnpm test
|
||||||
|
|||||||
@ -21,6 +21,7 @@ export function VideoConferenceClientImpl(props: {
|
|||||||
liveKitUrl: string;
|
liveKitUrl: string;
|
||||||
token: string;
|
token: string;
|
||||||
codec: VideoCodec | undefined;
|
codec: VideoCodec | undefined;
|
||||||
|
singlePeerConnection: boolean | undefined;
|
||||||
}) {
|
}) {
|
||||||
const keyProvider = new ExternalE2EEKeyProvider();
|
const keyProvider = new ExternalE2EEKeyProvider();
|
||||||
const { worker, e2eePassphrase } = useSetupE2EE();
|
const { worker, e2eePassphrase } = useSetupE2EE();
|
||||||
@ -43,6 +44,7 @@ export function VideoConferenceClientImpl(props: {
|
|||||||
worker,
|
worker,
|
||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
|
singlePeerConnection: props.singlePeerConnection,
|
||||||
};
|
};
|
||||||
}, [e2eeEnabled, props.codec, keyProvider, worker]);
|
}, [e2eeEnabled, props.codec, keyProvider, worker]);
|
||||||
|
|
||||||
|
|||||||
@ -7,9 +7,10 @@ export default async function CustomRoomConnection(props: {
|
|||||||
liveKitUrl?: string;
|
liveKitUrl?: string;
|
||||||
token?: string;
|
token?: string;
|
||||||
codec?: string;
|
codec?: string;
|
||||||
|
singlePC?: string;
|
||||||
}>;
|
}>;
|
||||||
}) {
|
}) {
|
||||||
const { liveKitUrl, token, codec } = await props.searchParams;
|
const { liveKitUrl, token, codec, singlePC } = await props.searchParams;
|
||||||
if (typeof liveKitUrl !== 'string') {
|
if (typeof liveKitUrl !== 'string') {
|
||||||
return <h2>Missing LiveKit URL</h2>;
|
return <h2>Missing LiveKit URL</h2>;
|
||||||
}
|
}
|
||||||
@ -22,7 +23,12 @@ export default async function CustomRoomConnection(props: {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<main data-lk-theme="default" style={{ height: '100%' }}>
|
<main data-lk-theme="default" style={{ height: '100%' }}>
|
||||||
<VideoConferenceClientImpl liveKitUrl={liveKitUrl} token={token} codec={codec} />
|
<VideoConferenceClientImpl
|
||||||
|
liveKitUrl={liveKitUrl}
|
||||||
|
token={token}
|
||||||
|
codec={codec}
|
||||||
|
singlePeerConnection={singlePC === 'true'}
|
||||||
|
/>
|
||||||
</main>
|
</main>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -129,6 +129,7 @@ function VideoConferenceComponent(props: {
|
|||||||
adaptiveStream: true,
|
adaptiveStream: true,
|
||||||
dynacast: true,
|
dynacast: true,
|
||||||
e2ee: keyProvider && worker && e2eeEnabled ? { keyProvider, worker } : undefined,
|
e2ee: keyProvider && worker && e2eeEnabled ? { keyProvider, worker } : undefined,
|
||||||
|
singlePeerConnection: true,
|
||||||
};
|
};
|
||||||
}, [props.userChoices, props.options.hq, props.options.codec]);
|
}, [props.userChoices, props.options.hq, props.options.codec]);
|
||||||
|
|
||||||
|
|||||||
@ -23,3 +23,7 @@ export function randomString(length: number): string {
|
|||||||
export function isLowPowerDevice() {
|
export function isLowPowerDevice() {
|
||||||
return navigator.hardwareConcurrency < 6;
|
return navigator.hardwareConcurrency < 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isMeetStaging() {
|
||||||
|
return new URL(location.origin).host === 'meet.staging.livekit.io';
|
||||||
|
}
|
||||||
|
|||||||
28
package.json
28
package.json
@ -14,31 +14,31 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@datadog/browser-logs": "^5.23.3",
|
"@datadog/browser-logs": "^5.23.3",
|
||||||
"@livekit/components-react": "2.9.13",
|
"@livekit/components-react": "2.9.19",
|
||||||
"@livekit/components-styles": "1.1.6",
|
"@livekit/components-styles": "1.2.0",
|
||||||
"@livekit/krisp-noise-filter": "0.3.4",
|
"@livekit/krisp-noise-filter": "0.4.1",
|
||||||
"@livekit/track-processors": "^0.5.4",
|
"@livekit/track-processors": "^0.7.0",
|
||||||
"livekit-client": "2.15.2",
|
"livekit-client": "2.17.2",
|
||||||
"livekit-server-sdk": "2.13.1",
|
"livekit-server-sdk": "2.15.0",
|
||||||
"next": "15.2.4",
|
"next": "15.2.8",
|
||||||
"react": "18.3.1",
|
"react": "18.3.1",
|
||||||
"react-dom": "18.3.1",
|
"react-dom": "18.3.1",
|
||||||
"react-hot-toast": "^2.5.2",
|
"react-hot-toast": "^2.5.2",
|
||||||
"tinykeys": "^3.0.0"
|
"tinykeys": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "22.15.31",
|
"@types/node": "24.10.13",
|
||||||
"@types/react": "18.3.23",
|
"@types/react": "18.3.27",
|
||||||
"@types/react-dom": "18.3.7",
|
"@types/react-dom": "18.3.7",
|
||||||
"eslint": "9.29.0",
|
"eslint": "9.39.1",
|
||||||
"eslint-config-next": "15.3.3",
|
"eslint-config-next": "15.5.6",
|
||||||
"prettier": "3.5.3",
|
"prettier": "3.7.3",
|
||||||
"source-map-loader": "^5.0.0",
|
"source-map-loader": "^5.0.0",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.9.3",
|
||||||
"vitest": "^3.2.4"
|
"vitest": "^3.2.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.9.0"
|
"packageManager": "pnpm@10.18.2"
|
||||||
}
|
}
|
||||||
|
|||||||
1219
pnpm-lock.yaml
generated
1219
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user