From a86fd9cf06b19b4dd26947d18ac5f8ad8864b95c Mon Sep 17 00:00:00 2001
From: Jed Fox <git@jedfox.com>
Date: Fri, 16 Jun 2023 13:54:13 -0400
Subject: [PATCH] Strip a trailing slash off of server URLs (#1140)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

URLs with the trailing slash don’t work well — requests end up being
made to `https://example.com//sync/sync` and such which can 404

---------

Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
---
 packages/loot-core/src/server/main.ts | 2 ++
 upcoming-release-notes/1140.md        | 6 ++++++
 2 files changed, 8 insertions(+)
 create mode 100644 upcoming-release-notes/1140.md

diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts
index c10fbb8c8..2778b7e7b 100644
--- a/packages/loot-core/src/server/main.ts
+++ b/packages/loot-core/src/server/main.ts
@@ -1776,6 +1776,8 @@ handlers['set-server-url'] = async function ({ url, validate = true }) {
   if (url == null) {
     await asyncStorage.removeItem('user-token');
   } else {
+    url = url.replace(/\/+$/, '');
+
     if (validate) {
       // Validate the server is running
       let { error } = await runHandler(handlers['subscribe-needs-bootstrap'], {
diff --git a/upcoming-release-notes/1140.md b/upcoming-release-notes/1140.md
new file mode 100644
index 000000000..0659965be
--- /dev/null
+++ b/upcoming-release-notes/1140.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [j-f1]
+---
+
+Automatically remove a trailing slash from server URLs before saving them
-- 
GitLab