From 29a0d6ba243a8666b82d5caf83954ccd88405133 Mon Sep 17 00:00:00 2001
From: Lance Edgar <lance@edbob.org>
Date: Wed, 28 Aug 2024 19:34:14 -0500
Subject: [PATCH 1/3] fix: stop auto-trim for feedback message, user name

it's a good idea perhaps, but annoying
---
 src/wuttaweb/templates/base.mako | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/wuttaweb/templates/base.mako b/src/wuttaweb/templates/base.mako
index 55b2aa8..67adb61 100644
--- a/src/wuttaweb/templates/base.mako
+++ b/src/wuttaweb/templates/base.mako
@@ -452,7 +452,7 @@
 
             <b-field label="User Name"
                      :type="userName && userName.trim() ? null : 'is-danger'">
-              <b-input v-model.trim="userName"
+              <b-input v-model="userName"
                        % if request.user:
                            disabled
                        % endif
@@ -467,7 +467,7 @@
             <b-field label="Message"
                      :type="message && message.trim() ? null : 'is-danger'">
               <b-input type="textarea"
-                       v-model.trim="message"
+                       v-model="message"
                        ref="textarea" />
             </b-field>
           </section>
@@ -530,7 +530,7 @@
                 return {
                     referrer: this.referrer,
                     user_uuid: this.userUUID,
-                    user_name: this.userName,
+                    user_name: this.userName.trim(),
                     message: this.message.trim(),
                     ...this.getExtraParams(),
                 }

From 749882671fcb054ac3abdcb263959aef4bf3bd4d Mon Sep 17 00:00:00 2001
From: Lance Edgar <lance@edbob.org>
Date: Wed, 28 Aug 2024 19:51:55 -0500
Subject: [PATCH 2/3] fix: freeze default versions for buefy, vue-resource

needed for sanity
---
 src/wuttaweb/util.py |  4 ++--
 tests/test_util.py   | 18 +++++++++---------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/wuttaweb/util.py b/src/wuttaweb/util.py
index 16cba64..6a57425 100644
--- a/src/wuttaweb/util.py
+++ b/src/wuttaweb/util.py
@@ -210,7 +210,7 @@ def get_libver(
                               DeprecationWarning)
                 return version
         if not configured_only:
-            return 'latest'
+            return '0.9.25'
 
     elif key == 'buefy.css':
         # nb. this always returns something
@@ -232,7 +232,7 @@ def get_libver(
 
     elif key == 'vue_resource':
         if not configured_only:
-            return 'latest'
+            return '1.5.3'
 
     elif key == 'fontawesome':
         if not configured_only:
diff --git a/tests/test_util.py b/tests/test_util.py
index 52abb9e..d737532 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -60,7 +60,7 @@ class TestGetLibVer(TestCase):
 
     def test_buefy_default(self):
         version = mod.get_libver(self.request, 'buefy')
-        self.assertEqual(version, 'latest')
+        self.assertEqual(version, '0.9.25')
 
     def test_buefy_custom_old(self):
         self.config.setdefault('wuttaweb.buefy_version', '0.9.29')
@@ -84,11 +84,11 @@ class TestGetLibVer(TestCase):
     def test_buefy_default_only(self):
         self.config.setdefault('wuttaweb.libver.buefy', '0.9.29')
         version = mod.get_libver(self.request, 'buefy', default_only=True)
-        self.assertEqual(version, 'latest')
+        self.assertEqual(version, '0.9.25')
 
     def test_buefy_css_default(self):
         version = mod.get_libver(self.request, 'buefy.css')
-        self.assertEqual(version, 'latest')
+        self.assertEqual(version, '0.9.25')
 
     def test_buefy_css_custom_old(self):
         # nb. this uses same setting as buefy (js)
@@ -109,7 +109,7 @@ class TestGetLibVer(TestCase):
     def test_buefy_css_default_only(self):
         self.config.setdefault('wuttaweb.libver.buefy', '0.9.29')
         version = mod.get_libver(self.request, 'buefy.css', default_only=True)
-        self.assertEqual(version, 'latest')
+        self.assertEqual(version, '0.9.25')
 
     def test_vue_default(self):
         version = mod.get_libver(self.request, 'vue')
@@ -136,7 +136,7 @@ class TestGetLibVer(TestCase):
 
     def test_vue_resource_default(self):
         version = mod.get_libver(self.request, 'vue_resource')
-        self.assertEqual(version, 'latest')
+        self.assertEqual(version, '1.5.3')
 
     def test_vue_resource_custom(self):
         self.config.setdefault('wuttaweb.libver.vue_resource', '1.5.3')
@@ -247,7 +247,7 @@ class TestGetLibUrl(TestCase):
 
     def test_buefy_default(self):
         url = mod.get_liburl(self.request, 'buefy')
-        self.assertEqual(url, 'https://unpkg.com/buefy@latest/dist/buefy.min.js')
+        self.assertEqual(url, 'https://unpkg.com/buefy@0.9.25/dist/buefy.min.js')
 
     def test_buefy_custom(self):
         self.config.setdefault('wuttaweb.liburl.buefy', '/lib/buefy.js')
@@ -262,7 +262,7 @@ class TestGetLibUrl(TestCase):
     def test_buefy_default_only(self):
         self.config.setdefault('wuttaweb.liburl.buefy', '/lib/buefy.js')
         url = mod.get_liburl(self.request, 'buefy', default_only=True)
-        self.assertEqual(url, 'https://unpkg.com/buefy@latest/dist/buefy.min.js')
+        self.assertEqual(url, 'https://unpkg.com/buefy@0.9.25/dist/buefy.min.js')
 
     def test_buefy_configured_only(self):
         url = mod.get_liburl(self.request, 'buefy', configured_only=True)
@@ -281,7 +281,7 @@ class TestGetLibUrl(TestCase):
 
     def test_buefy_css_default(self):
         url = mod.get_liburl(self.request, 'buefy.css')
-        self.assertEqual(url, 'https://unpkg.com/buefy@latest/dist/buefy.min.css')
+        self.assertEqual(url, 'https://unpkg.com/buefy@0.9.25/dist/buefy.min.css')
 
     def test_buefy_css_custom(self):
         self.config.setdefault('wuttaweb.liburl.buefy.css', '/lib/buefy.css')
@@ -309,7 +309,7 @@ class TestGetLibUrl(TestCase):
 
     def test_vue_resource_default(self):
         url = mod.get_liburl(self.request, 'vue_resource')
-        self.assertEqual(url, 'https://cdn.jsdelivr.net/npm/vue-resource@latest')
+        self.assertEqual(url, 'https://cdn.jsdelivr.net/npm/vue-resource@1.5.3')
 
     def test_vue_resource_custom(self):
         self.config.setdefault('wuttaweb.liburl.vue_resource', '/lib/vue-resource.js')

From a54cfb46a74dfa1ad637e537eb74e2071e9c1595 Mon Sep 17 00:00:00 2001
From: Lance Edgar <lance@edbob.org>
Date: Wed, 28 Aug 2024 20:02:31 -0500
Subject: [PATCH 3/3] fix: avoid exit prompt for configure when removing
 settings

---
 src/wuttaweb/templates/configure.mako | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/wuttaweb/templates/configure.mako b/src/wuttaweb/templates/configure.mako
index 20878a3..63ba963 100644
--- a/src/wuttaweb/templates/configure.mako
+++ b/src/wuttaweb/templates/configure.mako
@@ -190,7 +190,7 @@
 
     // cf. https://stackoverflow.com/a/56551646
     ThisPage.methods.beforeWindowUnload = function(e) {
-        if (this.settingsNeedSaved && !this.savingSettings && !this.undoChanges) {
+        if (this.settingsNeedSaved && !this.savingSettings && !this.undoChanges && !this.purgingSettings) {
             e.preventDefault()
             e.returnValue = ''
         }