Commit Graph
8292 Commits
Author SHA1 Message Date
Stephanie Hingtgen c33a53a47a K8s: Remove restore functionality; can be done with list (#102560) 2025-03-20 16:38:32 -05:00
Ben Sullyandkay delaney 9fce4311e9 Live: allow publishing over Centrifuge subscription (#102325)
* Live: allow publishing over Centrifuge subscription

Currently when publishing over a Grafana Live channel,
the data is sent over the HTTP API. This works fine when
there is only a single Grafana instance running, but
when there are multiple instances, the data will only hit
one instance, which is often not desired: sometimes you need
to guarantee that the data appears on the same instance that
the frontend is connected to.

An example of this is in the Grafana LLM app when running the
MCP server. The MCP protocol is stateful; users subscribe to
a channel to get a long-lived stream of server-sent events,
then send subsequent requests to the server to get further
results. If there are multiple Grafana instances running then
the requests are likely to land on an instance other than the
one that the user is connected to.

This commit adds a new option to the `GrafanaLiveSrv` interface
that allows the user to publish data over the Centrifuge
subscription instead of the HTTP API. This is not the default and
should rarely be used, but is required to fulfil certain use cases.

* Address nits from code review

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

---------

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2025-03-20 16:50:52 +00:00
Ben Sully 8cdbc51b04 feat: expose Live message size limit to frontend (#100169)
Developers using Grafana Live need to know whether a message is too
big to be sent over the Grafana Live websocket. Since this limit
is configurable, it is useful to expose it to the frontend.

This commit adds a new field to the frontend settings,
`liveMessageSizeLimit`, which the frontend can use to access the
limit configured in the backend.

Relates to #99770.
2025-03-20 18:26:09 +02:00
Juan Cabanas 7b94308c3e CollapsableSection: Change css properties (#101630) 2025-03-20 09:17:11 -03:00
Will Browne 5b67ae1876 Plugins: Remove support for secrets manager plugins (#101467)
* remove secrets manager code

* remove unused struct

* add test toggles back

* rollback golden file changes

* add missing TestMain

* update betterer
2025-03-20 10:00:59 +00:00
Leon Sorokin d52c837f09 ValueMappings: Allow omitting From or To in MappingType.RangeToText (#102416) 2025-03-20 02:53:10 +02:00
Timur Olzhabayev 5f0faf2dd6 Chore: Promoting feature toggle pluginsSriChecks GA (#102212)
* Making pluginsSriChecks GA

* make it disabled by default
2025-03-19 19:45:04 +02:00
Josh Hunt ebeef2064e GrafanaUI: Fix Combobox throwing error with too many items (#102452) 2025-03-19 13:42:59 +00:00
4eab2ea9d3 Scenes: Implement drag and drop support for SceneCSSGridLayout (#99386)
* Draft: Move css grid stuff to main

* Scenes: Implement drag and drop support for SceneCSSGridLayout

* Fix some nits

* WIP Refactor

* Added a comment

* Add orchestrator to v2schema and fix error (#100964)

* Add orchestrator to v2schema and fix error

* Display placeholder directly when starting to drag

---------

Co-authored-by: kay delaney <kay@grafana.com>

* Fix merge issue

* Fix panel drag offset and remove console.logs

* Fix small nit

* Fix issue where layout options weren't refreshed on changing layout

* Return empty array from useEditPaneOptions if dashboard body isn't LayoutOrchestrator

* Expect layoutOrchestrator when serializing scene

* Fix tests to expect orchestrator instead of layoutManager

* Fix tests in transformSaveModelSchemaV2ToScene.test.ts

* Fix tests in transformSceneToSaveModelSchemaV2.test.ts

* More test fixes

* fix lint issues

* Small fixes

* default to adding layout orchestrator?

* Empty commit

* delete artifactspage.go

* remove artifactspage.tmpl.html

* betterer

* WIP refactor, not ready for review

* Slightly fix placeholder behavior. still broken though

* Fixed some visual glitches. Still very buggy

* Fix layout bugginess when initiating dragging

* more WIP

* Fix some broken logic

* clean up

* Move LayoutOrchestrator to dashboard state

* More cleanup

* Fix misaligned placeholders after changing layout options or resizing browser

* Fix issue with dragging vs selection

* Fix scroll position jumping when dragging in vertically-oriented grid

* Fix import order errors

* Remove '!' from layoutOrchestrator references

* Add LazyLoader support

* Dynamic Dashboards: Responsive Grid drag and drop minor fixes (#102430)

Changes

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2025-03-19 13:53:58 +02:00
Matheus MacabuandDana Axinte ac4b2a3200 SecretsManager: Add feature toggle (#102420)
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
2025-03-19 10:25:14 +01:00
zenador 7f9fa8c662 Grafana UI: Clearly separate multiple warnings by using HTML tags (#97979)
* Allow html in tooltips

* Display multiple warnings/infos properly with html

* Revert "Allow html in tooltips"

This reverts commit 5c7e965d2d554b693d4897e52cf6865e0c9b8374.

* Display multiple warnings/infos properly with html in ReactNode

* Fix lint

* Revise according to code review

* Revise according to code review part 2

* Revise according to code review part 3
2025-03-19 07:05:53 +01:00
Haris Rozajac 32756a6c30 Dashboards: Fix time range bug when use_browser_locale is enabled (#102339)
* fix

* update

* fix tests and update
2025-03-18 12:46:22 -06:00
Darren JaneczekandLevente Balogh e948376a95 feat: component extension point for adaptive telemetry query actions (#101331)
* feat: component extension point for adaptive telemetry query actions

- only render the first non-null added-component, and provide utility in the added component infrastructure to  support this

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2025-03-18 12:45:01 -04:00
Collin Fingar 23ec5cfcbf ColorPickerInput: Fixed color picker disappearing on input blur (#102241)
* ColorPickerInput: Fixed color picker disappearing on input blur

* Updates per feedback around targeting method

* Updated per feedback - testid vs id
2025-03-18 11:56:32 -04:00
Matheus Macabu 20f9902ed5 CloudMigrations: Remove public preview banner (#102354) 2025-03-18 16:21:16 +01:00
Bogdan Matei 621e7012df Dynamic Dashboards: Fix some of the issues identified during bugbash (#102279) 2025-03-18 14:34:14 +02:00
Oscar Kilhed ba44ceb4b2 Dynamic dashboards: Add paste panel option to add pane (#102350)
* Add paste panel to side pane, unify Store class, subscribe to storage events

* i18n
2025-03-18 11:49:33 +01:00
Tom Ratcliffe e14b2fa034 Chore: Add descriptions to frontend types for feature toggle generation (#102230)
Add descriptions to frontend types for feature toggle generation
2025-03-18 09:20:47 +02:00
Leon Sorokin 1a6ec71822 Transformations: Fix field naming in Add field from calc (Binary mode) (#102331) 2025-03-18 02:39:47 +02:00
Leon Sorokin afd6326d0c Chore: uPlot v1.6.32 (#102149) 2025-03-17 19:35:11 -05:00
Sven Grossmann 8297c0f34e prom: fix sorting in fetchLabels (#102318)
* fix(prom): return label keys from prometheus language providers

* fix: only sort once

* fix: lose reference
2025-03-17 23:26:42 +02:00
Dzmitry Kozhukh 250cdbcd1a GrafanaUI: prevent ToolbarButton from submitting wrapping form (#102228)
fix(grafana-ui): prevent toolbar button from submitting wrapping form
2025-03-17 17:13:54 +00:00
Ashley Harrison 2ece94bc50 Chore: Fix pseudo translations (#102295)
* remove unnecessary pseudo translations

* properly initialise pseudo translations in core (not grafana-ui)
2025-03-17 16:45:36 +00:00
Sven Grossmann 8140c19bbd fix(prom): return label keys from prometheus language providers (#102294) 2025-03-17 16:15:38 +01:00
Igor Suleymanov 3f270d1de0 K8s/Dashboards: Fix panics in Dashboards v2alpha1 API (#102123)
* K8s/Dashboards: Fix panics in Dashboards v2alpha1 API

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

* Update generated code to use the `MappingType` properly

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

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-17 15:04:11 +02:00
Torkel Ödegaard 74705bd5b3 Dashboard: New UX for switching layouts (#102268)
* Layout switching

* Update

* Update

* Update

* Update

* Update

* unline styles

* fixing lint issue
2025-03-17 13:50:34 +01:00
Ashley Harrison 2b3a36b572 Query library: Add selectors and turn on feature toggle in e2e (#101347)
* add selectors and turn on feature toggle in e2e

* remove unneeded feature toggle
2025-03-17 12:31:22 +00:00
Ashley Harrison d82a877f65 GrafanaUI: Mark up or ignore remaining grafana-ui translations (#102203)
* markup or ignore remaining grafana-ui translations

* fix unit tests, commit betterer results which somehow didn't get autocommitted?! :o

* fix SharedPreferences unit test

* fix remaining unit tests

* fix azure e2e test

* better solution
2025-03-17 12:27:40 +00:00
Jack Westbrook 5cd8547131 Revert "Grafana Data: Use package.json exports for internal code (#102286)
Revert "Grafana Data: Use package.json exports for internal code (#102036)"

This reverts commit 91116de790.
2025-03-17 12:26:59 +00:00
Jean-Philippe Quéméner 1700a8aa9f feat(unified-storage): prune history table based on limits (#101970) 2025-03-17 11:36:38 +01:00
Jack Westbrook 91116de790 Grafana Data: Use package.json exports for internal code (#102036)
* refactor(frontend): rename all @grafana/data/src imports to @grafana/data

* feat(grafana-data): introduce internal entrypoint for sharing code only with grafana

* feat(grafana-data): add test entrypoint for data test utils usage in core

* refactor(frontend): update import paths to use grafana/data exports entrypoints

* docs(grafana-data): update comment in internal/index.ts

* refactor(frontend): prefer public namespaced exports over re-exporting via internal
2025-03-17 11:27:17 +01:00
aishyandapalli 3e5975367c Prometheus: Add SpanID while clicking on TraceID datalink for Exemplar (#101541)
Add Span context to Exemplar data links
2025-03-17 10:14:55 +01:00
Yuri Tseretyan e30034a42a Alerting: Remove feature flag alertingNoDataErrorExecution (#102156)
* remove feature flag

* remove feature flag in state manager

* make sure no data with empty results is handled

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-14 14:51:58 -04:00
Tom Ratcliffe ef9dca9ea3 Alerting: Add UI migration feature toggle (#102217)
Add UI migration feature toggle
2025-03-14 17:40:05 +01:00
Josh Hunt bf172dfd29 GrafanaUI: Add noBackdropBlur feature toggle (#102128)
* Create new noBackdropBlur feature toggle

* Disable backdrop blur with feature toggle
2025-03-14 15:21:35 +00:00
Ashley Harrison 75156324f4 Chore: fix some codeql violations (#101958)
* fix some codeql violations

* just check at start
2025-03-14 13:27:25 +00:00
ismail simsek d72b664981 Feature toggle: Introduce infinityRunQueriesInParallel feature toggle (#102129)
introduce infinityRunQueriesInParallel feature toggle
2025-03-14 13:54:04 +01:00
Laura Fernándezandjoshhunt 38151b1ae4 Combobox: add grouping functionality (#100603)
* Use useOptions in Combobox

* Clean code

* Betterer results

* Add grouping to Combobox

* Fix code after mergin main

* Manage ids

* wip - first pass at improved dom structure for a11y

* improve styling, remove old implementation

* more style!!!!

* more tidy up

* deprecated comment

* another comment!

* tests

* remember the index of each group

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-03-14 13:05:25 +02:00
Andrej Ocenas a6c16c52e6 Scopes: Refactor services and the api client (#102042)
* Externalize api and remove dependency cycles

* fix tests

* Update comment

* Split the state observable creation in ScopesService

* Make the feature flag guard more explicit

* Change reduce to map
2025-03-14 10:48:12 +01:00
Ieva 9264431c81 RBAC: Remove action set feature toggle (#101959)
* remove action set feature toggle

* don't pass feature toggles to action set service instantiation

* linting

* test fixes and frontend clean-up

* fix test
2025-03-13 15:18:23 +00:00
Kristina 2bbd5faf6d Transformations: Include other counts as numbers when assessing field types (#102109)
Distinct count and change count should also always be numbers
2025-03-13 15:39:17 +02:00
Tom Ratcliffe 85a3ae2d07 Chore: Add heuristic approach to fixing untranslated text with eslint rule (#101561)
* Add heuristic approach to fixing untranslated text with eslint rule

* Update logic of how we track and report untranslated strings so we can prevent autofixes

* Update betterer to reflect different reporting of untranslated text

* Move logic for rule to utils and change to suggest instead of fix

* Update tests to cope with suggest instead of fix

* Remove commented out `only`

* Add config to allow force fixing

* Fix type errors and improve shouldFix logic
2025-03-13 13:17:05 +00:00
Josh Hunt d6c97bd6c9 I18n: Add useT/useTranslate PR feedback that got missed (#102098)
I18n: Add PR feedback that got missed
2025-03-13 12:49:49 +00:00
Josh Hunt 50ff1ae69b I18n: Add useT hook for plugin translation API (#102033)
* Create placeholder useT function

* expose useT() in @grafana/runtime

* fix setting useT correctly

* example usage of useT

* rename hook to useTranslate

* fix rename

* remove comment
2025-03-13 13:54:57 +02:00
Matthew Thorning 2c10b35b33 GrafanaUI: Use safePolygon close handler for interactive tooltips instead of a delay (#101871)
* feat: allow configuration of interactive tooltip delay

* add comment explaining interactiveDelay prop

* switch approach to using `safePolygon` close handler instead

* remove unnecessary object spread from Tooltip component
2025-03-13 11:14:29 +00:00
d07b1851c7 Dynamic dashboards: Persist conditional rendering (#102022)
* Dashboards: Add conditional rendering

* Updates

* Fixes

* Code improvements

* Code improvements

* limit condition choices, add delete and clean up ui

* add basic variable condition

* add conditional rendering based on time range interval

* adjust failing test

* remove deprecated pseudo locale file

* extract conditional rendering from behaviour to state property

* clean up behaviour initialisation

* clean up ts errors

* adjust data condition to account for RowItem

* persist-conditional-rendering

* fix group value name and kind type

* Fix types in base

* minor style fix

* Fix subscribes

* notify change when deleting condition

* fix hidden row item error

* Remove option to have groups in groups

* fix merge issue

* address comments

* subscribe to panel data change in data condition

* Remove loop labels

* only persist conditional rendering if root group has items

* update backend types

* Serialize variable conditional rendering operator as equals notEquals

---------

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-03-13 11:56:20 +01:00
Tobias Skarhed 9cc6c596af DataSourceHttpSettings: Replace legacy components and remove gf-form usage (#100583)
* Refactor to remove gf-form

* Change Select to Combobox

* Fix label width

* Add translations

* Fix input and translation keys

* Add aria expanded controls to help button

* Fix dsiabled state for Input

* Fix spacing

* Remove unused import

* Fix spacing for tag selectors

* Change gf-form-label to section

* Update addDataSource e2e flow

* Betterer results

* Use new form component

* Update translations

* Add deprecation notice

* Extract translations

* Update betterer
2025-03-13 10:20:20 +01:00
0f45f2696e Dashboards: Add conditional rendering (#100330)
* Dashboards: Add conditional rendering

* Updates

* Fixes

* Code improvements

* Code improvements

* limit condition choices, add delete and clean up ui

* add basic variable condition

* add conditional rendering based on time range interval

* adjust failing test

* remove deprecated pseudo locale file

* extract conditional rendering from behaviour to state property

* clean up behaviour initialisation

* clean up ts errors

* adjust data condition to account for RowItem

* Fix subscribes

* notify change when deleting condition

* fix hidden row item error

* address comments

* subscribe to panel data change in data condition

* Remove loop labels

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-13 08:25:55 +01:00
bfedf0b512 Dashboard: Redirect between v1alpha1 and v2alpha1 depending on stored version (#101292)
* wip: Create a proxy state manager to avoid complexity

* Read path redirecting

* add tests for unified dashboard API

* add tests

* Contemplate both formats in DashboardProxy

* Fix force old

* Fix tests for proxy

* catch errors

* Save as V2 when dynamic dashboard is enabled

* Improve tests

* Remove feature toggle

* Use kubernetesDashboards for e2e suite

* Fix issue when loading snapshots

* Fix typescript errors

* Integrate with backend conversion error

* Remove legacy annotation

* fix snapshot loading; lint

* Add missing hideTimeControls

* fix test

* make setupDashboardAPI to all suites

* refactor getDashboardAPI

* Add tests

* fix DashboardScenePage tests

* fix tests

* fix go tests

* Refactor to understand better the need of transforming to v2 to compare

* Fix detect changes logic

* yes status from schema gen

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-03-12 11:43:32 -06:00
Eric Leijonmarck 94020aa9cd Config: Remove setting editors_can_admin (#101607)
* Remove editors can admin

* delete file

* add ac_test back

* Add linting ignore

* more static ignore
2025-03-12 16:25:23 +00:00