Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

特定のハッシュタグの投稿が連合先から参照すると連合元のハッシュタグリンクになる #13731

Closed
1 task
Misaki0331 opened this issue Apr 18, 2024 · 2 comments · Fixed by #13733
Assignees
Labels
🐛Bug Unexpected behavior

Comments

@Misaki0331
Copy link

Misaki0331 commented Apr 18, 2024

💡 Summary

題名の通り、特定の文字列を含むハッシュタグを投稿すると連合先でリンク化し、連合元のハッシュタグのリンクに飛ばされる。

🥰 Expected Behavior

全てのハッシュタグにおいて自分のサーバーで参照する。

🤬 Actual Behavior

「!」「?」「①(囲み数字)」「Ⅰ(ローマ数字)」等記号を使用したハッシュタグが全て連合元のハッシュタグにリンク化する

例(逆も同じ):
Misskey.io上での投稿

#テスト!
#テスト?
#テスト①
#テストⅠ

外部Misskey(2024.3.1)インスタンスから見た投稿

[#テスト!](<https://misskey.io/tags/テスト!>) 
[#テスト?](<https://misskey.io/tags/テスト?>) 
[#テスト①](<https://misskey.io/tags/テスト①>) 
[#テストⅠ](<https://misskey.io/tags/テストⅠ>)

📝 Steps to Reproduce

No response

💻 Frontend Environment

Misskey1: ingen.work 2024.3.1
Misskey2: misskey.backspace.fm 2024.3.1-bsk-5.2.5
Misskey3: misskey.io 2024.3.1-io.6

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:
* Misskey:
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@Misaki0331 Misaki0331 added the ⚠️bug? This might be a bug label Apr 18, 2024
@anatawa12
Copy link
Member

#13192 で条件下でMFMを省略してhtmlのみ送信しパースする形になった際、パース側でのハッシュタグの復元がうまく行ってなさそうですね。MFM省略が行われないものでは連合がうまく行っています。

https://misskey.io/notes/9s9p5vmphu9t00ev

https://misskey.io/notes/9s9pcekia7d200dq

@anatawa12
Copy link
Member

HTMLのパース時には完全一致でハッシュタグのマッチをしているけどAP上のtag:[]はNFKCノーマライズ済なのでマッチしないようですね。HTML => MFM時にnormalizeForSearchをかけるのがよさそう?
(#テスト①#テスト1にノーマライズされてる)

HTML => MFM

if (hashtagNames && href && hashtagNames.map(x => x.toLowerCase()).includes(txt.toLowerCase())) {

MFM => tags

tags: tags.map(tag => normalizeForSearch(tag)),

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛Bug Unexpected behavior
Projects
None yet
2 participants