summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-16 12:16:37 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-16 12:16:37 +0900
commitd10d5a8d53fd214ca75613f73bb7149632ec9cf9 (patch)
treee269a2891febec43b6f24476624edf1feafd833b /packages/frontend/src
parentrefactor(frontend): boot分割したり副作用減らしたりとか (diff)
downloadmisskey-d10d5a8d53fd214ca75613f73bb7149632ec9cf9.tar.gz
misskey-d10d5a8d53fd214ca75613f73bb7149632ec9cf9.tar.bz2
misskey-d10d5a8d53fd214ca75613f73bb7149632ec9cf9.zip
enhance: タイムラインにフォロイーの行った他人へのリプライを含めるかどうかの設定をアカウントに保存するのをやめるように
Resolve #10646
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/components/MkTimeline.vue28
-rw-r--r--packages/frontend/src/pages/settings/general.vue2
-rw-r--r--packages/frontend/src/pages/settings/profile.vue2
-rw-r--r--packages/frontend/src/store.ts4
4 files changed, 30 insertions, 6 deletions
diff --git a/packages/frontend/src/components/MkTimeline.vue b/packages/frontend/src/components/MkTimeline.vue
index 00a0cb760d..25d813e39f 100644
--- a/packages/frontend/src/components/MkTimeline.vue
+++ b/packages/frontend/src/components/MkTimeline.vue
@@ -70,7 +70,12 @@ if (props.src === 'antenna') {
connection.on('note', prepend);
} else if (props.src === 'home') {
endpoint = 'notes/timeline';
- connection = stream.useChannel('homeTimeline');
+ query = {
+ withReplies: defaultStore.state.showTimelineReplies,
+ };
+ connection = stream.useChannel('homeTimeline', {
+ withReplies: defaultStore.state.showTimelineReplies,
+ });
connection.on('note', prepend);
connection2 = stream.useChannel('main');
@@ -78,15 +83,30 @@ if (props.src === 'antenna') {
connection2.on('unfollow', onChangeFollowing);
} else if (props.src === 'local') {
endpoint = 'notes/local-timeline';
- connection = stream.useChannel('localTimeline');
+ query = {
+ withReplies: defaultStore.state.showTimelineReplies,
+ };
+ connection = stream.useChannel('localTimeline', {
+ withReplies: defaultStore.state.showTimelineReplies,
+ });
connection.on('note', prepend);
} else if (props.src === 'social') {
endpoint = 'notes/hybrid-timeline';
- connection = stream.useChannel('hybridTimeline');
+ query = {
+ withReplies: defaultStore.state.showTimelineReplies,
+ };
+ connection = stream.useChannel('hybridTimeline', {
+ withReplies: defaultStore.state.showTimelineReplies,
+ });
connection.on('note', prepend);
} else if (props.src === 'global') {
endpoint = 'notes/global-timeline';
- connection = stream.useChannel('globalTimeline');
+ query = {
+ withReplies: defaultStore.state.showTimelineReplies,
+ };
+ connection = stream.useChannel('globalTimeline', {
+ withReplies: defaultStore.state.showTimelineReplies,
+ });
connection.on('note', prepend);
} else if (props.src === 'mentions') {
endpoint = 'notes/mentions';
diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue
index ec2bc3623c..0dfc847049 100644
--- a/packages/frontend/src/pages/settings/general.vue
+++ b/packages/frontend/src/pages/settings/general.vue
@@ -148,6 +148,7 @@
<template #label>{{ i18n.ts.other }}</template>
<div class="_gaps">
+ <MkSwitch v-model="showTimelineReplies">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></MkSwitch>
<FormLink to="/settings/deck">{{ i18n.ts.deck }}</FormLink>
<FormLink to="/settings/custom-css"><template #icon><i class="ti ti-code"></i></template>{{ i18n.ts.customCss }}</FormLink>
</div>
@@ -216,6 +217,7 @@ const squareAvatars = computed(defaultStore.makeGetterSetter('squareAvatars'));
const mediaListWithOneImageAppearance = computed(defaultStore.makeGetterSetter('mediaListWithOneImageAppearance'));
const notificationPosition = computed(defaultStore.makeGetterSetter('notificationPosition'));
const notificationStackAxis = computed(defaultStore.makeGetterSetter('notificationStackAxis'));
+const showTimelineReplies = computed(defaultStore.makeGetterSetter('showTimelineReplies'));
watch(lang, () => {
miLocalStorage.setItem('lang', lang.value as string);
diff --git a/packages/frontend/src/pages/settings/profile.vue b/packages/frontend/src/pages/settings/profile.vue
index dd552ed92b..35af43d789 100644
--- a/packages/frontend/src/pages/settings/profile.vue
+++ b/packages/frontend/src/pages/settings/profile.vue
@@ -91,8 +91,6 @@
<option value="likeOnly">{{ i18n.ts.likeOnly }}</option>
<option value="likeOnlyForRemote">{{ i18n.ts.likeOnlyForRemote }}</option>
</MkSelect>
-
- <MkSwitch v-model="profile.showTimelineReplies">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></MkSwitch>
</div>
</template>
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index 61085e5dcf..0af4b5c021 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -102,6 +102,10 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'account',
default: [] as string[],
},
+ showTimelineReplies: {
+ where: 'account',
+ default: false,
+ },
menu: {
where: 'deviceAccount',