Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
08a8832
chore: reworked the onboarding card and tour starts on first sight
juliankepka May 27, 2026
0ee882d
fix: reworked copilot comments
juliankepka May 27, 2026
904ad87
Merge branch 'main' into chore/rework-onboard-tour
juliankepka May 27, 2026
299c448
Merge remote-tracking branch origin/main into chore/rework-onboarding…
juliankepka Jun 2, 2026
d38fb09
.
juliankepka Jun 2, 2026
8b994cb
fix: removed unnessecary back buttons and added feat for direct click…
juliankepka Jun 5, 2026
cd086b4
Merge remote-tracking branch origin/main into chore/rework-onboarding…
juliankepka Jun 8, 2026
10e8309
Merge branch 'main' into chore/rework-onboard-tour
seb-kw Jun 9, 2026
4598a7f
fix: fixed comments and gitlab onboarding
juliankepka Jun 10, 2026
c91d803
fix: fixed the welcomemodal for tour seen
juliankepka Jun 10, 2026
a89710f
close and reset asset creation modal after successful creation
seb-kw Jun 15, 2026
5947d45
fix: fixed merge conflicts
juliankepka Jun 17, 2026
0ba855e
fix: fixed font sizes and badge
juliankepka Jun 17, 2026
416c879
fix: fixed e2e tests and card shadows
juliankepka Jun 17, 2026
639ab3b
fix: fixed e2e.yml
juliankepka Jun 17, 2026
c19a457
fix: removed e2e caching for playwright image
juliankepka Jun 17, 2026
0edba42
fix: one new useAutoTour hook
juliankepka Jun 22, 2026
4764522
Merge remote-tracking branch 'origin/main' into chore/rework-onboard-…
juliankepka Jun 22, 2026
5bd2fd5
fix: dependency-risk tour
juliankepka Jun 22, 2026
005fb8d
fix: nix sha
juliankepka Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,4 @@ jobs:
-e CI=true \
-e HOME=/tmp \
mcr.microsoft.com/playwright:v1.61.0-noble@sha256:57b65fdc9ceabe0ef613124c7bbe2babcf9362c4d85e382fe3b03604e84b428a \
bash e2e/run-devguard-tests.sh
bash e2e/run-devguard-tests.sh
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@
"licenser.useSPDXLicenseFormat": true,
"cSpell.words": [
"devguard"
]
],
"eslint.useFlatConfig": true
}
1 change: 0 additions & 1 deletion e2e/src/pom/devguard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,6 @@ export class DevGuardPOM {
async setupSbomUpload() {
const inputFile = path.join(__dirname, "../../assets/", "sbom.json");
await this.setup().setupOwnRiskScanning();
await this.setup().selectManualUpload();
await this.setup().uploadSbomFile(inputFile);
}

Expand Down
17 changes: 3 additions & 14 deletions e2e/src/pom/flows/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,9 @@ export class SetupFlow {
constructor(private page: Page) {}

async setupOwnRiskScanning() {
await this.page.getByTestId("setup-risk-scanning-button").click();
await this.page.waitForTimeout(500);
await this.page.getByTestId("own-setup-card").click();
await this.page.getByTestId("scanner-selection-continue").click();
}

async selectManualUpload() {
await this.page.waitForTimeout(500);
await this.page.getByTestId("manual-upload-card").click();
await this.page
.getByTestId("integration-method-selection-continue")
.click();
await this.page.waitForTimeout(500);
await this.page.getByTestId("upload-manually").click();
}

async uploadSbomFile(inputFile: string) {
Expand All @@ -28,10 +19,8 @@ export class SetupFlow {
}

async setupAutoRiskScanning() {
await this.page.getByTestId("setup-risk-scanning-button").click();
await this.page.waitForTimeout(500);
await this.page.getByTestId("auto-setup-gitlab").click();
await this.page.getByTestId("setup-method-continue").click();
await this.page.getByTestId("gitlab-connect-repository").click();
}

async createGitLabIntegration(name: string, url: string, token: string) {
Expand Down
1 change: 0 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ export default defineConfig([
plugins: {
prettier,
},

rules: {
"@next/next/no-img-element": "off",
"prettier/prettier": "error",
Expand Down
2 changes: 1 addition & 1 deletion nix/npm-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
../package-lock.json
];
};
hash = "sha256-FW3K7F/5kRiBNxNLweCtrVNJ9XpztyeLxS15IFfJ1ig=";
hash = "sha256-3DGG5Ta+DmEFO3Lb0mAu7amQbyug4qYBbo4jp20T7OQ=";
};

node_modules = pkgs.runCommand "node-modules" {
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
"react-hook-form": "7.56.4"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.5",
"@eslint/eslintrc": "3.3.5",
"@eslint/js": "^9.39.4",
"@playwright/test": "^1.61.0",
"@tailwindcss/postcss": "^4.2.4",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ export default function HelpCenterPage() {
}, [firstProject?.slug, resources]);

const depRiskTourHref = depRiskTarget
? `/${activeOrg.slug}/projects/${depRiskTarget.projectSlug}/assets/${depRiskTarget.assetSlug}/refs/${depRiskTarget.refSlug}/dependency-risks/${depRiskTarget.vulnId}?startTour=4`
? `/${activeOrg.slug}/projects/${depRiskTarget.projectSlug}/assets/${depRiskTarget.assetSlug}/refs/${depRiskTarget.refSlug}/dependency-risks/${depRiskTarget.vulnId}?startTour=dependency-risk`
: undefined;

const depRiskTourDisabledReason =
Expand All @@ -164,7 +164,7 @@ export default function HelpCenterPage() {
: undefined;

const repoTourHref = repoTourTarget
? `/${activeOrg.slug}/projects/${repoTourTarget.projectSlug}/assets/${repoTourTarget.assetSlug}?startTour=3`
? `/${activeOrg.slug}/projects/${repoTourTarget.projectSlug}/assets/${repoTourTarget.assetSlug}?startTour=repo-home`
: undefined;

const repoTourDisabledReason =
Expand Down Expand Up @@ -215,7 +215,7 @@ export default function HelpCenterPage() {
Description="Get a guided overview of the organization dashboard."
Button={
<Link
href={`/${activeOrg.slug}?startTour=1`}
href={`/${activeOrg.slug}?startTour=org-home`}
className={cn(
buttonVariants({ variant: "default" }),
"hover:no-underline text-primary-foreground!",
Expand All @@ -240,7 +240,7 @@ export default function HelpCenterPage() {
Button={
firstProject ? (
<Link
href={`/${activeOrg.slug}/projects/${firstProject.slug}?startTour=2`}
href={`/${activeOrg.slug}/projects/${firstProject.slug}?startTour=group-home`}
className={cn(
buttonVariants({ variant: "secondary" }),
"hover:no-underline",
Expand Down
4 changes: 2 additions & 2 deletions src/app/(loading-group)/[organizationSlug]/overview/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { fetcher, FetcherError } from "@/data-fetcher/fetcher";
import { useActiveOrg } from "@/hooks/useActiveOrg";
import { useOrganizationMenu } from "@/hooks/useOrganizationMenu";
import { usePageTour } from "@/hooks/usePageTour";
import { useAutoTour } from "@/hooks/useAutoTour";
import { useViewMode } from "@/hooks/useViewMode";
import type { OrgOverview } from "@/types/api/api";
import { ArrowPathIcon } from "@heroicons/react/24/outline";
Expand All @@ -32,7 +32,7 @@ const OrganizationOverview: FunctionComponent = () => {

const orgMenu = useOrganizationMenu();
const [mode, setMode] = useViewMode("devguard-org-view-mode");
const { startTour } = usePageTour(orgOverviewTourSteps);
useAutoTour("org-overview", orgOverviewTourSteps);

const {
data: orgStatistics,
Expand Down
2 changes: 1 addition & 1 deletion src/app/(loading-group)/[organizationSlug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ const OrganizationHomePage: FunctionComponent = () => {
const { showModal, handleStartTour, handleSkip } = useWelcomeTour();

useEffect(() => {
if (searchParams?.get("startTour") === "1") {
if (searchParams?.get("startTour") === "org-home") {
startTour();
}
// eslint-disable-next-line react-hooks/exhaustive-deps
Expand Down
Loading
Loading