parent
fd8d253e1e
commit
72327716ca
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## 2023.x.x (unreleased)
|
## 2023.11.0 (unreleased)
|
||||||
|
|
||||||
### General
|
### General
|
||||||
-
|
-
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
https://misskey-hub.net/docs/advanced/publish-on-your-website.html
|
https://misskey-hub.net/docs/advanced/publish-on-your-website.html
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
-
|
- Fix: リストTLに自分のフォロワー限定投稿が含まれない問題を修正
|
||||||
|
|
||||||
## 2023.10.2
|
## 2023.10.2
|
||||||
|
|
||||||
|
|
|
@ -868,7 +868,7 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
|
|
||||||
if (note.visibility === 'followers') {
|
if (note.visibility === 'followers') {
|
||||||
// TODO: 重そうだから何とかしたい Set 使う?
|
// TODO: 重そうだから何とかしたい Set 使う?
|
||||||
userListMemberships = userListMemberships.filter(x => followings.some(f => f.followerId === x.userListUserId));
|
userListMemberships = userListMemberships.filter(x => x.userListUserId === user.id || followings.some(f => f.followerId === x.userListUserId));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: あまりにも数が多いと redisPipeline.exec に失敗する(理由は不明)ため、3万件程度を目安に分割して実行するようにする
|
// TODO: あまりにも数が多いと redisPipeline.exec に失敗する(理由は不明)ため、3万件程度を目安に分割して実行するようにする
|
||||||
|
|
|
@ -947,6 +947,22 @@ describe('Timelines', () => {
|
||||||
assert.strictEqual(res.body.find((note: any) => note.id === bobNote.id).text, 'hi');
|
assert.strictEqual(res.body.find((note: any) => note.id === bobNote.id).text, 'hi');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test.concurrent('リスインしている自分の visibility: followers なノートが含まれる', async () => {
|
||||||
|
const [alice] = await Promise.all([signup(), signup()]);
|
||||||
|
|
||||||
|
const list = await api('/users/lists/create', { name: 'list' }, alice).then(res => res.body);
|
||||||
|
await api('/users/lists/push', { listId: list.id, userId: alice.id }, alice);
|
||||||
|
await sleep(1000);
|
||||||
|
const aliceNote = await post(alice, { text: 'hi', visibility: 'followers' });
|
||||||
|
|
||||||
|
await waitForPushToTl();
|
||||||
|
|
||||||
|
const res = await api('/notes/user-list-timeline', { listId: list.id }, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((note: any) => note.id === aliceNote.id), true);
|
||||||
|
assert.strictEqual(res.body.find((note: any) => note.id === aliceNote.id).text, 'hi');
|
||||||
|
});
|
||||||
|
|
||||||
test.concurrent('リスインしているユーザーのチャンネルノートが含まれない', async () => {
|
test.concurrent('リスインしているユーザーのチャンネルノートが含まれない', async () => {
|
||||||
const [alice, bob] = await Promise.all([signup(), signup()]);
|
const [alice, bob] = await Promise.all([signup(), signup()]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue