23861 Commits

Author SHA1 Message Date
a63a9357bb TableNG: Follow-up style fixes (#107274)
* open cell inspect in code mode for JSON panels

* increase opacity of TableCellActions background for legibility in overlap cases

* fix nested grid width calculation

* fix 'jumping' on hover overflow

* route transparency through (needs a scenes update)

* base row hover color on transparency

* update the colors for table

* remove console.log

* reinstate header toggle for nested row transformation

* fix #59474 - graceful handling when subtable has no rows

* fix i18n

* use TABLE.LINE_HEIGHT

* change nestedData back to const
2025-07-09 14:54:48 -04:00
889cf57055 Alerting: Fix flakey test for group loader (#107909) 2025-07-09 19:00:45 +02:00
21f305c6a0 Plugin Configs: Fix Env types (#107908) 2025-07-09 17:54:00 +01:00
0e253721b0 Internationalisation: don't load plugin translations in test environment (#107891)
* make sure we're awaiting initPluginTranslations

* don't load plugin translations in test environments
2025-07-09 17:17:33 +01:00
5108225785 Logs Panel: Explose details mode and default to inline (#107902)
Logs Panel: Explose details mode
2025-07-09 17:31:10 +02:00
2e58ce7980 Log Line Details: Add inline mode for the Details component (#107718)
* LogLineContext: add sidebar mode

* LogLine: initial support for inline details

* LogLine: finally figure out field overflow

* LogLineDetails: support inline details in unwrapped mode

* LogLineDetails: fix borders in inline mode

* LogLineDetails: support unwrapped inline details

* LogLineDetails: fix inline unwrapped mode

* LogLineDetails: debug and translations

* Fix types

* LogLine: update test

* LogLineDetails: slightly taller

* LogListContext: fix NaN default width

* Remove console log

* LogList: add inline details test

* virtualization: update test

* Fix imports
2025-07-09 16:07:19 +02:00
5d92f3eee5 Alerting: Fix silence / delete on new list view (#107885) 2025-07-09 13:44:44 +00:00
ded7912ea3 Use Group Loader for the group detail view (#107780) 2025-07-09 15:41:20 +02:00
0f3edd3b5f Plugins: renames snake cased plugin files (#107862)
* Plugins: renames plugin_loader

* test(pluginloader): fix mock paths to pluginLoader

* chore: rename sandbox files

* Trigger build

* Trigger build

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-09 13:18:44 +02:00
d786316766 Plugin Configs: Use nodes strip types for processing webpack configs (#105542)
* feat(plugin-configs): update configs to work with nodes strip-types feature

* build(parca): use nodes experimental-strip-types so build works with node 22 - 24

* build(decoupled-plugins): support nodes strip types feature for webpack builds

* build(e2e-test-plugins): update build scripts and config to work with node strip types

* style(plugin-configs): fix import/order lint errors

* refactor(plugins): use allowImportingTsExtensions in favour of ts-ignore comments

* refactor(plugin-configs): clean up ts-ignore and ts-expect-error comments in webpack.config

* refactor(plugin-configs): fix up changes for nodes strip-types flag

* chore(loki): fix up build command for node 24 support
2025-07-09 10:38:17 +00:00
89c09a14b8 Alerting: Extensible Settings module (#107831)
* Add extension points to the Settings page

* wip

* Update Settings page routing to catch unmatched routes and redirect to alertmanager

* Add settings page extension

* Refactor settings navigation

* Refactor settings navigation hook

* Update import paths

* Add Settings page tests for custom tabs

* Update translations

* Add a route explanation

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-07-09 12:29:39 +02:00
ae7a3db917 Update dependency @grafana/google-sdk to v0.3.4 (#107865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:38:46 +00:00
e78411f17a Tempo: Fix showing dangling edges in NodeGraph (#107245)
* Tempo: Fix showing dangling edges in NodeGraph

* Remove comment
2025-07-09 10:53:31 +02:00
39904d7b9b Provisioning: Move dashboard from setting page (#107793)
* Provisioning: Move dashboard from the settings page

* Cleanup

* i18n

* Add noMargin

* Add test

* Use new pr param

* Cleanup

* Fix tests

* i18n

* betterer
2025-07-09 10:10:05 +03:00
20c700dd52 Chore: reduces barrel files part II (#107688)
* Chore: reduce barrel files

* chore: fixes unit test

* Chore: reduces barrel files part II

* chore: fix import sorting
2025-07-09 06:15:33 +02:00
6c20ad0013 [InfluxDB] Change default HTTP method to POST (#107787) 2025-07-08 15:19:22 -06:00
869094bb37 SQL Expressions: Reconfigure add expression button for improved UX (#106797)
* feat: reconfigure expression button for improved UX

* chore: fix broken test

* chore: refactor to use improved UX + combine another UI PR.

* chore: i18n

* chore: memoize options + add data test ids for tracking

* chore: common component for expression dropdown

* chore: streamline common component

* chore: add event tracking

* chore: put event tracking in its own PR
2025-07-08 14:11:54 -07:00
68ee251c5c TableNG: Extract links and actions tooltip into cell root renderer (#107667)
* TableNG: Extract links and actions tooltip into cell root renderer

* make TS happy

* fixes & tweaks

* lint

* skip datalinks and actions tooltip on those cell types

* add todo

* withTooltip lookup

* fix

* optional getActions

* fix

* kill cursor: 'context-menu'

* stop event propagation from TableCellActions

* update tests to move tooltip tests up to TableNG

* remove safety assertion

* add value back to DataLinksActionsTooltip

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-08 14:24:03 -04:00
412415ab39 NewProvisionedFolderForm: pass in empty title for new folder form (#107733)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-07-08 18:00:51 +00:00
0b28a53923 Update dependency @grafana/lezer-logql to v0.2.8 (#107797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 16:53:35 +00:00
fdc6a0d774 Transformations: For Convert Field Type, clone conversions as to not mutate defaultOptions (#107752)
Clone conversions as to not mutate defaultOptions
2025-07-08 11:29:14 -05:00
0fdcae4e26 Tables: Pills for Table Cells (#107485)
* v2 of pills for tables

* cleanup bettererrrrr

* cleanup pretty

* i18n changes

* add in the option for value mapping

* value mapping

* change to just use the value mapping from the table component

* tests fixed

* betterer all better now

* fix pretty

* i18n

* fix gen issue

* i18n

* fix merge issue

* Refactor pillcell to an interface for said pill, cleanup tests

* mind the space says prettier
2025-07-08 10:56:39 -05:00
4830969305 Add influx DRBP mapping (#107744) 2025-07-08 14:14:47 +00:00
2e3c2df6bf Dashboard: Add Alert icon in library panels (#107723)
* Use panel.id from the dashboard to filter alterts properly

* add unit test

* Fix linting

* add fix back

* fix betterer in test, use same pattern as DashboardDatasourceBehaviour
2025-07-08 15:08:01 +02:00
e33047bdf1 Dashboard: Library Panels - Add ability to search by folder name (#106997)
* Dashboard: Add ability to search by folder name in library panels

* restore to main to fix linting issues

* restore from main to avoid go linting issues

* add logic to the writers.go that search by folder title if folder is not passed

* add missing left joing from the folder table

* Add extra logic to prevent folder searches without permission

* fix go linting issue about memory

* Add test when searching by folder name

* Refactor tests to include a bit more validation

* apply feedback and use SearchFolder from search folder service

* clean up comments

* Update pkg/services/libraryelements/database.go

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* Fix logic of early return

* Extract into a function and remove the left join

* Apply feedback to be aligned with idiomatic go

* Apply suggestion from @evictorero

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* fix liting

---------

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2025-07-08 15:07:22 +02:00
d5a1781fb6 Schema V2: Simplify annotations v1<->v2 conversions (#107390)
* Initial migration pending to test

* Update tests

* apply feedback

* Remove unnecessary types

* Fix types

* Update tests

* fixing tests

* Default DS for transformer

* Update the default DS

* Update the generated sdk files

* Restore commented tests

* Update tests

* Updating snapshots

* fix

* Do not preserve empty datasource in panel spec

* update provisioning v2 sample dashboard

* Fix test

* Prettier

* Fix import e2e

* Prettier

* restore commented tests

* Update to support annotations

* Lint

* Make gen apps

* Make the build pass

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update grafana-app-sdk to 0.39.2

* Workspace update

* make gen-cue

* Runtime error fix

* Update dashboard spec

* Update go workspaces

* Schema V2: Simplify annotations v1<->v2 conversions

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Cleanup and some more tests

* test improvement

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Update go.sum

* make generate

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>

* ts

* make gen-apps

* Update response transformers to correctly handle v2->v1 annotations

* Update dashboards openapi snapshot

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2025-07-08 14:42:30 +02:00
feedb5c0a6 PublicDashboardsBadge: Fix react warning (#107768) 2025-07-08 14:40:13 +02:00
2fabedc363 Update dependency @types/lodash to v4.17.20 (#107767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 11:50:43 +00:00
95d4909475 Alerting: Add oncall contact point type and narrow create hook function (#107711) 2025-07-08 13:35:09 +02:00
2de7f424f5 BrowseDashboardsPage: added new pull request banner on new folder creation (#107596)
* BrowseDashboardsPage: added ProvisionedFolderPreviewBanner to display new provisioned folder on branch alert

* add comment

* fix test

* i18n

* Added test for PreviewBannerViewPR

* fix test, i18n fix
2025-07-08 14:24:16 +03:00
365234c2fe PublicDashboards: Use API to render public dashboard badge (#107638)
* PublicDashboards: Use API to render public dashboard badge

* i18n

* Keine console bitte

* Update public/app/features/dashboard-scene/scene/NavToolbarActions.tsx

* Update tests
2025-07-08 13:11:25 +02:00
d22842b52b I18n: Download translations from Crowdin (#107750)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-08 10:03:08 +00:00
89e8a03859 New Log Details: Add support to sort displayed fields (#107635)
* Create LogLineDetailsDisplayedFields

* Log labels: properly implement plurals

* Pluralize

* LogListContext: pass setDisplayedFields

* LogLineDetailsDisplayedFields: update displayed fields

* LogLineDetails: scroll to item after opening details

* LogListContext: serve logOptionsStorageKey

* Update test

* Missing translations

* LogLineDetailsDisplayedFields: update styles

* LogLineDetails: update text selectors

* Update tests

* Reorganize log details: improve discoverability

* Update test
2025-07-08 11:57:28 +02:00
509990ca89 Variables: Change vis library from visj-network to vis-network (#107712)
* Change from visj-network to vis-network

* Check that ref exists

* Remove vis-util as a direct dependency

* Update betterer

* Address PR feedback
2025-07-08 09:30:46 +00:00
5b7f06c24e Extensions: Wrap extension components with a sandbox wrapper div (#103064)
* feat(sandbox): wrap extension components with sandbox wrapper div

* fix: remove circular dependency

This was caused by sandbox_plugin_loader_registry -> helpers -> backend_srv -> ... plugin_loader -> setup.

* fix: add dependency to react hook

* tests: add tests for extensions sandbox wrapper

* fix: only wrap modal content after plugin loading

* chore: remove unused code

* Wip

* review(actions.ts): extract logic to function

* test: remove testing app id

* tests: fix extension utils tests

* tests: remove unnecessary code
2025-07-08 07:10:19 +02:00
7181f8d89d TableNG: Update description for wrapHeaderText (#107722) 2025-07-07 12:36:41 -04:00
381cd95932 Update dependency i18next to v25 (#107707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 16:48:05 +01:00
31b71f79dd Internationalisation: Manual mark up following review (#107625)
* mark up and add confirmText to lint rule

* mark up and add ariaLabel to lint rule

* add confirmText to propertiesToCheck

* mark up and add body to propsToCheck

* mark up latest

* mark up 'Dashboard saved'

* mark up filterbyvalue options

* mark up tooltip options

* mark up and add lint rules for noOptionsMessage/loadingMessage

* mark up 'Convert field type'

* mark up placeholderText/noOptionsMessage

* mark up run query

* mark up variable editor fields

* mark up week start options

* mark up dashboard link options

* mark up prom options

* mark up builder/code toggles

* make CI happy

* kick CI
2025-07-07 16:43:19 +01:00
a2a28b207c KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab (#107537)
* KBARResults:add command+enter to open selected link in new tab
2025-07-07 11:37:35 -04:00
075770070e Future-proofing query and data source model in Dashboard Schema v2 (#104194)
---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
2025-07-07 15:31:25 +02:00
cfa05a63c5 Plugin Loader: Don't load an app plugin multiple times (#107579)
* fix(plugin_loader): don't import an app plugin twice

* review: extract IIFE to a separate function (async part of plugin loading)

* fix: remove code for testing
2025-07-07 15:05:13 +02:00
ddbba7b460 Alerting: Add support for "alerting.notifications.routes.conflictingMatchers" (#107687)
add support for "alerting.notifications.routes.conflictingMatchers"
2025-07-07 14:56:31 +02:00
77f84e494d Plugin Extensions: Add error boundaries (#107515)
* feat(grafana-data): expose PluginContext

This is aimed to be used in the `PluginErrorBoundary` (which is a class component, and cannot use the hook.)

* feat(PluginErrorBoundary): add an error boundary for plugins

* feat(ExtensionsErrorBoundary): add an error boundary for extensions)

* feat(Extensions/Utils): wrap components with error boundaries

* feat(Plugins): wrap root plugin page with an error boundary

* fix: Fallback component should always be visible for onClick() modals

* review: use object arguments instead of positional ones for `renderWithPluginContext()`

* review: update `wrapWithPluginContext()` to receive args as an object

* refactor(AppChromeExtensionPoint): remove the error boundary

We have an error boundary on the extensions-framework level now

* refactor(ExtensionSidebar): remove the ErrorBoundary from the extensions

This is handled on the extensions-framework level now.

* test(ExtensionSidebar): add tests

* chore: translation extraction

* chore: prettier formatting

* fix(PluginErrorBoundary): remove unnecessary type casting
2025-07-07 14:51:04 +02:00
b9fba95849 Dashboard: Fix cache validation to prevent stale cache (#105918)
* compare dashboard updated at while fetching

* test added

* added created field in dashboard dto meta object for k8s api. fixed cache updation check

* code refactor

* code formatting with prettier

* added created at field in DashboardPageProxy.test.tsx
2025-07-07 14:06:01 +02:00
3b6784cfcf Postgres: Regroup config page for TLS related settings (#107686) 2025-07-07 12:30:19 +01:00
6ce2fac2bb Internationalisation: Mark up geomap panel edit options (#107140)
mark up geomap panel edit options
2025-07-07 11:30:11 +01:00
524d6055c0 Dashboards: Fix persisting repeated panels resize after edit (#107386) 2025-07-07 10:30:33 +03:00
68cbd23916 Chore: reduces barrel files (#107512)
* Chore: reduce barrel files

* chore: fixes unit test

* chore: fix broken path
2025-07-07 09:23:27 +02:00
3e6d620d2c Alerting: Remove ruler from alert list view2 (#106778)
* wip

* Add working actions for GMA rules based on Prom-only API

* Remove Ruler-loader related code for Grafana rules

Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>

* Remove outdated tests

* add some comments

* remove commented code

* remove showLocation property

* Add missing mocks in tests

* Add showLocation to GrafanaRuleListItem, improve useAbilities, address PR feedback

* Enhance GrafanaGroupLoader tests: Add permission checks and More button functionality

- Introduced user permission grants for alerting actions in tests.
- Added tests for rendering the More button with action menu options.
- Verified that each rule has its own action buttons and handles permissions correctly.
- Ensured the edit button is not rendered when user lacks edit permissions.
- Confirmed the correct menu actions are displayed when the More button is clicked.

* Update translations

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>
2025-07-07 09:13:09 +02:00
ab676ce035 Loki: Add scope filters to queries on the frontend (#104638)
* Add scopes to queries in DataSourceWithBackend

* Remove Prometheus-specific solution

* Readd prometheus support

* move scopes reordering ti loki ds

* Add tests and logQLScope feature flag

* Move featureToggles to before/after each

* Remove irrelevant file change
2025-07-04 18:35:52 +02:00