Repository navigation
Releases: kuraneko1/dsh-mobile-maxxing
Release list
v0.6.1 — 通知の復旧と Settings 行の修正
修正
- 通知が一切届かない問題を修正(#85)
- Web Push 送信が手動の
content-lengthヘッダのためfetch failed(UND_ERR_INVALID_ARG: invalid content-length header)になっていた。ヘッダを外し、fetch に任せる。 - 送信失敗時に
error.causeのコードを含めて記録する(Settings のテスト通知にも理由が出る)。
- Web Push 送信が手動の
- サイドバーの Settings 行が起動ごとに増える問題を修正(#87)
- teardown が
data-rdsh-settings-row属性だけを外して行ノードを残していたため、次の decorate が新しい行を足していた。 - PHONE_HOOKS から当該マーカーを外し、teardown で行ノードを削除、decorate を冪等化(重複行を掃除)。
- teardown が
テスト
- 設定画面の「テスト通知」を含む通知経路の回帰テストを追加(#88)
- push 送信が
content-lengthを付けないこと(fetch をスタブして検証) - ローカル HTTP サーバを push endpoint にした実ソケット送信テスト
/push/testの成功(201)と失敗(cause 付き)の検証
- push 送信が
- Settings 行の冪等性テスト(attribute-only teardown 後の decorate、dispose→apply ×2)
- 全テスト: 357 tests / 352 pass / 0 fail / 5 skip
既知の未修正
- 可視ページが ack を返さない場合にバナーも OS 通知も出ない経路(#86)。次回対応。
インストール
dsh plugin --profile web add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/download/v0.6.1/dsh-mobile-maxxing-0.6.1.tgz更新後は DSH 本体の再起動が必要(ホスト側の通知処理が変わるため)。スマホ側はアプリを 2 回リロードしてください。
v0.6.0 — モバイル設定・操作性・通知の改善
主な変更
モバイルUI
- 起動時の端末モードでモバイルUXを適用し、デスクトップの標準表示を維持
- Mobileタブへの設定集約、セーフエリア、右パネル、ドロワーのレイヤリングを改善
- タブの標準スクロールと長押し並べ替え、ファイルコピー、ワークスペース検索を改善
- キューとコンポーザの接合、プレビュー、ターミナルのキーボード追従を改善
- モデル検索、アクティビティ表示、全画面詳細からの戻り操作を改善
端末ごとの設定
- 表示サイズ、言語、テーマ、既定パーミッションを端末ローカルに保存
- 新規セッションの最初の送信から権限既定を適用
- 日本語ロケールパックを追加
※ 訂正: 作業詳細・折りたたみ・実行中送信・性能表示(#63)は本版に未収録です。
PWA / 通知
- Service Workerの即時有効化・更新確認と、版付きworker URLによる確実な更新
- 可視中のアプリではアプリ内バナーを優先し、OS通知との二重表示を抑制
- 通知先originの限定、endpointの重複排除、退役endpointの整理
直近の修正
検証
- 353 tests / 348 pass / 0 fail / 5 skip
- 配布tarballの内容・版付きURL・ソース一致を確認
- 一時環境へのtarballインストールとパッケージのimportを確認
- #76/#77はモバイル相当のChromeでタッチ操作を確認
実機 iPhone / iPad の Safari・standalone PWAでの確認は継続中です。ブラウザのエミュレーションを実機検証とは区別しています。
インストール / 更新
dsh plugin --profile web add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/download/v0.6.0/dsh-mobile-maxxing-0.6.0.tgz導入・更新後はDSHを再起動してください。
Full Changelog: v0.5.0...v0.6.0
v0.5.0 — rdsh-pwa の文字列を全廃
変更(破壊的)
コード・CSS・設定から rdsh-pwa の文字列をすべて除去しました。
| 対象 | 旧 | 新 |
|---|---|---|
| パッケージ | rdsh-pwa |
dsh-mobile-maxxing |
| ディレクトリ | packages/rdsh-pwa |
packages/dsh-mobile-maxxing |
| push API | /api/rdsh-pwa/push/* |
/api/dsh-mobile-maxxing/push/* |
| SW キャッシュ | rdsh-pwa- |
dsh-mobile-maxxing- |
| 端末テーマ保存 | rdsh-pwa:device-theme |
dsh-mobile-maxxing:device-theme |
| HTML マーカー | data-rdsh-pwa |
data-dsh-mobile-maxxing |
VAPID 鍵と購読リストはそのまま引き継いでいるので、既存端末の通知は継続します。
テーマの保存値だけは新キーになるため、初回に選び直しになります。
インストール
dsh plugin --profile web add https://github.com/kuraneko1/dsh-mobile-maxxingv0.4.1 — リポジトリURLで入るように
変更
- 公開パッケージを
packages/rdsh-pwaからリポジトリのルートへ移しました - プラグイン名・ブラウザモジュールIDを
rdsh-pwaからdsh-mobile-maxxingに変更 - ルートに
cordis.patch.ymlを追加し、package.jsonが bundle・client・locale・icon を宣言
インストール
dsh plugin --profile web add https://github.com/kuraneko1/dsh-mobile-maxxingこれまでリポジトリURLを指定すると This package declares no bundle で失敗していましたが、
ルートがパッケージになったことで通ります。tarball も添付しています。
移行
既存の rdsh-pwa を入れているプロファイルは、一度外してから入れ直してください。
dsh plugin --profile web remove rdsh-pwa
dsh plugin --profile web add https://github.com/kuraneko1/dsh-mobile-maxxingv0.4.0 — キュー接合とプラグイン表示名
主な変更
キューの接合(スマホ幅)
- キューがあるときだけ、クエリボックスの上角を落として1枚のパネルとして繋げる
- 幅はクエリボックスと同じ。継ぎ目は親の
row-gapを実測して打ち消す - キューが空になれば角丸は 28px に戻る
プラグイン表示名
locale/en.json/locale/ja.jsonを追加し、Settings → Plugins の表示を
rdsh-pwaからdsh-mobile-maxxingに変更- アイコン(
./icon)とlocaleを配布物に追加
インストール
scripts/pack-all.mjsがdsh plugin installに--profileを渡すよう修正
v0.3.3 からの積み残し(33コミット)
スマホ判定の刷新(幅のみ・横持ち対応)、テーマの端末別上書き、コンテキストメーターの修正、
質問カードの余白、右パネルのタブ操作、ターミナルの指スクロール、UI文言の辞書化と英語対応、
「Enterで送信」設定の保持 などを含みます。
v0.3.3 — スクリーンショットを撮り直し
同梱スクリーンショットを、まっさらな DSH_HOME でダミーのセッション名だけを使って撮り直しました。
前回の版には次の問題が残っていました。
- アプリの上に初回ダイアログ(Preview Notice / Get started)が被っていた
docs/standalone-safe-area.pngに実ワークスペース名が写っていた
5枚すべてを撮り直し、OCR で実データが残っていないことを確認しています(Into the Unknown と Default workspace は DSH の既定文字列です)。
dsh plugin add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/download/v0.3.3/rdsh-pwa-0.3.3.tgzv0.3.2 — インストール手順の修正
版なしの URL(releases/latest/download/rdsh-pwa.tgz)は pnpm が URL 単位でキャッシュするため、同じ URL のまま新しいリリースを出しても古い tarball が入っていました。実際に v0.3.1 が届いていませんでした。
README のインストール手順を版付き URL に変更しました。版なしの別名は手動ダウンロード用に残しています。README の URL はリリーススクリプトが自動で更新します。
dsh plugin add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/download/v0.3.2/rdsh-pwa-0.3.2.tgzv0.3.1 — フォーカス処理の修正
v0.3.0 に、まとめて削除した範囲へ入っていた状態変数2つの欠落が混ざっていました(フォーカス時に ReferenceError)。復元しました。
再発防止として、テストに宣言なしの代入の検査を追加しました。この不具合そのもので検査が落ちることを確認済みです。
インストール:
dsh plugin add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/latest/download/rdsh-pwa.tgzテスト47件(DSH 未インストール時は2件 skip)。
v0.3.0 — コードレビューの指摘を全部修正
公開物から消したもの
- 実セッション名が写っていた未参照のスクリーンショット2枚を削除
- 同梱スクリーンショットを、ダミーのセッション名だけで撮り直し
v100(作者のマシン名)をコードから除去。ライブ速度は全プロバイダを対象にし、絞りたい場合だけmobileUx.liveSpeedProvidersを設定- 作者固有のプロジェクト名2つを削除
- 認証の無い診断用ルート
/launchを削除
直したバグ
- 同じ
DSH_HOMEを共有する複数プロファイルで、通知の購読が片方の保存で消えていた。read-modify-write にし、リクエストの来たオリジンの購読だけに配信 - push の endpoint を検証(https・公開ホストのみ)。保存先へ POST する実装だったため、内部 URL を登録できてしまう状態だった
- 通知まわりの mount を他と同じ保護下に(状態ファイルが書けなくても PWA のルートは生きる)
- Settings 行の配置分岐が排他でなく、毎フレーム行が移動して observer を起こし続けていた
pointermove/focusoutの解除漏れ- viewport から
interactive-widgetが消えていた(キーボードで入力欄が隠れる)+ピンチズーム禁止をやめた - 一括編集で消していたフォーカス系ハンドラ3つを復元
- Service Worker: キャッシュ整理がアプリシェルを消しうる / 可視ウィンドウが受け取れないと通知が消える(ack を待ってフォールバック)/ クリック先を最前面に / 購読ローテーションに対応
- 通知本文を1レコードに収まる長さに制限
掃除
- 未使用の添付シート・ギアボタン・設定画面のデバッグカード・死んだ属性コードを削除
- コメントを実装に合わせ、ビルド表記の未来日付を修正
ドキュメント
- README をクイックインストール先頭・日英併記に。詳細は
docs/USAGE.ja.md/docs/USAGE.en.mdへ分離 - リリースに版なしの別名
rdsh-pwa.tgzを追加。releases/latest/download/rdsh-pwa.tgzが常に最新を返す
テスト
46件。新規に「未宣言の呼び出し」「リスナ定義」「死んだ data 属性」の静的検査と、モジュールを評価するスモークテストを追加。DSH_ORIG_BIN の有無で結果が変わらないことを確認済み。
v0.2.4 — チャット幅の修正とクレジット追加
チャットの本文がカラムより広く、右端が切れていました。上流のコンテンツ幅が固定px(680px など)で決まっているためです。カラム基準に変更しました。
あわせて rdsh-mobile-ui(原案 hikarioyama / Smart-DSH、移植 lasder-ca)をクレジットに追加しました。折りたたみ時のグリッド列、ヘッダー左64px、チャット幅の3点はいずれも同プラグインが供給していたもので、このパッケージは data-rdsh-* フックで自前に持っています。
パッケージは増えていません。 依存も変わらずこの1つだけです。
インストール:
dsh plugin add https://github.com/kuraneko1/dsh-mobile-maxxing/releases/download/v0.2.4/rdsh-pwa-0.2.4.tgz