diff --git a/apps/mobile/app/components/sheets/force-sync/index.tsx b/apps/mobile/app/components/sheets/force-sync/index.tsx
new file mode 100644
index 000000000..e78437148
--- /dev/null
+++ b/apps/mobile/app/components/sheets/force-sync/index.tsx
@@ -0,0 +1,221 @@
+/*
+This file is part of the Notesnook project (https://notesnook.com/)
+
+Copyright (C) 2023 Streetwriters (Private) Limited
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+import { strings } from "@notesnook/intl";
+import { useThemeColors } from "@notesnook/theme";
+import React, { useState } from "react";
+import { View } from "react-native";
+import { Radius, Spacing } from "../../../common/design/spacing";
+import { Button } from "../../ui/button";
+import AppIcon from "../../ui/AppIcon";
+import { Pressable } from "../../ui/pressable";
+import Heading from "../../ui/typography/heading";
+import Paragraph from "../../ui/typography/paragraph";
+import { AppFontSize } from "../../../utils/size";
+import { presentSheet, eSendEvent } from "../../../services/event-manager";
+import { eCloseSheet } from "../../../utils/events";
+import { sleep } from "../../../utils/time";
+import { Progress } from "../progress";
+import Sync from "../../../services/sync";
+
+type ForceSyncMode = "fetch" | "send";
+
+type ForceSyncProps = {
+ mode: ForceSyncMode;
+ close?: (ctx?: string) => void;
+};
+
+function ForceSync({ mode, close }: ForceSyncProps) {
+ const { colors } = useThemeColors();
+ const [acknowledged, setAcknowledged] = useState(true);
+
+ const onForceSyncPress = async () => {
+ if (!acknowledged) return;
+
+ close?.();
+ await sleep(300);
+ Progress.present();
+ Sync.run("global", true, mode, () => {
+ eSendEvent(eCloseSheet);
+ });
+ };
+
+ const title =
+ mode === "fetch" ? strings.forcePullChanges() : strings.forcePushChanges();
+ const description =
+ mode === "fetch"
+ ? strings.forceSyncPullSheetDesc()
+ : strings.forceSyncPushSheetDesc();
+ const actionText =
+ mode === "fetch" ? strings.forcePullAction() : strings.forcePushAction();
+
+ return (
+
+
+
+
+
+
+
+
+ {title}
+
+ {description}
+
+
+
+
+
+
+
+ {strings.forceSyncWarningShort()}
+
+
+
+ {strings.forceSyncNeedHelpContact()}
+
+
+ support@streetwriters.co
+
+
+
+
+ setAcknowledged((value) => !value)}
+ >
+
+
+ {strings.forceSyncRiskAcknowledgement()}
+
+
+
+
+
+
+ );
+}
+
+ForceSync.present = (mode: ForceSyncMode) => {
+ presentSheet({
+ disableClosing: false,
+ component: (_ref, close) =>
+ });
+};
+
+export default ForceSync;
diff --git a/apps/mobile/app/screens/settings/groups/account.ts b/apps/mobile/app/screens/settings/groups/account.ts
index 2c53cdc7c..d13fcb64a 100644
--- a/apps/mobile/app/screens/settings/groups/account.ts
+++ b/apps/mobile/app/screens/settings/groups/account.ts
@@ -31,16 +31,14 @@ import {
endProgress,
startProgress
} from "../../../components/dialogs/progress";
-import { Progress } from "../../../components/sheets/progress";
+import ForceSyncSheet from "../../../components/sheets/force-sync";
import { BackgroundSync } from "../../../services/background-sync";
import BiometricService from "../../../services/biometrics";
import Navigation from "../../../services/navigation";
import PremiumService from "../../../services/premium";
import SettingsService from "../../../services/settings";
-import Sync from "../../../services/sync";
import { useSettingStore } from "../../../stores/use-setting-store";
import { useUserStore } from "../../../stores/use-user-store";
-import { sleep } from "../../../utils/time";
import {
createFormRef,
validators
@@ -700,20 +698,7 @@ export const accountGroup: SettingSection = {
icon: "git-pull-request",
iconFamily: "notesnook",
modifer: () => {
- presentDialog({
- title: strings.forcePullChanges(),
- paragraph: strings.forceSyncNotice(),
- negativeText: strings.cancel(),
- positiveText: strings.start(),
- positivePress: async () => {
- eSendEvent(eCloseSheet);
- await sleep(300);
- Progress.present();
- Sync.run("global", true, "fetch", () => {
- eSendEvent(eCloseSheet);
- });
- }
- });
+ ForceSyncSheet.present("fetch");
}
},
{
@@ -723,20 +708,7 @@ export const accountGroup: SettingSection = {
icon: "arrow-fat-up",
iconFamily: "notesnook",
modifer: () => {
- presentDialog({
- title: strings.forcePushChanges(),
- paragraph: strings.forceSyncNotice(),
- negativeText: strings.cancel(),
- positiveText: strings.start(),
- positivePress: async () => {
- eSendEvent(eCloseSheet);
- await sleep(300);
- Progress.present();
- Sync.run("global", true, "send", () => {
- eSendEvent(eCloseSheet);
- });
- }
- });
+ ForceSyncSheet.present("send");
}
}
]
diff --git a/apps/mobile/fonts/notesnook-icons.glyphmap.json b/apps/mobile/fonts/notesnook-icons.glyphmap.json
index c56c4a725..a5cbdcd11 100644
--- a/apps/mobile/fonts/notesnook-icons.glyphmap.json
+++ b/apps/mobile/fonts/notesnook-icons.glyphmap.json
@@ -1 +1 @@
-{"m":{"f":"notesnook-icons","u":1024,"z":1020,"s":59648,"h":"ed87d51c541700d863c75e1c0ba9f42fa7e5f8cc5549f0049cb3931307de6789"},"i":{"archive":[1024,[[59648,"#666666"]]],"arrow-back":[1024,[[59649,"rgba(255,255,255,0.7)"]]],"arrow-counter-clockwise":[1024,[[59650,"var(--fill-0, #181818)"]]],"arrow-fat-up":[1024,[[59651,"var(--fill-0, #181818)"]]],"arrow-u-up-left":[1024,[[59652,"var(--fill-0, #181818)"]]],"arrows-clockwise":[1024,[[59653,"var(--fill-0, #181818)"]]],"bag-simple":[1024,[[59654,"var(--fill-0, #181818)"]]],"bell":[1024,[[59655,"#666666"]]],"book-open":[1024,[[59656,"#666666"]]],"bookmark":[1024,[[59657,"#666666"]]],"box-empty":[1024,[[59658,"#B0B0B1"]]],"bug-droid":[1024,[[59659,"var(--fill-0, #181818)"]]],"calendar":[1024,[[59660,"rgba(102,102,102,0.8)"]]],"chart-line-up":[1024,[[59661,"var(--fill-0, #181818)"]]],"chat":[1024,[[59662,"white"]]],"checkbox":[1024,[[59663,"#008836"],[59664,"white"]]],"checks":[1024,[[59665,"#181818"]]],"chevron-down":[1024,[[59666,"#181818"]]],"chevron-right":[1024,[[59667,"#181818"]]],"chevron-up":[1024,[[59668,"#181818"]]],"clock-counter-clockwise":[1024,[[59669,"var(--fill-0, #181818)"]]],"close":[1024,[[59670,"#666666"]]],"cloud-check":[1024,[[59671,"var(--fill-0, #181818)"]]],"cloud":[1024,[[59672,"white"]]],"dark-mode-outline":[1024,[[59673,"currentColor"]]],"device-mobile-camera":[1024,[[59674,"var(--fill-0, #181818)"]]],"discord-logo":[1024,[[59675,"var(--fill-0, #181818)"]]],"dots-three":[1024,[[59676,"#202020"]]],"download-simple":[1024,[[59677,"var(--fill-0, #181818)"]]],"drive-file-move":[1088,[[59678,"#666666"]]],"edit-pencil":[1024,[[59679,"#181818"]]],"envelope-simple":[1024,[[59680,"white"]]],"export":[1024,[[59681,"var(--fill-0, #181818)"]]],"eye-closed":[1024,[[59682,"white"]]],"eye-open":[1024,[[59683,"currentColor"]]],"eye-slash":[1024,[[59684,"var(--fill-0, #181818)"]]],"file-dashed":[1024,[[59685,"var(--fill-0, #181818)"]]],"file-text":[1024,[[59686,"var(--fill-0, #181818)"]]],"file":[1024,[[59687,"white"]]],"funnel":[1024,[[59688,"#666666"]]],"git-pull-request":[1024,[[59689,"var(--fill-0, #181818)"]]],"github-logo":[1024,[[59690,"var(--fill-0, #181818)"]]],"hard-drives":[1024,[[59691,"var(--fill-0, #181818)"]]],"home":[1024,[[59692,"#181818"]]],"image-outline":[1024,[[59693,"white"]]],"key":[1024,[[59694,"var(--fill-0, #181818)"]]],"link":[560,[[59695,"#666666"]]],"lock-simple":[1024,[[59696,"white"]]],"lock":[1024,[[59697,"#181818"]]],"mastodon-logo":[1024,[[59698,"var(--fill-0, #181818)"]]],"menu":[1024,[[59699,"#181818"]]],"network":[1024,[[59700,"var(--fill-0, #181818)"]]],"note":[1024,[[59701,"#181818"]]],"notification":[1024,[[59702,"var(--fill-0, #181818)"]]],"numpad":[1024,[[59703,"#181818"]]],"paperclip":[1024,[[59704,"var(--fill-0, #181818)"]]],"pause":[1024,[[59705,"var(--fill-0, #181818)"]]],"pencil-simple-line":[1024,[[59706,"var(--fill-0, #181818)"]]],"pin":[939,[[59707,"#666666"]]],"plus":[1024,[[59708,"#666666"]]],"recovery-key-cloud-arrow-down":[1024,[[59709,"var(--fill-0, #181818)"]]],"recovery-key-copy":[1024,[[59710,"var(--stroke-0, #008836)"]]],"recovery-key-file":[1024,[[59711,"var(--fill-0, #181818)"]]],"recovery-key-key":[1024,[[59712,"var(--fill-0, #181818)"]]],"recovery-key-qr-code":[1024,[[59713,"var(--fill-0, #181818)"]]],"recovery-key-shield-check":[1024,[[59714,"var(--fill-0, #008836)"]]],"search":[1024,[[59715,"#181818"]]],"shield-check":[1024,[[59716,"#181818"]]],"shield-plus":[1024,[[59717,"#181818"]]],"shield":[1024,[[59718,"var(--fill-0, #181818)"]]],"shopping-mode":[1024,[[59719,"#666666"]]],"sliders-horizontal":[1024,[[59720,"var(--fill-0, #181818)"]]],"sliders":[1024,[[59721,"#181818"]]],"sort-ascending":[1024,[[59722,"#666666"]]],"sort-descending":[1024,[[59723,"currentColor"]]],"square-out":[1024,[[59724,"#181818"]]],"squares-four":[1024,[[59725,"var(--fill-0, #181818)"]]],"star-filled":[1024,[[59726,"#E5C131"]]],"star":[1024,[[59727,"#666666"]]],"sun":[1024,[[59728,"#666666"]]],"telegram-logo":[1024,[[59729,"var(--fill-0, #181818)"]]],"toggle-off":[1725,[[59730,"#DADADA"]]],"toggle-on":[1725,[[59731,"#008836"]]],"trash":[1024,[[59732,"#666666"]]],"user-circle-minus":[1024,[[59733,"var(--fill-0, #FF242E)"]]],"user-sheet-docs":[1024,[[59734,"var(--fill-0, #181818)"]]],"user-sheet-logout":[1024,[[59735,"var(--fill-0, #FB2C36)"]]],"user-sheet-settings":[1024,[[59736,"var(--fill-0, #181818)"]]],"user-sheet-support":[1024,[[59737,"var(--fill-0, #181818)"]]],"user-sheet-sync":[1024,[[59738,"var(--fill-0, #181818)"]]],"user":[1024,[[59739,"var(--fill-0, #181818)"]]],"users-three":[1024,[[59740,"var(--fill-0, #181818)"]]],"view-list":[1024,[[59741,"#181818"]]],"warning-circle":[1024,[[59742,"#BB3431"]]],"wifi-slash":[1024,[[59743,"var(--fill-0, #181818)"]]],"x-logo":[1024,[[59744,"var(--fill-0, #181818)"]]]}}
\ No newline at end of file
+{"m":{"f":"notesnook-icons","u":1024,"z":1020,"s":59648,"h":"42fd4adb550e2c0df8b932f88fd05d03b5ff8bc2aae46ac9c4eea6b1812d3e7a"},"i":{"archive":[1024,[[59648,"#666666"]]],"arrow-back":[1024,[[59649,"rgba(255,255,255,0.7)"]]],"arrow-counter-clockwise":[1024,[[59650,"var(--fill-0, #181818)"]]],"arrow-fat-up":[1024,[[59651,"var(--fill-0, #181818)"]]],"arrow-u-up-left":[1024,[[59652,"var(--fill-0, #181818)"]]],"arrows-clockwise":[1024,[[59653,"var(--fill-0, #181818)"]]],"bag-simple":[1024,[[59654,"var(--fill-0, #181818)"]]],"bell":[1024,[[59655,"#666666"]]],"book-open":[1024,[[59656,"#666666"]]],"bookmark":[1024,[[59657,"#666666"]]],"box-empty":[1024,[[59658,"#B0B0B1"]]],"bug-droid":[1024,[[59659,"var(--fill-0, #181818)"]]],"calendar":[1024,[[59660,"rgba(102,102,102,0.8)"]]],"chart-line-up":[1024,[[59661,"var(--fill-0, #181818)"]]],"chat":[1024,[[59662,"white"]]],"checkbox":[1024,[[59663,"#008836"],[59664,"white"]]],"checks":[1024,[[59665,"#181818"]]],"chevron-down":[1024,[[59666,"#181818"]]],"chevron-right":[1024,[[59667,"#181818"]]],"chevron-up":[1024,[[59668,"#181818"]]],"clock-counter-clockwise":[1024,[[59669,"var(--fill-0, #181818)"]]],"close":[1024,[[59670,"#666666"]]],"cloud-check":[1024,[[59671,"var(--fill-0, #181818)"]]],"cloud":[1024,[[59672,"white"]]],"dark-mode-outline":[1024,[[59673,"currentColor"]]],"device-mobile-camera":[1024,[[59674,"var(--fill-0, #181818)"]]],"discord-logo":[1024,[[59675,"var(--fill-0, #181818)"]]],"dots-three":[1024,[[59676,"#202020"]]],"download-simple":[1024,[[59677,"var(--fill-0, #181818)"]]],"drive-file-move":[1088,[[59678,"#666666"]]],"edit-pencil":[1024,[[59679,"#181818"]]],"envelope-simple":[1024,[[59680,"white"]]],"export":[1024,[[59681,"var(--fill-0, #181818)"]]],"eye-closed":[1024,[[59682,"white"]]],"eye-open":[1024,[[59683,"currentColor"]]],"eye-slash":[1024,[[59684,"var(--fill-0, #181818)"]]],"file-dashed":[1024,[[59685,"var(--fill-0, #181818)"]]],"file-text":[1024,[[59686,"var(--fill-0, #181818)"]]],"file":[1024,[[59687,"white"]]],"funnel":[1024,[[59688,"#666666"]]],"git-pull-request":[1024,[[59689,"var(--fill-0, #181818)"]]],"github-logo":[1024,[[59690,"var(--fill-0, #181818)"]]],"hard-drives":[1024,[[59691,"var(--fill-0, #181818)"]]],"home":[1024,[[59692,"#181818"]]],"image-outline":[1024,[[59693,"white"]]],"key":[1024,[[59694,"var(--fill-0, #181818)"]]],"link":[560,[[59695,"#666666"]]],"lock-simple":[1024,[[59696,"white"]]],"lock":[1024,[[59697,"#181818"]]],"mastodon-logo":[1024,[[59698,"var(--fill-0, #181818)"]]],"menu":[1024,[[59699,"#181818"]]],"network":[1024,[[59700,"var(--fill-0, #181818)"]]],"note":[1024,[[59701,"#181818"]]],"notification":[1024,[[59702,"var(--fill-0, #181818)"]]],"numpad":[1024,[[59703,"#181818"]]],"paperclip":[1024,[[59704,"var(--fill-0, #181818)"]]],"pause":[1024,[[59705,"var(--fill-0, #181818)"]]],"pencil-simple-line":[1024,[[59706,"var(--fill-0, #181818)"]]],"pin":[939,[[59707,"#666666"]]],"plus":[1024,[[59708,"#666666"]]],"recovery-key-cloud-arrow-down":[1024,[[59709,"var(--fill-0, #181818)"]]],"recovery-key-copy":[1024,[[59710,"var(--stroke-0, #008836)"]]],"recovery-key-file":[1024,[[59711,"var(--fill-0, #181818)"]]],"recovery-key-key":[1024,[[59712,"var(--fill-0, #181818)"]]],"recovery-key-qr-code":[1024,[[59713,"var(--fill-0, #181818)"]]],"recovery-key-shield-check":[1024,[[59714,"var(--fill-0, #008836)"]]],"search":[1024,[[59715,"#181818"]]],"shield-check":[1024,[[59716,"#181818"]]],"shield-plus":[1024,[[59717,"#181818"]]],"shield":[1024,[[59718,"var(--fill-0, #181818)"]]],"shopping-mode":[1024,[[59719,"#666666"]]],"sliders-horizontal":[1024,[[59720,"var(--fill-0, #181818)"]]],"sliders":[1024,[[59721,"#181818"]]],"sort-ascending":[1024,[[59722,"#666666"]]],"sort-descending":[1024,[[59723,"currentColor"]]],"square-out":[1024,[[59724,"#181818"]]],"squares-four":[1024,[[59725,"var(--fill-0, #181818)"]]],"star-filled":[1024,[[59726,"#E5C131"]]],"star":[1024,[[59727,"#666666"]]],"sun":[1024,[[59728,"#666666"]]],"telegram-logo":[1024,[[59729,"var(--fill-0, #181818)"]]],"toggle-off":[1725,[[59730,"#DADADA"]]],"toggle-on":[1725,[[59731,"#008836"]]],"trash":[1024,[[59732,"#666666"]]],"user-circle-minus":[1024,[[59733,"var(--fill-0, #FF242E)"]]],"user-sheet-docs":[1024,[[59734,"var(--fill-0, #181818)"]]],"user-sheet-logout":[1024,[[59735,"var(--fill-0, #FB2C36)"]]],"user-sheet-settings":[1024,[[59736,"var(--fill-0, #181818)"]]],"user-sheet-support":[1024,[[59737,"var(--fill-0, #181818)"]]],"user-sheet-sync":[1024,[[59738,"var(--fill-0, #181818)"]]],"user":[1024,[[59739,"var(--fill-0, #181818)"]]],"users-three":[1024,[[59740,"var(--fill-0, #181818)"]]],"view-list":[1024,[[59741,"#181818"]]],"warning-circle":[1024,[[59742,"#BB3431"]]],"warning":[1024,[[59743,"#FF242E"]]],"wifi-slash":[1024,[[59744,"var(--fill-0, #181818)"]]],"x-logo":[1024,[[59745,"var(--fill-0, #181818)"]]]}}
\ No newline at end of file
diff --git a/packages/icons/svgs/warning.svg b/packages/icons/svgs/warning.svg
new file mode 100755
index 000000000..dc3c0c1ad
--- /dev/null
+++ b/packages/icons/svgs/warning.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/intl/locale/en.po b/packages/intl/locale/en.po
index 6eac71f5d..873a8c7bf 100644
--- a/packages/intl/locale/en.po
+++ b/packages/intl/locale/en.po
@@ -3264,10 +3264,18 @@ msgstr "for locking your notes as soon as app enters background"
msgid "Force logout from all your other logged in devices."
msgstr "Force logout from all your other logged in devices."
+#: src/strings.ts:2808
+msgid "Force Pull"
+msgstr "Force Pull"
+
#: src/strings.ts:1114
msgid "Force pull changes"
msgstr "Force pull changes"
+#: src/strings.ts:2809
+msgid "Force Push"
+msgstr "Force Push"
+
#: src/strings.ts:1123
msgid "Force push changes"
msgstr "Force push changes"
@@ -3467,6 +3475,10 @@ msgstr "Group by"
msgid "Hash copied"
msgstr "Hash copied"
+#: src/strings.ts:2816
+msgid "Having issues? Contact"
+msgstr "Having issues? Contact"
+
#: src/strings.ts:2242
msgid "Having problems with sync?"
msgstr "Having problems with sync?"
@@ -3579,6 +3591,10 @@ msgstr "I love cooking and collecting recipes."
msgid "I understand"
msgstr "I understand"
+#: src/strings.ts:2817
+msgid "I understand the risks"
+msgstr "I understand the risks"
+
#: src/strings.ts:551
msgid "I understand, change my password"
msgstr "I understand, change my password"
@@ -7126,6 +7142,14 @@ msgstr "This version of Notesnook app does not support in-app purchases. Kindly
msgid "This will clear all data stored on THIS DEVICE. Make sure to run sync before logging out."
msgstr "This will clear all data stored on THIS DEVICE. Make sure to run sync before logging out."
+#: src/strings.ts:2813
+msgid "This will overwrite all data on the server with the data from this device."
+msgstr "This will overwrite all data on the server with the data from this device."
+
+#: src/strings.ts:2811
+msgid "This will overwrite all data on this device with the data from the server."
+msgstr "This will overwrite all data on this device with the data from the server."
+
#: src/strings.ts:626
msgid "Thu"
msgstr "Thu"
@@ -7562,6 +7586,10 @@ msgstr "Use this if changes from other devices are not appearing on this device.
msgid "Use this if changes made on this device are not appearing on other devices. This will overwrite the data on the server with the data from this device."
msgstr "Use this if changes made on this device are not appearing on other devices. This will overwrite the data on the server with the data from this device."
+#: src/strings.ts:2815
+msgid "Use this only for troubleshooting sync issues. Regular use may lead to data loss or conflicts."
+msgstr "Use this only for troubleshooting sync issues. Regular use may lead to data loss or conflicts."
+
#: src/strings.ts:2507
msgid "used"
msgstr "used"
diff --git a/packages/intl/locale/pseudo-LOCALE.po b/packages/intl/locale/pseudo-LOCALE.po
index 6cef5ee2a..4c90f8f1f 100644
--- a/packages/intl/locale/pseudo-LOCALE.po
+++ b/packages/intl/locale/pseudo-LOCALE.po
@@ -3253,10 +3253,18 @@ msgstr ""
msgid "Force logout from all your other logged in devices."
msgstr ""
+#: src/strings.ts:2808
+msgid "Force Pull"
+msgstr ""
+
#: src/strings.ts:1114
msgid "Force pull changes"
msgstr ""
+#: src/strings.ts:2809
+msgid "Force Push"
+msgstr ""
+
#: src/strings.ts:1123
msgid "Force push changes"
msgstr ""
@@ -3449,6 +3457,10 @@ msgstr ""
msgid "Hash copied"
msgstr ""
+#: src/strings.ts:2816
+msgid "Having issues? Contact"
+msgstr ""
+
#: src/strings.ts:2242
msgid "Having problems with sync?"
msgstr ""
@@ -3561,6 +3573,10 @@ msgstr ""
msgid "I understand"
msgstr ""
+#: src/strings.ts:2817
+msgid "I understand the risks"
+msgstr ""
+
#: src/strings.ts:551
msgid "I understand, change my password"
msgstr ""
@@ -7085,6 +7101,14 @@ msgstr ""
msgid "This will clear all data stored on THIS DEVICE. Make sure to run sync before logging out."
msgstr ""
+#: src/strings.ts:2813
+msgid "This will overwrite all data on the server with the data from this device."
+msgstr ""
+
+#: src/strings.ts:2811
+msgid "This will overwrite all data on this device with the data from the server."
+msgstr ""
+
#: src/strings.ts:626
msgid "Thu"
msgstr ""
@@ -7512,6 +7536,10 @@ msgstr ""
msgid "Use this if changes made on this device are not appearing on other devices. This will overwrite the data on the server with the data from this device."
msgstr ""
+#: src/strings.ts:2815
+msgid "Use this only for troubleshooting sync issues. Regular use may lead to data loss or conflicts."
+msgstr ""
+
#: src/strings.ts:2507
msgid "used"
msgstr ""
diff --git a/packages/intl/src/strings.ts b/packages/intl/src/strings.ts
index 316771a36..aedd37500 100644
--- a/packages/intl/src/strings.ts
+++ b/packages/intl/src/strings.ts
@@ -2856,5 +2856,15 @@ Continue without attachments?`,
remind: () => t`Remind before your trial ends`,
yourSecurityIsPriority: () => `Your security is our priority`,
enterYourPassword: () => t`Enter your password`,
- yourRecoveryKey: () => t`Your recovery key`
+ yourRecoveryKey: () => t`Your recovery key`,
+ forcePullAction: () => t`Force Pull`,
+ forcePushAction: () => t`Force Push`,
+ forceSyncPullSheetDesc: () =>
+ t`This will overwrite all data on this device with the data from the server.`,
+ forceSyncPushSheetDesc: () =>
+ t`This will overwrite all data on the server with the data from this device.`,
+ forceSyncWarningShort: () =>
+ t`Use this only for troubleshooting sync issues. Regular use may lead to data loss or conflicts.`,
+ forceSyncNeedHelpContact: () => t`Having issues? Contact`,
+ forceSyncRiskAcknowledgement: () => t`I understand the risks`
};