diff --git a/packages/desktop-client/src/components/FinancesApp.js b/packages/desktop-client/src/components/FinancesApp.js index 74e592dd760d1ca639cc1e6106f1dfd093127588..c82f1524f87bde3d4e19172be8ff9e8548fe300c 100644 --- a/packages/desktop-client/src/components/FinancesApp.js +++ b/packages/desktop-client/src/components/FinancesApp.js @@ -20,7 +20,6 @@ import { AccountsProvider } from 'loot-core/src/client/data-hooks/accounts'; import { PayeesProvider } from 'loot-core/src/client/data-hooks/payees'; import { SpreadsheetProvider } from 'loot-core/src/client/SpreadsheetProvider'; import checkForUpdateNotification from 'loot-core/src/client/update-notification'; -import checkForUpgradeNotifications from 'loot-core/src/client/upgrade-notifications'; import * as undo from 'loot-core/src/platform/client/undo'; import Cog from '../icons/v1/Cog'; @@ -263,15 +262,6 @@ function FinancesApp(props) { setTimeout(async () => { await props.sync(); - // Check for upgrade notifications. We do this after syncing - // because these states are synced across devices, so they will - // only see it once for this file - checkForUpgradeNotifications( - props.addNotification, - props.resetSync, - patchedHistory, - ); - await checkForUpdateNotification( props.addNotification, getIsOutdated, diff --git a/packages/loot-core/src/client/upgrade-notifications.ts b/packages/loot-core/src/client/upgrade-notifications.ts deleted file mode 100644 index c2eca0d2a1440f0e4d38fa5d5dad9b9e32527f59..0000000000000000000000000000000000000000 --- a/packages/loot-core/src/client/upgrade-notifications.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { send } from '../platform/client/fetch'; - -import * as Platform from './platform'; - -export default function checkForUpgradeNotifications( - addNotification, - resetSync, - // Note: history is only available on desktop - history, -) { - // TODO: Probably should only show one of these at at time? - send('get-upgrade-notifications').then(types => { - types.forEach(type => { - switch (type) { - case 'schedules': { - let message = - 'Track bills and subscriptions and much more with scheduled transactions. We can search all your existing transactions and try to find existing schedules.\n\n' + - (global.IS_BETA - ? 'NOTE: You are using the beta version, and this will not reset your sync data. This is safe to do.' - : ''); - - if (Platform.env === 'mobile') { - message = - 'Track bills and subscriptions and much more with scheduled transactions. Upcoming transactions will be shown in the accounts screen. Use the desktop app to create schedules.'; - } - - addNotification({ - type: 'message', - title: 'Scheduled transactions are now available!', - message, - sticky: true, - id: 'find-schedules', - button: Platform.env !== 'mobile' && { - title: 'Find schedules', - action: async () => { - window.__history && - window.__history.push('/schedule/discover', { - locationPtr: window.__history.location, - }); - }, - }, - onClose: () => { - send('seen-upgrade-notification', { type: 'schedules' }); - }, - }); - break; - } - - case 'repair-splits': - if (history) { - addNotification({ - type: 'message', - title: 'Split transactions now support transfers & payees', - message: - 'The payee field is now available on split transactions, allowing you to perform transfers on individual split transactions.\n\nAll existing split transactions have a blank payee and we recommend using the tool below to set the payee from the parent. [View a video walkthrough](https://www.youtube.com/watch?v=5kTtAsB0Oqk)', - sticky: true, - id: 'repair-splits', - button: { - title: 'Repair splits...', - action: () => - history.push('/tools/fix-splits', { - locationPtr: history.location, - }), - }, - onClose: () => { - send('seen-upgrade-notification', { type: 'repair-splits' }); - }, - }); - } - break; - - default: - } - }); - }); -} diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts index e003bd7c06c224fbd363b81724e2a34db891de3c..fa0015087c1ae6112650f2f6e476e0a71f9d86bd 100644 --- a/packages/loot-core/src/server/main.ts +++ b/packages/loot-core/src/server/main.ts @@ -2266,30 +2266,6 @@ async function loadBudget(id) { return {}; } -handlers['get-upgrade-notifications'] = async function () { - let { id } = prefs.getPrefs(); - if (id === TEST_BUDGET_ID || id === DEMO_BUDGET_ID) { - return []; - } - - let types = ['schedules', 'repair-splits']; - let unseen = []; - - for (let type of types) { - let key = `notifications.${type}`; - if (prefs.getPrefs()[key] == null) { - unseen.push(type); - } - } - - return unseen; -}; - -handlers['seen-upgrade-notification'] = async function ({ type }) { - let key = `notifications.${type}`; - prefs.savePrefs({ [key]: true }); -}; - handlers['upload-file-web'] = async function ({ filename, contents }) { if (!Platform.isWeb) { return null; diff --git a/packages/loot-core/src/server/prefs.ts b/packages/loot-core/src/server/prefs.ts index ba62c9a41ea5374cdff13564a80413da67ad31f6..46ced65dda11a7825f4e9f48f8560c9ae6e1dcaa 100644 --- a/packages/loot-core/src/server/prefs.ts +++ b/packages/loot-core/src/server/prefs.ts @@ -23,6 +23,19 @@ export async function loadPrefs(id?) { prefs = { id, budgetName: id }; } + // delete released feature flags + let releasedFeatures = ['syncAccount']; + for (const feature of releasedFeatures) { + delete prefs[`flags.${feature}`]; + } + + // delete legacy notifications + for (const key of Object.keys(prefs)) { + if (key.startsWith('notifications.')) { + delete prefs[key]; + } + } + // No matter what is in `id` field, force it to be the current id. // This makes it resilient to users moving around folders, etc prefs.id = id; @@ -69,14 +82,7 @@ export function getPrefs() { } export function getDefaultPrefs(id, budgetName) { - // Add any notifications in here that new users shouldn't see. - // Without them, a popup will show to explain a new feature. - return { - id, - budgetName, - 'notifications.schedules': true, - 'notifications.repair-splits': true, - }; + return { id, budgetName }; } export async function readPrefs(id) { diff --git a/packages/loot-core/src/types/main-handlers.d.ts b/packages/loot-core/src/types/main-handlers.d.ts index 79ff5d41db4e84758bf70036cc379c51a8f4ea7b..3925c8d8d61a9315b3786a2690cd57839a8bfba6 100644 --- a/packages/loot-core/src/types/main-handlers.d.ts +++ b/packages/loot-core/src/types/main-handlers.d.ts @@ -306,10 +306,6 @@ export interface MainHandlers { 'export-budget': () => Promise<unknown>; - 'get-upgrade-notifications': () => Promise<unknown[]>; - - 'seen-upgrade-notification': (arg: { type }) => Promise<unknown>; - 'upload-file-web': (arg: { filename; contents }) => Promise<'ok'>; 'backups-get': (arg: { id }) => Promise<unknown>; diff --git a/upcoming-release-notes/1156.md b/upcoming-release-notes/1156.md new file mode 100644 index 0000000000000000000000000000000000000000..d3e9c168e1ef2fab1397eb36a70e005f4e8e4824 --- /dev/null +++ b/upcoming-release-notes/1156.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [j-f1] +--- + +Remove unused code for notifying about major new features when updating