Discourse 2.5.0.beta5 リリースノート

2.5.0.beta5 の新機能

トピックサムネイルとテーマ修飾子

トピックにサムネイル画像を表示する機能は、長らく要望されていた機能です。従来、そのような画像を表示するにはプラグインが必要でした。beta5 では、トピックサムネイル、SVG アイコン、トピック抜粋を含むテーマ修飾子のサポートを追加しました。テーマ開発者は、テーマの開発や更新時にこれらの新しいオプションを活用できます。テーマ修飾子の詳細については、Theme modifiers: A brief introduction をご覧ください。

アプリショートカットのサポート

Discourse は、インストール済み PWA に関する今後のブラウザ機能である新しい「アプリショートカットメニュー」をサポートするようになりました。アプリショートカットは現在、Android と Windows でサポートされています。

Discourse インスタンスの PWA アイコンを右クリックするか、タッチプラットフォームでは長押しすると、便利なショートカットが用意されたクイックアクセスメニューが表示されます。

詳細とスクリーンショットについては、App Shortcut Menu support をご覧ください。

非推奨の Webhook の削除

昨年(Discourse 2.3.0.beta7)に、フラグ、ユーザー、投稿、トピックなど、すべてのレビュー対象アイテムを単一のビューで表示できる「レビューキュー」をリリースしました。既存の flagqueued post などの Webhook は残っていましたが、reviewable Webhook によって重複していました。現在、単一の reviewable Webhook に統一するため、古い Webhook を削除しました。

アバターフラアのアイコンピッカーと画像アップローダー

アバターフラア の追加をさらに簡単にするため、画像 URL 入力欄を、Font Awesome アイコンを選択するか、直接画像をアップロードするオプションに置き換えました。

グループ参加承認時の個人メッセージ

現在、プライベートグループへの参加申請が承認された際、ユーザーは通知を受信します。今後は PM を送信するため、サイトにアクセスしていないユーザーもメールを受け取れるようになります。デフォルトの PM テキストは以下の通りです:

@group_name への参加申請が承認され、メンバーになりました。

Discourse の他のすべてのテキストと同様に、サイト管理者が必要に応じてこれをカスタマイズできます。

PostgreSQL 12 のサポート

ベースイメージを更新し、PostgreSQL 12 に対応しました。PostgreSQL 12 には多くの改善が盛り込まれており、Discourse によって自動的に活用されます。サイトを PostgreSQL 12 にアップグレードするには、2 回連続してビルドを再実行する必要があります。必要なディスク容量、2 つのコンテナインストールのアップグレード、手動アップグレードに関する情報を含む詳細については、PostgreSQL 12 update をご覧ください。

来月下旬の Discourse 2.5 リリース - IE 11 サポートの終了

Internet Explorer 11 のサポートはまもなく終了します。IE11 に固執しているユーザーがいるサイトが移行するための完全なリリースを提供するため、Discourse 2.5 を今月下旬にリリースする予定です。Discourse 2.6.beta1 および今後のリリースでは IE11 はサポートされません。

「いいね!」 35

さらに!

でも、まだあります!新しい機能や変更を皆様にお知らせするために最善を尽くしていますが、詳細をすべて記載するには変更が多すぎます。新しい機能、バグ修正、UX の改善などの完全なリストについては、以下に記載されている「追加機能と修正」を確認してください。

セキュリティ更新

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

  • 誤って元に戻されたコミットの再追加:
  • embed_url に有効な http(s) URI が含まれていることを確認
  • カスタムメールスタイルでの ERB 実行
  • jQuery の 3.5.0 への更新

プラグインの改善

多くのプラグイン

  • rubocop-discourse の追加
  • バグ修正
    • 多くのプラグインで多数のバグを修正しました

Encrypt

  • 暗号化された PM 通知から「メールで返信」の指示を削除 - 返信はサポートされていません

Policy

  • ポリシーリマインダー通知が優先度「高」に - 青色の通知アイコンの代わりに緑色の通知アイコンを使用

Font Awesome Pro

チャット統合

  • GroupMe をサポートされているチャットプロバイダーとして追加

Knowledge Explorer

  • 非公開トピックでトピックが閉じられているかを表示

Affiliate

  • 検索 URL のサポートを追加

Data Explorer

  • 追加クエリの追加

Assign

  • 割り当て通知が優先度「高」に - 青色の通知アイコンの代わりに緑色の通知アイコンを使用
  • 割り当てられたアバターをボタンとドロップダウンに表示

Subscriptions

  • データ保存にモデルを使用
    • これにより、プラグインは Discourse で生成された購読情報のみを表示できるようになります。購読データの保存は、API と対話するために Stripe が生成する外部識別子に限定されます。

Zoom

  • SDK の代わりに参加 URL を使用するオプションを追加
  • 過去のウェビナーエントリのタイトル/日付を更新する機能を追加

Voting

  • トピックをマージする際にアーカイブされた投票を移動

Code Review

  • プラグインによって作成された新しいカテゴリをデフォルトでミュートするオプションを追加
  • プラグインによって作成された新しいカテゴリの親カテゴリを設定するオプションを追加

Discourse Hub アプリ(Android および iOS)

  • 新しい高優先度通知(例:リマインダー付きのブックマーク)のサポートを追加
  • ボタンのアクセシビリティを向上
  • バックグラウンドからアプリに戻った際のある種の稀なケースで空白画面が表示される問題を修正

追加機能と修正

クリックして展開

新しい機能

  • S3 バケットでの自動 CORS ルールのインストールを無効にする設定の追加
  • タグのパーマリンク
  • デフォルトのリストフィルターのためのカテゴリ設定
  • OP が再構築された際のトピック抜粋の更新
  • トピック抜粋の最大長サイト設定の追加
  • クロスドメインシステムを可能にするため、same site クッキーの「None」オプションの追加
  • クライアントサイドプラグイン API で Composer.serializeToTopic を公開
  • ダウンロードに許可される期間の延長
  • 個別の SVG アイコン用のエンドポイントの追加
  • Google のガイドラインに従う構造化データの追加
  • discourse-presence のためのスタッフ専用オーバーライドキーの導入
  • タグページへの noindex ヘッダーの追加
  • UserApiKeys に対するパラメータ認証の許可
  • DraftSequence を無視するコールバックを登録できるプラグインのサポート
  • 正規 URL のデフォルト設定
  • post_edited DiscourseEvent に revisor のインスタンスを渡す
  • バッジ、グループ、および /my ページへの noindex ヘッダーの追加
  • Google がページを削除できるようにインデックス登録を許可
  • robots が無効の場合の no_index ヘッダーの追加
  • プラグインによる設定のフィルタリング
  • パスワード忘れに対するレート制限ルールの強化
  • 「トップ」トピックリストからミュートされたカテゴリを除外
  • リマインダー送信時にブックマークをオプションで削除
  • カテゴリのエクスポート時にカテゴリの位置を含める
  • Reddit 動画のワンボックス
  • Facebook 動画のワンボックス
  • Nokogumbo

バグ修正

  • 画像のダウンサイジングスクリプトの改善
  • アップロード URL が無効な mailto リンクの場合、false を返す
  • 支配的なトピック警告の校正
  • トピックサムネイル作成時の競合バグ
  • 自動メンバーシップドメイン追加時にドメインが無効な場合、エラー 500 で応答しない
  • 名前が「none」のタグを許可しない
  • ドラフトシステムから非人間ユーザーを適切に禁止
  • 調理済み投稿 HTML に lazyYT-container を含める
  • ドキュメントで誤った関数が使用されていた
  • メールスタイルの順序が正しく評価されなかった
  • 新しい PM を作成する際、ユーザー名/グループ名は大文字小文字を区別しないように
  • 2 回目の小文字化は不要
  • 無効なフラール URL を持つグループのワンオフジョブをスキップ
  • flair_url カラムへのフォールバックを行わない
  • PM に切り替える際にコンポーザーのタイトルと返信を保持
  • タイトルを持つユーザーの破棄が失敗していた
  • ユーザーがメンバーを見られない場合、グループカードが表示されない
  • this コンテキストの上書きを防ぐため、getURL メソッドを明示的に呼び出す
  • デバイスでのダブルボタン配置
  • ブラウザ間でのトピックフッターボタンの配置改善
  • キューイングされた投稿が却下された場合、Post オブジェクトを作成しないため、レビューアイテムを直接カウントする必要がある
  • 開発中の CSS のライブリロード
  • アップロードからアクセス制御投稿 FK を削除
  • タグ入力では、タグが必須である場合でもオプションと表示されていた
  • OAuth 設定に GitHub アプリの client_id を使用可能にする
  • カテゴリ選択器が大文字小文字を区別しないことを保証
  • 公開ページヘッダーに不足していたタグを追加
  • バッジ付与者がデフォルトで無効化されていた
  • Sidekiq が _forim_session を使用している
  • 却下された投稿数が表示される唯一の値の場合、スタッフカウンターを表示
  • リクエストが正しくログ記録されていなかった
  • パスは app ではなく addon でなければならない
  • 非推奨機能が Ember CLI と連携して動作するようにする
  • Select-kit の位置が誤っていた
  • default_template.html の更新
  • guidForEmber.Object の一部ではない
  • tag_id をパラメータ化しない
  • 無効または非 ASCII の URL を解析しようとした際にエラーが発生しないように
  • フラグに対するウェブフックの発行
  • イベントのないウェブフックにデフォルト値を設定しない
  • データベースが一部移行されている場合、マイグレーションが失敗しないように
  • discobot を gravatar からアバターを取得するように切り替え
  • ユーザー削除時にすべての関連データを消去
  • S3 ストアの has_been_uploaded? が S3 バケットパスを考慮していなかった
  • 8GiB を超えるデータベースダンプの場合、バックアップの復元が失敗する可能性があった
  • エラーを印刷する前にバックトレースと backtrace_locations を確認
  • 「uncategorized」カテゴリの説明が空白だった
  • バックトレースなしでプラグインの開始に失敗した場合に有用なメッセージを表示
  • GroupArchivedMessage は User ではなく Group に属する
  • topic-footer-main-buttons に flex を適用
  • ユーザーレコードの欠落を避けるため、ユーザーにブックマークマイグレーションを結合
  • フィクスチャから作成された際にファイル名をランダム化
  • フィクスチャファイルを保持するために /tmp/pid フォルダーを使用
  • rack バージョンを 2.0.8 から 2.2.2 に引き上げ
  • バックアップの復元時にキャッシュされた翻訳オーバーライドがクリアされなかった
  • 複数の翻訳オーバーライドを元に戻してもキャッシュがクリアされなかった
  • カテゴリ選択器に関するリグレッションを改善および修正
  • 日付ピッカーの読み込みをより耐障害性かつ一貫性のあるものに
  • トピックサムネイルのシリアライズ中に画像ダウンロードが発生しないように
  • delete_replies タイプでトピックタイマーを削除可能にする
  • カードが破棄された際に hide が呼び出されることを保証
  • 英語ロケールを使用する際にストップワードを削除しない
  • user_spec で reset_last_seen_cache! を抽出
  • コンポーザーアクションの切り替え時にコンポーザーアクションの内容が更新されない
  • コンポーネントがデータエクスプローラーによってまだ使用されていた
  • テーマのプレビュー時にプラグイン CSS アセットを含める
  • 選択された名前がない場合、sk ヘッダーにタイトルを表示
  • プラグイン API バージョンの引き上げを修正
  • トピックサムネイルに CDN URL を使用
  • #change を使用した投稿マイグレーションで安全でないマイグレーションを実行可能にする
  • 非人間ユーザーの現在の DraftSequence に対して常に 0 を返す
  • ショートカットアイコンにより WebAPK のミントが破損していた
  • ユーザー仕様が一貫なく失敗していた
  • サイズのない画像に関する WebAPK サーバーバグの回避策
  • カテゴリインデックスルートでボットのドラフトを計算しない
  • 構文ハイライトなしでコード引用を適用
  • アプリショートカットメニューに適切なアイコンを使用
  • ログイン後にのみクッキーテストを実行
  • pull_hotlinked_images による lazy-yt サムネイルの取得を許可
  • 古いマイグレーションの削除
  • トピックリストで(ボット):robot: のドラフトを計算しない
  • 要約メールへの返信に対する特定のメールエラー
  • ユーザーエージェントを使用して Wayback Machine を検出
  • ウィザードアプリで最初にロケールをロード
  • mini racer を更新してヒープダンプを修正
  • 保存中にドラフトを保存しない
  • コンポーザーが開いていない場合、タイピングの存在を公開しない
  • コンポーザーを閉じる際に Safari でのスクロールを防止
  • SvgSprite.bundle が ThemeField を 2 回クエリすることを防止
  • 返信時にコンポーザーの存在がユーザーを編集中として表示
  • discourse-presence でのタイピング関数のスロットル
  • /bookmarks URL をトピックリストに戻し、ブックマーク投稿者のアバターを追加
  • 欠落したプロバイダーの SSO URL の処理
  • レビュー可能なコードでのカラム名競合を防止
  • 現在のユーザーのタイムゾーンを正しく計算するようにプレビューを確保
  • ショートカットメニューアイコンにタイプを追加
  • TopicLink を作成できない場合に例外を発生させない
  • パラメータ API ホワイトリストに不足していた RSS ルートを追加
  • プラグインに設定がある場合、設定ボタンを表示
  • ドラフトの保存が条件なしでシーケンスを増加させる
  • 正規表現内の不要なスラッシュを削除
  • tabLoc 投稿リンクに tabindex=-1 を追加
  • モバイルフッターナビゲーションのアクセシビリティを改善
  • 通知ボタンにタイトルを設定
  • schema.org の複数の改善
  • タイトルは name よりも label にフォールバックを試みる
  • 削除されたトピックのサムネイル生成を処理
  • 編集時のバッジプレビューにカテゴリ名を表示
  • 空の場合のトピックカテゴリのレンダリングを防止
  • 誤ってタイトルをクリアしないように
  • 開いた際にデフォルトで空白のタイトルにする
  • 特定のロケールで「次週の月曜日」のブックマークが機能しない問題を解決
  • CurrentUser は resolveTimezone とユーザーカードのローカル時刻の問題を解決するために渡す必要がある
  • 空のドラフトトピックコンポーザーを ESC キーで閉じる
  • ブックマークモーダル入力
  • ルート管理者フォルダーを持つプラグインでの JS のトランスパイルをサポート
  • テーブルの UI に関するいくつかの調整
  • ボットユーザーに対して user_updated イベントをトリガーしない
  • 非推奨の URI.escape を削除
  • ブックマークマネージャーに null オプションを許可しない
  • bookmarks の delete_when_reminder_sent に対してカラムを NOT NULL に設定するマイグレーション
  • 誤った CSS クラス
  • 括弧が誤っており、常に真の式になっていた
  • preload-store が削除された
  • モーダル内のモバイルでの sk の位置を改善
  • PM トピックに対してブックマークボタンを表示
  • トピックタイムライン計算ロジックの改善
  • PM に対する編集通知ユーザー名を修正
  • ロケールフォールバックで default_locale を使用すると問題が発生していた
  • プラグインの干渉に対して can_invite_to_forum を堅牢にする
  • ポールの終了日時をローカル時間に表示
  • preload-store が移動された
  • html プレビュー内の範囲の終了日が誤っていた
  • ユーザー要約メールの未読通知の合計計算を変更
  • discobot はカスタムアバターで作成されていなかった
  • 引用時にコードブロックを保持
  • 不安定なテスト。CSS 遷移により透明度が 0 にならない可能性がある
  • 大きなボタンを持つボタンの折り返しを修正
  • 画像 URL データベースマイグレーションで一時的なテーブルを使用しない
  • Schema.org 検証問題を解決
  • 450px の画面幅から sameWidth を適用
  • 時間が同じ場合、ブックマーク編集時に「Later Today」を事前選択
  • Rails が例外をマスクしたため、PostgreSQL のフォールバックが破損していた
  • Outlook 2016 での要約メールのスタイルを改善
  • より多くの通知の読み込みをサポートするためにオプザーバーの使用に戻す

UX の変更

  • リフレッシュの代わりにライブテーマプレビューを削除
  • プロフィールリンクタイトルにユーザー名を使用(username ではなく)
  • ユーザープロフィールリンクにタイトルを追加
  • モバイルのバナー/アラートスタイルをより一貫性のあるものにし、CSS を整理
  • モバイルのタグ付き PM での editFirstPost をドロップダウンに移動
  • PM ブックマークと共有ボタンからテキストを削除
  • 「メッセージを編集」を「編集」に改名
  • カテゴリバッジテキストから太字を削除
  • トピック通知ボタンの読み込み動作を改善
  • トピック通知レベルの変更時に視覚的フィードバックを追加
  • 通知ボタンからカーテットを削除
  • 安全なメディア URL を短時間キャッシュ可能にする
  • トピックフッターボタンドロップダウンの選択ボックスでのみカーテットを表示
  • ドロップダウン選択ボックスにカーテットを表示可能にする
  • 利用可能な場合に高解像度の YouTube サムネイルを取得
  • カテゴリ編集時にカテゴリ名にフォーカス
  • コピーボタンクリック時にコピーされたテキストを表示
  • 新しいトピック作成時のコンポーザーアクションアイコンを改善
  • トピック返信数が制限されている場合、TL3 レポートにシンボルを追加
  • 投稿/トピック画像として小さなワンボックス画像を使用しない
  • iOS モーダルキーボードの変更をコンポーザーに限定
  • 投稿編集時のコンポーザーアクションの導入
  • 「アカウントを作成」ボタンを無効化せず、必須フィールドのエラーメッセージを表示
  • Crazy in Love バッジの説明にあるハードコードされた値を修正
  • サイト設定の検証メッセージの表示を改善
  • del および ins 要素からの下線を削除
  • タイムラインとトピックフッターボタンの重なりを防止
  • バナーおよびアラート閉じるボタンの配置と一貫性を改善
  • iOS キーボードが表示されている場合のモーダル位置を修正
  • 短い(水平)ビューポートに合うように管理メニューを調整
  • Reddit ワンボックス説明から上部パディングを削除
  • 訪問済みトピックのカテゴリ名を強調しないため、太字を削除
  • ユーザーアクティビティページでの時刻配置を修正
  • Firefox でもコードに 4 スペースのタブを取得するためのプレフィックス付きプロパティを追加
  • sk を使用した利用可能なスペースのより良い使用を試みる
  • ブックマーク削除の微調整
  • 2 段階認証 UI の改善

パフォーマンス

  • loadScript での DOM トラバーサルを回避
  • ブックマークから外部キーを削除
  • コンテキストで完全な GC を実行することを保証
  • topic_reply_count の非物質化
  • トピックリンク作成時の競合状態を回避
  • 同じクエリを 2 回実行しない
  • ボットユーザーのドラフトシーケンスを取得する際に DB をアクセスしない
  • テーブル変更時の排他ロックを削減
  • アバターの取得を discobot 証明書用の hijack に移動
「いいね!」 33