diff --git a/src/api/Settings.ts b/src/api/Settings.ts index e27025dcb..208c37698 100644 --- a/src/api/Settings.ts +++ b/src/api/Settings.ts @@ -278,7 +278,7 @@ export function migratePluginSetting(pluginName: string, newSetting: string, old SettingsStore.markAsChanged(); } -export function migratePluginToSettings(newName: string, oldName: string, ...settingNames: string[]) { +export function migratePluginToSettings(deleteOldSettings: boolean, newName: string, oldName: string, ...settingNames: string[]) { const { plugins } = SettingsStore.plain; const newPlugin = plugins[newName]; const oldPlugin = plugins[oldName]; @@ -290,12 +290,12 @@ export function migratePluginToSettings(newName: string, oldName: string, ...set } newPlugin.enabled = true; - delete plugins[oldName]; + if (deleteOldSettings) delete plugins[oldName]; SettingsStore.markAsChanged(); } } -export function migrateSettingsFromPlugin(newPlugin: string, oldPlugin: string, migratePlugin: boolean, migrationName: string, ...settings: string[]) { +export function migrateSettingsFromPlugin(newPlugin: string, oldPlugin: string, ...settings: string[]) { const { plugins } = SettingsStore.plain; const oldSettings = plugins[oldPlugin]; @@ -312,12 +312,6 @@ export function migrateSettingsFromPlugin(newPlugin: string, oldPlugin: string, delete oldSettings[setting]; } - if (migratePlugin) { - newSettings[migrationName] = oldSettings.enabled; - newSettings.enabled = true; - delete plugins[oldPlugin]; - } - SettingsStore.markAsChanged(); } diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index ec27a7988..613bf1052 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -1099,7 +1099,7 @@ function getQuestAcceptedButtonProps(quest: Quest, text: string, disabled: boole } // Drop support for QuestCompleter and migrate to Questify settings. -migratePluginToSettings("Questify", "QuestCompleter", "completeVideoQuestsInBackground", "completeGameQuestsInBackground", "completeAchievementQuestsInBackground"); +migratePluginToSettings(true, "Questify", "QuestCompleter", "completeVideoQuestsInBackground", "completeGameQuestsInBackground", "completeAchievementQuestsInBackground"); export default definePlugin({ name: "Questify", diff --git a/src/plugins/callTimer/index.tsx b/src/plugins/callTimer/index.tsx index af39b0100..198c47ea8 100644 --- a/src/plugins/callTimer/index.tsx +++ b/src/plugins/callTimer/index.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { definePluginSettings, migrateSettingsFromPlugin } from "@api/Settings"; +import { definePluginSettings, migratePluginToSettings, migrateSettingsFromPlugin } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; import { Devs, EquicordDevs } from "@utils/constants"; import { useTimer } from "@utils/react"; @@ -106,11 +106,12 @@ let myLastChannelId: string | undefined; // Allow user updates on discord first load let runOneTime = true; -migrateSettingsFromPlugin("CallTimer", "AllCallTimers", true, "allCallTimers", "showWithoutHover", "showRoleColor", "trackSelf", "showSeconds", "watchLargeGuilds"); +migratePluginToSettings(false, "CallTimer", "AllCallTimers", "allCallTimers"); +migrateSettingsFromPlugin("CallTimer", "AllCallTimers", "showWithoutHover", "showRoleColor", "trackSelf", "showSeconds", "watchLargeGuilds"); export default definePlugin({ name: "CallTimer", description: "Add call timers for all users in voice channels and in the connection status.", - authors: [EquicordDevs.MaxHerbold, Devs.D3SOX], + authors: [Devs.Ven, EquicordDevs.MaxHerbold, Devs.D3SOX], managedStyle: alignedChatInputFix, settings, diff --git a/src/plugins/typingTweaks/index.tsx b/src/plugins/typingTweaks/index.tsx index c9446faed..caa72cd4c 100644 --- a/src/plugins/typingTweaks/index.tsx +++ b/src/plugins/typingTweaks/index.tsx @@ -110,7 +110,7 @@ const TypingUser = ErrorBoundary.wrap(function TypingUser({ user, guildId }: Typ ); }, { noop: true }); -migratePluginToSettings("TypingTweaks", "AmITyping", "amITyping"); +migratePluginToSettings(true, "TypingTweaks", "AmITyping", "amITyping"); export default definePlugin({ name: "TypingTweaks", description: "Show avatars and role colours in the typing indicator",