diff --git a/apps/docs/docs/getting-started/after-the-installation.mdx b/apps/docs/docs/getting-started/after-the-installation.mdx
index e4fe8e725..2a8b1f5c9 100644
--- a/apps/docs/docs/getting-started/after-the-installation.mdx
+++ b/apps/docs/docs/getting-started/after-the-installation.mdx
@@ -48,11 +48,11 @@ You may refresh anytime and continue from a different device - the onboarding is
### Starting from scratch
Depending on your auth provider configuration you will either first see the admin user creation form or the external group creation form.
-If credentials provider was selected, you'll be prompted to create an admin user for Homarr.
-This user cannot be deleted and has full control over Homarr and all of it's boards.
-You must choose an username and password (both can later be changed).
-We enforce strict password requirements, when you enter your password, to protect your instance if you accidentially
-expose it to the Internet.
+If the credentials provider was selected, you'll be prompted to create an admin user for Homarr.
+This user cannot be deleted and has full control over Homarr and all of its boards.
+You must choose a username and password (both can later be changed).
+We enforce strict password requirements when you enter your password to protect your instance if you accidentally
+expose it to the internet.
{
diff --git a/packages/db/migrations/custom/0000_release_widget_provider_to_options.ts b/packages/db/migrations/custom/0000_release_widget_provider_to_options.ts
index 8cec43188..85f39bcbc 100644
--- a/packages/db/migrations/custom/0000_release_widget_provider_to_options.ts
+++ b/packages/db/migrations/custom/0000_release_widget_provider_to_options.ts
@@ -23,18 +23,19 @@ export async function migrateReleaseWidgetProviderToOptionsAsync(db: Database) {
if (options.repositories.length === 0) continue;
if (!options.repositories.some((repository) => "providerKey" in repository)) continue;
- const updatedRepositories = options.repositories.map(
- ({ providerKey, ...otherFields }: { providerKey: string; [key: string]: unknown }) => {
- // Ensure providerKey is camelCase
+ const updatedRepositories = options.repositories
+ .map(({ providerKey, ...otherFields }: { providerKey: string; [key: string]: unknown }) => {
const provider = providerKey.charAt(0).toLowerCase() + providerKey.slice(1);
+ const matchedProvider = releaseProviderKinds.find((kind) => kind === provider);
+ if (!matchedProvider) return null;
return {
id: createId(),
- provider: releaseProviderKinds.find((kind) => kind === provider),
+ provider: matchedProvider,
...otherFields,
};
- },
- );
+ })
+ .filter((repo) => repo !== null);
updates.push({
id: item.id,
diff --git a/packages/db/migrations/custom/0003_remove_widget_only_integrations.ts b/packages/db/migrations/custom/0003_remove_widget_only_integrations.ts
index b98fc35b5..0c7a04d6c 100644
--- a/packages/db/migrations/custom/0003_remove_widget_only_integrations.ts
+++ b/packages/db/migrations/custom/0003_remove_widget_only_integrations.ts
@@ -54,21 +54,11 @@ export async function migrateWidgetOnlyIntegrationsToOptionsAsync(db: Database)
.filter((item) => oldIntegrationById.has(item.integrationId))
.map((item) => [item.itemId, oldIntegrationById.get(item.integrationId)]),
);
- const oldIntegrationItemIdsByItemId = oldIntegrationItems
- .filter((item) => oldIntegrationById.has(item.integrationId))
- .reduce