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

ぶいみみリレータイムラインにおいて、DBフォールバックの内容が正しくない可能性がある #178

Closed
Sayamame-beans opened this issue Apr 19, 2024 · 14 comments
Labels
⚠️Bug Something isn't working

Comments

@Sayamame-beans
Copy link

Sayamame-beans commented Apr 19, 2024

💡 概要

時間か数のどちらがキーか分かりませんが、リノートを表示 + TLに他の人への返信を含める を有効にした状態で1時間程度前まで遡ると、リプライしか表示されなくなりました。
直近1時間の内容は正常(リプライ以外の内容も含まれる)です。

追記: ぶいみみリレータイムラインと同様の内容が流れるぶいみみソーシャルタイムラインでも同様でした。

🥰 想定される挙動

全ての投稿が含まれる

🤬 実際の挙動

一定より前の内容はリプライのみ含まれる

📝 再現手順

時間経過?

💻 お使いの環境

* 機種とOS: any
* ブラウザ: any
@Sayamame-beans Sayamame-beans added the ⚠️Bug Something isn't working label Apr 19, 2024
@Sayamame-beans
Copy link
Author

TLに他の人への返信を含める を無効にした状態であれば、含まれているように見えます。
withRepliesがあるときのqueryがおかしい?

@Sayamame-beans
Copy link
Author

if (!ps.withReplies) {
query.andWhere(new Brackets(qb => {
qb
.where('note.replyId IS NULL') // 返信ではない
.orWhere(new Brackets(qb => {
qb // 返信だけど投稿者自身への返信
.where('note.replyId IS NOT NULL')
.andWhere('note.replyUserId = note.userId');
}));
}));
}

if (!ps.withReplies) {
query.andWhere(new Brackets(qb => {
qb
.where('note.replyId IS NULL') // 返信ではない
.orWhere(new Brackets(qb => {
qb // 返信だけど投稿者自身への返信
.where('note.replyId IS NOT NULL')
.andWhere('note.replyUserId = note.userId');
}));
}));
}

ここだけ見ると差が無いように見えるので、前後との組み合わせの問題ですかね~
LTLではwithFilesが前に来ていて、VRTLでは後ろに(withFiles含め)色々来ている形なので、前方になったwithRepliesで絞りすぎている?

@Sayamame-beans
Copy link
Author

ん…? それだとVSTLも駄目なことの説明が付かない?

if (!ps.withReplies) {
query.andWhere(new Brackets(qb => {
qb
.where('note.replyId IS NULL') // 返信ではない
.orWhere(new Brackets(qb => {
qb // 返信だけど投稿者自身への返信
.where('note.replyId IS NOT NULL')
.andWhere('note.replyUserId = note.userId');
}));
}));
}

@anatawa12
Copy link
Collaborator

他人を含めるがオフだとどうなりますか

@Sayamame-beans
Copy link
Author

Sayamame-beans commented Apr 19, 2024

他人を含めるがオフだとどうなりますか

TLに他の人への返信を含める を無効にした状態であれば、含まれているように見えます。 withRepliesがあるときのqueryがおかしい?

@Sayamame-beans
Copy link
Author

ユーザーページで一定期間より前まで遡ったケースで、"全て"ではリプライかチャンネル投稿しか見えなくなるが、"ノート"では問題なく見える挙動があるようです。
もしかしてこれ、DB FallbackのwithReplies系のqueryが(本家含め)全体的に間違っていたりしますか?
ref: https://misskey.niri.la/notes/9sbbf8n2w0

@anatawa12
Copy link
Collaborator

そもそもdb fallback起因であるか確認したいかも

FTTのマージのバグとしてFTTキャッシュの長さがだいたい同じであるという仮定してて、長さが違うと短いやつが終わると長いやつのだけ見れるようになるのはあるので、VRTLについては見れなくなるのが300ノート以上継続するか確認したい

@Sayamame-beans
Copy link
Author

あー

@anatawa12
Copy link
Collaborator

要するに: misskey-dev#13488 の可能性

@Sayamame-beans
Copy link
Author

Sayamame-beans commented Apr 20, 2024

VRTL、300ノート継続しないですね
280ぐらい遡ったら直りました(APIの応答の数が明らかに欠けますね)
こっちは13488か…

@anatawa12
Copy link
Collaborator

misskey-dev#13488 っぽいので close as not planned します

misskey-dev#13495 取り込んでもいいかもね

@anatawa12 anatawa12 closed this as not planned Won't fix, can't repro, duplicate, stale Apr 21, 2024
@Sayamame-beans
Copy link
Author

13495、なんか直さないとって言ってた記憶が朧げにあるので取り込むべきじゃないかも

@anatawa12
Copy link
Collaborator

コメントにあるけどFTTが空だと常にfallbackされるってのある。けどこれは仕方ない仕様だと思うので

@Sayamame-beans
Copy link
Author

確かに。じゃあうちで試験導入しても良いかもですね〜

@anatawa12 anatawa12 mentioned this issue Apr 27, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚠️Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants