Closed sanao1006 closed 7 months ago
2023.11.1からcwを空欄にすることができなくなったような気がしますね バリデーション処理にバージョンのチェックおよびそれに応じたcwの内容のバリデーションを追加する必要性がありそうです
cwが有効かつ空欄の場合は何かしらの特殊文字をデフォルトで入れてしまうという方法もありますが、 cwの空欄が許可されなくなった理由を考えるとそれは微妙な気がします
バージョンもチェックも必要なのですねなるほど、、、
バリデーション処理を書き加える関数はこの関数であってますかね? https://github.com/pantasystem/Milktea/blob/e8a85f29da67c05f2758a11cbd562954dfa997c8/modules/features/note/src/main/java/net/pantasystem/milktea/note/editor/viewmodel/NoteEditorUiState.kt#L61
ただ空かどうか判定するだけなら
if (this.formState.cw.isNullOrEmpty()) { return false }
これを書き加えればいけそうだとおもったのですが、バージョンのチェック方法が分からない状態です。
https://github.com/kanarikanaru/backspacekey/commit/ffa20911ed8cd91e066ae66d617aa71786c474ec
空チェックはminLengthを使う方法でもよいかもしれないですね
バージョンのチェック方法はcheckValidateにバージョンやソフトウェアの種別の情報を含むデータを InstanceInfoService経由で取得して引数に渡すのが良いと思いました。 ただioとmisskey-dev/misskeyではバージョニング方式が異なるのが注意点ですね・・・
CWが空を許容するかをチェックするためのフィールドを追加しました。 当Issueですがアサインされますか?それとも私の方で修正した方がよろしいでしょうか? https://github.com/pantasystem/Milktea/blob/ff0c613a41655a24fe0752324fcb01b6087d1ebb/modules/model/src/main/java/net/pantasystem/milktea/model/instance/InstanceInfoType.kt#L112-L112
ぜひ私に修正させてください。アサインの方、よろしくお願いします!
その前にひとつ質問があります
misskeyのバージョンチェック処理が必要だと思うのですが、バージョン11.1(でしたっけ?)以上であるかどうかの判定って Version を使えばいいんでしょうか?
バージョンの判定にはおっしゃるとおりそのバージョンクラスを使用すればよいです。 ただ今回はあらかじめisCwAllowBlankを作成したので、isCwAllowBlankを使用すれば実装できると思います。
不具合の概要
以前までは「内容を隠す」で注釈を空にしたままでも問題なくノートできていたが気づいたらできなくなっていた。 注釈が空のままノートするとエラーが発生する。
再現方法
期待する動作
Screenshots
不具合が発生した時のスクリーンショットやキャプチャー