Commit Graph

44 Commits

Author SHA1 Message Date
Dan83 1ffe3cc486
Forms: Remove gf-form from BasicSettings.tsx (#112310) 2025-10-21 15:50:56 -06:00
Ashley Harrison 7678fc9de1
Chore: convert some class components to functional (#112661)
* convert BigValue to functional component

* convert AbstractList

* Revert "convert AbstractList"

This reverts commit 673c22a81d.

* ignore and deprecate remaining list components

* convert NotFoundDisplay

* convert rectangle

* fix some test components

* convert thresholds.tsx

* convert SpanGraph to functional component

* convert InviteeRow to functional component

* converted InviteesTable to functional component

* convert PanelPluginError to functional components

* convert UserOrganizations

* convert UserSessions to a functional component

* convert UserTeams to a functional component

* convert CloudMonitoringCheatSheet to a functional component

* convert ConfigEditor a react functional component

* convert TestInfoTab to a functional component

* convert DebugPanel to a functional component

* fix types + BigValue story
2025-10-21 17:33:38 +01:00
Ashley Harrison 59dedb387f
Modal: Expose `ariaLabel` prop to use with custom header element (#112668)
add optional aria-label for modal when passing custom header element
2025-10-21 16:09:53 +01:00
Tom Ratcliffe 11235e7153
Accessibility: Improve no-unreduced-motion rule and fix violations (#110304) 2025-10-21 12:46:11 +01:00
Alex Spencer e478ee2e5f
Event Tracking: Add event tracking for expression queries (#110983)
* chore: add event tracking for expressions

* chore: fix lint

* chore: cleanup

* fix: update commenet

* chore: prune suppressions

* feedback

* update events

* chore: more pr feedback

* chore: only add __expr__ query types to event tracking

* chore: make it work with v2 dashboard spec!

* chore: linter!

* chore: tests!
2025-10-20 09:25:43 +01:00
Ashley Harrison bb082f9490
Chore: Change eslint rule to allow jsx utility classes (#112528)
* change rule to allow jsx utility classes

* update suppressions

* actually prune this one...
2025-10-16 16:17:36 +00:00
Todd Treece 30d79476cd
App SDK: Update to v0.47.0 (#112519) 2025-10-16 15:41:41 +00:00
Alex Khomenko bd95659759
Chore: Add noMargin prop to Card components (#110458)
* Chore: Add noMargin to Card components

* Update results

* Update ConfigureCorrelationSourceForm.tsx

* Update AlertsFolderView.tsx

* Update VariableSetEditableElement.tsx

* Update DataSourceCard.tsx

* Update data source lists

* Move betterer rule to eslint

* Update playlists

* Update query patterns

* Update AzureCheatSheet.tsx

* betterer

* Update NavLandingPageCard.tsx

* Update ServerStatsCard.tsx

* Cleanup

* Remove Field rule

* cleanup

* Update suppressions

* upd

* Merge

* lint

* Update public dashboards list
2025-10-16 09:22:03 +03:00
Haris Rozajac d9067b27eb
Dashboard Migrations: V2 - legacy services.filter and graphite panel type (#112282)
* migrate to v2

* Fix tests

* graphite panels should be auto-migrated

* lint

* Provisioning: Fix dashboard export to preserve original API version

* Add error handling for the edge case where conversion fails but no
storedVersion is available.
2025-10-15 10:34:12 -06:00
Ashley Harrison 7e6d2514ef
Storybook: Ignore storybook body when checking scrollable regions a11y (#112423)
ignore storybook body when considering if scrollable regions are focusable
2025-10-15 13:35:55 +01:00
Ashley Harrison 77b6271423
Checkbox: Improve accessibility of the `indeterminate` state (#112388)
use indeterminate instead of aria-checked
2025-10-15 13:35:44 +01:00
Ashley Harrison c9af4ebb09
Chore: Add lint rule preferring functional components, suppress existing violations (#112377)
add lint rule preferring functional components, suppress existing violations
2025-10-15 10:58:21 +01:00
Haris Rozajac 01c4cb1fac
Dashboard Migrations: V4 - no-op and clean up dead code from DashboardMigrator.ts (#112225) 2025-10-14 14:38:31 -06:00
Haris Rozajac 58915bd384
Dashboard Migrations: V7 - nav to timepicker (#112140)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* migrate to v8

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* snapshots

* wip

* fix test

* remove nav when cleaning up defaults

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

* lint

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-10 13:46:52 -06:00
Bogdan Matei f4e7dfe827
Dashboard: Improve static options editors on variables (#110831) 2025-10-10 13:36:37 +00:00
Haris Rozajac 5c815a1733
Dashboard Migrations: v12 - template variables (#110253)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* update

* add context and fix latest version

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* es int

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 13:29:06 -06:00
Haris Rozajac 4d3c5d1550
Dashboard Migrations: V13 no-op, remove 28 and v24 as they are autoMigrations; and remove dead code from DashboardMigrator (#110008)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* add context and fix latest version

* generate snapshots

* v13 should be no-op

* clean up

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 11:14:02 -06:00
Matias Chomicki a64af68955
OTel logs: Move OTel augmented attributes out of the log line to a field (#110901)
* OTel: make attributes a field

* Logs: normalize field names

* chore: remove test

* Translations

* Cleaner approach compatible with "show original line"

* Revert "Cleaner approach compatible with "show original line""

This reverts commit e27c3de4ede5538f12cc8fc27d0aee06906c7792.

* formats: remove scope name from default attributes

* Logs: sync panel state once

* otel formatting: exclude dashboards

* Fix dashboard exclusion

* LogsMetaRow: introduce new reset option for OTel logs

* Translations

* Update test

* Rename constant

* processing: only add otel attributes field for otel logs

* Implement defaultDisplayedFields

* Update translations

* Logs: initialize displayed fields with panel state

* Address lint issues

* LogLine: fix log attributes field title

* Optimization: memo HighlightedLogRenderer

* Otel log attributes: highlight when rendering

* getOtelAttributesField: update

* OTEL_RESOURCE_ATTRS_REGEX: exclude cluster, namespace, and pod

* DisplayedFields: respect syntaxHighlighting state

* chore: revert experimental changes

* chore: use argument

* chore: remove comment

* formats: update tests

* LogList: add integration test

* LogLine: more integration tests

* LogList: more integration tests

* LogList: even more tests

* LogList: add assertion

* processing: update tests

* formats: more tests

* LogLabels: update test

* LogLine: update test

* Prettier

* Logs Panel: add dashboard option

* Translations

* Table: exclude generated field

* LogListContext: invert order of effects

* Explore: remove unnecessary effect

* Explore: unify displayed fields effects

* Remove log

* Rename field

* Update supressions
2025-10-07 11:19:27 +00:00
Tom Ratcliffe 2cbf2c071a
Scopes: Remove a rule of hooks warning from scopes (#112103) 2025-10-07 11:14:36 +00:00
Alex Spencer 92990790ba
Transformations: Add error message during datasource or query error (#110969)
* feat: add message for fields during datasource or query error

* chore: remove unused Select import

* chore: i18n

* chore: fix tests

* chore: empty commit to trigger build

* chore: prune suppressions

* chore: feedback

* chore: i18n extract
2025-10-06 08:13:17 -07:00
Ashley Harrison 2424b1cee9
Slider: Make `inputId` a required param and fix minor a11y violations (#112006)
CodeQL checks / Detect whether code changed (push) Has been cancelled Details
CodeQL checks / Analyze (actions) (push) Has been cancelled Details
CodeQL checks / Analyze (go) (push) Has been cancelled Details
CodeQL checks / Analyze (javascript) (push) Has been cancelled Details
* make inputId a required param for <Slider>, fix a11y violations

* differentiate between slider and rangeslider
2025-10-03 17:35:28 +01:00
Gilles De Mey 43be84076c
Alerting: Migrate `spec.title` and `spec.name` fieldSelectors (#111993)
Migrate `spec.title` and `spec.name` fieldSelectors to use base64URL
encoded `metadata.name` selectors since the `spec` properties aren't
indexed and no longer searchable in the new app platform API.
2025-10-03 16:43:03 +02:00
Paul Marbach 9b722efe57
Table: Fix regression with Filter popup expression selection (#111777) 2025-09-29 23:06:47 -05:00
Sonia Aguilar 37b5b1a03d
Alerting: Remove useRulesSourcesWithRuler for SmartAlertTypeDetector (#111623)
* remove useRulesSourcesWithRuler for SmartAlertTypeDetector

* use useHasRulerV2

* avoid using rule context

* update translations

* update eslint
2025-09-29 23:05:15 +02:00
Tania c952de773d
FeatureToggles: Removed deprecated code (#111750) 2025-09-29 20:05:44 +03:00
Tom Ratcliffe a243259063
Chore: Fix e2e-selectors eslint rule to check for `startsWith` (#111733) 2025-09-29 16:02:34 +01:00
Gilles De Mey 61bf3d9899
Alerting: Use route matching hook (#111028) 2025-09-24 19:01:45 +02:00
Josh Hunt 46adb9a158
AnnoList: Fix annotations not loading when in a repeated row (#111540) 2025-09-24 10:31:19 +00:00
Ivan Ortega Alba a72e02f88a
Fix dashboard migration discrepancies between backend and frontend implementations (use `toEqual`) (#110268)
**Highlights**

* **Single-version migrations**: add `targetVersion` to migrator & model, separate outputs, enforce exact version.
* **Datasource fixes**: include `apiVersion` in tests, empty-string → `{}`, preserve `{}` refs, drop unwanted defaults.
* **Panel defaults & nesting**: only top-level panels get defaults; preserve empty `transformations` context-aware; filter repeated panels.

* **Migration parity**

  * V16: collapsed rows, grid height parsing (`px`).
  * V17: omit `maxPerRow` when `minSpan=1`.
  * V19–V20: cleanup defaults (`targetBlank`, style).
  * V23–V24: template vars + table panel consistency.
  * V28: full singlestat/stat parity, mappings & color.
  * V30–V36: threshold logic, empty refs, nested targets.
* **Save-model cleanup**: replicate frontend defaults/filtering, drop null IDs, metadata, unused props.
* **Testing**: unified suites, dev dashboards (v42), full unit coverage for major migrations.

Co-authored-by: Ivan Ortega [ivanortegaalba@gmail.com](mailto:ivanortegaalba@gmail.com)
Co-authored-by: Dominik Prokop [dominik.prokop@grafana.com](mailto:dominik.prokop@grafana.com)
2025-09-24 12:20:25 +02:00
Tom Ratcliffe 053920b8b7
Dashboards: Migrate DashList panel to use grafanaSearcher (#111274) 2025-09-24 10:35:40 +01:00
Lauren 5c6d33290f
Alerting: Remove unused components (#111320) 2025-09-23 16:39:00 +02:00
Andreas Christou 51d3624bf9
Graphite: Migrate query endpoint entirely to backend (#111138)
* Update query type

* Support metric tank queries

- Update tests
- Appropriately set URL parameter

* Support queries via the backend

- Add the filterQuery and applyTemplateVariables methods
- Separate the frontend query path into its own function
- Ensure format is always json
- Add method for building backend query objects (maintain the existing template replacement logic)
- Fix a bug in metric find queries

* Update tests

* Fix lint

* Update types
2025-09-18 11:14:24 +01:00
Dan83 abcf939a0f
Chore: Remove gf-form from InfluxDB FSQLEditor (#111057) 2025-09-17 15:33:10 +01:00
Tom Ratcliffe 3ea093b596
Folders: Refactor hooks to (eventually) consume app platform `/counts` endpoint (#110894) 2025-09-17 12:46:59 +01:00
Bogdan Matei fd8c7fbc22
Dashboard Datasource: Fix type assertion (#111082) 2025-09-15 15:02:48 +03:00
Andreas Christou df2bb6be0a
Graphite: Backend tag values autocomplete endpoint (#110773)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Support tag values autocomplete

- Remove unused frontend endpoints
- Add types
- Update tests

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint
2025-09-15 11:35:29 +01:00
Tom Ratcliffe 582d1e4f0d
Chore: Remove some unnecessary suppressions (#110942) 2025-09-11 11:55:54 +00:00
Alex Khomenko 995aea281d
Provisioning: Prevent sync if repository is not healthy (#110767)
* Provisioning: Prevent sync if repository is not healthy

* Update alert position

* Lint & i18n

* Improve check

* Update message

* Remove info and add cancel button

* Add spinner

* Fix test
2025-09-11 12:50:26 +03:00
Lauren 53cd0882ed
Alerting: Add extension point for rule view page enrichment section (#110498)
* add enrichment to rule page view WIP

* add Alert enrichment tab to rule view page

* fix to view dummy component

* move rule view enrichment tab to enterprise

* remove better file changes

* remove console log

* add test for enrichment tab

* run yarn i18n-extract

* update directory structure

* remove .betterer.results changes

* Convert React.createElement call to JSX syntax

* revert removed lines

* revert removed lines

* revert removed lines

* fix failing test

* fix lint error

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-09-09 12:33:12 +02:00
Ashley Harrison 7651b7b77e
Chore: Refactor scene hooks outside of class definition (#110181)
* refactor scene hooks outside of class definition

* remove unused import

* restore useMemo

* prune suppressions
2025-09-09 10:31:06 +01:00
Ashley Harrison a95f556e24
Chore: Remove some `any`s (#110661)
* removing some (hopefully) dead code

* fix some more any

* more any fixes

* manually add suppressions

* remove type assertion

* couple more
2025-09-08 16:49:57 +01:00
Yunwen Zheng 24107abea3
SaveProvisionedDashboardForm: Reset dashboard dirty state after provisioned dashboard save (#110571)
* SaveProvisionedDashboardForm: Bugfix when changes are saved, save button still enabled
2025-09-05 12:06:52 -04:00
ismail simsek 5872672042
Prometheus: Properly handle no __name__ case on RawListItem (#110608)
* handle no __name__ case

* lint:prune

* Add nomargin

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-09-05 06:17:51 +00:00
Tom Ratcliffe 55b638ea98
Chore: Move betterer eslint rules to use eslint suppressions (#106267)
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-09-04 10:47:13 +01:00