こんにちは、Discourse の新規ユーザーです。
バージョン 2.5.0.beta3 を使用しており、管理者設定からバッジやプライベートメッセージなど、不要な機能を無効化するようカスタマイズしました。コードや生設定ファイルの変更は行っておらず、SSO も使用していません。
気づかないうちにログアウトして再度ログインすると、/notifications?recent=true&limit=5 にリダイレクトされ、「Oops! That page doesn’t exist or is private.」というエラーが表示されてしまいます。
この動作を制御する設定がどこにあるのか見つけられませんでした。私のユーザー設定では「デフォルトのホームページ」が「カテゴリ」に設定されています。複数のアカウントで試しましたが、すべて同じ挙動を示します。
ご助力いただければ幸いです!
rogerco
(Roger CO)
2020 年 4 月 29 日午後 4:42
2
2.5.0.beta3 にアップグレードした直後に、全く同じ問題が発生しています。
ログイン時に、選択されたユーザーのホーム設定ページではなく、notifications?recent=true&limit=5 へリダイレクトされ、404 エラーが表示されます。
ユーザーの通知への正しい URL は /u/username/notifications?recent=true&limit=5 です。
いずれにせよ、ユーザー設定が反映されるはずです。ログイン時にユーザー ID が認識されていないようです(ユーザー名でのログイン)。しかし、404 ページを表示した後、実際にはログイン状態になっています。
pfaffman
(Jay Pfaffman)
2020 年 4 月 29 日午後 5:03
3
それはとても奇妙ですね。私は直前にサイトをアップグレードしましたが、その問題は発生していません。
これを引き起こす可能性のあるプラグインやテーマを実行されていますか?safe-mode で解決しますか?
サイトの URL を共有していただけませんか?
rogerco
(Roger CO)
2020 年 4 月 29 日午後 5:13
4
これに影響を与えるテーマやコンポーネントは特に認識していません。2.4 から 2.5 への移行時に 1 つのカスタムコンポーネントを無効にしましたが、これは無関係です(グループのレイアウトをリスト形式に変更します)。safe-mode とは何か、またどのように使用すればよいでしょうか?
サイト URL は、公開アクセスがないため役立ちません。
rogerco
(Roger CO)
2020 年 4 月 29 日午後 5:46
5
safe-mode は何の効果もないようですが、これらの手順に従ってセーフモードが有効になったとは確信できません。
このガイドでは、Discourse のセーフモードを使用して、テーマやプラグインに関する問題をトラブルシューティングする方法を説明します。
必要なユーザーレベル:すべてのユーザー
Discourse では、「JavaScript セーフモード」を提供しており、これにより任意のユーザーが、プラグイン、テーマ、またはテーマコンポーネントによって引き起こされる JavaScript 問題の根本原因を特定できます。この機能は、Discourse サイトの問題をトラブルシューティングする際に特に役立ちます。
セーフモードへのアクセス
セーフモードにアクセスするには、以下の手順に従ってください。
新しいブラウザタブを開きます。
以下の URL をアドレスバーに入力し、[your-site-name](http://discourse.example.com) を実際の Discourse サイトのドメインに置き換えます。
http://discourse.example.com/safe-mode
例えば、…
サイト URL の末尾に /?safe_mode を追加するだけではオプションページが表示されず、ログインページが再読み込みされるだけでした。また、/?safe_mode=no_custom&no_plugins&only_official を使用しても同様で、サイト上には何の変化も見られませんでした。
セーフモードを有効にできました(ログインすると、そのオプションが表示されました)。すべてにチェックを入れてログアウトし、再度ログインしました。
ログイン後、/notifications?recent=true&limit=5 というページにリダイレクトされました。
なぜですか?
なぜ一貫性がないのですか(時には正しい場所に移動することがあります)。
この URI はログインページのクッキーに含まれています。
rogerco
(Roger CO)
2020 年 4 月 29 日午後 8:36
7
FrankVolkel:
ご支援いただければ大変助かります!
進展はありますか?私たちも同じ問題に直面しています。あるサーバーでは発生しますが、同じプラグインとコンポーネントのセットを持つ別のテストサーバーでは発生しません。
OAuth2 プラグインは両方のサーバーにインストールされていますが、現在は無効化されています(アップグレード前からです。問題のあるサーバーでは、アップグレード中に OAuth2 プラグインが有効化されており、アップグレード後に無効化された可能性があります。sysadmin に作業の順序を確認してもらうのを待っています。 )
OAuth2 はアップグレード中にインストールされました。それ以降は無効化されたままです。
OAuth2 プラグインはインストールされていますか?
サブフォルダインストールとは何ですか?
私たちは標準的なインストールを行っています。コンテナフォルダ内に app.yml ファイルがあり、root ユーザーとして launcher というスクリプトを実行して Discourse を起動します。
erphyx
2020 年 4 月 29 日午後 9:17
10
2.5.0.beta3 へのアップグレード後、同じ問題が発生しています。
セルフホストの標準インストールで、公式プラグインのみを使用しています。
Google OAuth は設定済みです。
riking
(Kane York)
2020 年 4 月 29 日午後 9:22
11
私のテスト環境でも同様の現象(あるいはそれに近いもの)が発生していることを確認しました。
Testing: https://smoke-test.redacted.invalid/
Starting Discourse Smoke Test for https://smoke-test.redacted.invalid/
PASSED: go to site - 1119ms
PASSED: expect a log in button in the header - 266ms
PASSED: open login modal - 85ms
PASSED: login modal is open - 8ms
FAILED HTTP REQUEST TO https://smoke-test.redacted.invalid/notifications?recent=true&limit=5 Status is: 403
PAGE LOG: Failed to load resource: the server responded with a status of 403 ()
FAILED HTTP REQUEST TO https://smoke-test.redacted.invalid/logs/report_js_error Status is: 429
PAGE LOG: Failed to load resource: the server responded with a status of 429 ()
PASSED: type in credentials & log in - 363ms
PASSED: is logged in - 1606ms
インスペクタを確認すると、ログインモーダルを開いた瞬間に /notifications?recent=true&limit=5 へのリクエストが発生していることがわかりますが、リダイレクトは発生していません。
riking
(Kane York)
2020 年 4 月 29 日午後 9:36
14
迅速な修正がコミットされました:
committed 09:34PM - 29 Apr 20 UTC
これは約 15 分以内に tests-passed に反映されるはずです。
erphyx
2020 年 4 月 29 日午後 11:01
15
私の環境でも、修正が問題を解決したことを確認しました。
迅速な対応をありがとうございます!