Command Palette

Search for a command to run...

2.4.0

テンプレート、画像、タイマー、ボタンで Discord アクティビティを作成・共有。JSON のインポートとエクスポート、ナビゲーションのカスタマイズにも対応。

新機能

カスタムアクティビティ

  • 新しいカスタムタブで、サイト用プレゼンスをインストールせずに Discord アクティビティを作成・編集・削除できます。初回は Nolo が機能を紹介します。
  • 端末に最大50件保存でき、同時に有効にできるのは1件です。無効にするまでタブのプレゼンスより優先されます。
  • 名前、種類(プレイ中、再生中、視聴中、参加中)、2行のテキスト、ホバーテキスト付きの大小画像、最大2個の HTTPS ボタンを設定できます。
  • 経過時間または5分から24時間のカウントダウンを選択。タイマーは作成時ではなく有効化時に開始します。
  • 勉強、コーディング、ゲーム、プレイリスト、映画、ライブ、運動、旅行、コーヒー休憩の9種類のテンプレート。エディターに入力されますが、確認するまで保存されません。
  • 編集中のライブプレビューと、現在のアクティビティを開く・停止・再開する専用カードを追加。

画像と共有

  • PNG、JPEG、WebP、GIF のアップロード、HTTPS URL、24種類のアイコンと10色から選べます。大画像なしでは Nowly ロゴ、小画像なしではバッジなしになります。
  • GIF 以外は送信前に自動縮小・変換します。1画像あたり最大1 MiB、GIF は変換しません。プレビューと再送信用のローカルコピーを保存し、Discord にはホストされた URL を渡します。
  • 使用中の画像を定期的に更新します。30日間未使用のホスト画像は削除対象となり、期限切れの画像は必要に応じローカルコピーから再送信します。
  • 保存済みアクティビティを [名前].json にエクスポートできます。未保存の変更ではなく保存済みの内容を使い、テキスト、種類、タイマー、ボタンとローカルコピーの画像を埋め込みます。コピーがない画像は含みません。
  • ローカル ID、作成・更新日時、有効化状態、アップロード画像のホスト URL は含みません。入力した HTTPS リンクは残るため、共有前に確認してください。
  • ラベルとツールチップ付きのアイコン型インポートボタン、または表示中のカスタムタブへのドロップで複数ファイルを取り込めます。他の画面ではドロップを捕捉しません。
  • インポートは既存の項目を上書きせず、無効状態の新規アクティビティを作成します。1件なら確認用エディター、複数なら結果の概要を表示します。
  • 4 MiB を超えるファイル、非対応の形式・バージョン、不正な活動を拒否します。埋め込み画像を検証して再送信し、画像に失敗しても活動はその画像なしで保存し警告します。

利用規約とプライバシー

  • 初回起動時のダイアログで、利用規約への同意とプライバシーポリシーの確認を分けて記録します。任意の統計情報は有効になりません。
  • 文書の更新を自動確認し、重要な変更があった文書だけ再確認を求めます。確認記録は端末に保存され、キャッシュされたバージョンはオフラインでも利用できます。
  • 必要な確認が完了するまで、アクティビティ共有と画像アップロードを停止します。文書へのリンクと更新日をダイアログに表示します。

改善

  • ブラウザーのツールバーのバッジに、選択中のアクティビティの種類(プレイ、視聴、リスニング、対戦)を表す絵文字と、プレゼンスまたはカスタムアイコンに基づく色を表示します。一時停止は別の表示のままです。バッジは Discord への反映完了を保証するものではありません。
  • エディターをスクロールしてもプレビューが表示され続けます。画像のサムネイルをクリックするとファイルを選択または変更でき、対応形式とサイズ上限も確認できます。「聴いている」モードでは、大きな画像のテキストが Discord の3行目にも表示されることを案内します。
  • 追加画面は開いたときに読み込み、起動時の JavaScript を減らしながら訪問済みタブの状態を保持します。すべてのファイルは拡張機能に同梱され、オフラインでも利用できます。
  • アクティビティの作成、JSON 共有、画像のプライバシーを説明する英語とフランス語の図解ガイドを3本追加。スクリーンショットは画面幅に対応し、原寸でも開けます。
  • タブを長押しして移動したり、左右に引き出して別グループを作成できます。設定から配置をリセットできます。
  • カードとプレビューを Discord の種類別表示に統一。プレイ中は名前を独立行に、それ以外は見出しに表示します。ダイアログはパネル上に浮かび、空のタブには例とテンプレートを表示します。
  • 法的文書の確認ダイアログを含め、機能とエラーを11言語に翻訳しました。

修正

  • 選択中のタブ名の見切れを修正。インポートボタンはアイコンのみのコンパクトな表示です。
  • 同時インポートを防ぎ、一括処理でも50件の上限を守ります。1ファイルの失敗で後続ファイルは止まりません。
  • 同一画像の重複・同時アップロードをサーバー側で冪等に処理。リモート削除失敗時は参照を残し、再試行できます。

削除と互換性

  • 既存のユーザー機能は削除していません。季節テーマ、ChromeOS、iframe、同梱プレゼンスを維持します。
  • ステータスサービスの未使用数値パーサーを削除し、データ書き出しの JSON ダウンロード処理を共通化。
  • カスタム活動は端末内に保存し、アカウントとは同期しません。共有はファイル経由で、新たな分析イベントは追加しません。

技術とプライバシー

  • 利用規約とプライバシーポリシーを11言語で更新し、画像のアップロード、公開 URL、JSON の再配布、保存期間、認証付き削除、外部サービスのキャッシュの残存を明記しました。
  • 端末トークンで保護する画像の送信・更新・削除ルート。署名、MIME、サイズ、SHA-256 を検証し、1端末1時間20回まで送信できます。
  • CustomAsset テーブル、PostgreSQL マイグレーション、S3/R2 ストレージ、保護された未使用画像クリーンアップを追加。ストレージと定期実行はデプロイ時の設定が必要です。
  • 端末データの書き出しに画像 URL とメタデータを追加。端末データ削除時はリモート画像も削除し、失敗時に再試行できます。
  • ローカル画像用の unlimitedStorage 権限、共有と PostgreSQL 統合テスト、サブモジュールを変更しない TypeScript 全体の整形を追加。