本当に素晴らしいソフトウェアを公開・メンテナンスしていただき、ありがとうございます。
利用させていただく中でバグと思われる動作を見つけましたので、ご報告させてください。
概要
WebUI のプロファイル設定にある「処理の終了後、入力ファイルを別フォルダに移動する」
チェックボックスの状態が保存されず、エンコード後に入力ファイルが常に
succeeded / failed フォルダへ移動されてしまいます。
再現手順
- WebUI のプロファイル設定を開く
- 「処理の終了後、入力ファイルを別フォルダに移動する」にチェックを入れて「適用」を押す
- 画面を再読み込みするとチェックが外れた状態に戻る
- チェックが外れた状態(移動しない)でも、エンコード後にファイルが
succeeded フォルダへ移動される
期待する動作
チェックを外した場合、エンコード後も入力ファイルが元のパスに留まる。
調査結果
ソースコードを確認したところ、以下の不一致が原因と思われます。
WebUI 側 (AmatsukazeWebUI/Pages/ProfileSettings.razor):
<input type="checkbox" checked="@GetBoolValue("MoveInputFile")"
@onchange="@(e => OnBoolChanged(e, "MoveInputFile"))" />
WebUI は MoveInputFile というキー名で値を送信しています。
バックエンド側 (AmatsukazeServer/Server/EncodeServerData.cs):
public bool DisableMoveInputFile { get; set; }
ProfileSetting クラスには DisableMoveInputFile しか定義されていません。
プロファイル更新 API (PUT /api/profiles/{name}) では受け取った JSON を
ProfileSetting に CamelCase でデシリアライズしていますが、
WebUI が送る moveInputFile と ProfileSetting の disableMoveInputFile は
名前が一致しないため、常に無視されデフォルト値(false = 移動する)が使われます。
また意味も反転しています(MoveInputFile: true = 移動する、
DisableMoveInputFile: true = 移動しない)。
修正案
WebUI 側のキー名を MoveInputFile から DisableMoveInputFile に変更して
チェックボックスの真偽値を反転させる対応などが必要に思えます
上記もし勘違いや見当はずれの内容となっていましたら平にご容赦ください。
本当に素晴らしいソフトウェアを公開・メンテナンスしていただき、ありがとうございます。
利用させていただく中でバグと思われる動作を見つけましたので、ご報告させてください。
概要
WebUI のプロファイル設定にある「処理の終了後、入力ファイルを別フォルダに移動する」
チェックボックスの状態が保存されず、エンコード後に入力ファイルが常に
succeeded/failedフォルダへ移動されてしまいます。再現手順
succeededフォルダへ移動される期待する動作
チェックを外した場合、エンコード後も入力ファイルが元のパスに留まる。
調査結果
ソースコードを確認したところ、以下の不一致が原因と思われます。
WebUI 側 (
AmatsukazeWebUI/Pages/ProfileSettings.razor):WebUI は MoveInputFile というキー名で値を送信しています。
バックエンド側 (
AmatsukazeServer/Server/EncodeServerData.cs):ProfileSetting クラスには DisableMoveInputFile しか定義されていません。
プロファイル更新 API (PUT /api/profiles/{name}) では受け取った JSON を
ProfileSetting に CamelCase でデシリアライズしていますが、
WebUI が送る moveInputFile と ProfileSetting の disableMoveInputFile は
名前が一致しないため、常に無視されデフォルト値(false = 移動する)が使われます。
また意味も反転しています(MoveInputFile: true = 移動する、
DisableMoveInputFile: true = 移動しない)。
修正案
WebUI 側のキー名を MoveInputFile から DisableMoveInputFile に変更して
チェックボックスの真偽値を反転させる対応などが必要に思えます
上記もし勘違いや見当はずれの内容となっていましたら平にご容赦ください。