From 9aea091f538c98a03a3f17f4a30919b00bf01481 Mon Sep 17 00:00:00 2001
From: Jed Fox <git@jedfox.com>
Date: Thu, 15 Jun 2023 01:46:04 -0400
Subject: [PATCH] Update links to point to new domain (#1129)

Depends on https://github.com/actualbudget/docs/pull/202.
---
 README.md                                                | 9 +++++----
 packages/api/README.md                                   | 2 +-
 packages/desktop-client/src/components/FatalError.js     | 7 +++----
 packages/desktop-client/src/components/ManageRules.js    | 2 +-
 .../desktop-client/src/components/SidebarWithData.js     | 2 +-
 .../desktop-client/src/components/UpdateNotification.js  | 2 +-
 .../src/components/accounts/AccountSyncCheck.js          | 2 +-
 .../desktop-client/src/components/manager/ImportYNAB5.js | 2 +-
 .../src/components/manager/ManagementApp.js              | 2 +-
 .../src/components/manager/WelcomeScreen.js              | 7 ++-----
 .../src/components/manager/subscribe/Bootstrap.tsx       | 2 +-
 .../src/components/modals/CreateAccount.js               | 2 +-
 .../src/components/modals/CreateEncryptionKey.js         | 4 ++--
 .../src/components/modals/CreateLocalAccount.js          | 2 +-
 .../src/components/modals/FixEncryptionKey.js            | 4 ++--
 .../src/components/schedules/EditSchedule.js             | 2 +-
 .../desktop-client/src/components/settings/Encryption.js | 8 ++++----
 packages/desktop-client/src/components/settings/index.js | 6 ++----
 packages/desktop-client/src/components/tutorial/Final.js | 7 ++-----
 packages/desktop-client/src/components/tutorial/Intro.js | 9 +++------
 packages/desktop-electron/menu.js                        | 2 +-
 packages/loot-core/src/client/shared-listeners.ts        | 4 ++--
 packages/loot-core/src/client/update-notification.ts     | 2 +-
 .../loot-core/src/platform/client/fetch/index.browser.ts | 2 +-
 packages/loot-core/src/server/main.ts                    | 4 ++--
 packages/loot-core/src/shared/errors.ts                  | 8 ++++----
 packages/loot-core/src/shared/rules.ts                   | 2 +-
 upcoming-release-notes/1129.md                           | 6 ++++++
 28 files changed, 54 insertions(+), 59 deletions(-)
 create mode 100644 upcoming-release-notes/1129.md

diff --git a/README.md b/README.md
index e48f16040..6348da70a 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Want to say thanks? Click the ⭐ at the top of the page.
 ## Key Links
 
 - Actual [discord](https://discord.gg/pRYNYr4W5A) community.
-- Actual [Community Documentation](https://actualbudget.github.io/docs)
+- Actual [Community Documentation](https://actualbudget.org/docs)
 
 ## Installation
 
@@ -23,11 +23,11 @@ If you are only interested in running the latest version and not contributing to
 
 The easiest way to get Actual running is to use the [actual-server](https://github.com/actualbudget/actual-server) project. That is the server for syncing changes across devices, and it comes with the latest version of Actual. The server will provide both the web project and a server for syncing.
 
-You can get up and running quickly and easily by following our [Running Actual Locally Guide](https://actualbudget.github.io/docs/Installing/Local/your-own-machine)
+You can get up and running quickly and easily by following our [Running Actual Locally Guide](https://actualbudget.org/docs/install/local)
 
 ## Documentation
 
-We have a wide range of documentation on how to use Actual, this is all available in our [Community Documentation](https://actualbudget.github.io/docs), this includes topics on Budgeting, Account Management, Tips & Tricks and some documentation for developers.
+We have a wide range of documentation on how to use Actual, this is all available in our [Community Documentation](https://actualbudget.org/docs), this includes topics on Budgeting, Account Management, Tips & Tricks and some documentation for developers.
 
 ## Code structure
 
@@ -37,9 +37,10 @@ The Actual app is split up into a few packages:
 - desktop-client - The desktop UI
 - desktop-electron - The desktop app
 
-More information on the project structure is available in our [community documentation](https://actualbudget.github.io/docs/Developers/project-layout).
+More information on the project structure is available in our [community documentation](https://actualbudget.org/docs/contributing/project-layout).
 
 ## Feature Requests
+
 Current feature requests can be seen [here](https://github.com/actualbudget/actual/issues?q=is%3Aissue+label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc).
 Vote for your favorite requests by reacting :+1: to the top comment of the request.
 
diff --git a/packages/api/README.md b/packages/api/README.md
index b4870ac5e..fdd48bed9 100644
--- a/packages/api/README.md
+++ b/packages/api/README.md
@@ -2,4 +2,4 @@
 npm install @actual-app/api
 ```
 
-View docs here: https://actualbudget.github.io/docs/Developers/using-the-API
+View docs here: https://actualbudget.org/docs/api/
diff --git a/packages/desktop-client/src/components/FatalError.js b/packages/desktop-client/src/components/FatalError.js
index 785ecf483..138bd12b6 100644
--- a/packages/desktop-client/src/components/FatalError.js
+++ b/packages/desktop-client/src/components/FatalError.js
@@ -28,7 +28,7 @@ class FatalError extends Component {
           function properly. If you’re seeing this error, either your browser
           does not support <code>SharedArrayBuffer</code>, or your server is not
           sending the appropriate headers, or you are not using HTTPS. See{' '}
-          <a href="https://actualbudget.github.io/docs/Troubleshooting/SharedArrayBuffer">
+          <a href="https://actualbudget.org/docs/troubleshooting/shared-array-buffer">
             our troubleshooting documentation
           </a>{' '}
           to learn more. <SharedArrayBufferOverride />
@@ -70,8 +70,7 @@ class FatalError extends Component {
         >
           <Text>{msg}</Text>
           <Text>
-            Please get{' '}
-            <a href="https://actualbudget.github.io/docs/Contact">in touch</a>{' '}
+            Please get <a href="https://actualbudget.org/contact">in touch</a>{' '}
             for support
           </Text>
         </Stack>
@@ -95,7 +94,7 @@ class FatalError extends Component {
             <P>
               If this error persists, please get{' '}
               <a
-                href="https://actualbudget.github.io/docs/Contact"
+                href="https://actualbudget.org/contact"
                 style={{ color: colors.p4 }}
               >
                 in touch
diff --git a/packages/desktop-client/src/components/ManageRules.js b/packages/desktop-client/src/components/ManageRules.js
index dc4fdf406..13d817aa9 100644
--- a/packages/desktop-client/src/components/ManageRules.js
+++ b/packages/desktop-client/src/components/ManageRules.js
@@ -759,7 +759,7 @@ function ManageRulesContent({ isModal, payeeId, setLoading }) {
               Rules are always run in the order that you see them.{' '}
               <ExternalLink
                 asAnchor={true}
-                href="https://actualbudget.github.io/docs/Budgeting/rules/"
+                href="https://actualbudget.org/docs/budgeting/rules/"
                 style={{ color: colors.n4 }}
               >
                 Learn more
diff --git a/packages/desktop-client/src/components/SidebarWithData.js b/packages/desktop-client/src/components/SidebarWithData.js
index e24943c9b..909c12677 100644
--- a/packages/desktop-client/src/components/SidebarWithData.js
+++ b/packages/desktop-client/src/components/SidebarWithData.js
@@ -34,7 +34,7 @@ function EditableBudgetName({ prefs, savePrefs }) {
         history.push('/settings');
         break;
       case 'help':
-        window.open('https://actualbudget.github.io/docs', '_blank');
+        window.open('https://actualbudget.org/docs/', '_blank');
         break;
       case 'close':
         dispatch(closeBudget());
diff --git a/packages/desktop-client/src/components/UpdateNotification.js b/packages/desktop-client/src/components/UpdateNotification.js
index 4d0c3360d..ad775e33d 100644
--- a/packages/desktop-client/src/components/UpdateNotification.js
+++ b/packages/desktop-client/src/components/UpdateNotification.js
@@ -60,7 +60,7 @@ function UpdateNotification({
                 style={{ color: 'white', textDecoration: 'underline' }}
                 onClick={() =>
                   window.Actual.openURLInBrowser(
-                    'https://actualbudget.github.io/docs/Release-Notes/',
+                    'https://actualbudget.org/docs/releases',
                   )
                 }
               >
diff --git a/packages/desktop-client/src/components/accounts/AccountSyncCheck.js b/packages/desktop-client/src/components/accounts/AccountSyncCheck.js
index 74a54bb65..ca3f97ede 100644
--- a/packages/desktop-client/src/components/accounts/AccountSyncCheck.js
+++ b/packages/desktop-client/src/components/accounts/AccountSyncCheck.js
@@ -39,7 +39,7 @@ function getErrorMessage(type, code) {
     <>
       An internal error occurred. Try to login again, or get{' '}
       <a
-        href="https://actualbudget.github.io/docs/Contact/"
+        href="https://actualbudget.org/contact/"
         target="_blank"
         rel="noopener noreferrer"
       >
diff --git a/packages/desktop-client/src/components/manager/ImportYNAB5.js b/packages/desktop-client/src/components/manager/ImportYNAB5.js
index 26e8a29b9..015109ab8 100644
--- a/packages/desktop-client/src/components/manager/ImportYNAB5.js
+++ b/packages/desktop-client/src/components/manager/ImportYNAB5.js
@@ -63,7 +63,7 @@ function Import({ modalProps, availableImports }) {
             <P>
               <ExternalLink
                 asAnchor={true}
-                href="https://actualbudget.github.io/docs/Getting-Started/migration/nynab"
+                href="https://actualbudget.org/docs/migration/nynab"
                 target="_blank"
               >
                 Read here
diff --git a/packages/desktop-client/src/components/manager/ManagementApp.js b/packages/desktop-client/src/components/manager/ManagementApp.js
index 7c90c2514..5702ad46f 100644
--- a/packages/desktop-client/src/components/manager/ManagementApp.js
+++ b/packages/desktop-client/src/components/manager/ManagementApp.js
@@ -42,7 +42,7 @@ function Version() {
           zIndex: 5001,
         },
       }}
-      href={'https://actualbudget.github.io/docs/Release-Notes/'}
+      href="https://actualbudget.org/docs/releases"
     >
       {`App: v${window.Actual.ACTUAL_VERSION} | Server: ${version}`}
     </Text>
diff --git a/packages/desktop-client/src/components/manager/WelcomeScreen.js b/packages/desktop-client/src/components/manager/WelcomeScreen.js
index ffb74f2fd..9273f4313 100644
--- a/packages/desktop-client/src/components/manager/WelcomeScreen.js
+++ b/packages/desktop-client/src/components/manager/WelcomeScreen.js
@@ -31,15 +31,12 @@ function WelcomeScreen({ createBudget, pushModal }) {
           <ExternalLink
             asAnchor
             style={{ color: colors.p5 }}
-            href="https://actualbudget.github.io/docs/Budgeting/howitworks"
+            href="https://actualbudget.org/docs/budgeting/"
           >
             monthly envelope system
           </ExternalLink>
           . Consider taking our{' '}
-          <ExternalLink
-            asAnchor
-            href="https://actualbudget.github.io/docs/Getting-Started/using-actual/"
-          >
+          <ExternalLink asAnchor href="https://actualbudget.org/docs/tour/">
             guided tour
           </ExternalLink>{' '}
           to help you get your bearings, and check out the rest of the
diff --git a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx
index 1bb9c6d69..7a8468a09 100644
--- a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx
+++ b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx
@@ -60,7 +60,7 @@ export default function Bootstrap() {
       <P isLast style={{ fontSize: 16, color: colors.n2 }}>
         Consider opening{' '}
         <a
-          href="https://actualbudget.github.io/docs/Getting-Started/using-actual/"
+          href="https://actualbudget.org/docs/tour/"
           target="_blank"
           rel="noopener noreferrer"
           style={{ color: colors.b4 }}
diff --git a/packages/desktop-client/src/components/modals/CreateAccount.js b/packages/desktop-client/src/components/modals/CreateAccount.js
index a6e616427..a2cade1a8 100644
--- a/packages/desktop-client/src/components/modals/CreateAccount.js
+++ b/packages/desktop-client/src/components/modals/CreateAccount.js
@@ -74,7 +74,7 @@ export default function CreateAccount({ modalProps, syncServerStatus }) {
               Nordigen integration is only available for budgets using
               actual-server.{' '}
               <a
-                href="https://actualbudget.github.io/docs/Installing/overview"
+                href="https://actualbudget.org/docs/install/"
                 target="_blank"
                 rel="noopener noreferrer"
               >
diff --git a/packages/desktop-client/src/components/modals/CreateEncryptionKey.js b/packages/desktop-client/src/components/modals/CreateEncryptionKey.js
index 2ca47eb6c..82a666228 100644
--- a/packages/desktop-client/src/components/modals/CreateEncryptionKey.js
+++ b/packages/desktop-client/src/components/modals/CreateEncryptionKey.js
@@ -69,7 +69,7 @@ export default function CreateEncryptionKey({
                 other devices will have to revert to this version of your data.{' '}
                 <ExternalLink
                   asAnchor
-                  href="https://actualbudget.github.io/docs/Getting-Started/sync#end-to-end-encryption"
+                  href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
                 >
                   Learn more
                 </ExternalLink>
@@ -108,7 +108,7 @@ export default function CreateEncryptionKey({
                 will take you through that process on those devices.{' '}
                 <ExternalLink
                   asAnchor
-                  href="https://actualbudget.github.io/docs/Getting-Started/sync#end-to-end-encryption"
+                  href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
                 >
                   Learn more
                 </ExternalLink>
diff --git a/packages/desktop-client/src/components/modals/CreateLocalAccount.js b/packages/desktop-client/src/components/modals/CreateLocalAccount.js
index 38d729b0a..2e4ec4a25 100644
--- a/packages/desktop-client/src/components/modals/CreateLocalAccount.js
+++ b/packages/desktop-client/src/components/modals/CreateLocalAccount.js
@@ -115,7 +115,7 @@ function CreateLocalAccount({ modalProps, actions, history }) {
                         This cannot be changed later. <br /> {'\n'}
                         See{' '}
                         <a
-                          href="https://actualbudget.github.io/docs/Accounts/overview/#off-budget-accounts"
+                          href="https://actualbudget.org/docs/accounts/#off-budget-accounts"
                           target="_blank"
                           rel="noopener noreferrer"
                           style={{
diff --git a/packages/desktop-client/src/components/modals/FixEncryptionKey.js b/packages/desktop-client/src/components/modals/FixEncryptionKey.js
index 9be801f51..ca8697ae1 100644
--- a/packages/desktop-client/src/components/modals/FixEncryptionKey.js
+++ b/packages/desktop-client/src/components/modals/FixEncryptionKey.js
@@ -72,7 +72,7 @@ export default function FixEncryptionKey({
               Enter your current password to update your key.{' '}
               <ExternalLink
                 asAnchor
-                href="https://actualbudget.github.io/docs/Getting-Started/sync#end-to-end-encryption"
+                href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
               >
                 Learn more
               </ExternalLink>
@@ -83,7 +83,7 @@ export default function FixEncryptionKey({
               password for this file to create the key for encryption.{' '}
               <ExternalLink
                 asAnchor
-                href="https://actualbudget.github.io/docs/Getting-Started/sync#end-to-end-encryption"
+                href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
               >
                 Learn more
               </ExternalLink>
diff --git a/packages/desktop-client/src/components/schedules/EditSchedule.js b/packages/desktop-client/src/components/schedules/EditSchedule.js
index 281043224..23c6c4b89 100644
--- a/packages/desktop-client/src/components/schedules/EditSchedule.js
+++ b/packages/desktop-client/src/components/schedules/EditSchedule.js
@@ -373,7 +373,7 @@ export default function ScheduleDetails() {
       dispatch({
         type: 'form-error',
         error:
-          'An error occurred while saving. Please contact help@actualbudget.com for support.',
+          'An error occurred while saving. Please visit https://actualbudget.org/contact/ for support.',
       });
     } else {
       if (adding) {
diff --git a/packages/desktop-client/src/components/settings/Encryption.js b/packages/desktop-client/src/components/settings/Encryption.js
index 185a04da7..8d59384b0 100644
--- a/packages/desktop-client/src/components/settings/Encryption.js
+++ b/packages/desktop-client/src/components/settings/Encryption.js
@@ -26,7 +26,7 @@ export default function EncryptionSettings({ prefs, pushModal }) {
         it out to the cloud. Local data remains unencrypted so if you forget
         your password you can re-encrypt it.{' '}
         <a
-          href="https://actualbudget.github.io/docs/Getting-Started/sync/#encryption"
+          href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
           target="_blank"
           rel="noopener noreferrer"
         >
@@ -42,7 +42,7 @@ export default function EncryptionSettings({ prefs, pushModal }) {
         on your server to use end-to-end encryption. This problem may also occur
         if your browser is too old to work with Actual.{' '}
         <a
-          href="https://actualbudget.github.io/docs/Installing/HTTPS"
+          href="https://actualbudget.org/docs/config/https"
           target="_blank"
           rel="noopener noreferrer"
         >
@@ -65,7 +65,7 @@ export default function EncryptionSettings({ prefs, pushModal }) {
         read it. If you want, you can use an additional password to encrypt your
         data on the server.{' '}
         <a
-          href="https://actualbudget.github.io/docs/Getting-Started/sync/#encryption"
+          href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
           target="_blank"
           rel="noopener noreferrer"
         >
@@ -80,7 +80,7 @@ export default function EncryptionSettings({ prefs, pushModal }) {
         without a server. Budget files are always kept unencrypted locally, and
         encryption is only applied when sending data to a server.{' '}
         <a
-          href="https://actualbudget.github.io/docs/Getting-Started/sync/#encryption"
+          href="https://actualbudget.org/docs/getting-started/sync/#end-to-end-encryption"
           target="_blank"
           rel="noopener noreferrer"
         >
diff --git a/packages/desktop-client/src/components/settings/index.js b/packages/desktop-client/src/components/settings/index.js
index 85b9fbf8c..79f7039e5 100644
--- a/packages/desktop-client/src/components/settings/index.js
+++ b/packages/desktop-client/src/components/settings/index.js
@@ -54,7 +54,7 @@ function About() {
         {isOutdated ? (
           <a
             style={{ color: colors.p4 }}
-            href="https://actualbudget.github.io/docs/Release-Notes"
+            href="https://actualbudget.org/docs/releases"
           >
             New version available: {latestVersion}
           </a>
@@ -64,9 +64,7 @@ function About() {
           </Text>
         )}
         <Text>
-          <a href="https://actualbudget.github.io/docs/Release-Notes">
-            Release Notes
-          </a>
+          <a href="https://actualbudget.org/docs/releases">Release Notes</a>
         </Text>
       </View>
     </Setting>
diff --git a/packages/desktop-client/src/components/tutorial/Final.js b/packages/desktop-client/src/components/tutorial/Final.js
index 5b43f6bed..3070d812d 100644
--- a/packages/desktop-client/src/components/tutorial/Final.js
+++ b/packages/desktop-client/src/components/tutorial/Final.js
@@ -22,7 +22,7 @@ function Final({ targetRect, navigationProps }) {
         You probably want to delete the transactions you added and clean up your
         budget. If you have any questions or feedback, please get{' '}
         <a
-          href="https://actualbudget.github.io/docs/Contact/"
+          href="https://actualbudget.org/contact/"
           target="_blank"
           rel="noopener noreferrer"
         >
@@ -33,10 +33,7 @@ function Final({ targetRect, navigationProps }) {
 
       <P isLast={true}>
         Read{' '}
-        <ExternalLink
-          asAnchor
-          href="https://actualbudget.github.io/docs/Budgeting/howitworks"
-        >
+        <ExternalLink asAnchor href="https://actualbudget.org/docs/budgeting/">
           How it Works
         </ExternalLink>{' '}
         for an in-depth explanation of the budgeting workflow.
diff --git a/packages/desktop-client/src/components/tutorial/Intro.js b/packages/desktop-client/src/components/tutorial/Intro.js
index ca3bc1023..e51db49b1 100644
--- a/packages/desktop-client/src/components/tutorial/Intro.js
+++ b/packages/desktop-client/src/components/tutorial/Intro.js
@@ -21,18 +21,15 @@ function Intro({ fromYNAB, nextTutorialStage, closeTutorial }) {
 
       <View style={{ lineHeight: '1.5em' }}>
         <Text>
-          <ExternalLink
-            asAnchor
-            href="https://actualbudget.github.io/docs/category/getting-started"
-          >
-            Getting Started
+          <ExternalLink asAnchor href="https://actualbudget.org/docs/tour/">
+            Tour
           </ExternalLink>
           : A guide on what to do first
         </Text>
         <Text>
           <ExternalLink
             asAnchor
-            href="https://actualbudget.github.io/docs/Budgeting/howitworks"
+            href="https://actualbudget.org/docs/budgeting/"
           >
             How it Works
           </ExternalLink>
diff --git a/packages/desktop-electron/menu.js b/packages/desktop-electron/menu.js
index 9c8e371e7..ff463b5db 100644
--- a/packages/desktop-electron/menu.js
+++ b/packages/desktop-electron/menu.js
@@ -165,7 +165,7 @@ function getMenu(isDev, createWindow) {
         {
           label: 'Learn More',
           click() {
-            shell.openExternal('https://actualbudget.github.io/docs/');
+            shell.openExternal('https://actualbudget.org/docs/');
           },
         },
       ],
diff --git a/packages/loot-core/src/client/shared-listeners.ts b/packages/loot-core/src/client/shared-listeners.ts
index ddcb06154..2bb088ab2 100644
--- a/packages/loot-core/src/client/shared-listeners.ts
+++ b/packages/loot-core/src/client/shared-listeners.ts
@@ -45,7 +45,7 @@ export function listenForSyncEvent(actions, store) {
     } else if (type === 'error') {
       let notif = null;
       let learnMore =
-        '[Learn more](https://actualbudget.github.io/docs/Getting-Started/sync#debugging-sync-issues)';
+        '[Learn more](https://actualbudget.org/docs/getting-started/sync/#debugging-sync-issues)';
       const githubIssueLink =
         'https://github.com/actualbudget/actual/issues/new?assignees=&labels=bug%2Cneeds+triage&template=bug-report.yml&title=%5BBug%5D%3A+';
 
@@ -97,7 +97,7 @@ export function listenForSyncEvent(actions, store) {
               'This happens rarely (if ever again). The internal syncing format ' +
               'has changed and you need to reset sync. This will upload data from ' +
               'this device and revert all other devices. ' +
-              '[Learn more about what this means](https://actualbudget.github.io/docs/Getting-Started/sync#what-does-resetting-sync-mean).' +
+              '[Learn more about what this means](https://actualbudget.org/docs/getting-started/sync/#what-does-resetting-sync-mean).' +
               '\n\nOld encryption keys are not migrated. If using ' +
               'encryption, [reset encryption here](#makeKey).',
             messageActions: {
diff --git a/packages/loot-core/src/client/update-notification.ts b/packages/loot-core/src/client/update-notification.ts
index 55d9b77c2..3057a1c6f 100644
--- a/packages/loot-core/src/client/update-notification.ts
+++ b/packages/loot-core/src/client/update-notification.ts
@@ -24,7 +24,7 @@ export default async function checkForUpdateNotification(
     button: {
       title: 'Open changelog',
       action: () => {
-        window.open('https://actualbudget.github.io/docs/Release-Notes');
+        window.open('https://actualbudget.org/docs/releases');
       },
     },
     onClose: async () => {
diff --git a/packages/loot-core/src/platform/client/fetch/index.browser.ts b/packages/loot-core/src/platform/client/fetch/index.browser.ts
index ee81c1c4c..98122be9f 100644
--- a/packages/loot-core/src/platform/client/fetch/index.browser.ts
+++ b/packages/loot-core/src/platform/client/fetch/index.browser.ts
@@ -116,7 +116,7 @@ function connectWorker(worker, onOpen, onError) {
 
       if (msg.message && msg.message.includes('indexeddb-quota-error')) {
         alert(
-          'We hit a limit on the local storage available. Edits may not be saved. Please get in touch https://actualbudget.github.io/docs/Contact/ so we can help debug this.',
+          'We hit a limit on the local storage available. Edits may not be saved. Please get in touch https://actualbudget.org/contact/ so we can help debug this.',
         );
       }
     } else if (msg.type === 'capture-breadcrumb') {
diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts
index f6a1e998c..c10fbb8c8 100644
--- a/packages/loot-core/src/server/main.ts
+++ b/packages/loot-core/src/server/main.ts
@@ -1106,7 +1106,7 @@ handlers['accounts-sync'] = async function ({ id }) {
           errors.push({
             accountId: acct.id,
             message:
-              'There was an internal error. Please get in touch https://actualbudget.github.io/docs/Contact for support.',
+              'There was an internal error. Please get in touch https://actualbudget.org/contact for support.',
             internal: err.stack,
           });
 
@@ -1347,7 +1347,7 @@ handlers['nordigen-accounts-sync'] = async function ({ id }) {
           errors.push({
             accountId: acct.id,
             message:
-              'There was an internal error. Please get in touch https://actualbudget.github.io/docs/Contact for support.',
+              'There was an internal error. Please get in touch https://actualbudget.org/contact for support.',
             internal: err.stack,
           });
 
diff --git a/packages/loot-core/src/shared/errors.ts b/packages/loot-core/src/shared/errors.ts
index 8b7f64826..56ee3fcb6 100644
--- a/packages/loot-core/src/shared/errors.ts
+++ b/packages/loot-core/src/shared/errors.ts
@@ -19,7 +19,7 @@ export function getUploadError({ reason, meta }) {
     case 'beta-version':
       return 'You cannot perform this action in the beta version (resetting sync, deleting a file, etc).';
     default:
-      return `An internal error occurred, sorry! Contact help@actualbudget.com for support. (ref: ${reason})`;
+      return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`;
   }
 }
 
@@ -31,7 +31,7 @@ export function getDownloadError({ reason, meta, fileName }) {
     case 'not-zip-file':
     case 'invalid-zip-file':
     case 'invalid-meta-file':
-      return 'Downloaded file is invalid, sorry! Contact help@actualbudget.com for support.';
+      return 'Downloaded file is invalid, sorry! Visit https://actualbudget.org/contact/ for support.';
     case 'decrypt-failure':
       return (
         'Unable to decrypt file ' +
@@ -49,7 +49,7 @@ export function getDownloadError({ reason, meta, fileName }) {
     default:
       let info = meta && meta.fileId ? `(fileId: ${meta.fileId})` : '';
       return (
-        'Something went wrong trying to download that file, sorry! Contact help@actualbudget.com for support. ' +
+        'Something went wrong trying to download that file, sorry! Visit https://actualbudget.org/contact/ for support. ' +
         info
       );
   }
@@ -72,7 +72,7 @@ export function getTestKeyError({ reason }) {
     case 'decrypt-failure':
       return 'Unable to decrypt file with this password. Please try again.';
     default:
-      return 'Something went wrong trying to create a key, sorry! Contact help@actualbudget.com for support.';
+      return 'Something went wrong trying to create a key, sorry! Visit https://actualbudget.org/contact/ for support.';
   }
 }
 
diff --git a/packages/loot-core/src/shared/rules.ts b/packages/loot-core/src/shared/rules.ts
index 3a58c973f..2764becb9 100644
--- a/packages/loot-core/src/shared/rules.ts
+++ b/packages/loot-core/src/shared/rules.ts
@@ -147,7 +147,7 @@ export function getFieldError(type) {
     case 'invalid-field':
       return 'Please choose a valid field for this type of rule';
     default:
-      return 'Internal error, sorry! Please get in touch https://actualbudget.github.io/docs/Contact/ for support';
+      return 'Internal error, sorry! Please get in touch https://actualbudget.org/contact/ for support';
   }
 }
 
diff --git a/upcoming-release-notes/1129.md b/upcoming-release-notes/1129.md
new file mode 100644
index 000000000..54f032de3
--- /dev/null
+++ b/upcoming-release-notes/1129.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [j-f1]
+---
+
+Update all links in the codebase to point to the new documentation site
-- 
GitLab