diff options
| author | Marie <github@yuugi.dev> | 2024-10-03 17:45:26 +0000 |
|---|---|---|
| committer | Marie <github@yuugi.dev> | 2024-10-03 17:45:26 +0000 |
| commit | f6e0a040537562c35f176c2a2fcefc3552deb0f3 (patch) | |
| tree | 1be82b4010ae044ddb8457a251dfaefce17bdc6a | |
| parent | merge: fix #332 - classic view navbar now respects "side (icon only)" (!630) (diff) | |
| parent | fix linting (diff) | |
| download | sharkey-f6e0a040537562c35f176c2a2fcefc3552deb0f3.tar.gz sharkey-f6e0a040537562c35f176c2a2fcefc3552deb0f3.tar.bz2 sharkey-f6e0a040537562c35f176c2a2fcefc3552deb0f3.zip | |
merge: maybe fix #510 - try to not edit visibility (!631)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/631
Closes #510
Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
| -rw-r--r-- | packages/backend/src/core/NoteEditService.ts | 8 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkPostForm.vue | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/packages/backend/src/core/NoteEditService.ts b/packages/backend/src/core/NoteEditService.ts index 5ff0f26e2b..f42d14b466 100644 --- a/packages/backend/src/core/NoteEditService.ts +++ b/packages/backend/src/core/NoteEditService.ts @@ -247,6 +247,11 @@ export class NoteEditService implements OnApplicationShutdown { data.reply = undefined; } + // changing visibility on an edit is ill-defined, let's try to + // keep the same visibility as the original note + data.visibility = oldnote.visibility; + data.localOnly = oldnote.localOnly; + // チャンネル外にリプライしたら対象のスコープに合わせる // (クライアントサイドでやっても良い処理だと思うけどとりあえずサーバーサイドで) if (data.reply && data.channel && data.reply.channelId !== data.channel.id) { @@ -429,9 +434,6 @@ export class NoteEditService implements OnApplicationShutdown { if (data.cw !== oldnote.cw) { update.cw = data.cw; } - if (data.localOnly !== oldnote.localOnly) { - update.localOnly = data.localOnly; - } if (oldnote.hasPoll !== !!data.poll) { update.hasPoll = !!data.poll; } diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index 2bc607fbb6..dc3f3aa94c 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div :class="$style.headerRight"> <template v-if="!(channel != null && fixed)"> - <button v-if="channel == null" ref="visibilityButton" v-click-anime v-tooltip="i18n.ts.visibility" :class="['_button', $style.headerRightItem, $style.visibility]" @click="setVisibility"> + <button v-if="channel == null" ref="visibilityButton" v-click-anime v-tooltip="i18n.ts.visibility" :class="['_button', $style.headerRightItem, $style.visibility]" :disabled="editId != null" @click="setVisibility"> <span v-if="visibility === 'public'"><i class="ti ti-world"></i></span> <span v-if="visibility === 'home'"><i class="ti ti-home"></i></span> <span v-if="visibility === 'followers'"><i class="ti ti-lock"></i></span> @@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only <span :class="$style.headerRightButtonText">{{ channel.name }}</span> </button> </template> - <button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified'" @click="toggleLocalOnly"> + <button v-click-anime v-tooltip="i18n.ts._visibility.disableFederation" class="_button" :class="[$style.headerRightItem, { [$style.danger]: localOnly }]" :disabled="channel != null || visibility === 'specified' || editId != null" @click="toggleLocalOnly"> <span v-if="!localOnly"><i class="ti ti-rocket"></i></span> <span v-else><i class="ti ti-rocket-off"></i></span> </button> |