- Wrap untranslated "Details" JSX text in t() (fixes pre-commit custom
rules + babel-extract regression)
- Filter dataset/chart/dashboard lineage endpoints by the current user's
permissions so they never expose charts, dashboards, or datasource
metadata the user cannot access (mirrors existing related_objects /
get_datasets redaction patterns)
- Register DashboardLineageResponseSchema in openapi_spec_component_schemas
to resolve the dangling $ref in the generated API spec
- Key Sankey graph nodes and the node-details map by a stable unique
identity (type:id) so entities sharing a display name no longer collapse
into a single node; keep the human-readable title as a separate label
- Add a skip mechanism to useApiV1Resource / lineage hooks so empty-id
callers (e.g. LineageModal) no longer fire requests against invalid
endpoints like /api/v1/chart//lineage
- Defer the dataset edit page lineage fetch until the Lineage tab is active
- Make "View lineage" available in dashboard view mode, not only edit mode
- Compare data["result"] in lineage integration tests to match the
result-wrapped API contract
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>