This is an automated email from the ASF dual-hosted git repository.
gkoszyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new f7aabc21c fix(web): remove password persistence in sign-in form,
rememberMe functionality (#2357)
f7aabc21c is described below
commit f7aabc21c7fbd0a588ee75cf6343ee80b71ffbf7
Author: Piotr Ziółko <[email protected]>
AuthorDate: Sun Nov 16 18:30:17 2025 +0100
fix(web): remove password persistence in sign-in form, rememberMe
functionality (#2357)
---
web/src/lib/components/Modals/AddPartitionsModal.svelte | 6 +++---
web/src/lib/components/Modals/AddStreamModal.svelte | 6 +++---
web/src/lib/components/Modals/AddTopicModal.svelte | 6 +++---
web/src/lib/components/Modals/AddUserModal.svelte | 6 +++---
web/src/lib/components/Modals/DeletePartitionsModal.svelte | 6 +++---
web/src/lib/components/Modals/StreamSettingsModal.svelte | 6 +++---
web/src/lib/components/Modals/TopicSettingsModal.svelte | 6 +++---
web/src/routes/auth/sign-in/+page.server.ts | 8 +++++---
web/src/routes/auth/sign-in/+page.svelte | 5 +----
9 files changed, 27 insertions(+), 28 deletions(-)
diff --git a/web/src/lib/components/Modals/AddPartitionsModal.svelte
b/web/src/lib/components/Modals/AddPartitionsModal.svelte
index 4b3906d62..d9c481345 100644
--- a/web/src/lib/components/Modals/AddPartitionsModal.svelte
+++ b/web/src/lib/components/Modals/AddPartitionsModal.svelte
@@ -5,7 +5,7 @@
import ModalBase from './ModalBase.svelte';
import { numberSizes } from '$lib/utils/constants/numberSizes';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import { fetchRouteApi } from '$lib/api/fetchRouteApi';
import { page } from '$app/state';
import { showToast } from '../AppToasts.svelte';
@@ -22,9 +22,9 @@
partitions_count: z.number().min(1).max(numberSizes.max.u32).default(1)
});
- const { form, errors, enhance, constraints } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, constraints } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
invalidateAll: false,
taintedMessage: false,
async onUpdate({ form }) {
diff --git a/web/src/lib/components/Modals/AddStreamModal.svelte
b/web/src/lib/components/Modals/AddStreamModal.svelte
index e948eaf12..867c684e4 100644
--- a/web/src/lib/components/Modals/AddStreamModal.svelte
+++ b/web/src/lib/components/Modals/AddStreamModal.svelte
@@ -1,7 +1,7 @@
<script lang="ts">
import type { CloseModalFn } from '$lib/types/utilTypes';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import { z } from 'zod';
import Button from '../Button.svelte';
import Input from '../Input.svelte';
@@ -23,9 +23,9 @@
.max(255, 'Name must not exceed 255 characters')
});
- const { form, errors, enhance, submitting } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, submitting } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
invalidateAll: false,
taintedMessage: false,
async onUpdate({ form }) {
diff --git a/web/src/lib/components/Modals/AddTopicModal.svelte
b/web/src/lib/components/Modals/AddTopicModal.svelte
index 05caf1be1..5c7617aa4 100644
--- a/web/src/lib/components/Modals/AddTopicModal.svelte
+++ b/web/src/lib/components/Modals/AddTopicModal.svelte
@@ -1,6 +1,6 @@
<script lang="ts">
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import { z } from 'zod';
import Input from '../Input.svelte';
import Select from '../Select.svelte';
@@ -32,9 +32,9 @@
max_topic_size:
z.number().min(0).max(numberSizes.max.u32).default(2_000_000_000)
});
- const { form, errors, enhance, constraints, submitting } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, constraints, submitting } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
async onUpdate({ form }) {
if (!form.valid) return;
diff --git a/web/src/lib/components/Modals/AddUserModal.svelte
b/web/src/lib/components/Modals/AddUserModal.svelte
index 3adc2b842..0b22155b3 100644
--- a/web/src/lib/components/Modals/AddUserModal.svelte
+++ b/web/src/lib/components/Modals/AddUserModal.svelte
@@ -5,7 +5,7 @@
import { z } from 'zod';
import ModalBase from './ModalBase.svelte';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import PasswordInput from '../PasswordInput.svelte';
import Button from '../Button.svelte';
import PermissionsManager from '../PermissionsManager.svelte';
@@ -28,9 +28,9 @@
permissions: z.any().nullable().default(null)
});
- const { form, errors, enhance, constraints } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, constraints } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
taintedMessage: false,
async onUpdate({ form }) {
diff --git a/web/src/lib/components/Modals/DeletePartitionsModal.svelte
b/web/src/lib/components/Modals/DeletePartitionsModal.svelte
index 6736584b5..527f90e01 100644
--- a/web/src/lib/components/Modals/DeletePartitionsModal.svelte
+++ b/web/src/lib/components/Modals/DeletePartitionsModal.svelte
@@ -5,7 +5,7 @@
import { z } from 'zod';
import ModalBase from './ModalBase.svelte';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import Button from '../Button.svelte';
import ModalConfirmation from '../ModalConfirmation.svelte';
@@ -39,9 +39,9 @@
partitions_count:
z.coerce.number().min(1).max(topic.partitionsCount).default(1)
});
- const { form, errors, enhance, constraints, validateForm } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, constraints, validateForm } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
async onUpdate({ form }) {
if (!form.valid) return;
diff --git a/web/src/lib/components/Modals/StreamSettingsModal.svelte
b/web/src/lib/components/Modals/StreamSettingsModal.svelte
index 6cb31f0e4..2bf9dcea6 100644
--- a/web/src/lib/components/Modals/StreamSettingsModal.svelte
+++ b/web/src/lib/components/Modals/StreamSettingsModal.svelte
@@ -7,7 +7,7 @@
import Input from '../Input.svelte';
import ModalBase from './ModalBase.svelte';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import { fetchRouteApi } from '$lib/api/fetchRouteApi';
import { goto } from '$app/navigation';
import { showToast } from '../AppToasts.svelte';
@@ -35,9 +35,9 @@
.default(stream.name)
});
- const { form, errors, enhance, submitting, tainted } =
superForm(defaults(zod(schema)), {
+ const { form, errors, enhance, submitting, tainted } =
superForm(defaults(zod4(schema)), {
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
invalidateAll: false,
taintedMessage: false,
async onUpdate({ form }) {
diff --git a/web/src/lib/components/Modals/TopicSettingsModal.svelte
b/web/src/lib/components/Modals/TopicSettingsModal.svelte
index 184614785..a8346f96b 100644
--- a/web/src/lib/components/Modals/TopicSettingsModal.svelte
+++ b/web/src/lib/components/Modals/TopicSettingsModal.svelte
@@ -8,7 +8,7 @@
import Input from '../Input.svelte';
import ModalBase from './ModalBase.svelte';
import { setError, superForm, defaults } from 'sveltekit-superforms/client';
- import { zod } from 'sveltekit-superforms/adapters';
+ import { zod4 } from 'sveltekit-superforms/adapters';
import { fetchRouteApi } from '$lib/api/fetchRouteApi';
import { goto } from '$app/navigation';
import { resolve } from '$app/paths';
@@ -40,10 +40,10 @@
});
const { form, errors, enhance, constraints, submitting, tainted } =
superForm(
- defaults(zod(schema)),
+ defaults(zod4(schema)),
{
SPA: true,
- validators: zod(schema),
+ validators: zod4(schema),
invalidateAll: false,
taintedMessage: false,
async onUpdate({ form }) {
diff --git a/web/src/routes/auth/sign-in/+page.server.ts
b/web/src/routes/auth/sign-in/+page.server.ts
index 48f512242..f840df92f 100644
--- a/web/src/routes/auth/sign-in/+page.server.ts
+++ b/web/src/routes/auth/sign-in/+page.server.ts
@@ -20,7 +20,7 @@
import { fail, redirect } from '@sveltejs/kit';
import type { Actions } from './$types';
import { message, superValidate } from 'sveltekit-superforms/server';
-import { zod } from 'sveltekit-superforms/adapters';
+import { zod4 } from 'sveltekit-superforms/adapters';
import { z } from 'zod';
import { typedRoute } from '$lib/types/appRoutes';
import { fetchIggyApi } from '$lib/api/fetchApi';
@@ -35,14 +35,14 @@ const schema = z.object({
type FormSchema = z.infer<typeof schema>;
export const load = async () => {
- const form = await superValidate(zod(schema));
+ const form = await superValidate(zod4(schema));
return { form };
};
export const actions = {
default: async ({ request, cookies }) => {
- const form = await superValidate(request, zod(schema));
+ const form = await superValidate(request, zod4(schema));
if (!form.valid) {
return fail(400, { form });
@@ -56,6 +56,8 @@ export const actions = {
body: { username, password }
});
+ console.log(result);
+
if (!(result instanceof Response) || !result.ok) {
return message(form, 'Username or password is not valid', { status: 403
});
}
diff --git a/web/src/routes/auth/sign-in/+page.svelte
b/web/src/routes/auth/sign-in/+page.svelte
index 203ceb6b2..a0f1ac3e8 100644
--- a/web/src/routes/auth/sign-in/+page.svelte
+++ b/web/src/routes/auth/sign-in/+page.svelte
@@ -15,12 +15,11 @@
let { data }: Props = $props();
const { form, constraints, errors, message } = superForm(data.form, {});
- const remember = persistedStore('rememberMe', { rememberMe: true, username:
'', password: '' });
+ const remember = persistedStore('rememberMe', { rememberMe: true, username:
'' });
onMount(() => {
if ($remember.rememberMe) {
$form.username = $remember.username;
- $form.password = $remember.password;
}
});
</script>
@@ -30,10 +29,8 @@
onsubmit={() => {
if ($remember.rememberMe) {
$remember.username = $form.username;
- $remember.password = $form.password;
} else {
$remember.username = '';
- $remember.password = '';
}
}}
class="min-w-[350px] max-w-[400px] bg-white dark:bg-shade-d700 border
text-color p-5 rounded-2xl card-shadow dark:shadow-lg flex flex-col gap-5"