misskey icon indicating copy to clipboard operation
misskey copied to clipboard

絵文字の名前に@や:が使用できる

Open nenohi opened this issue 2 years ago • 4 comments

What

絵文字追加後のUpdateにて@や:、Unicode絵文字等をカスタム絵文字名に追加できないようにした

下記正規表現 /^[a-z0-9_]+$/ 絵文字名の被りが無いかチェックも追加

Why

絵文字名にて予想外の文字が含まれていた場合に正常に読み込めなくなる為 (#9918)

Additional info (optional)

ローカル環境にてテスト済み 下記確認 ・絵文字に英数字アンダーバーのみを登録できること ・日本語のみでエラー ・日本語含む英数字でエラー ・ユニコード絵文字のみでエラー ・同じ絵文字名が合った場合エラー

nenohi avatar Feb 16 '23 13:02 nenohi

Codecov Report

Merging #9964 (f682f73) into develop (4db787c) will increase coverage by 50.14%. The diff coverage is 75.00%.

@@             Coverage Diff              @@
##           develop    #9964       +/-   ##
============================================
+ Coverage    23.19%   73.33%   +50.14%     
============================================
  Files          698      809      +111     
  Lines        64883    77524    +12641     
  Branches      1984     5392     +3408     
============================================
+ Hits         15050    56854    +41804     
+ Misses       49833    20670    -29163     
Impacted Files Coverage Δ
...end/src/server/api/endpoints/admin/emoji/update.ts 68.81% <75.00%> (+68.81%) :arrow_up:

... and 659 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Feb 16 '23 14:02 codecov[bot]

OSSに関わる経験が浅いのでコメントの仕方とかが間違ってたらすみません

ちょうど同じissueに取り組んでいていくつか試行錯誤していました。 Additional infoで言及されていますが、条件の範囲を逆にした (/^[a-z0-9_]+$/) 等の正規表現の方が良いと思いました。

背景

  • 新規絵文字追加の際には、以下のように使用できる文字かどうかで判定がされていること

https://github.com/misskey-dev/misskey/blob/63df2c851e31a30dda3b7e9edefb2a97e4c1daa6/packages/backend/src/server/api/endpoints/admin/emoji/add.ts#L51

  • unicode絵文字、@等を含む文字列以外でも正しく表示されない場合があること ローカル環境で試したところ、こちらのPRで修正していただいている場合以外の文字列でも正しく表示されない場合がありました。 例 ) カスタム絵文字の名前を試しに「にほんご」に設定すると、👍と表示される image

ekkekuru2 avatar Feb 16 '23 15:02 ekkekuru2

ありがとうございます、 やっぱり逆のほうが良さそうですね

ただ、絵文字に使える文字でどこまで許容(どの文字まで使えるように)するかが問題になってきそうですね

nenohi avatar Feb 16 '23 15:02 nenohi

さっそく変更ありがとうございます。

ただ、絵文字に使える文字でどこまで許容(どの文字まで使えるように)するかが問題になってきそうですね

たしかにその問題は出てきますね... 個人的には、今変更していただいた (/^[a-z0-9_]+$/) で、新規絵文字追加とも同じになって良いと思いました。

ekkekuru2 avatar Feb 16 '23 16:02 ekkekuru2

https://json-schema.org/understanding-json-schema/reference/regular_expressions.html

JSON Schema(paramDef)のpatternにできませんか?

tamaina avatar Mar 09 '23 13:03 tamaina

大丈夫そう

nenohi avatar Mar 09 '23 19:03 nenohi

🙏

syuilo avatar Mar 20 '23 05:03 syuilo