The page failed to load
+{data?.errorMessage ?? "An unknown error occurred."}
+diff --git a/package.json b/package.json
index 68c820a12..a9e2ac4c2 100755
--- a/package.json
+++ b/package.json
@@ -47,6 +47,7 @@
"@types/node": "^22.10.5",
"@types/sql.js": "^1.4.9",
"@types/string-width": "^4.0.1",
+ "@types/ua-parser-js": "^0.7.39",
"@types/validator": "^13.12.2",
"@xterm/addon-clipboard": "^0.1.0",
"@xterm/addon-fit": "^0.10.0",
@@ -84,7 +85,7 @@
"svelte-image-viewer": "^7.1.0",
"svelte-markdown": "^0.4.1",
"svelte-splitpanes": "^8.0.9",
- "ua-parser-js": "^2.0.3",
+ "ua-parser-js": "1.0.41",
"validator": "^13.12.0",
"vite-plugin-no-bundle": "^4.0.0",
"xterm": "^5.3.0",
diff --git a/src/apps/admin/mailbrokermanagerapp/MailbrokerManager.svelte b/src/apps/admin/mailbrokermanagerapp/MailbrokerManager.svelte
new file mode 100644
index 000000000..9ce1a8209
--- /dev/null
+++ b/src/apps/admin/mailbrokermanagerapp/MailbrokerManager.svelte
@@ -0,0 +1,57 @@
+
+
+
{data?.errorMessage ?? "An unknown error occurred."}
++ There are no templates that match the criteria. +
+ {/if} +Enter the name of the server for which you want to create the server key:
+ +{process.key?.value}
+{dayjs(process.key.createdAt).format("D MMMM YYYY, HH:mm:ss")}
+{dayjs(process.key.updatedAt).format("D MMMM YYYY, HH:mm:ss")}
+{process.sentRecords.length} {Plural("record", process.sentRecords.length)} sent by this server
+| + | Code | +Message | +Details | +When? | +
|---|---|---|---|---|
| + + | +{log.code} | +{log.message} | +{log.details} | +{dayjs(log.createdAt).format("D MMM YYYY, HH:mm:ss")} | +
+ There are no sent records that match the criteria. +
+ {/if} ++ There are no server keys that match the criteria. +
+ {/if} +From {sentRecord.to.serverName}, to {sentRecord.to.email} ({sentRecord.to.username})
+ {:else} +To {sentRecord.to.email}
+ {/if} +{dayjs(sentRecord.createdAt).format("D MMMM YYYY, HH:mm:ss")}
+{dayjs(sentRecord.updatedAt).format("D MMMM YYYY, HH:mm:ss")}
+{$updateData.subjectContent}
+{dayjs(template.createdAt).format("D MMMM YYYY, HH:mm:ss")}
+{dayjs(template.updatedAt).format("D MMMM YYYY, HH:mm:ss")}
++ First, we need your username. To verify that it’s you, we’ll send an email with a verification code to the email address of your + account. +
+ ++ If you forgot your username, please talk to an Administrator in the ArcOS Discord server, and we'll help you recover your + account. +
diff --git a/src/apps/components/pswdresetwizard/Pages/NewPassword.svelte b/src/apps/components/pswdresetwizard/Pages/NewPassword.svelte new file mode 100644 index 000000000..13ea3437e --- /dev/null +++ b/src/apps/components/pswdresetwizard/Pages/NewPassword.svelte @@ -0,0 +1,25 @@ + + ++ We’re almost there, {$RecoveryUsername}! To finish off, think of a strong password for your ArcOS account. Save it in your password + manager so that you don’t lose it. +
+ ++ An ArcOS session was active before requesting a password reset. For your safety, please restart ArcOS before proceeding. This is + to prevent residual third-party code from that session from potentially stealing your account information. +
+ +After restarting, click the Forgot password? link again to continue.
diff --git a/src/apps/components/pswdresetwizard/Pages/Verification.svelte b/src/apps/components/pswdresetwizard/Pages/Verification.svelte new file mode 100644 index 000000000..6ea7cc56b --- /dev/null +++ b/src/apps/components/pswdresetwizard/Pages/Verification.svelte @@ -0,0 +1,28 @@ + + ++ We’ve sent a verification code to the email address associated with your account. Enter the code in the field below to continue: +
+ ++ The verification code is valid for 15 minutes. After this period has elapsed, you can request another verification code. Only + one code may be requested at a time. +
diff --git a/src/apps/components/pswdresetwizard/PswdResetWizard.svelte b/src/apps/components/pswdresetwizard/PswdResetWizard.svelte new file mode 100644 index 000000000..691bb78e4 --- /dev/null +++ b/src/apps/components/pswdresetwizard/PswdResetWizard.svelte @@ -0,0 +1,39 @@ + + +Follow these steps to reset your password.
+