|
@@ -59,6 +59,7 @@ import browser from 'webextension-polyfill';
|
|
|
import { useTheme } from '@/composable/theme';
|
|
|
import { loadLocaleMessages, setI18nLanguage } from '@/lib/vue-i18n';
|
|
|
import { fetchApi, getSharedWorkflows, getUserWorkflows } from '@/utils/api';
|
|
|
+import dayjs from '@/lib/dayjs';
|
|
|
import Log from '@/models/log';
|
|
|
import Workflow from '@/models/workflow';
|
|
|
import AppSidebar from '@/components/newtab/app/AppSidebar.vue';
|
|
@@ -182,6 +183,17 @@ async function fetchUserData() {
|
|
|
console.error(error);
|
|
|
}
|
|
|
}
|
|
|
+function autoDeleteLogs() {
|
|
|
+ const deleteAfter = store.state.settings.deleteLogAfter;
|
|
|
+
|
|
|
+ if (deleteAfter === 'never') return;
|
|
|
+
|
|
|
+ Log.delete(({ endedAt }) => {
|
|
|
+ const diff = dayjs().diff(dayjs(endedAt), 'day');
|
|
|
+
|
|
|
+ return diff >= deleteAfter;
|
|
|
+ });
|
|
|
+}
|
|
|
function handleStorageChanged(change) {
|
|
|
if (change.logs && Log.all().length !== change.logs.newValue.length) {
|
|
|
Log.insertOrUpdate({
|
|
@@ -223,6 +235,8 @@ window.addEventListener('beforeunload', () => {
|
|
|
|
|
|
await fetchUserData();
|
|
|
await syncHostWorkflow();
|
|
|
+
|
|
|
+ autoDeleteLogs();
|
|
|
} catch (error) {
|
|
|
retrieved.value = true;
|
|
|
console.error(error);
|