fix(client): make note visibility inheritance behave correctly when default is set to followers-only (#9238)

* Fix post visibility

* Also in the case of specified

* fix

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
Laura Hausmann 2022-12-02 22:14:37 +01:00 committed by GitHub
parent 66513b9893
commit 2037c83541
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 7 deletions

View File

@ -262,13 +262,22 @@ if (props.channel) {
//
if (props.reply && ['home', 'followers', 'specified'].includes(props.reply.visibility)) {
visibility = props.reply.visibility;
if (props.reply.visibility === 'specified') {
os.api('users/show', {
userIds: props.reply.visibleUserIds.filter(uid => uid !== $i.id && uid !== props.reply.userId),
}).then(users => {
users.forEach(pushVisibleUser);
});
if (props.reply.visibility === 'home' && visibility === 'followers') {
visibility = 'followers';
} else if (['home', 'followers'].includes(props.reply.visibility) && visibility === 'specified') {
visibility = 'specified';
} else {
visibility = props.reply.visibility;
}
if (visibility === 'specified') {
if (props.reply.visibleUserIds) {
os.api('users/show', {
userIds: props.reply.visibleUserIds.filter(uid => uid !== $i.id && uid !== props.reply.userId),
}).then(users => {
users.forEach(pushVisibleUser);
});
}
if (props.reply.userId !== $i.id) {
os.api('users/show', { userId: props.reply.userId }).then(user => {