Implem / Implem.Pleasanter

Pleasanter is a no-code/low-code development platform that runs on .NET. You can quickly create business applications with simple operations.
https://pleasanter.org
GNU Affero General Public License v3.0
511 stars 81 forks source link

FullCalendar の動きがおかしい #488

Closed nozoe closed 7 months ago

nozoe commented 10 months ago

1.3.46.0 で導入されたFullCalendarで表示している状態での動きがおかしい。 テーブルが期限付きでも記録テーブルでも同様。 環境  Server: Windows Server 2022 MS-SQL2022 Client: WIndows10  Pleasanter Top URL: https://FQDN/pleasanter/

項目が設定されているところをクリックすると、 404 File Not Found Error になる。 URLとしては、、 https://FQDN/items/202146/edit を開こうとしている 理由としては、Pleasanter が / にインストールされている前提でitemの編集画面に飛ぼうとしているためと思われる。 もしくはパスの展開処理が間違っている?

項目が無い日をクリックすると、 「不正なリクエストが送信されました。」 エラーが表示される。 この時にアドレスバーに表示されるURLは合っている様に見える。 URLは、https://FQDN/pleasanter/items/202144/new

以上、よろしくお願いします。

nozoe commented 10 months ago

元々のStandardでも、項目が無いとところをダブルクリックすると、 「不正なリクエストが送信されました」 エラーになりますね。

システムログを確認しましたが、エラーが記録されている様には見えません。

pierre3 commented 10 months ago

Issueありがとうございます。 FullCalendarのURLにつきまして不具合として修正いたしました。修正バージョンのリリースをお待ちください。

Standardのエラーにつきましては、現象を再現できませんでした。 現象が起きる条件、ブラウザのデバッグコンソールにエラー等が出ていないかなど、もう少し詳しい情報をお知らせください。

nozoe commented 10 months ago

修正お待ちします。 今は、General.jsonのデフォルト値を1に変更して回避しています。

Standard での件ですが、 この状態で、 image

7日の日をダブルクリックするとこうなります。 image

nozoe commented 10 months ago

一旦キャプチャした画像削除します。 マスクしてアップロードしたんですが…

nagamune-implem commented 10 months ago

コメントありがとうございます。

Standardのエラーにつきましては、ブラウザのデバッグコンソールを見るにサーバ側のエラーだと思われます。 試しに該当のカレンダーを表示したページで画面上部の「+新規作成」ボタンを押して、400エラーで「不正なリクエストが送信されました」となるかご確認いただけますでしょうか? またその際のアクセスに関してsyslogテーブルを見るとより詳細な情報が取得できるかもしれません。

このコメント に関して、マスクし忘れの箇所があると思われますのでご確認し、削除等の検討を頂ければと思います。

nozoe commented 10 months ago

取り敢えず一旦キャプチャした画像は削除しました。 エラー画面に表示されたURLをダブルクリックでアクセスした場合には正常に表示されました。

依頼されている事項は明日確認します。

nozoe commented 10 months ago

カレンダー表示状態で、”+新規作成" では問題なく新規作成画面が表示されます。

念のためもう一度キャプチャ画像つけておきます。(今度はちゃんとマスクされている筈) これ以外に取った方が良い情報があったらお知らせください。

20230907-03 20230907-01 20230907-02

nagamune-implem commented 10 months ago

コメントありがとうございます。

Standardのエラーの件ですが、「カレンダーエリア内をダブルクリックした際の新規レコード作成では、サーバがエラー400を返し"不正なリクエストが送信されました。"となる」が「同じカレンダー画面での画面上部の新規作成ボタン押下ではエラーとならず、新規作成画面が正しく表示される」との事で、サーバ側の新規作成リクエストが全て失敗するわけではない事がわかりました。 また、以前のコメントでシステムログにエラーが記録されていないと頂いておりました。

追加でコメント頂いた画面キャプチャを確認してみたのですが、ここからはエラー原因の推測ができませんでした。

こちらの環境(Windows11+SQLServer+Pleasanter1.3.46クリーンインストール・chrome+Edge+firefox)では事象が発生せず、手詰まりの状態となりました。

ちなみにカレンダーのあるページで発動するスクリプトや拡張SQL等はございませんでしょうか? 別なテーブルでのカレンダー表示でも同様のエラーとなりますでしょうか? またはブラウザの拡張機能などが発動する事がございませんでしょうか?

以上、一旦ご報告まで

nozoe commented 9 months ago

現在確認しているテーブルで設定してあるスクリプトは、期ごとに番号を発番するスクリプトとコメントを必須にするスクリプトになります。 image 拡張SQLは利用していません。

試しに記録テーブルを標準で作成しカレンダ表示して、適当な日付をダブルクリックすると同様のエラーになります。 以前もどのパラメータか忘れましたが、セキュリティにカラムパラメータ設定が影響して私の環境でしか出ない様な 問題が有った様な気がします。その時の問題は気づいたら修正されていたので何が原因だったかは定かでは有りませんが…

nozoe commented 9 months ago

検証環境を構築し、http で通信する様にして、wireshark でパケットダンプしてみました。 これが解決の一助になれば幸いです。 パット見のエラーは分かりませんでした。。。

400_http_strings.txt 400_dump.txt 400_http.txt new_ok_http_strings.txt new_ok_dump.txt new_ok_http.txt

nozoe commented 9 months ago

検証環境のカレンダをデフォルトのままFullCalendarにしていましたが、FullCalendarでも標準カレンダでも 状況に変化は無いようです。

nagamune-implem commented 9 months ago

情報の追加ありがとうございます。 頂いたダンプ情報などをさらっと見ましたが、問題となりそうな部分は見つかりませんでした。

ただ気になる点がございます。 StandardカレンダーのダブルクリックでnewのURLへPOSTした際のペイロードで、下記の3カラムをサーバに送信していますが Form item: "Issues_StartTime" = "2023/9/12 0:00:00" Form item: "Issues_CompletionTime" = "2023/9/13 0:00:00" Form item: "Issues_DateA" = "2023/9/12 0:00:00" 通常は「StartTimeとCompletionTimeのペア」か「DateA(日付カラム)1つ」送信すると思うのですが、なぜか3つ送られています。

ただ、こちらの実験環境で上記の3つのデータをPOSTで送るようにしましたが、エラーは発生せず新規作成画面が表示されました。

nozoe commented 9 months ago

Parametarsファイルの変更を極力必要最小限にしたので、前回のパケットキャプチャした情報はFullcalendar 設定時の結果でした。

std_400_strings.txt std_400_dump.txt std_400_http.txt

nozoe commented 9 months ago

昨日、IISのエラー400の原因特定が出来ないかと色々調べましたが、残念ながら特定出来ませんでした。 何処にも400番エラーになる痕跡が見えません… WindowsServer2019, WindowsServer2022, WIndows11いずれも同じ状況になります。

pierre3 commented 9 months ago

FullCalendarのリンククリック時の不具合につきましては ver.1.3.46.1 で解消いたしました。 ・サブディレクトリ環境でFullCalendarのレコードURLを正しく生成できない問題を解消

ver.1.3.46.1 以降のバージョンにアップデートの上、再度ご確認ください。

nozoe commented 9 months ago

1.3.46.1 で修正された事確認致しました。 ただ、カレンダクリックで新規作成でエラー400が…(POSTだとNG)で、上部の新規作成(GETだとOK)。 ヘッダ部のいずれかの変数の問題だと思われるのですが、IISのどのログにもエラーが出ないので終えません…

nozoe commented 8 months ago

要因が特定できたと思います。

デフォルトのパラメータファイルの状態から必要最小限の設定(general.jsonとrds.json)を入れてカレンダの何も登録されていない日をクリックし正常動作することを確認したのちに, 一つづつパラメータファイルの設定を私のコンフィグ状態に書き換えていった所、 Security.json のTokenCheck をtrue に変更した後にカレンダ上からダブルクリックで、「不正なリクエストが送信されました。」エラーになることを確認しました。 この変数がどう影響しているかまでは調べきれていませんが、問題解決の一助になればと思います。

よろしくお願いします。

なお、検証作業は、昨日リリースされた1.3.48.0 をWindows11上にインストールして検証を行いました。

nagamune-implem commented 8 months ago

コメントありがとうございます、また詳細な調査ありがとうございます。

頂いた手順でこちらでも再現が出来ました。 修正したいと思いますので、今しばらくお待ち頂きたくよろしくお願いいたします。

nagamune-implem commented 7 months ago

本日(11/15)にリリースされた Pleasanter_1.3.49.0 に対応したコードが含まれております。 お手数をおかけして申し訳ございませんが、バージョンアップのほどよろしくお願いいたします。

nozoe commented 7 months ago

バージョンアップを実施し、動作確認いたしました。 対応ありがとうございました。