Added
- 初期化から実再生までの退行を検出するため、動画ページの起動ボタン、Tampermonkey経由の操作検証、別ページ機能の通信遮断テストを追加した。
- 設定を失わず更新できるように、旧ZenzaWatch設定からの移行と復旧手順を追加した。
- コード変更と配布物の乖離を防ぐため、CIの品質確認・生成物一致検査を追加した。
- 更新・貢献・サポート・セキュリティ・行動規範の文書を整備した。
Changed
-
配布物を小さく保ちつつ再生を壊さないよう、圧縮を空白・コメントの削減に限定した。Workerへ渡す関数の名前変更・構造変換は行わない。
-
旧ブラウザテストのイベント検証をBunテストへ移し、通常のCIでも実行するようにした。
-
配布を単一ユーザースクリプトへ統一するため、古いnpm梱包設定を除去してnpmへの公開を無効にした。
-
設定画面への入口を重複させないよう、設定を開く前の左メニューを「設定」「画質」「GitHub」「その他操作」の4項目に整理した(0.0.8)。個別設定は共通設定画面のタブから開く。
-
設定項目を折りたたみから探す手間と画面サイズの変化をなくすため、固定サイズの設定画面と左サイドバーの9カテゴリへ変更した(0.0.7)。一般設定のタブ切替時は入力内容を保持し、ほかの設定にも直接移動できる。HLSの説明も開閉せず読めるようにした。
-
設定ごとに異なっていた見た目と閉じ方を統一するため、一般設定・詳細設定・HLS・MaskedWatch・GamePad・HeatSyncを共通の設定パネルへ移行した(0.0.6)。背景ぼかし・背景クリック・Escape・右上の閉じるボタンに対応し、狭幅と全画面でも操作できるようにした。
-
HLS設定のスライダーを狭幅でも読める配置にし、数値を標準の出力欄に表示するようにした。
-
スケッチに合わせて動画をブラウザ内いっぱいに表示し、中央の再生操作、下部の再生設定とヒートマップ付きシークバー、左の設定メニュー、右の4タブへ再配置した(0.0.5)。操作UIは未操作3秒で隠し、パネル表示中は背景をぼかしてクリックで閉じる。
-
区間を繰り返し視聴できるABリピートを追加した。開始A・終了B・解除の順に操作し、動画切替と終了時に解除する。
-
関連動画・コメント・プレイリストの機能を引き継いで配色と余白を整え、取得できるいいね数をメタデータと動画一覧に表示した。
-
コメントの文字計測・配置・描画をnpmのcomment-overlay 4.1.6へ移行し、NG・設定・動画との同期・コメント保存を新エンジンへ接続した(0.0.4)。コメントHTMLはエンジンを内包し、通信なしで再生・停止・シークできる。
-
動画終端のコメント時刻を旧実装でランダム補正せず、新エンジンで処理するよう統一した。配置と影の外観は旧版から変わる。
-
視聴ページの起動ボタンをタイトルと投稿者プロフィールの間へ移し、検索結果とともに四角形を二つ重ねたアイコンだけに統一した。右下の起動ポップアップは削除した(0.0.3)。
-
製品、テスト、ビルド補助をTypeScriptへ移行し、strict・any禁止・allowJs:false・allowUmdGlobalAccess:falseで検査する構成にした。
-
Bunから実行するVite+vite-plugin-monkeyへ移行し、旧連結器を介さずimport依存から配布物を生成するようにした。
-
個別スクリプトを何本も導入する必要がないよう、HLS、GamePad、詳細設定、MylistPocket、MaskedWatch、HeatSync、CapTube、ブログパーツ、MylistFilter、uQueryをFutatsumeWatch.user.jsに同梱した。distはこの1件のみとする。
-
起動に外部スクリプト取得を必要としないよう、lodash・jQuery・lit・hls.jsと必要なモジュール実行支援を同梱した。ホストページのライブラリは上書きしない。
-
製品名と配布先をFutatsumeWatchへ統一し、旧window名・イベント・保存値との連携互換を維持した。
Fixed
-
同じイベント処理を複数の名前空間へ登録したとき、一つを解除すると他の登録まで失われる問題を修正した。
-
既定の圧縮でWorker内の変数参照が壊れ、動画再生が停止する問題を修正した。
-
一般設定が非同期の内容を描画せず
[object Promise]だけを表示する問題と、詳細設定がプレイヤーの背後へ隠れる問題を修正した。一般設定には閉じるボタンとEscape操作を追加した。 -
空のコメント一覧を参照した後に投稿プレビューが二重登録され、取り消しても残る問題を修正した。
-
移行時に動画とコメントの重なり・縦横比・透明度を二重適用しないよう調整し、全画面・狭幅・停止中の表示を確認した。
-
検索結果に明示的な再生ボタンを追加し、検索から視聴ページへ再読み込みなしで移っても起動パネルが表示されるようにした(0.0.2)。
-
起動中・完了・失敗の状態を画面に表示し、以前の使い方を知らなくても起動できるようにした。
-
開発用マネージャへの登録だけで成功とせず、ページへの適用を確認して既存タブも更新するようにした。
-
ブラウザで戻った検索ページを再生画面が覆う問題と、履歴のstateを壊す処理を修正した。
-
旧連結スコープのconsole再代入、uQuery空生成、未接続の設定・イベント依存による起動停止を修正した。
-
TypeScriptのクラスフィールド生成で親クラスのDOM初期化を壊す問題を修正した。
-
現行動画情報APIのdmcInfo:nullで再生が停止する問題を修正した。
-
バンドル後のWorkerクラスの匿名化で構文エラーになる問題と、HLS先読みの未定義参照を修正した。
-
実行していない状態を成功にしないよう、ユーザースクリプトの有効化判定と動作確認の合格条件を修正した。
-
詳細設定をクリックとキーボードで閉じられるようにした。
-
狭い画面で動画が左右に切れ、操作バーが重なる問題を修正した。
-
CapTubeの作者DOM欠落、文字入力中のキー横取り、埋め込みサムネイルの非同期返答を修正した。
-
プレイリスト保存失敗時に無関係なsessionStorageを削除する処理を除去した。
Removed
-
現行の開発経路と混同しないよう、実行不能なmake.bat、未使用のloader.html、対象履歴のない.mailmap、JSHint設定、空のテスト・雛形、未参照の互換用ファイルと部品、旧デモとモックを除去した。旧ブラウザテストの検証内容はBunへ移し、コメントアートの比較資料は保持した。
-
旧CSSコメント描画・文字計測iframe・コメント配置Workerと、旧Flashスロットの設定を削除した。保存済みの設定データ自体は削除しない。
-
使用しなくなった連結ビルダー・Babel・webpack・gulp・mocha関連の設定と依存、重複配布物を除去した。
-
外部APIやソースが存在せず実行不能だった旧テストを整理し、現行データを使うBunテストへ移行した。
Security
- 依存監査で検出した旧jsdomの推移依存の脆弱性を解消するため更新した。