diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue
index 0d3ead9218..4f0a785091 100644
--- a/packages/frontend/src/pages/settings/preferences.vue
+++ b/packages/frontend/src/pages/settings/preferences.vue
@@ -725,13 +725,11 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
- {{ i18n.ts.cornerRadius }}
-
-
-
-
+
+ {{ i18n.ts.cornerRadius }}
+
+
+
@@ -972,9 +970,9 @@ const notificationClickable = computed(store.makeGetterSetter('notificationClick
const warnExternalUrl = prefer.model('warnExternalUrl');
const showVisibilitySelectorOnBoost = prefer.model('showVisibilitySelectorOnBoost');
const visibilityOnBoost = prefer.model('visibilityOnBoost');
-const cornerRadius = computed(store.makeGetterSetter('cornerRadius'));
const oneko = computed(store.makeGetterSetter('oneko'));
const numberOfReplies = computed(store.makeGetterSetter('numberOfReplies'));
+const cornerRadius = ref(miLocalStorage.getItem('cornerRadius'));
const useCustomSearchEngine = computed(() => !Object.keys(searchEngineMap).includes(searchEngine.value));
@@ -1000,6 +998,14 @@ watch(useSystemFont, () => {
}
});
+watch(cornerRadius, () => {
+ if (cornerRadius.value == null) {
+ miLocalStorage.removeItem('cornerRadius');
+ } else {
+ miLocalStorage.setItem('cornerRadius', cornerRadius.value);
+ }
+});
+
watch([
hemisphere,
lang,
diff --git a/packages/frontend/src/pref-migrate.ts b/packages/frontend/src/pref-migrate.ts
index ed08d5382f..35397b6246 100644
--- a/packages/frontend/src/pref-migrate.ts
+++ b/packages/frontend/src/pref-migrate.ts
@@ -134,23 +134,30 @@ export function migrateOldSettings() {
prefer.commit('sound.on.reaction', store.s.sound_reaction as any);
prefer.commit('defaultNoteVisibility', store.s.defaultNoteVisibility);
prefer.commit('defaultNoteLocalOnly', store.s.defaultNoteLocalOnly);
- // Sharkey migrations
- prefer.commit('collapseNotesRepliedTo', store.s.collapseNotesRepliedTo);
- prefer.commit('collapseFiles', store.s.collapseFiles);
- prefer.commit('uncollapseCW', store.s.uncollapseCW);
- prefer.commit('expandLongNote', store.s.expandLongNote);
- prefer.commit('like', store.s.like);
+
+ //#region Sharkey migrations
prefer.commit('autoloadConversation', store.s.autoloadConversation);
- prefer.commit('showVisibilitySelectorOnBoost', store.s.showVisibilitySelectorOnBoost);
- prefer.commit('visibilityOnBoost', store.s.visibilityOnBoost);
- prefer.commit('trustedDomains', store.s.trustedDomains);
- prefer.commit('warnExternalUrl', store.s.warnExternalUrl);
- prefer.commit('followingFeed', store.s.followingFeed);
- prefer.commit('warnMissingAltText', store.s.warnMissingAltText);
+ prefer.commit('clickToOpen', store.s.clickToOpen);
+ prefer.commit('collapseFiles', store.s.collapseFiles);
+ prefer.commit('collapseNotesRepliedTo', store.s.collapseNotesRepliedTo);
prefer.commit('disableCatSpeak', store.s.disableCatSpeak);
- prefer.commit('showTickerOnReplies', store.s.showTickerOnReplies);
- prefer.commit('searchEngine', store.s.searchEngine);
+ prefer.commit('enableFaviconNotificationDot', store.s.enableFaviconNotificationDot);
+ prefer.commit('expandLongNote', store.s.expandLongNote);
+ prefer.commit('followingFeed', store.s.followingFeed);
+ prefer.commit('like', store.s.like);
prefer.commit('noteDesign', store.s.noteDesign);
+ prefer.commit('notificationClickable', store.s.notificationClickable);
+ prefer.commit('numberOfReplies', store.s.numberOfReplies);
+ prefer.commit('oneko', store.s.oneko);
+ prefer.commit('searchEngine', store.s.searchEngine);
+ prefer.commit('showTickerOnReplies', store.s.showTickerOnReplies);
+ prefer.commit('showVisibilitySelectorOnBoost', store.s.showVisibilitySelectorOnBoost);
+ prefer.commit('trustedDomains', store.s.trustedDomains);
+ prefer.commit('uncollapseCW', store.s.uncollapseCW);
+ prefer.commit('visibilityOnBoost', store.s.visibilityOnBoost);
+ prefer.commit('warnExternalUrl', store.s.warnExternalUrl);
+ prefer.commit('warnMissingAltText', store.s.warnMissingAltText);
+ //#endregion
window.setTimeout(() => {
unisonReload();
diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts
index f7eb299bb7..063f3b60b8 100644
--- a/packages/frontend/src/preferences/def.ts
+++ b/packages/frontend/src/preferences/def.ts
@@ -130,54 +130,6 @@ export const PREF_DEF = {
collapseRenotes: {
default: false,
},
- collapseNotesRepliedTo: {
- default: false,
- },
- collapseFiles: {
- default: false,
- },
- uncollapseCW: {
- default: false,
- },
- expandLongNote: {
- default: false,
- },
- like: {
- default: null as string | null,
- },
- autoloadConversation: {
- default: true,
- },
- showVisibilitySelectorOnBoost: {
- default: true,
- },
- visibilityOnBoost: {
- default: 'public' as 'public' | 'home' | 'followers',
- },
- trustedDomains: {
- default: [] as string[],
- },
- warnExternalUrl: {
- default: true,
- },
- followingFeed: {
- default: defaultFollowingFeedState as Partial,
- },
- warnMissingAltText: {
- default: true,
- },
- disableCatSpeak: {
- default: false,
- },
- showTickerOnReplies: {
- default: false,
- },
- searchEngine: {
- default: Object.keys(searchEngineMap)[0],
- },
- noteDesign: {
- default: 'sharkey' as 'sharkey' | 'misskey',
- },
menu: {
default: [
'notifications',
@@ -208,9 +160,6 @@ export const PREF_DEF = {
nsfw: {
default: 'respect' as 'respect' | 'force' | 'ignore',
},
- numberOfReplies: {
- default: 5,
- },
highlightSensitiveMedia: {
default: false,
},
@@ -307,9 +256,6 @@ export const PREF_DEF = {
forceShowAds: {
default: false,
},
- oneko: {
- default: false,
- },
aiChanMode: {
default: false,
},
@@ -337,12 +283,6 @@ export const PREF_DEF = {
useGroupedNotifications: {
default: true,
},
- notificationClickable: {
- default: false,
- },
- enableFaviconNotificationDot: {
- default: true,
- },
dataSaver: {
default: {
media: false,
@@ -357,9 +297,6 @@ export const PREF_DEF = {
enableSeasonalScreenEffect: {
default: false,
},
- cornerRadius: {
- default: null as 'Misskey' | null,
- },
enableHorizontalSwipe: {
default: true,
},
@@ -467,4 +404,70 @@ export const PREF_DEF = {
'experimental.stackingRouterView': {
default: false,
},
+
+ //#region Sharkey
+ autoloadConversation: {
+ default: true,
+ },
+ clickToOpen: {
+ default: true,
+ },
+ collapseFiles: {
+ default: false,
+ },
+ collapseNotesRepliedTo: {
+ default: false,
+ },
+ disableCatSpeak: {
+ default: false,
+ },
+ enableFaviconNotificationDot: {
+ default: true,
+ },
+ expandLongNote: {
+ default: false,
+ },
+ followingFeed: {
+ default: defaultFollowingFeedState as Partial,
+ },
+ like: {
+ default: null as string | null,
+ },
+ noteDesign: {
+ default: 'sharkey' as 'sharkey' | 'misskey',
+ },
+ notificationClickable: {
+ default: false,
+ },
+ numberOfReplies: {
+ default: 5,
+ },
+ oneko: {
+ default: false,
+ },
+ searchEngine: {
+ default: Object.keys(searchEngineMap)[0],
+ },
+ showTickerOnReplies: {
+ default: false,
+ },
+ showVisibilitySelectorOnBoost: {
+ default: true,
+ },
+ trustedDomains: {
+ default: [] as string[],
+ },
+ uncollapseCW: {
+ default: false,
+ },
+ visibilityOnBoost: {
+ default: 'public' as 'public' | 'home' | 'followers',
+ },
+ warnExternalUrl: {
+ default: true,
+ },
+ warnMissingAltText: {
+ default: true,
+ },
+ //#endregion
} satisfies PreferencesDefinition;
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index cbb14ae33a..9aa72152b1 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -471,92 +471,89 @@ export const store = markRaw(new Pizzax('base', {
},
},
//#endregion
+
//#region Sharkey
- collapseNotesRepliedTo: {
+ autoloadConversation: {
where: 'device',
- default: false,
+ default: true,
+ },
+ clickToOpen: {
+ where: 'device',
+ default: true,
},
collapseFiles: {
where: 'device',
default: false,
},
- uncollapseCW: {
+ collapseNotesRepliedTo: {
where: 'device',
default: false,
},
- expandLongNote: {
- where: 'device',
- default: false,
- },
- like: {
- where: 'device',
- default: null as string | null,
- },
- autoloadConversation: {
- where: 'device',
- default: true,
- },
- showVisibilitySelectorOnBoost: {
- where: 'device',
- default: true,
- },
- visibilityOnBoost: {
- where: 'device',
- default: 'public' as 'public' | 'home' | 'followers',
- },
- trustedDomains: {
- where: 'device',
- default: [] as string[],
- },
- warnExternalUrl: {
- where: 'device',
- default: true,
- },
- followingFeed: {
- where: 'device',
- default: defaultFollowingFeedState as Partial,
- },
- warnMissingAltText: {
- where: 'device',
- default: true,
- },
disableCatSpeak: {
where: 'device',
default: false,
},
- showTickerOnReplies: {
- where: 'device',
- default: false,
- },
- searchEngine: {
- where: 'device',
- default: Object.keys(searchEngineMap)[0],
- },
- noteDesign: {
- where: 'device',
- default: 'sharkey' as 'sharkey' | 'misskey',
- },
- oneko: {
- where: 'device',
- default: false,
- },
enableFaviconNotificationDot: {
where: 'device',
default: true,
},
- numberOfReplies: {
+ expandLongNote: {
where: 'device',
- default: 5,
+ default: false,
+ },
+ followingFeed: {
+ where: 'device',
+ default: defaultFollowingFeedState as Partial,
+ },
+ like: {
+ where: 'device',
+ default: null as string | null,
+ },
+ noteDesign: {
+ where: 'device',
+ default: 'sharkey' as 'sharkey' | 'misskey',
},
notificationClickable: {
where: 'device',
default: false,
},
- cornerRadius: {
+ numberOfReplies: {
where: 'device',
- default: null as 'Misskey' | null,
+ default: 5,
},
- clickToOpen: {
+ oneko: {
+ where: 'device',
+ default: false,
+ },
+ searchEngine: {
+ where: 'device',
+ default: Object.keys(searchEngineMap)[0],
+ },
+ showTickerOnReplies: {
+ where: 'device',
+ default: false,
+ },
+ showVisibilitySelectorOnBoost: {
+ where: 'device',
+ default: true,
+ },
+ trustedDomains: {
+ where: 'device',
+ default: [] as string[],
+ },
+ uncollapseCW: {
+ where: 'device',
+ default: false,
+ },
+ visibilityOnBoost: {
+ where: 'device',
+ default: 'public' as 'public' | 'home' | 'followers',
+ },
+ warnExternalUrl: {
+ where: 'device',
+ default: true,
+ },
+ warnMissingAltText: {
where: 'device',
default: true,
},