diff --git a/packages/insomnia/src/common/documentation.ts b/packages/insomnia/src/common/documentation.ts
index 8e10592389..d63c6a8eb6 100644
--- a/packages/insomnia/src/common/documentation.ts
+++ b/packages/insomnia/src/common/documentation.ts
@@ -19,6 +19,7 @@ export const docsMcpAuthentication = newInsomniaDocs('/mcp-clients-in-insomnia/#
export const docsPricingLearnMoreLink = newInsomniaDocs(
'/storage/#what-are-the-user-and-git-sync-limits-for-the-essentials-plan',
);
+export const docsPreRequestAndAfterResponseScripts = newInsomniaDocs('/scripts');
export const docsGitAccessToken = {
github: 'https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token',
diff --git a/packages/insomnia/src/entry.client.tsx b/packages/insomnia/src/entry.client.tsx
index 6951ac0334..6c24e22bc1 100644
--- a/packages/insomnia/src/entry.client.tsx
+++ b/packages/insomnia/src/entry.client.tsx
@@ -72,7 +72,7 @@ try {
// we need to inject state into localStorage
const skipOnboarding = getSkipOnboarding();
if (skipOnboarding) {
- window.localStorage.setItem('hasSeenOnboardingV13', skipOnboarding.toString());
+ window.localStorage.setItem('hasSeenOnboardingV13.3', skipOnboarding.toString());
window.localStorage.setItem('hasUserLoggedInBefore', skipOnboarding.toString());
}
} catch (e) {
diff --git a/packages/insomnia/src/routes/onboarding.$.tsx b/packages/insomnia/src/routes/onboarding.$.tsx
index e501744be4..9862bc32fd 100644
--- a/packages/insomnia/src/routes/onboarding.$.tsx
+++ b/packages/insomnia/src/routes/onboarding.$.tsx
@@ -1,56 +1,45 @@
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { Link, Route, Routes, useLocation } from 'react-router';
+import { docsPreRequestAndAfterResponseScripts } from '~/common/documentation';
import { InsomniaLogo } from '~/ui/components/insomnia-icon';
-import { KongLogo } from '~/ui/components/kong-logo';
import { TrailLinesContainer } from '~/ui/components/trail-lines-container';
-import custom_linting from '~/ui/images/onboarding/custom_linting.png';
-import first_request from '~/ui/images/onboarding/first_request.png';
-import konnect_integration from '~/ui/images/onboarding/konnect_integration.png';
-import sidebar_navigation from '~/ui/images/onboarding/sidebar_navigation.png';
+import new_api_collection from '~/ui/images/onboarding/new_api_collection.png';
+import scripts_for_unit_test from '~/ui/images/onboarding/scripts_for_unit_test.png';
const features = [
{
- id: 'navigation_ux',
- icon: ,
- label: 'Updated sidebar navigation',
- title: 'Introducing a simpler way to navigate',
- description: 'The new sidebar experience makes it easier than ever to get to the resources you are working with.',
- image: sidebar_navigation,
+ id: 'combine_collections_and_documents',
+ icon: ,
+ label: 'New API Collection to combine Documents and Collections',
+ title: 'New API Collection to combine documents and collections',
+ description:
+ 'For simplicity, we’ve combined documents and collections into API Collections. No functionality has changed - just the UI. You can now access your OpenAPI Specs right from the main API Collection screen.',
+ image: new_api_collection,
},
{
- id: 'konnect_integration',
- icon: ,
- label: 'Konnect Integration',
- title: 'Auto-sync your gateway service routes from Konnect',
- description:
- 'Get right into testing your gateway configuration in Insomnia with the new Konnect platform integration.',
- image: konnect_integration,
- },
- {
- id: 'first_request_ux',
- icon: ,
- label: 'New Create Request Experience',
- title: 'Need to send a new request? No problem!',
- description:
- 'The new project home page provides you with a quick way to configure and send a new request -- all while saving it automatically for when you need it later.',
- image: first_request,
- },
- {
- id: 'custom_linting',
- icon: ,
- label: 'Custom Spec Linting',
- title: 'Upload custom spec linting rules',
- description:
- 'Now you can user your own spectral linting rules to help you edit API design files in Insomnia with confidence.',
- image: custom_linting,
+ id: 'disable_legacy_unit_tests_by_default',
+ icon: ,
+ label: 'Document Unit Tests Disabled By Default',
+ title: 'Legacy documents unit tests functionality is no longer available by default',
+ description: (
+ <>
+ Best practice for both new and existing users continues to be testing via{' '}
+
+ pre request and post-response scripts
+
+ . There is a new user setting to enable/disable it. Existing Unit Test users are not affected and we continue to
+ support this functionality.
+ >
+ ),
+ image: scripts_for_unit_test,
},
] satisfies {
id: string;
icon: React.ReactNode;
label: string;
title: string;
- description: string;
+ description: React.ReactNode;
image: string;
}[];
@@ -136,15 +125,15 @@ const Component = () => {
return (
-
+
-
🚀 Welcome to Insomnia 13!
+
🚀 Welcome to Insomnia 13.3!
- A faster, more connected API workflow with unified navigation, Konnect gateway sync, and custom API
- governance support.
+ API Collections now combine Documents and Collections, with OpenAPI Specs accessible directly, while
+ legacy Unit Tests are hidden by default.
diff --git a/packages/insomnia/src/ui/images/onboarding/custom_linting.png b/packages/insomnia/src/ui/images/onboarding/custom_linting.png
deleted file mode 100644
index 588740c862..0000000000
Binary files a/packages/insomnia/src/ui/images/onboarding/custom_linting.png and /dev/null differ
diff --git a/packages/insomnia/src/ui/images/onboarding/first_request.png b/packages/insomnia/src/ui/images/onboarding/first_request.png
deleted file mode 100644
index 634e70cbd8..0000000000
Binary files a/packages/insomnia/src/ui/images/onboarding/first_request.png and /dev/null differ
diff --git a/packages/insomnia/src/ui/images/onboarding/konnect_integration.png b/packages/insomnia/src/ui/images/onboarding/konnect_integration.png
deleted file mode 100644
index ba6f6486ac..0000000000
Binary files a/packages/insomnia/src/ui/images/onboarding/konnect_integration.png and /dev/null differ
diff --git a/packages/insomnia/src/ui/images/onboarding/new_api_collection.png b/packages/insomnia/src/ui/images/onboarding/new_api_collection.png
new file mode 100644
index 0000000000..7db2580729
Binary files /dev/null and b/packages/insomnia/src/ui/images/onboarding/new_api_collection.png differ
diff --git a/packages/insomnia/src/ui/images/onboarding/scripts_for_unit_test.png b/packages/insomnia/src/ui/images/onboarding/scripts_for_unit_test.png
new file mode 100644
index 0000000000..6f268e3953
Binary files /dev/null and b/packages/insomnia/src/ui/images/onboarding/scripts_for_unit_test.png differ
diff --git a/packages/insomnia/src/ui/images/onboarding/sidebar_navigation.png b/packages/insomnia/src/ui/images/onboarding/sidebar_navigation.png
deleted file mode 100644
index b939fdb1f6..0000000000
Binary files a/packages/insomnia/src/ui/images/onboarding/sidebar_navigation.png and /dev/null differ
diff --git a/packages/insomnia/src/ui/utils/router.ts b/packages/insomnia/src/ui/utils/router.ts
index 6143279a48..f2076d79cb 100644
--- a/packages/insomnia/src/ui/utils/router.ts
+++ b/packages/insomnia/src/ui/utils/router.ts
@@ -107,9 +107,9 @@ export const getInitialEntry = async () => {
}
}
- const hasSeenOnboardingV13 = Boolean(window.localStorage.getItem('hasSeenOnboardingV13'));
+ const hasSeenOnboardingV13_3 = Boolean(window.localStorage.getItem('hasSeenOnboardingV13.3'));
- if (!hasSeenOnboardingV13) {
+ if (!hasSeenOnboardingV13_3) {
return href('/onboarding/*', {
'*': '',
});
@@ -119,9 +119,7 @@ export const getInitialEntry = async () => {
const user = await services.userSession.get();
if (user.id) {
- const organizations = JSON.parse(
- localStorage.getItem(`${user.accountId}:spaces`) || '[]',
- ) as Organization[];
+ const organizations = JSON.parse(localStorage.getItem(`${user.accountId}:spaces`) || '[]') as Organization[];
// If no organizations are in local storage, go fetch from org index loader
if (organizations.length === 0) {
return href('/organization');