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

instance.actorが消せてしまう #15525

Open
1 task
syuilo opened this issue Feb 19, 2025 · 10 comments · May be fixed by #15530
Open
1 task

instance.actorが消せてしまう #15525

syuilo opened this issue Feb 19, 2025 · 10 comments · May be fixed by #15530
Assignees
Labels
Milestone

Comments

@syuilo
Copy link
Member

syuilo commented Feb 19, 2025

💡 Summary

instance.actorが消せてしまい、連合ができなくなる

🥰 Expected Behavior

消せない

🤬 Actual Behavior

消せる

📝 Steps to Reproduce

No response

💻 Frontend Environment

* Model and OS of the device(s):
* Browser:
* Server URL:
* Misskey:

🛰 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
@5ouma
Copy link
Contributor

5ouma commented Feb 19, 2025

現状の解決策: データベースを直接編集して、確保されているIDから@instance.actorを削除

このアカウントが何か明記されていないため、不用意な削除を招く可能性があります。(1敗)
役割を明示する必要もあるかもしれないですね。

@samunohito
Copy link
Member

relay.actorについても同様のことが言えると思うので、createSystemUserService.createSystemUser()経由で作成したアカウントは

  • 削除不能にする(アカウント削除APIでエラーにする)
  • アカウントの一覧に表示しない

が必要だと思います。

現状、システムアカウントかどうかのフラグは無いので

  • userテーブルにisSystemみたいなのを持つ
  • 特殊なシステムアカウント名をハードコードして除く

のどちらかの対応になるかと・・・(前者を推したい)

@tai-cha
Copy link
Contributor

tai-cha commented Feb 19, 2025

現状Misskeyは.付きのusernameをユーザーは使えないはずなので、それらをisSystemなどに移行することで前者への移行自体はできそうですよね

@syuilo
Copy link
Member Author

syuilo commented Feb 19, 2025

現状の解決策: データベースを直接編集して、確保されているIDから@instance.actorを削除

この場合、署名鍵が変わるので今まで連合していた相手と連合できなくなる可能性がありそうですね

@anatawa12
Copy link
Member

当面の対処として、instance.actorとrelay.actorをハードコードで禁じていい気がする。

@syuilo syuilo self-assigned this Feb 21, 2025
@syuilo
Copy link
Member Author

syuilo commented Feb 21, 2025

今あるシステムアカウントって instance.actor と relay.actor だけ?

@syuilo
Copy link
Member Author

syuilo commented Feb 21, 2025

さきに #15026 入れた方がコンフリクト少なくて済むかも

@syuilo syuilo linked a pull request Feb 21, 2025 that will close this issue
5 tasks
@KisaragiEffective
Copy link
Collaborator

「.」を含むハンドルをユーザーが作れないのはそうだけど、「『.』を含んだらシステムアカウント」はFed BridgeとかのMisskeyが想定してなかったケースで壊れそうなのでやめたほうが良さそう

@tai-cha
Copy link
Contributor

tai-cha commented Feb 21, 2025

「.」を含むハンドルをユーザーが作れないのはそうだけど、「『.』を含んだらシステムアカウント」はFed BridgeとかのMisskeyが想定してなかったケースで壊れそうなのでやめたほうが良さそう

マイグレーションの話であればあくまでhost=nullの場合の話のつもりでした

@syuilo
Copy link
Member Author

syuilo commented Feb 21, 2025

「.」を含むハンドルをユーザーが作れないのはそうだけど、「『.』を含んだらシステムアカウント」はFed BridgeとかのMisskeyが想定してなかったケースで壊れそうなのでやめたほうが良さそう

Misskeyはこれからも . を許可することはないから大丈夫だわね

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

Successfully merging a pull request may close this issue.

6 participants