Skip to content

Releases: kuraneko1/dsh-mobile-maxxing

v0.6.1 — 通知の復旧と Settings 行の修正

Choose a tag to compare

@kuraneko1 kuraneko1 released this 26 Oct 04:52

修正

  • 通知が一切届かない問題を修正(#85)
    • Web Push 送信が手動の content-length ヘッダのため fetch failed(UND_ERR_INVALID_ARG: invalid content-length header)になっていた。ヘッダを外し、fetch に任せる。
    • 送信失敗時に error.cause のコードを含めて記録する(Settings のテスト通知にも理由が出る)。
  • サイドバーの Settings 行が起動ごとに増える問題を修正(#87)
    • teardown が data-rdsh-settings-row 属性だけを外して行ノードを残していたため、次の decorate が新しい行を足していた。
    • PHONE_HOOKS から当該マーカーを外し、teardown で行ノードを削除、decorate を冪等化(重複行を掃除)。

テスト

  • 設定画面の「テスト通知」を含む通知経路の回帰テストを追加(#88)
    • push 送信が content-length を付けないこと(fetch をスタブして検証)
    • ローカル HTTP サーバを push endpoint にした実ソケット送信テスト
    • /push/test の成功(201)と失敗(cause 付き)の検証
  • 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 — モバイル設定・操作性・通知の改善

Choose a tag to compare

@kuraneko1 kuraneko1 released this 26 Oct 04:08

主な変更

モバイルUI

  • 起動時の端末モードでモバイルUXを適用し、デスクトップの標準表示を維持
  • Mobileタブへの設定集約、セーフエリア、右パネル、ドロワーのレイヤリングを改善
  • タブの標準スクロールと長押し並べ替え、ファイルコピー、ワークスペース検索を改善
  • キューとコンポーザの接合、プレビュー、ターミナルのキーボード追従を改善
  • モデル検索、アクティビティ表示、全画面詳細からの戻り操作を改善

端末ごとの設定

  • 表示サイズ、言語、テーマ、既定パーミッションを端末ローカルに保存
  • 新規セッションの最初の送信から権限既定を適用
  • 日本語ロケールパックを追加

※ 訂正: 作業詳細・折りたたみ・実行中送信・性能表示(#63)は本版に未収録です。

PWA / 通知

  • Service Workerの即時有効化・更新確認と、版付きworker URLによる確実な更新
  • 可視中のアプリではアプリ内バナーを優先し、OS通知との二重表示を抑制
  • 通知先originの限定、endpointの重複排除、退役endpointの整理

直近の修正

  • #77: 英語以外のラベルでもサイドバーの装飾と開閉アクションが同じトグルを使用
  • #76: Settingsの閉じるボタンをCSS Modulesのハッシュではなく構造から特定

検証

  • 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 の文字列を全廃

Choose a tag to compare

@kuraneko1 kuraneko1 released this 25 Oct 06:26

変更(破壊的)

コード・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-maxxing

v0.4.1 — リポジトリURLで入るように

Choose a tag to compare

@kuraneko1 kuraneko1 released this 25 Oct 06:12

変更

  • 公開パッケージを 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-maxxing

v0.4.0 — キュー接合とプラグイン表示名

Choose a tag to compare

@kuraneko1 kuraneko1 released this 25 Oct 04:43

主な変更

キューの接合(スマホ幅)

  • キューがあるときだけ、クエリボックスの上角を落として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 — スクリーンショットを撮り直し

Choose a tag to compare

@kuraneko1 kuraneko1 released this 23 Oct 07:12

同梱スクリーンショットを、まっさらな 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.tgz

v0.3.2 — インストール手順の修正

Choose a tag to compare

@kuraneko1 kuraneko1 released this 23 Oct 07:04

版なしの 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.tgz

v0.3.1 — フォーカス処理の修正

Choose a tag to compare

@kuraneko1 kuraneko1 released this 23 Oct 07:02

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 — コードレビューの指摘を全部修正

Choose a tag to compare

@kuraneko1 kuraneko1 released this 23 Oct 07:00

公開物から消したもの

  • 実セッション名が写っていた未参照のスクリーンショット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 — チャット幅の修正とクレジット追加

Choose a tag to compare

@kuraneko1 kuraneko1 released this 23 Oct 06:03

チャットの本文がカラムより広く、右端が切れていました。上流のコンテンツ幅が固定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