Discourse 2.4.0.beta2 リリースノート

2.4.0.beta2 の新機能

複数の TOTP ファクター

TOTP/2FA の設定が、1 つのページに一元化されました。

新しい TOTP ランディングページでは、既存の TOTP ファクターやバックアップコードを管理できます。また、複数の TOTP ファクターが必要な場合、ここで追加および管理できるようになりました。

タグ検索の改善

タグ検索にいくつかの新オプションが追加されました。まず、タグを検索すると、検索ボックスにタグが表示されるだけでなく、トピックも表示されるようになりました。

タググループは、ドキュメント管理に使用されるタグのグループなど、タグを整理するのに役立ちます。検索語として #tag-group を使用することで、タググループで検索できるようになりました。

タググループ検索では、グループ内のいずれかのタグが付与されたトピックが結果として返されます。

最後に、検索演算子 in:tagged または in:untagged を使用して、タグ付きまたはタグ未付与のトピックを検索できます。

テーマコンポーネントの無効化

サイトを壊しているテーマコンポーネントがありますか?それとも一時的に無効にしたいですか?テーマコンポーネントは、管理画面の [カスタマイズ] > [コンポーネント] メニューで無効にできるようになりました。

コンポーネントが無効化されると、誰によって無効化されたかを示す通知と、有効化するためのボタンが表示されます。

キーボードナビゲーションの改善

以前のバージョンでは、キーボードナビゲーションショートカットの JK を改善し、スムーズにスクロールし、長い投稿を複数のボタン操作に分割することで、より良いユーザー体験を提供しました(元のテーマコンポーネント)。

直近のバージョンでは、キーボードナビゲーションとマウススクロールを組み合わせられるように変更しました。例えば、ユーザーが J を押して投稿 #42 に移動し、マウスでスクロールして投稿 #50 に移動した後、再度 J を押すと、投稿 #51 から続行されます。以前は投稿 #43 から続行されていましたが、それはもはや当てはまりません(元の機能リクエスト)。

「いいね!」 28

さらに!

でも、まだあります!私たちは新しい機能や変更をできる限りお知らせするようにしていますが、詳細をすべて挙げるには変更が多すぎます。新しい機能、バグ修正、UX の改善など、完全なリストについては、以下の「追加機能と修正」を確認してください。

セキュリティアップデート

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

  • 管理パネルで監視中の単語を表示する際のエックスエスエス(XSS)
  • デフォルトカテゴリにおける SQL インジェクション
  • lodash のアップグレード
  • 設定ページでのタイトルセレクターによる XSS
  • 招待メールからの HTML 除去
  • ルート内の XSS
  • [details] を含む投稿のメールテキストのエスケープ

プラグインの改善

Discourse Solved

  • ボタンの位置と可視性の改善

Discourse Tooltips

  • js-yaml を 3.13.1 にアップグレード

Discourse Style Guide

  • ボタンのスタイル簡素化、クラス参照
  • フォントスケーリングシステムの説明

Discourse Spoiler Alert

  • 修正:ツールバーが無効な複数段落のネタバレを生成する問題

Discourse Code Review

  • 承認通知
  • オーバーライドされた title メソッドの名称変更

Discourse Assign

  • 許可されたグループがない場合、リマインダーのキューイングをスキップ
  • 通知対象ユーザーのロケールで割り当てメッセージを送信

Discourse Voting

  • ‘vote_count’ トピックのカスタムフィールドにユニークインデックスを追加
  • マイグレーションクラス名の修正
  • 投票数でのソートに正しい URL を使用

Discourse OAuth2 Basic

  • プロバイダーがメール検証状態を設定できるようにする
  • トークンコールバックのユーザー詳細を使用
  • ユーザー詳細の取得失敗を処理

Docker Manager

  • longPollingBaseUrl を使用する際のメッセージバスが文字を正しく置換しない問題
  • lodash.defaultsdeep を 4.6.1 に更新
  • メッセージバスを含むクライアントアプリを更新

Discourse Staff Notes

  • スタイリングの改善、スタッフノートからユーザーノートへの翻訳上の名称変更

Discourse Ad Plugin

  • AdSense および広告マネージャーで複数の広告サイズに対応

Discourse Chat Integration

  • “name” フィールドの代わりに Slack の表示名を使用

Discourse Prometheus Alert Receiver

  • トピックタイトルの再同期
  • 古いアラートを計算する際に開始時間をキーにしない
  • 古いアラート期間のロジックを修正
  • グループ化されていないアラートペイロードとの再同期をサポート

Discourse GitHub

  • リポジトリのクローンではなく GitHub API を使用してバッジを付与
  • パーマリンクの上書きを除外するサイト設定を追加
  • 複数のメールに対応
  • リポジトリ名の末尾にスラッシュがある場合の Octokit エラー
  • GitHub 上にない URL の場合、ジョブでエラーをスローしない

Discourse Calendar

  • メモリリークを防ぐための ID の追加
  • アクティブユーザーの祝日を計算

Discourse Plugin Discord Auth

  • 取り消しを許可

Discourse Translator

  • Microsoft API の言語コードとして zh-Hans と zh-Hant を使用

Discourse Akismet

  • Akismet に送信する際に、認証トークンログを参照してユーザーエージェント/ユーザー IP 情報を取得

追加機能と修正

クリックして展開

新機能

  • 装飾的なトピックタイトルで設定された引用符を使用
  • 欧文タイポグラフィの引用符に関するサイト設定
  • S3 または CDN が変更された際の復元時のアップロードの再マッピング
  • バックアップに S3 アップロードを含めるための非表示設定の追加
  • 投稿通知での Markdown 使用を許可(#7864
  • no-ember レイアウトでのログインおよびサインアップボタンの表示(#7867
  • グループの投稿オプションに「グループ所有者」を追加
  • 「ログイン済みユーザー」向けの新しいグループ可視性オプションの追加(#7814
  • Rake テーマインストーラー(#7848
  • ベラルーシ語の追加
  • アクセス権のないユーザー向けのトピックに関するオプトインガイダンス(#7852
  • ログイン時に内部リンクにリダイレクトする際のクエリパラメータのサポート(#7829
  • 関連アカウント行への CSS クラスの追加
  • 極度の負荷時に検索を無効化
  • トピックからのダイレクトメッセージのタイトルを事前入力
  • 管理者ユーザーリストページへの無限スクロールの追加(#7821
  • テーブルモードをサポートする任意のレポートタイプのエクスポート(#7662
  • テーマ設定を個別に更新するエンドポイントの追加(#7789
  • 検索時にクローズされたトピックに小さなペナルティを適用(#7782
  • 新しい絵文字の早期サポートの追加(#7785

バグ修正

  • サイトテキストのルートでアンパサンドを許可
  • 依存する設定が変更された際の設定の再計算
  • フラグ理由にデフォルトロケールを使用
  • 投稿に返信がない場合、bootbox を表示しない(#7866
  • 読み取り専用時に検索ログを無効化(#7877
  • 読み込み中の tags/show でスピンナーが表示されるように確保(#7876
  • ハッシュ付きルーティングが履歴を停止させないように確保(#7872
  • ハッシュ付きルーティングが履歴を停止させないように確保
  • 最新の Selenium gem が Google Groups インポートスクリプトを壊した問題
  • CDN URL に対する復元時の再マッピングが誤っていた問題
  • バックアップがマルチサイトから来た場合の異なる再マッピング
  • Turbo テストの終了コード
  • タブ切り替え時のテーマエディタ内容のクリア
  • 読み取り専用カラムの変更を試行しない再マッピング
  • クローラービューでタイトルにカテゴリ名を表示
  • 手動 SQL に正しいタイムゾーンを使用
  • 競合の捕捉に例外を使用しない
  • 戻るボタンがリストではなく前のトピックに移動する問題
  • 幅と高さがピクセルの場合のみ画像サイズを追加
  • ユーザー自身のアクティビティページでの IE グリッドレイアウトの問題
  • タグのいずれも更新できない場合の失敗
  • ローカルログインが無効な場合、招待ボタンを表示しない
  • クエリ文字列付きの / へのルーティングが機能するように確保(#7859
  • サイトが S3 を使用する場合は download_remote_images_to_local を無効化しない(#7861
  • ユニーク制約に失敗した場合のカスタムフィールドの upsert
  • S3 でのlightbox画像ダウンロードに正しいコンテンツディスポジションを確保(#7845
  • 絵文字ピッカーが表示されない問題の防止(#7856
  • プラグイン認証プロバイダーからの full_screen_login パラメータを尊重(#7855
  • 通知アイテムに title 属性を使用(#7840
  • 誤った場所にある保存ボタンの削除
  • すべての表形式レポートに「エクスポート」ボタンを表示(#7838
  • コンポーネントの有効化/無効化のログがスタッフアクションログに表示されるように確保
  • カスタム絵文字で絵文字ヘルパーが機能するように確保(#7843
  • /t/TOPIC_ID/POST_NUMBER が正しくルーティングされるように確保(#7841
  • ページは 1 から開始(#7844
  • 誤った場所にある outlet の削除
  • 空の SQL クエリで新しいバッジの作成が失敗する問題(#7837
  • 許可を持つユーザーにのみタイマー削除ボタンを表示
  • 事前入力のコンポーザーには装飾的なタイトルではなく通常のタイトルを使用
  • トピックを閲覧できないユーザーへの通知メールを送信しない
  • 静的ページが絶対パスを使用するように確保(#7828
  • リモートテーマの更新を差分比較する際に、ローカルテーマの変更を正しい一時フォルダーにコピー
  • ナビゲーションバグの修正
  • FakeExceptions は元のクラス名を持つべき
  • 例外の原因自体が例外である問題
  • 親を閉じる際にサブカテゴリのトピックを未読としてマーク
  • Turbo_rspec はこれらのオプションを受け付けない
  • 保留中/合意されたスコアのみを合計スコアに含める
  • コードを画像に置換する絵文字ヘルパーの提供(#7802
  • 内部オブジェクトで TL が変更された場合の失敗を防止(#7808
  • 投稿可能なカテゴリがない場合、トピックの作成を許可しない(#7786
  • 文字列でのアクション呼び出しは非推奨(#7807
  • エスケープで検索メニューを閉じる(#7804
  • カテゴリ未分類での投稿が無効な場合、topic_create_allowed に uncategorized_category_id を含めない
  • バナーを作成する前にトピックが存在することを確認(#7781
  • redis の読み取り専用状態の保存に DistributedCache を使用しない
  • CategoryUser#batch_set(#7787
  • notification_level を category_users のユニークインデックスから削除
  • CategoryUser#batch_set が既存レコードを更新していなかった問題
  • 変更が誤って報告されていた問題
  • 監視中の単語キャッシュのクリア時に反復処理を実行
  • マルチサイトのアップロード URL には DB 名または ‘short-url’ のいずれかが必要
  • 高さのある固定モーダルでのモバイルオーバーフロー
  • サブフォルダーでフルレビュー可能な会話への URL が機能するように確保
  • カテゴリ選択者の検索をカテゴリにスコープ(#7794
  • :after_auth イベントがトリガーされるように確保(#7791
  • index ルートからのリダイレクト時の戻るボタンの問題
  • InlineUploads でのキャリッジリターンのサポート
  • アンカータグ内の img タグを Markdown 形式に置換しない
  • InlineUploads におけるアンカータグの極端なケース
  • ツールバーの操作の一部が change イベントをトリガーしていなかった問題
  • ユーザーが隠し投稿を削除した場合、履歴が失われないようにする
  • 保存時にすべての設定をリフレッシュせず、一部のみに制限
  • ‘status’ パラメータの変更がタグルートのトピックをフィルタリングしない問題
  • InlineUploads 向けの BBcode の極端なケース
  • selectable_avatars_enabled サイト設定の正しい名前の使用
  • InlineUploads は添付リンクを Markdown テキストに置換
  • Upload#short_url が拡張子が nil の場合、誤った URL を生成
  • 投稿者(OP)がロックされている場合、ユーザーがトピック情報を編集できないようにする
  • レジストリにないウィジェットを修正できなかった問題
  • 固定 iOS バグの一時ハックの削除(#7773

UX 変更

  • ポップアップチップがドロップダウンの上に表示されるように確保(#7891
  • モバイルエディタスタイルの修正(#7878
  • タググループのプレースホルダーを更新
  • PM アイコンリンクに title 属性と aria-label を追加
  • 表示領域外にある選択された投稿を破棄(#7869
  • 投稿展開ボタンのアライメント修正(#7865
  • デフォルトサイトロゴの高さを正確に 40px に設定
  • 寸法のない SVG に対応するためにバッジアイコンに幅を付与
  • 改行を含む Twitter 状態のワンボックスを改善
  • 引用ツイートのスタイリングを追加(#7832
  • コンポーザー内の類似トピック結果のスタイリングを改善(#7839
  • 検索メニュー結果でタグとカテゴリを同じ行に配置(#7830
  • トピックタイマー削除ボタンのモバイル配置を改善
  • 検索メニュー結果で各情報を個別の行に配置(#7825
  • 無視済みユーザーサマリーの文言を更新(#7748
  • 追跡トピックを表示するリンクを移動し、翻訳を簡素化
  • 動画プレースホルダーのアイコンを変更
  • 投稿が既読になった後に「投稿は未読です」のツールチップを非表示(#7813
  • 動画プレースホルダーのアイコンをグレーに変更
  • クローズされたトピックで投稿を承認する際に確認を要求
  • トピックタイマーを削除する新しいインラインボタンの追加(#7790
  • トピックの延期ショートカットの追加(#7798
  • 時刻変更モーダルの日付ピッカーを改善(#7771
  • アーカイブされた投稿に「いいね」アイコンを表示(#7775

パフォーマンス

  • JSON のシリアライズに Oj を使用(#7820
  • 大きなテキストの差分比較に費やす時間を制限
「いいね!」 23