[pull] main from SigNoz:main - #951
Merged
Merged
Conversation
> **Stacked PR — merge bottom-up.** This is part of a stack retiring the V1 dashboard frontend. > > | | PR | Change | > |---|---|---| > | 1 | #12647 | delete dead V1 dashboard code | > | 2 | #12648 | retire the V1 panel editor and its widget route | > | 3 | #12649 | legacy notice for unmigrated public dashboards | > | 4 | #12650 | retire the V1 dashboard store | > | 5 | #12651 | move the shared chart layer to `lib/visualization` | > | 6 | #12652 | consolidate the widget-card stack under `container/WidgetCard` | > | 7 | #12653 | split `types/api/dashboard/getAll` | > | 8 | #12654 | drop the `V2` suffix | > > `CODEOWNERS` for all of the above is split out into **#12707**, which is *not* part of this stack (based on `main`) and should merge after it. --- #### Description V2 dashboards serve `/dashboard` and `/dashboard/:id` unconditionally — there is no feature flag — so the V1 page bodies and everything reachable only from them are dead. - Point the routes straight at the V2 pages and delete the V1 shims. - Delete `container/ListOfDashboard`, the non-`visualization` half of `container/DashboardContainer`, and the `GridCardLayout` grid shell. These are mutually entangled (`ListOfDashboard` ↔ `DashboardDescription` is an import cycle), so they have to go together. - Rescue the shared code that lived inside them before deleting: the variable dependency graph → `lib/dashboardVariables/dependencyGraph`, `uniqueOptions` → `NewSelect`, panel-type items → `GridCardLayout/panelTypeItems`. - Drop two menu affordances that no live caller could render: panel **Delete**/**Clone** (no consumer lists them in `headerMenuList`) and the **Dashboard Variables** drilldown submenu (route-gated to `/dashboard/:id`, which V2 serves through its own drilldown). - V2's variable cycle detection now uses V2's own dependency helpers instead of casting its form model into V1 types. #### Additional Information `container/DashboardContainer/visualization` is deliberately untouched — it is the shared chart layer, not V1 code. It moves later in the stack. **Verification:** `tsgo --noEmit`, `lint`, `jest` (766 suites / 7491 tests), `build`, and `knip` (unused files 51 → 41, zero newly orphaned) all clean.
…ion (#12765) #### Description - Adds a **Won't-fix resolution** input to the Jira channel form (Advanced section), with a help line explaining what it does. The backend already supported `wont_fix_resolution`; it was API-only until now. - When set (e.g. `Won't Do`), a Jira issue resolved with that resolution is not reopened when the alert fires again; a new issue is created instead. Optional; empty keeps the current behavior. - Editing a channel now preserves an API-set `wont_fix_resolution` on re-save (it was silently dropped before). #### Screenshots / Screen Recordings <img width="1441" height="110" alt="Screenshot 2026-09-03 at 4 10 12 PM" src="https://github.com/user-attachments/assets/fcefa36d-1f41-4bac-acf9-334356e52267" />
#### Description - Removes the `get_meters_from_zeus` feature flag; `GET /api/v1/billing` now always fetches usage from Zeus. #### Additional Information Part of SigNoz/platform-pod#3091. First of four PRs; the new FGA-gated zeus subscription endpoints follow in the next one.
…2648) > **Stacked PR — merge bottom-up.** This is part of a stack retiring the V1 dashboard frontend. > > | | PR | Change | > |---|---|---| > | 1 | #12647 | delete dead V1 dashboard code | > | 2 | #12648 | retire the V1 panel editor and its widget route | > | 3 | #12649 | legacy notice for unmigrated public dashboards | > | 4 | #12650 | retire the V1 dashboard store | > | 5 | #12651 | move the shared chart layer to `lib/visualization` | > | 6 | #12652 | consolidate the widget-card stack under `container/WidgetCard` | > | 7 | #12653 | split `types/api/dashboard/getAll` | > | 8 | #12654 | drop the `V2` suffix | > > `CODEOWNERS` for all of the above is split out into **#12707**, which is *not* part of this stack (based on `main`) and should merge after it. > > Review this one against **#12647**, not `main`. --- #### Description `ROUTES.DASHBOARD_WIDGET` (`/dashboard/:dashboardId/:widgetId`) was still registered but no UI linked to it, and its page fetched `GET /api/v1/dashboards/{id}` — which the backend answers **501**. V2 serves panel editing at `/dashboard/:dashboardId/panel/:panelId`. - Extract the 12 modules other features still need out of `container/NewWidget` first, then delete the route, the page and the container. - Threshold/format/time types → `types/api/widgets/threshold`, `constants/formats/*`, `constants/timePreference` (fixing the `alertFomatCategories` spelling on the way). - `QueryTypeTag`, `PlotTag`, `populateMultipleResults`, the ContextLinks utils and the four externally-used `utils` exports → `components/`, `lib/query/`, `utils/contextLinks/`. - The two raw query editors → `container/QueryBuilder/rawQueryEditors/{PromQL,ClickHouse}`, where the rest of the query-builder UI lives. - Delete the V1 write path (`useUpdateDashboard` → `api/v1/dashboards/id/update`) and the orphaned bootstrap chain. #### Additional Information **Two behaviour changes worth a look:** 1. **Meter Explorer's "Add to dashboard" was already broken.** It built a V1 editor URL (`/dashboard/:id/new`), so users landed on the 501 page. It now uses `useGetExportToDashboardLink` like the Logs, Traces and Metrics explorers. This is a fix, but it touches Meter Explorer. 2. `FullView`'s **Switch to Edit Mode** button is removed — it built its link with `generateExportToDashboardLink`, which goes away here, and it was gated on V1 state nothing populates, so it never rendered. `WidgetHeader`'s **Edit**/**Delete**/**Clone** items are left alone. No caller lists them in `headerMenuList`, so nothing renders them either way, and leaving them keeps this PR scoped to the editor route. Two tests changed assertions rather than just mocks (`WidgetGraphComponent.test.tsx`, `ExplorerOptionWrapper.test.tsx`) — those are the diffs to read closely; the rest is mechanical. Also extracts `ColumnUnit` to break the `getAll` ↔ `threshold` import cycle the type move would otherwise have created. **Verification:** `tsgo`, `lint`, `jest` (751 suites / 7386 tests), `build`, `knip` all clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )