2.8.0.beta3:ユーザー選択可能なアバターフレア、最後のトピック訪問インジケーター、ネイティブファイルピッカーなど

2.8.0.beta3 の新機能

ユーザーが選択可能なアバターフレア

複数のグループに所属するユーザーは、プライマリグループに基づいて自動的に割り当てられるフレアに頼るのではなく、設定から表示したいアバターフレアを選択できるようになりました。アバターフレアは、Font Awesome アイコンとカスタム画像の両方をサポートしています。

トピック表示ページへの最終訪問表示の追加

既読済みのトピックを開いた際、Discourse は自動的に最初の未読ポストまで読み込み、続きから読めるようにします。これにより、場所を失わずに上下にスクロールしても安全に読み進められるよう、最終訪問位置を示すインジケーターも表示されるようになりました。

ネイティブファイルピッカーの使用

コンポーザーへのファイルアップロード時、Discourse はカスタムモーダルを最初に表示するのではなく、ネイティブファイルピッカーを使用するようになりました。また、サポートされているファイル拡張子をオペレーティングシステムに渡すため、ユーザーは許可されている形式を考慮する必要がなくなります。アップロードボタンのほか、ユーザーは引き続きファイルをコピー/ペーストしたり、ドラッグ&ドロップしてコンポーザーにアップロードできます。

投稿編集用 API キースコープ

API キー作成時にスコープを適用して、各キーで許可されるアクションを制限できるようになりました。これにより、キーが漏洩した場合のアクセス範囲を制限し、セキュリティを向上させます。投稿編集スコープが追加され、API キー所有者が編集権限を持つ投稿を API キーで編集できるようになりました。

ユーザーをグループに追加するプロセスの改善

グループページの「メンバーを追加」ボタンが「ユーザーを追加」と「招待」に分割されました。既存のサイトユーザーは、「ユーザーを追加」モーダル(最初の画像)でユーザー名またはメールアドレスを指定してグループに追加できます。新規ユーザーは「招待」モーダル(2 番目の画像)から Discourse サイトへの参加を招待し、参加時にグループに追加することも可能です。

クライアントサイド画像最適化

ユーザーが投稿に画像を追加する際、Discourse は画像が許可されたサイズを超える場合に圧縮を試みます。この圧縮はサーバー側で行われていたため、大きな画像ファイルをまずアップロードする必要がありました。帯域幅が遅い、または制限されているユーザーにとって、これは長時間を要し、データ使用量の制限に影響を与える可能性があります。

サイト管理者は、composer_media_optimization_image_enabled サイト設定を有効にすることで、画像をアップロード前にユーザーのデバイス(コンピュータ、スマートフォン、タブレット)上で圧縮できるように設定できます。

詳細はブログをご覧ください:

罰則履歴の改善

サイトが大きくなるにつれ、新しい小規模コミュニティのようにモデレーターがすべてのユーザーの履歴を把握することは不可能になりました。モデレーターの業務をサポートするため、いくつかの改善を行いました。

  1. 罰則適用時に履歴回数を追加し、罰則対象のユーザーに関する文脈を提供。
  2. 時間単位でデフォルトの罰則値を指定するサイト設定を追加。

沈黙/停止モーダルはデフォルト値で自動入力されますが、必要に応じてモデレーターが値を選択して上書きすることも可能です。

最初の沈黙/停止:最初の値。2 回目の沈黙/停止:2 番目の値。以下同様。


アクセシビリティの向上

  • トピックリストの見出しルールの調整
  • 複数のフォームラベルを同じ要素に適用する表示を抑制
  • 必要な箇所にラベルを追加

その他の機能

このベータ版には多くの新機能が含まれており、すべてを詳述することはできません。以下に注目すべき追加機能をいくつか挙げます。完全な新機能リストは以下の投稿でご確認ください。

  • モデレーターが投稿の所有者を変更できるようにする設定
  • 招待を既存ユーザーでも機能するように改善
  • 招待されたユーザーがトピックを閲覧できない場合の警告
  • 監視ワードに対するスタッフアクションログの追加
  • 複数選択可能なユーザーカスタムフィールドの追加
  • slow_mode_prevents_editing 設定の追加
  • スタッフがより頻繁に保留中のユーザーリマインダーを受け取れるように
  • CTRL + ENTER および CMD + ENTER でフラグモーダルを確定
  • バックアップ復元を高速化するために S3 への並列アップロード
  • レビューキューからユーザーを削除する際、ブロックがオプションに
  • ユーザーのすべての公式警告を表示するメッセージビューの追加
  • ユーザーディレクトリへのグループフィルターの追加
「いいね!」 28

さらに続きます!

でも、まだあります!新しい機能や変更をできるだけ強調表示するように努めていますが、詳細をすべて記載するには変更が多すぎます。新しい機能、バグ修正、UX の改善などの完全なリストについては、以下に記載されている「追加機能と修正」を必ずご確認ください。

セキュリティ更新

このベータ版には、コミュニティと HackerOne から報告された 3 つのセキュリティ問題に対する修正が含まれています。

  • Onebox の正規リンクによる FinalDestination チェックの回避
  • 接続時のタイムアウトが正しく使用されるように保証
  • YouTube Onebox データのサニタイズ (CVE-2021-32764)
    • この脆弱性は、デフォルトのコンテンツセキュリティポリシーが無効化または変更されているサイトのみが影響を受けます

プラグインの改善

Assign

新機能

  • ランダムな割り当て自動化のサポートを追加

バグ修正

  • CF 移行における無効なソースデータの処理
  • CF からテーブルへの移行が正しく行われていなかった問題の修正
  • 自動化フィールドですべての値プロパティが統一されるように修正
  • トピック割り当てボタンの動作不良を修正

OAuth2 Basic

新機能

  • ユーザー詳細からカスタム属性を取得

Akismet

新機能

  • ユーザー削除時のブロックがオプションに

Calendar

バグ修正

  • フレアに新しい属性名を使用
  • 定数タスクの修正と更新の実行
  • Safari 15 における招待アバターの配置修正
  • Sidekiq で Holidays gem が不要に

Data Explorer

バグ修正

  • 欠落していた文字列の追加
  • クエリテーブルの列ヘッダーの翻訳

User Card Badges

バグ修正

  • コア内の画像カラムが image_upload に変更

Anonymous Moderators

バグ修正

  • Rails 6.1 で update_attributes! が削除されたことへの対応

Solved

新機能

  • 解決済みトピックへの返信時にコンポーザーに教育メッセージを表示

バグ修正

  • 旧バージョンの Discourse 向けの下位互換性対応

UX 変更

  • モバイルでの解決案の配置を修正

Brightcove

新機能

  • トピックが削除された際に動画も削除

バグ修正

  • ApiError がステータスを保存するように修正
  • 他のプラグインとの競合を回避

Encrypt

新機能

  • 暗号化されたトピック内でのクライアントサイド検索

バグ修正

  • Safari の IndexedDb バグに対する回避策を追加
  • 読み込みに失敗した場合は空の ID を返す
  • ID が読み込めない場合はプロミスを拒否
  • ファイル情報の照合にファイルサイズをフォールバック
  • 検索結果が空でもエラーにならないように修正
  • 暗号化された結果の復号化を強化
  • シリアライズに使用されるすべてのフィールドを埋める
  • sessionStorage ではなく Session を使用
  • グローバルな Discourse の使用を置き換え

Performance

  • タグが有効な場合、プリロード
  • ユーザーとトピックの暗号化データをプリロード
  • 検索キャッシュのために最初の投稿のみを取得

BCC

バグ修正

  • user.name が nil の場合にクラッシュしないように修正

Code Review

バグ修正

  • コミットメッセージ内の絵文字を解析しないように修正
  • リポジトリ名にドットを許可
  • bad_github_X の翻訳が不足していた問題を修正
  • プラグイン設定で GitHub API エラーを適切に処理

Subscriptions

新機能

  • キャンペーン成功バナーに花火とグラデーションアニメーションを追加
  • カスタム背景画像を使用する機能を追加
  • フォーム送信時にクーポンコードを検証

バグ修正

  • ログイン必須サイトでの新規ユーザーセッションの奇妙なリダイレクトを修正
  • 管理者以外のモデレーターが Subscriptions の管理機能を見るのを制限

UX 変更

  • 目標達成時にキャンペーンボタンを非表示

Reactions

バグ修正

  • トピックレベルのメッセージバスイベントのみを試行
  • トピックレベルイベント :acted に依存するだけで十分
  • トピック間を移動する際に MessageBus サブスクリプションをクリーンアップ

Category Experts

新機能

  • トピックリストのピルを投稿にリンクさせる設定を追加

バグ修正

  • 停止中のユーザーには推薦ボタンを表示しない
  • 推薦数の表示まで読み込みを待機
  • プライベートメッセージ送信時のエラーを回避
  • ユーザーが専門家として削除された際に、未承認の投稿からカスタムフィールドを削除

Crowd

バグ修正

  • メソッド名とボタンのタイトルの翻訳を追加

Automation

初期リリース:

追加機能と修正

[details=“クリックして展開”]

新機能

  • グループのデフォルト通知が変更された際に既存ユーザーを更新
  • 一括授与を使用してユーザーにバッジを複数回付与するオプションを追加
  • UppyUploadMixin を備えた Uppy 画像アップローダー
  • グループ詳細ページに title タグを追加
  • タグのトップトピックルートに期間フィルターを追加
  • 500Kb を超えるファイルでの安全な再エンコードをトリガー
  • UserNotifications の変更の代わりにグループ SMTP ジョブとメーラーを使用
  • 課題を Oneboxing する際に GitHub ラベルに絵文字をレンダリング
  • お気に入り数の最大値を構成可能に
  • 送信メールログ (EmailLog) にさらに多くのカラムを追加
  • サーバーエラー時の履歴スタック処理の改善
  • ポストストリームでレスポンシブな画像サイズを使用
  • トピックレベルのブックマークボタンをクリックした際に編集ブックマークモーダルを開く
  • SMTP/IMAP グループ設定 UI に最終更新詳細を追加
  • ブックマーク UI とトピックタイマー UI の日付ピッカーを、他のすべてのピッカーと一致させる
  • type=website の OpenGraph メタタグを追加
  • force_https が有効な場合に CSP に upgrade-insecure-requests を追加

バグ修正

  • 出力されるスタイルシートリンクタグに順序を追加
  • お気に入りバッジの選択に関する問題
  • テーマテストページの Assets が圧縮されていない問題
  • テーマのカスタムアイコンに関する問題
  • テーマエラーメッセージを閉じるボタンを削除
  • user/badges グリッドの修正
  • UserLookup におけるメモ化バグとリファクタリング
  • 各 Onebox の最良のリンクを保持するために配列を使用
  • uglify-js が利用できない場合でも Terser を使用して最小化
  • バッジが残っていない場合は読み込もうとしない
  • グループ SMTP 用のメールスレッドがグループ化されない場合がある問題
  • ポスト見出しのフォントサイズに rem を使用
  • Oneboxed Twitter コンテンツで user_generated 画像をアバター画像として使用しない
  • ドロップダウンで「all groups」を小文字にしない
  • 自動グループ名で大文字を許可
  • フレア選択器に無効なオプションを表示しない
  • ユーザーのフラググループをプライマリーグループに設定
  • 各種翻訳文字列の修正
  • ステージング中のユーザーに現在のユーザー名を提案
  • Admin_user_response スキーマ
  • last_posted_at が null の場合は created_at を使用
  • トピックタイムラインに正しい日付を表示
  • バッジページでトップへスクロール
  • ステージング中のユーザーにユーザー名を選択させる
  • 色テーマを変更する際にロゴをライブで切り替え
  • 各種翻訳文字列の修正
  • ユーザーがフラググループをクリアできるようにする
  • 新しいグループを作成する際に can_admin_group を true にする
  • ACL を実装していないストレージプロバイダーの処理
  • メールコンテンツ内のバックリファレンスを解釈しない
  • 選択器でフラグタイトルをラップしない
  • エラー時に他のトピックタイマーの実行を防止しない
  • 新しいレビューアブルが作成された際に既存のレビューアブルのタイプを確認
  • fix_missing_s3 rake タスクのエラーメッセージを修正
  • CSP の base-uri を self に設定
  • fix_missing_s3 タスクがアップロード失敗時に失敗する問題(その 2)
  • アップロードの保存に失敗しても fix_missing_s3 タスクを停止しない
  • 通知更新時の順序を維持
  • グループ SMTP メールで SMTPServerBusy を処理
  • 独自の Discobot 証明書に対するレートリミッターの寛容性を乗算
  • 投票者がすべて表示されていないポーリングの問題
  • グループ SMTP メールジョブの端ケースを処理
  • personal_email_time_window_seconds をグループ SMTP で尊重
  • ポスト ID ではなくポスト番号を使用して引用共有 URL を構築
  • category_id 属性が存在する際にカテゴリを読み込む
  • ユーザー名入力の変更時にディレクトリテーブル全体を再読み込みしない
  • bootstrap-json 内の無効なリンク定義
  • 監視ワードログのロケールキーを更新
  • 古いリマインダートピックタイマーを削除
  • 空の検索結果セットを表示
  • 非トランザクショナル移行を冪等にする
  • bootstrap の色テーマリンクにクラスを設定
  • トピックタイマーオプションの並べ替えと非表示
  • 子テーマの複数回コンパイル問題(その 2)
  • 「ninja edit」の用語を「猶予期間」に改名
  • 画像最適化パイプラインの早期でデコード失敗を検出
  • クライアントサイド画像最適化でリサイズ失敗を検出
  • リンク生成時に TrustLevel 名を翻訳しない
  • Discourse 内のタイプミス修正
  • メールによるグループユーザー追加を再導入
  • 最初の投稿がマージされていない場合はマージ済みトピックを閉じない
  • フォント設定更新時に適切なキャッシュをクリア
  • TL4 ユーザーが他の人の投稿を削除できない問題
  • ユーザーが見られないトピックにリダイレクトしない
  • localhost への正規リンクを無視
  • 子テーマの複数回コンパイル問題
  • [] カスタムフィールドが送信された際の問題
  • トピックカウントを常にレンダリング
  • SVG スプライトパスのリダイレクト時に絶対 URL を使用
  • 他のモードにチャートオプションを適用しないように保証
  • ディレクトリアイテムのページネーション URL に user_field_ids を含める
  • 一部の管理者レポート(特にバックアップ)が表示されない問題
  • 破棄されたディレクトリテーブルコンポーネントで set を呼び出さない
  • ユーザーディレクトリドロップダウンのためにすべてのグループを取得
  • 不安定な search-spec
  • レガシーなトピックタイマーコードを削除
  • コンポーザー画像最適化における画像デコード失敗の処理
  • 共有トピックモーダルから余分なマージンを削除
  • 「x」アイコンがクリックされた場合にのみ単語/句を削除
  • トピックレベルのブックマークボタン
  • グループ SMTP メールに「In Reply To」を表示しない
  • カテゴリ編集アイコンが不足している問題
  • グループ SMTP メールでの参加者表示を改善
  • EmailLog の topic_id をバックフィル
  • nil で埋められた CF 配列が削除されていない問題
  • モバイルでのプラグインディレクトリカラムの翻訳
  • インライン/ミニ Onebox へのリダイレクトに従う
  • DirectoryItems のために常に正しい属性をシリアライズ
  • 最大お気に入りバッジ数を 6 に増加
  • 管理者ユーザーリストのテーブルヘッダー翻訳
  • ディレクトリカラム変更時に DirectoryItemSerializer 属性を手動で更新
  • 復元中に削除されたカラム/テーブルをすべての移行で確認
  • グループパラメータを尊重する「もっとユーザーを読み込む」URL
  • 複数のバッジ付与でもお気に入り機能が動作するようにする
  • テーマ設定で欠落したアップロードを無視
  • directory-columns.json の絶対パス
  • 承認が必要な投稿をレビューアブル数の計算時に無視
  • fix_missing_s3 rake タスクが欠落したアップロードのために失敗する可能性
  • cb12a721 以降 ShrinkUploadedImage が破損していた問題
  • 最後の不完全なセグメントに平均を適用するように保証
  • digest_attempted_at にランダム値を設定
  • SCSS を持たないコンポーネントがある場合、テーマコンポーネントのプレビューが破損する問題
  • 重複する add_unsubscribe_link ハッシュキーを削除
  • 403 レスポンスから detailed_404 ページをレンダリング
  • Onebox のリンクカウントを 1 回だけ表示
  • TL4 ユーザーが削除された投稿を見られるようにする
  • アップロード保存時に最後に画像を縮小
  • レポートの平均を正しく実装
  • テーマ非ターゲットに対して複数のリンクが生成される問題
  • デフォルトテーマが設定されていない場合に色テーマスタイルシートが読み込まれない問題
  • SMTP が有効なグループ受信トレイに対してメール返信で古いトピックを復活させないようにする
  • グループ SMTP を使用している場合に List-Unsubscribe ヘッダーを削除
  • 投票を変更したユーザーを 2 回表示しない
  • Onebox で重複リンクをチェックしない
  • 監視ワードの置換とタグに単語境界を追加
  • サーバーレスポンスから投稿の raw を更新
  • 監視ワード管理者 UI のモバイルレイアウト
  • validValues が配列であることを保証
  • グループ SMTP メールにメーリングリストヘッダーを追加しない
  • 新しいキーボードショートカットのdismiss が機能しない問題
  • directory_columns のために列を適切にドロップし再作成
  • ジャンプアップ埋め込み投稿リンクに正しいプロパティを使用
  • 寸法が単位の分数である場合に SVG アップロードを許可
  • 元に戻された移行に続く DB 問題
  • 監視ワード管理者 UI で複数の自動タグを追加
  • グループメンバーディレクトリのテーブルヘッダー翻訳
  • 存在しないモードにモードを強制しないように防止
  • 保留中の招待のみを再送
  • 匿名化されたメールの招待を破棄
  • データを複数回折りたたまないように保証
  • allow_unknown_sender_topic_replies を SMTP/IMAP ボックスの外に移動
  • 追跡用の reset-newper_page 数によって制限されないようにする
  • Ember CLI が一部のプリロードデータを失っていた問題
  • 一貫したアセットコンパイルハッシュを保証するためにファイルリストをソート
  • すべてのブックマークをクリアする確認モーダルで「いいえ」を選択するとトピックレベルのブックマークボタンが機能しなくなる問題
  • グループ情報が不足している場合にアバターフラグコンポーネントが graceful に失敗するようにする
  • コンポーザーの失敗するテストをスキップ
  • 編集直後に raw と cooked を更新
  • topic_user.bookmarked をより多くの場所で同期するようにする
  • before_upload_creation イベントを呼び出した後、アップロードがまだ有効であることを検証
  • トピック特集リンクで nofollow 除外設定を尊重
  • インプレース投稿更新後にポストストリームをリフレッシュ
  • 一部の絶対リンクがフルページリロードを引き起こしていた問題
  • SMTP のみ有効な場合にグループメール設定を表示
  • 最初の通知のスタイルを調整
  • ナビゲーション時にコンポーザーカテゴリの優先度を下げる
  • ユーザーにフラグがない場合に user-avatar-flair 要素をレンダリングしない
  • 擬似タイマーを伴う不安定な JavaScript テスト
  • 異なる URL プレフィックスを持つ URL をクリックしても機能しない問題
  • raw が存在する場合は投稿を再読み込みしない
  • login_required が有効な場合に ember-cli でブートストラップできない問題
  • グループにメールを送信する際に返信を正しくポストにリンク
  • count が定義されていない lint エラー
  • 多くのプラグインテストが古い、非 Ember 互換 CLI API を使用していた問題
  • ファイルが欠落していても SVG スプライトバンドルをブロックしない
  • テーマテストが本番環境でも動作するようにする
  • 安全なアップロードが無効化されている場合に安全なアップロードの読み込みエラー

UX 変更

  • imgur/Google フォトのモバイル Onebox オーバーフローを防止
  • バッジページに常にマージンがあるようにする
  • 共有モーダルの一貫性を改善
  • 認証確認スピナーをモーダル本体内に移動
  • テーマ公開鍵にコピーボタンを追加
  • 新しいタブと未読タブの環境設定ページへのリンクを改善
  • コピーボタンに成功状態を追加
  • 新しいトピックアラートの z-index を修正
  • 監視ワード正規表現エラーのアクションタイプを翻訳
  • トピック最終訪問ラインのレイアウト問題
  • 画像読み込み後に背景画像を削除
  • 最終訪問ライン後の小さなアクションで上部ボーダーを削除
  • ユーザーメッセージリストにトピックリスト一括選択トグルを使用
  • 短いタグを持つ Oneboxed GH 課題の絵文字サイズを一貫させる
  • ポールコンテンツを選択可能にする
  • 管理者ダッシュボードの間隔を微調整
  • アップロード最適化中にコンポーザーステータスエリアに「アップロード処理中」を追加
  • ユーザーディレクトリ上部に水平スクロールバーを表示(必要な場合)
  • Twitter Onebox のタイムスタンプラインを微調整
  • メール内の引用ブロックスタイルを改善
  • 監視ワードが正規表現の場合に通知を追加
  • モバイルアラートのマージンを改善
  • 一括選択チェックボックスをターゲットしやすくする
  • モバイルアラートの間隔を修正
  • 登録時に絵文字を隠しやすくする
  • 「メールを非表示」が選択されている場合にメールカラムを非表示
  • ライトボックスギャラリーのズーム/ナビゲーションを改善
  • モバイルでのジャンプ至ポストレイアウトを修正
  • モバイルプログレスバーボタンの配置を修正
  • 30 日ではなく 34 日未満の場合に毎日自動グループ化
  • フィルターされた返信バーでアンカーの代わりにボタンを使用
  • 設定内の連絡先フォームへの参照を削除
  • ユーザー削除エラーメッセージを改善し、正しいポスト数を返す
  • カテゴリの並べ替えの改善
  • タググループにタグを含められることを示すヒントを追加

パフォーマンス

  • ポスト移動時の topic_user.liked 更新パフォーマンスを改善
  • ポスト移動時の post_timing パフォーマンスを改善
  • topic_id のバックフィルを最適化
  • Site モデルでのカテゴリキャッシュ(その 3)
  • ユーザーディレクトリ内の n+1 クエリを削除
  • ジョブで投稿アップロードのセキュリティステータスを更新
  • スタイルシートマネージャーでテーマアソシエーションをエージャーロード
  • Site モデルでのカテゴリキャッシュ(その 2)
  • Site モデルでのカテゴリキャッシュ
  • 余分な PG クエリを削除
  • SQL でユーザーフィルタリングを実行
  • テーマに変数がない場合に無意味な PG クエリを実行しないようにする
  • アニメーション要求アニメーションフレーム
「いいね!」 19