From 0bd90e5b5eeb436ef8358484501ab4615077737c Mon Sep 17 00:00:00 2001 From: Guilhem Lemouel Date: Fri, 9 Oct 2026 08:10:01 -0700 Subject: [PATCH] feat: count navigation picker picks in feature_usage Co-Authored-By: Claude Opus 5.5 (1M context) --- backend/ee-repo-ref.txt | 2 +- .../lib/components/BreadcrumbNavPicker.svelte | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 36f5ba0252..b92be1325c 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -5f5d03a47e58d1ea1e3970ad141ec24bd6c5f068 +8abf547bcf477d53bf01ae13ebee130d3e529a0e diff --git a/frontend/src/lib/components/BreadcrumbNavPicker.svelte b/frontend/src/lib/components/BreadcrumbNavPicker.svelte index ad84e668cd..c72fa944e7 100644 --- a/frontend/src/lib/components/BreadcrumbNavPicker.svelte +++ b/frontend/src/lib/components/BreadcrumbNavPicker.svelte @@ -16,6 +16,7 @@ highlighted, a workspace page inside Pages with that page highlighted. import { pageKey, parsePreviewItemRoute, type PreviewTarget } from './sessions/previewRouter' import { editPathFor, leafKeyFor, viewPathFor, type WorkspaceItem } from './workspacePicker' import { base } from '$lib/base' + import { logFeatureUsage } from '$lib/utils/featureUsage' import type { PageHeaderItem } from './pageHeaderRegistry.svelte' let { @@ -77,10 +78,23 @@ highlighted, a workspace page inside Pages with that page highlighted. return undefined } + /** The whole vocabulary of the `header_nav` / `pick` counter: what kind of destination was + * picked, never which one. */ + type PickKey = 'page' | 'item_view' | 'item_edit' + + function pickKey(target: PreviewTarget): PickKey | undefined { + if (target.type === 'page') return 'page' + if (target.type === 'item') return target.mode === 'view' ? 'item_view' : 'item_edit' + return undefined + } + function pick(target: PreviewTarget) { isOpen = false const href = hrefFor(target) - if (href) goto(withWorkspace(href)) + if (!href) return + const key = pickKey(target) + if (key) logFeatureUsage('header_nav', 'pick', { key, workspace: actingWorkspaceId }) + goto(withWorkspace(href)) }