diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-30 18:01:48 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-30 18:01:48 -0400 |
| commit | 1eec6338e1146439b1dbc6207843fbc44dd13088 (patch) | |
| tree | cfa42de569384f2ea09002450df08b766f57506c /ui/routes | |
| parent | 73f58f2c648a48019c611a4659d882223e4432d4 (diff) | |
Don't leave field binding vars uninitialized.
This was causing problems for changing passwords: if the user didn't type anything in the "original password" field, the code path to sending that field to the server was just straight-up omitting the field from the message, rather than setting it to empty string, causing a 422 Unprocessable Entity.
On investigation we had latent bugs related to this in a bunch of spots.
Diffstat (limited to 'ui/routes')
| -rw-r--r-- | ui/routes/(app)/me/+page.svelte | 2 | ||||
| -rw-r--r-- | ui/routes/(login)/invite/[invite]/+page.svelte | 10 | ||||
| -rw-r--r-- | ui/routes/(login)/login/+page.svelte | 10 | ||||
| -rw-r--r-- | ui/routes/(login)/setup/+page.svelte | 10 |
4 files changed, 16 insertions, 16 deletions
diff --git a/ui/routes/(app)/me/+page.svelte b/ui/routes/(app)/me/+page.svelte index 7559dbe..82af3c7 100644 --- a/ui/routes/(app)/me/+page.svelte +++ b/ui/routes/(app)/me/+page.svelte @@ -3,7 +3,7 @@ import Invites from '$lib/components/Invites.svelte'; - let currentPassword, newPassword, confirmPassword, passwordForm; + let currentPassword = "", newPassword = "", confirmPassword = "", passwordForm; let pending = false; $: valid = (newPassword === confirmPassword) && (newPassword !== currentPassword); $: disabled = pending || !valid; diff --git a/ui/routes/(login)/invite/[invite]/+page.svelte b/ui/routes/(login)/invite/[invite]/+page.svelte index 798dfb7..7ae388a 100644 --- a/ui/routes/(login)/invite/[invite]/+page.svelte +++ b/ui/routes/(login)/invite/[invite]/+page.svelte @@ -6,19 +6,19 @@ export let data; - let disabled; - let username; - let password; + let username = "", password = ""; + let pending = false; + $: disabled = pending; async function onSubmit() { - disabled = true; + pending = true; const response = await acceptInvite(data.invite.id, username, password); if (200 <= response.status && response.status < 300) { username = ''; password = ''; goto('/'); } - disabled = false; + pending = false; } </script> diff --git a/ui/routes/(login)/login/+page.svelte b/ui/routes/(login)/login/+page.svelte index 29dba54..0387e4a 100644 --- a/ui/routes/(login)/login/+page.svelte +++ b/ui/routes/(login)/login/+page.svelte @@ -4,19 +4,19 @@ import LogIn from '$lib/components/LogIn.svelte'; - let disabled; - let username; - let password; + let username = "", password = ""; + let pending = false; + $: disabled = pending; async function onSubmit() { - disabled = true; + pending = true; const response = await logIn(username, password); if (200 <= response.status && response.status < 300) { username = ''; password = ''; goto('/'); } - disabled = false; + pending = false; } </script> diff --git a/ui/routes/(login)/setup/+page.svelte b/ui/routes/(login)/setup/+page.svelte index 2503502..a1974b8 100644 --- a/ui/routes/(login)/setup/+page.svelte +++ b/ui/routes/(login)/setup/+page.svelte @@ -4,19 +4,19 @@ import LogIn from '$lib/components/LogIn.svelte'; - let disabled; - let username; - let password; + let username = "", password = ""; + let pending = false; + $: disabled = pending; async function onSubmit() { - disabled = true; + pending = true; const response = await setup(username, password); if (200 <= response.status && response.status < 300) { username = ''; password = ''; goto('/'); } - disabled = false; + pending = false; } </script> |
