Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat tag2 #5

Merged
merged 26 commits into from
Apr 5, 2024
Merged

Feat tag2 #5

merged 26 commits into from
Apr 5, 2024

Conversation

ties-makimura
Copy link
Collaborator

競合部分修正

kou029w and others added 26 commits September 26, 2023 14:30
client

 @emotion/css                                 ^11.10.6  →          ^11.11.2
 @emotion/react                               ^11.10.6  →          ^11.11.1
 @emotion/styled                              ^11.10.6  →          ^11.11.0
 @mui/icons-material                          ^5.11.11  →           ^5.14.7
 @mui/lab                             ^5.0.0-alpha.124  →  ^5.0.0-alpha.142
 @mui/material                                ^5.11.15  →           ^5.14.7
 @mui/styles                                  ^5.11.13  →           ^5.14.7
 @mui/x-date-pickers                            ^6.0.3  →           ^6.12.1
 @openapitools/openapi-generator-cli            ^2.5.2  →            ^2.7.0
 @storybook/addon-a11y                 ^6.5.17-alpha.0  →            ^7.4.0
 @storybook/addon-essentials           ^6.5.17-alpha.0  →            ^7.4.0
 @storybook/builder-webpack5           ^6.5.17-alpha.0  →            ^7.4.0
 @storybook/react                      ^6.5.17-alpha.0  →            ^7.4.0
 @types/jest                                   ^29.5.0  →           ^29.5.4
 @types/node                                 ^18.15.11  →           ^20.5.9
 @types/react                                 ^18.0.31  →          ^18.2.21
 @types/vimeo__player                          ^2.16.3  →           ^2.18.0
 @typescript-eslint/eslint-plugin              ^5.57.0  →            ^6.6.0
 @typescript-eslint/parser                     ^5.57.0  →            ^6.6.0
 @vimeo/player                                 ^2.18.0  →           ^2.20.1
 clsx                                           ^1.2.1  →            ^2.0.0
 date-fns                                      ^2.29.3  →           ^2.30.0
 eslint                                        ^8.37.0  →           ^8.48.0
 eslint-config-next                            ^13.2.4  →          ^13.4.19
 eslint-config-prettier                         ^8.8.0  →            ^9.0.0
 eslint-plugin-react                           ^7.32.2  →           ^7.33.2
 eslint-plugin-storybook                       ^0.6.11  →           ^0.6.13
 glob                                           ^9.3.2  →           ^10.3.4
 iso-639-1                                     ^2.1.15  →            ^3.0.1
 jest                                          ^29.5.0  →           ^29.6.4
 jotai                                          ^2.0.3  →            ^2.4.1
 next                                          ^13.2.4  →          ^13.4.19
 pathpida                                      ^0.20.1  →           ^0.22.0
 prettier                                       ^2.8.7  →            ^3.0.3
 react-hook-form                               ^7.43.8  →           ^7.46.1
 react-markdown                                 ^8.0.6  →            ^8.0.7
 remark-breaks                                  ^3.0.2  →            ^3.0.3
 strip-markdown                                 ^5.0.0  →            ^5.0.1
 swr                                            ^2.1.1  →            ^2.2.2
 ts-jest                                       ^29.0.5  →           ^29.1.1
 typescript                                     ^5.0.2  →            ^5.2.2
 use-debounce                                   ^9.0.3  →            ^9.0.4
 video.js                                       ^8.0.4  →            ^8.5.2
 videojs-youtube                                ^3.0.0  →            ^3.0.1

server

 @fastify/auth                  ^4.2.0  →   ^4.3.0
 @fastify/cookie                ^8.3.0  →   ^9.0.4
 @fastify/cors                  ^8.2.1  →   ^8.3.0
 @fastify/helmet               ^10.1.0  →  ^11.0.0
 @fastify/multipart             ^7.5.0  →   ^7.7.3
 @fastify/session              ^10.2.0  →  ^10.4.0
 @fastify/swagger               ^8.3.1  →   ^8.9.0
 @fastify/swagger-ui            ^1.6.0  →   ^1.9.3
 @prisma/client                ^4.12.0  →   ^5.2.0
 @quixo3/prisma-session-store  ^3.1.11  →  ^3.1.13
 @types/jest                   ^29.5.0  →  ^29.5.4
 @types/jsonwebtoken            ^9.0.1  →   ^9.0.2
 @types/unzipper               ^0.10.5  →  ^0.10.7
 date-fns                      ^2.29.3  →  ^2.30.0
 fastify                       ^4.15.0  →  ^4.22.2
 got                           ^12.6.0  →  ^13.0.0
 jest                          ^29.5.0  →  ^29.6.4
 json-schema-to-ts              ^2.7.2  →   ^2.9.2
 jsonwebtoken                   ^9.0.0  →   ^9.0.2
 node-fetch                     ^3.3.1  →   ^3.3.2
 node-ssh                      ^13.0.1  →  ^13.1.0
 openid-client                  ^5.4.0  →   ^5.4.3
 pino-pretty                   ^10.0.0  →  ^10.2.0
 prisma                        ^4.12.0  →   ^5.2.0
 ts-jest                       ^29.0.5  →  ^29.1.1
 tsup                           ^6.7.0  →   ^7.2.0
Docker images

- mariadb:10.11.2-jammy → 11.1.2-jammy
- bitnami/moodle:4.1.2-debian-11-r6 → 4.1.5-debian-11-r18 (LTSのままにしておく)
- postgres:15.2-alpine3.17 → 15.4-alpine3.18
- node:18.15.0-alpine3.17 → 18.17.1-alpine3.18

server/README.md 動作確認環境を Docker v24 に更新し、docker-compose.yml ではなくなっているので compose.yml を使用
依存関係の更新によりTypeScriptの型検査に失敗した下記の実装を変更し適切に扱えるように修正します。

- components/organisms/BookForm.tsx
- components/organisms/ContentPreview.stories.tsx:24
- components/organisms/ContentPreview.stories.tsx:35
- components/organisms/Video/VideoJs.tsx:60
- components/organisms/Video/index.tsx:220
- components/organisms/Video/index.tsx:279
- components/templates/Books.tsx:91
- components/templates/BooksImport.tsx:96
- components/templates/DeepLinkBooks.tsx:95
- components/templates/TopicImport.tsx:90
- components/templates/Topics.tsx:159
- pages/topics/edit.tsx:43
- utils/eventLogger/playerTracker.ts:102
- utils/eventLogger/playerTracker.ts:114
- utils/playbackRate.ts:44
- utils/useVolume.ts:61
- utils/useVolume.ts:61
- utils/videoJsDurationChangeShims.ts:18
- utils/youtubePlayedShims.ts:16
- utils/youtubePlayedShims.ts:38
- utils/youtubePlayedShims.ts:38
- utils/youtubePlayedShims.ts:41
- utils/youtubePlayedShims.ts:41
- utils/youtubePlayedShims.ts:46
- utils/youtubePlayedShims.ts:46
使用しているパッケージ got を廃止します。代わりに undici fetch() を使うように変更します。got に関する TypeScript 型検査でのエラーは出ないようになります。
上書きインポート機能の改良
レコーディングの削除処理のなかでレスポンスが空で得られるエンドポイントへのリクエストがあり、そこで呼ばれる Response.json() メソッドからパース時に SyntaxError が出力される問題がありました。レコーディングの削除処理については Response.json() メソッドを呼ばない fetcher を使用するように変更しこの問題を解決します。
build: 依存関係の更新 (2023-09-05)
session バリデーションのチェックに失敗するケースが存在しました。それを修正します。
これによって公開しているブックにアクセスしているとき GET /api/v2/session で 500 エラーになる問題を解決します。

fixed npocccties#1003
fix: 公開している提供中ブック視聴途中でブックが最初から再生される問題の修正
fix: name, emailが空のとき上書きしないように変更
feat: Deep Linking 利用時 LMS 側にある元のタイトルと説明文をそのまま使う
影響範囲

- pages/book/edit/index.tsx ブック編集 > トピックの編集(複製)
- pages/book/import/index.tsx ブック編集 > ブックの再利用 > トピックの編集(複製)
- pages/book/import/index.tsx ブック編集 > ブックの再利用 > ブックの編集(複製)
- pages/book/index.tsx ブック閲覧画面 (学習者除く)
- pages/book/topic/import/index.tsx ブック編集 > トピックの再利用 > トピックの編集(複製)
- pages/books/index.tsx ブック一覧 > ブックの編集(複製)
- pages/courses/index.tsx リンク一覧 > ブックの編集(複製)
- pages/topics/index.tsx トピック一覧 > トピックの編集(複製)
- $templates/Book.tsx
- $templates/Books.tsx
- $templates/DeepLinkBooks.tsx
- $templates/TopicImport.tsx
- $templates/Topics.tsx
- $organisms/ContentPreview.tsx
fixed npocccties#860

nativeTextTracksが有効化されている環境でブラウザネイティブの字幕(テキストトラック)を追加すると、mp3音声対応のために導入しているvideojs-hlsjs-pluginの内部処理と競合して動画に設定した字幕の選択肢が複数表示される問題がありました。
Video.jsのオプションhtml5.nativeTextTracksを無効化しVideo.jsによってエミュレートされるテキストトラック使用することによってこの問題を回避します。

https://videojs.com/guides/text-tracks/#emulated-text-tracks

## 前提条件

- Wowza
- mp3を含むHLS
- Video.js 8
- videojs-hlsjs-plugin
- Windows10+ or macOS Monterey+

## 現象の詳細

- Wowzaを対象にした場合、問題が発生することがあることを手元の環境でも確認  (確認した動画は HLS/mp3 )
- player.addRemoteTextTrack() メソッドの呼び出しは通常通り1度しか行われていない
  - components/organisms/Video/VideoJs.tsx:L61
- トレースしていくと Video.js 内部では addRemoteTextTrack() が余計に1度多く呼び出されることがある
  - `@meikidd/videojs-hlsjs-plugin`
    - https://github.com/meikidd/videojs-hlsjs-plugin/blob/master/lib/videojs-hlsjs-plugin.js#L298-L318

## npocccties#861 への影響

変更後 `TextTrack.mode` プロパティを記憶・設定することで表示の切り替えを行えることを確認済み:

```js
// 例
player.remoteTextTracks()[0].mode = 'showing' // or 'disabled'
```

https://developer.mozilla.org/ja/docs/Web/API/TextTrack/mode#showing
* feat: 字幕のオン・オフを記憶する
* refactor: プレイヤー設定を $store/player に集約して整理
* docs: usePlayerState.ts 説明コメントの更新

resolved npocccties#861
@ties-makimura ties-makimura merged commit d8ccb34 into master Apr 5, 2024
@ties-makimura ties-makimura deleted the feat-tag branch April 6, 2024 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants