Skip to content

Commit

Permalink
Merge branch 'release/2023.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
voluntas committed Jun 20, 2023
2 parents 9a0e1a3 + 036e4fb commit 7f50dfb
Show file tree
Hide file tree
Showing 49 changed files with 8,307 additions and 10,291 deletions.
Binary file removed .DS_Store
Binary file not shown.
9 changes: 8 additions & 1 deletion renovate.json → .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
"config:base",
":timezone(Asia/Tokyo)",
":combinePatchMinorReleases",
":prHourlyLimitNone",
":prConcurrentLimit10",
"group:recommended",
"group:allNonMajor",
"schedule:weekly",
],
"dependencyDashboard": false,
"packageRules": [
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: GitHub Pages Deploy

# Controls when the workflow will run
on:
push:
branches: [ "develop" ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
cache: npm
- run: npm install
- run: npm run build
- name: Prepare static files
run: |
mkdir _site/
cp dist/sora.js _site/
cp example/check.html _site/
cp example/sw.js _site/
- name: Upload files
uses: actions/upload-pages-artifact@v1
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: sora-js-sdk
SLACK_COLOR: danger
SLACK_TITLE: Failure test
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

deploy:
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
3 changes: 2 additions & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: ['16', '18']
node: ['16', '18', '20']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
Expand All @@ -26,6 +26,7 @@ jobs:
- run: npm run lint -w packages/e2ee
- run: npm run lint -w packages/sdk
- run: npm run test -w packages/sdk
- run: git diff --stat --exit-code
- name: Slack Notification
if: failure()
uses: rtCamp/action-slack-notify@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ wasm.wasm
packages/e2ee/dist
packages/e2ee/_worker
apidoc/
.log/
33 changes: 33 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,39 @@

## develop

## 2023.1.0

**2023-06-20**

- [ADD] 接続オプションとしてビデオコーデック用パラメータの送信を追加
- `ConnectionOptions` 型に `videoVP9Params` `videoH264Params` `videoAV1Params` フィールドを追加
- @tnamao
- [ADD] GitHub Actions に Node.js 20 を追加する
- @voluntas
- [UPDATE] TypeScript を 5 系に上げる
- @voluntas
- [UPDATE] 接続オプションで転送フィルターを指定できるようにする
- `ConnectionOptions` 型に `forwardingFilter` フィールドを追加
- @sile
- [UPDATE] SDP の再利用に対応する
- 主に Lyra 周りで同じ mid の使い回しを考慮していないところがあったのを修正
- @sile
- [UPDATE] オファー SDP のメディアポートに 0 を指定することで古いトランシーバーを解放できるようにする
- Firefox は 0 ポートを指定するとエラーになるので SDK 側で従来の 9 に置換している
- @sile
- [UPDATE] .github 以下に renovate.json を移動する
- @voluntas
- [UPDATE] Safari / Mobile Safari で Lyra コーデックを使用可能にする
- これらのブラウザでは WebRTC Encoded Transform を使うようにする
- @sile
- [UPDATE] @shiguredo/lyra-wasm を 2023.1.0 に更新する
- Web Worker 対応と Mobile Safari 対応の取り込み
- @sile
- [CHANGE] .prettierrc を統一する
- @voluntas
- [CHANGE] サンプルのチャネル ID を sora に変更する
- @voluntas

## 2022.3.3

- [FIX] npm 最新バージョンへのリリースミスを修正
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Please read https://github.com/shiguredo/oss before use.

## システム条件

- WebRTC SFU Sora 2022.1 以降
- WebRTC SFU Sora 2022.2.0 以降
- TypeScript 3.8 以降

## サンプル
Expand All @@ -44,6 +44,10 @@ Please read https://github.com/shiguredo/oss before use.
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/spotlight_recvonly.html
- Simulcast
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/simulcast.html
- DataChannelMessaging
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/data_channel_messaging.html
- E2EE
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/e2ee.html

## E2EE について

Expand All @@ -66,8 +70,8 @@ Please read https://github.com/shiguredo/oss before use.
Apache License 2.0

```
Copyright 2017-2023, Shiguredo Inc.
Copyright 2017-2022, Yuki Ito (Original Author)
Copyright 2017-2022, Shiguredo Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
32 changes: 20 additions & 12 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,25 @@

## リリース手順

- git flow release start <tag> で開始する
- CHANGES.md にタグを打つバージョンで書き込む
- npm run lint を実行する
- npm run test を実行する
- npm run release:minor を実行する
- Next version を確認する
- コミットメッセージを<tag>にして差分をコミットする(例. git commit -m "2020.2.0")
- git flow release finish <tag> で終了する
- git push -u origin develop master
- git push origin <tag>
- npm publish を実行する
- 動作確認:
- git clean -ffdx を実行する
- npm install を実行する
- npm run build を実行する
- npm run lint を実行する
- npm run test を実行する
- https://shiguredo.github.io/sora-js-sdk/check.html で各ブラウザ・デバイスでの挙動を確認する
- バージョン更新:
- git flow release start `<tag>` で開始する
- CHANGES.md にタグを打つバージョンで書き込む
- package.json のバージョン番号を更新する
- 年度が変わっている場合にはコピーライトの年度も更新する(README.md, TYPEDOC.md)
- git flow release finish `<tag>` で終了する
- git push -u origin develop master
- git push origin `<tag>`
- リリース:
- GitHub Releases にリリースを作成する
- npm publish を実行する (事前に `npm publish --dry-run` を実行して変なところがないかを軽く確認する)
- sora-js-sdk のドキュメントリポジトリ(private)のリリースノートを更新する

## canary リリース手順

Expand All @@ -35,5 +43,5 @@
- git commit をするか聞かれるので確認して yes を選択する
- git tag をするか聞かれるので確認して yes を選択する
- git push -u origin develop
- git push origin <tag>
- git push origin `<tag>`
- npm publish --tag canary を実行する
2 changes: 1 addition & 1 deletion TYPEDOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ Please read https://github.com/shiguredo/oss before use.
Apache License 2.0

```
Copyright 2017-2023, Shiguredo Inc.
Copyright 2017-2022, Yuki Ito (Original Author)
Copyright 2017-2022, Shiguredo Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
4 changes: 2 additions & 2 deletions dist/base.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Callbacks, ConnectionOptions, JSONType, DataChannelConfiguration, SignalingOfferMessage, SignalingReOfferMessage, SignalingUpdateMessage } from "./types";
import SoraE2EE from "@sora/e2ee";
import { Callbacks, ConnectionOptions, JSONType, DataChannelConfiguration, SignalingOfferMessage, SignalingReOfferMessage, SignalingUpdateMessage } from './types';
import SoraE2EE from '@sora/e2ee';
declare global {
interface Algorithm {
namedCurve: string;
Expand Down
24 changes: 7 additions & 17 deletions dist/lyra.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { RTCEncodedAudioFrame } from "./types";
import { LyraEncoder, LyraDecoder, LyraEncoderOptions, LyraDecoderOptions } from "@shiguredo/lyra-wasm";
import { RTCEncodedAudioFrame } from './types';
import { LyraEncoder, LyraDecoder } from '@shiguredo/lyra-wasm';
/**
* Lyra の設定情報
*/
Expand Down Expand Up @@ -40,37 +40,27 @@ export declare function initLyra(config: LyraConfig): boolean;
*/
export declare function isLyraInitialized(): boolean;
/**
* Lyra のエンコーダを生成して返す
* WebRTC Encoded Transform に渡される Lyra 用の web worker を生成する
*
* @param options エンコーダに指定するオプション
* @returns Lyra エンコーダのプロミス
* @throws Lyra が未初期化の場合 or LyraConfig で指定したファイルの取得に失敗した場合
* @returns Lyra でエンコードおよびデコードを行う web worker インスタンス
*/
export declare function createLyraEncoder(options?: LyraEncoderOptions): Promise<LyraEncoder>;
/**
* Lyra のデコーダを生成して返す
*
* @param options デコーダに指定するオプション
* @returns Lyra デコーダのプロミス
* @throws Lyra が未初期化の場合 or LyraConfig で指定したファイルの取得に失敗した場合
*/
export declare function createLyraDecoder(options?: LyraDecoderOptions): Promise<LyraDecoder>;
export declare function createLyraWorker(): Worker;
/**
* PCM(L16)の音声データを Lyra でエンコードする
*
* @param encoder Lyra エンコーダ
* @param encodedFrame PCM 音声データ
* @param controller 音声データの出力キュー
*/
export declare function transformPcmToLyra(encoder: LyraEncoder, encodedFrame: RTCEncodedAudioFrame, controller: TransformStreamDefaultController): void;
export declare function transformPcmToLyra(encoder: LyraEncoder, encodedFrame: RTCEncodedAudioFrame, controller: TransformStreamDefaultController): Promise<void>;
/**
* Lyra でエンコードされた音声データをデコードして PCM(L16)に変換する
*
* @param decoder Lyra デコーダ
* @param encodedFrame Lyra でエンコードされた音声データ
* @param controller 音声データの出力キュー
*/
export declare function transformLyraToPcm(decoder: LyraDecoder, encodedFrame: RTCEncodedAudioFrame, controller: TransformStreamDefaultController): void;
export declare function transformLyraToPcm(decoder: LyraDecoder, encodedFrame: RTCEncodedAudioFrame, controller: TransformStreamDefaultController): Promise<void>;
/**
* SDP に記載される Lyra のエンコードパラメータ
*/
Expand Down
2 changes: 1 addition & 1 deletion dist/publisher.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ConnectionBase from "./base";
import ConnectionBase from './base';
/**
* Role が "sendonly" または "sendrecv" の場合に Sora との WebRTC 接続を扱うクラス
*/
Expand Down
12 changes: 6 additions & 6 deletions dist/sora.d.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import ConnectionBase from "./base";
import { initLyra, LyraConfig } from "./lyra";
import ConnectionPublisher from "./publisher";
import ConnectionSubscriber from "./subscriber";
import { applyMediaStreamConstraints } from "./helpers";
import type { AudioCodecType, Callbacks, ConnectionOptions, DataChannelConfiguration, DataChannelDirection, DataChannelEvent, DataChannelMessageEvent, JSONType, Role, SignalingEvent, SignalingNotifyConnectionCreated, SignalingNotifyConnectionDestroyed, SignalingNotifyConnectionUpdated, SignalingNotifyMessage, SignalingNotifyMetadata, SignalingNotifyNetworkStatus, SignalingNotifySpotlightChanged, SignalingNotifySpotlightFocused, SignalingNotifySpotlightUnfocused, SignalingPushMessage, Simulcast, SimulcastRid, SoraAbendTitle, SoraCloseEvent, SoraCloseEventInitDict, SoraCloseEventType, SpotlightFocusRid, TimelineEvent, TimelineEventLogType, TransportType, VideoCodecType } from "./types";
import ConnectionBase from './base';
import { initLyra, LyraConfig } from './lyra';
import ConnectionPublisher from './publisher';
import ConnectionSubscriber from './subscriber';
import { applyMediaStreamConstraints } from './helpers';
import type { AudioCodecType, Callbacks, ConnectionOptions, DataChannelConfiguration, DataChannelDirection, DataChannelEvent, DataChannelMessageEvent, JSONType, Role, SignalingEvent, SignalingNotifyConnectionCreated, SignalingNotifyConnectionDestroyed, SignalingNotifyConnectionUpdated, SignalingNotifyMessage, SignalingNotifyMetadata, SignalingNotifyNetworkStatus, SignalingNotifySpotlightChanged, SignalingNotifySpotlightFocused, SignalingNotifySpotlightUnfocused, SignalingPushMessage, Simulcast, SimulcastRid, SoraAbendTitle, SoraCloseEvent, SoraCloseEventInitDict, SoraCloseEventType, SpotlightFocusRid, TimelineEvent, TimelineEventLogType, TransportType, VideoCodecType } from './types';
/**
* Role 毎の Connection インスタンスを生成するためのクラス
*
Expand Down
1,243 changes: 659 additions & 584 deletions dist/sora.js

Large diffs are not rendered by default.

1,243 changes: 659 additions & 584 deletions dist/sora.mjs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/subscriber.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ConnectionBase from "./base";
import ConnectionBase from './base';
/**
* Role が "recvonly" の場合に Sora との WebRTC 接続を扱うクラス
*/
Expand Down
Loading

0 comments on commit 7f50dfb

Please sign in to comment.