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

リストタイムラインで削除された投稿が再表示される #12446

Closed
penginn-net opened this issue Nov 25, 2023 · 7 comments
Closed
Assignees
Labels
🐛Bug Unexpected behavior packages/frontend Client side specific issue/PR

Comments

@penginn-net
Copy link

💡 Summary

消された投稿が一度消えて再度表示される。
または、表示されたままになる。
リストタイムラインでよく見ます(他タイムラインでも未確認)

🥰 Expected Behavior

消された投稿が再表示されることなく消える

🤬 Actual Behavior

消された投稿が再表示される

📝 Steps to Reproduce

  1. ユーザーをリストに追加
  2. そのリストを見ている状態で投稿が削除される
  3. 再度表示される

💻 Frontend Environment

* Model and OS of the device(s):
* Browser:chrome
* Server URL:misskey.io,koliosky.com,gc-key.xn--vusz0j.life
* Misskey:2023.11.1

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:
* Misskey:
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:
@penginn-net penginn-net added the ⚠️bug? This might be a bug label Nov 25, 2023
@samunohito

This comment was marked as resolved.

@samunohito samunohito self-assigned this Nov 28, 2023
@samunohito
Copy link
Member

全然同件じゃなかったので調査します

@samunohito
Copy link
Member

  • notes/deleteした時点でDBからは消える
  • RedisはIDのみ保持しており、そのIDからDBを読むので↑で削除されたノートが乗ってくることはない

…ので、バックエンドは特に問題なさそう

@samunohito
Copy link
Member

  1. [ユーザA]ちょっと下にスクロールしてタイムラインの最新への追従動作をやめる(新しいノートがありますの表示が出る状態にしておく)
  2. [ユーザA]タイムラインに新しいノートが降ってくるまで待つ
  3. [ユーザB]新しいノートを投稿する
  4. [ユーザB]↑のノートを削除する
  5. [ユーザA]新しいノートがありますボタンを押してタイムラインのトップを表示
  6. Wow

@samunohito
Copy link
Member

  • ノートの削除イベントはMkNoteがレンダリングされるまで監視していない
  • ノートの削除はMkNoteで削除イベントを受信してv-showで非表示にしているだけ(メモリ上にはノートの情報が残ってる)
  • 新しいノートがあります状態では、新しいノートの配信を受けて蓄積している状態だが、削除イベントまでは見ていない(MkNoteがレンダリングされていないので)
  • トップが表示されたら蓄積されたノートが一斉にレンダリングされるが、ノートの削除状態は反映されていないのでサーバ上で消されたノートも一緒に描画される

@samunohito
Copy link
Member

申し訳ないのですが、この件は対応見送りとなりました。
削除されたノートをケアするための実装がどうしても複雑になり、メンテナンスが難しくなってしまうためです。
(経緯はプルリクのやり取りを追っていただければ幸いです)

代わりに、消されたノートに対するアクションで発生するエラー表示の増強などで様子を見ることとなりました。
(せめて、消えていることが認識しやすくなれば…)

参考:消されたノートに対してアクションを取ろうとしたときの状態

  • リプライ →リプライ先のノートがない旨のエラーダイアログが出る
  • リノート →反応なし
  • 引用リノート →引用リノート先のノートがない旨のエラーダイアログが出る
  • リアクション →反応なし
  • 右クリック/三点リーダーのメニュー →読み込み中のような表示のまま進まない

@penginn-net
Copy link
Author

削除されたノートのためにパフォーマンスに影響が出るとなると、対応しないほうが良さそうですよね....
ここまでの対応ありがとうございました🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛Bug Unexpected behavior packages/frontend Client side specific issue/PR
Projects
None yet
2 participants