459 Commits

Author SHA1 Message Date
f7eab21f9f Loki: Decouple data source plugin (#107242)
* WIP

* Update yarn.lock

* Align uuid dependency

* Add e2e test and update

* Update cue version

* Fix lint

* Update snapshot test

* Fix test that was importing from coupled module

* Fix lint

* Update public/app/plugins/datasource/loki/package.json

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-06-27 15:09:45 +02:00
498ab849e4 Cue: Add 'Join' variable format (#107129)
Add Join variable format
2025-06-24 18:13:46 +01:00
ecf793ea05 Tempo: Fix TraceQL Search escaping regex queries (#106693)
* Fix for TraceQL Search incorrectly escaping regex queries

* Update test

* Keep existing filter values when adding custom
2025-06-18 12:21:45 +01:00
09e8484bac i18n: rename locale to regionalFormat (#106585)
* locale -> regionalFormat, mirroring #102233

* set up regionalFormat to replace locale entirely

* replace locale with regionalFormat

* update reportInteraction arguments
2025-06-16 21:53:55 +02:00
ffc16ee072 Schema: Change how origin filters are added to AdHocVariable (#106086)
* refactor origin filters schema

* add canary version

* update schema

* fix failing tests

* refactor

* remove autogenerated import

* tests

* maintain only dashboard originated filters

* refactor

* refactor

* Schema: Persist defaultValue for groupBy in schema (#106542)

* persist defaultValue for groupBy in schema

* fix

* type

* refactor

* refactor

* bump scenes
2025-06-16 11:15:00 +03:00
7b70271ce6 New Logs Panel: add syntax highlighting option (#106611) 2025-06-12 20:43:13 +02:00
e33ef2885f Chore: Remove rollup-plugin-dts (#106442)
* chore(packages): remove rollup dts plugin

* build(packages): add rollup copy plugin settings to copy ts declarations to esm and cjs builds

* build(packages): remove copy settings as result doesnt pass attw cli checks

* build(packages): use single types output in dist/types directory

* ci(packages): update prepare and validate scripts for single type builds

* fix(grafana-schema): copy raw types to dist/esm directory for grafana/scenes support
2025-06-12 15:25:16 +02:00
db83b4ef17 New Logs Panel: font size selector and Log Details size improvments (#106376)
* LogList: create font size option

* LogList: prevent option fontSize bouncing

* LogListContext: fix stored container size bigger than container

* LogList: render smaller font size

* virtualization: adjust to variable font size

* virtualization: strip white characters of at the start successive long lines

* LogList: add font size to log size cache

* LogList: use getters instead of fixed constants

* LogLine: prevent unnecessary overflow calls

* virtualization: strip ansi color codes before measuring

* LogListDetails: adjust size on resize and give logs panel a min width

* LogsPanel: add showControls as a dashboard option

* virtualization: update test

* virtualization: add small test case

* processing: update font size

* LogListControls: update test

* Extract translations

* Logs Panel: enable controls by default

* LogListContext: update mock

* ControlledLogRows: add missing prop

* LogLine: remove height ref

* LogList: dont touch the debounced function on successive calls

* LogLine: update test

* LogsPanel: make controls default to false again

* LogsPanel: make controls default to false again

* LogLineDetails: fix height resizing and make close button sticky

* LogLine: memo log component

* LogLineDetails: fix close button position

* New Logs Panel: Add Popover Menu support (#106394)

* LogList: add popover menu support

* LogList: test popover menu

* Chore: remove unnecessary optional chain op

* LogLinedDetails: fix close button position with and without scroll
2025-06-10 09:59:01 +00:00
b3596e8c72 New Logs Panel: Render new panel using the current visualization (#105968)
* LogsPanel: integrate new panel via feature flag

* Log Line: move sampled/errors/deduplication count outside of log line body

* LogList: increase overscan count

* Logs Panel: enable deduplication for infinite scrolling

* Logs Panel: remove margin overflowing drilldown

* Logs Panel: add missing dependency to effect

* Logs Panel: pass missing callback

* Remove console log

* LogLine: show cursor pointer only when interactable

* LogLineDetails: make resize handler more obvious

* LogsPanel: add missing props to from panel

* LogLineMenu: add support for custom items

* LogsPanel: pass custom menu items to LogList

* Fix imports

* Chore: comments and missing argument

* LogLineMenu: pass log to event listener

* LogListContext: filter log details when no longer present in the new response

* chore: log

* LogsPanel: conditionally show options per feature flag status

* LogLine: align logs when some of them are sampled or with errors

* Chore: update tests

* LogLineMenu: test custom options

* LogsSamplePanel: show controls

* LogsPanel: move return after hooks to prevent bugs
2025-06-01 14:29:49 +02:00
0b8252fd7c Pyroscope: Annotation support for series queries (#104130)
* Pyroscope: Add annotations frame to series response

* Adapt to API change, add tests

* Run make lint-go

* Fix conflicts after rebase

* Add annotation via a separate data frame

* Process annotations fully at the datasource

* Add mod owner for go-humanize

* Pyroscope: Annotations in Query Response can be optional

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-05-28 10:42:19 +02:00
4f18ad30c9 SchemaV2: Remove legacy rows from schema v2. (#105238)
* save transparent setting

* make sure we test both transparent and non transparent

* no more legacy rows

* schema changes

* Add testing, fix first row offset

* Remove legacy row from transform test

* Remove panel that's not present in layout

* Remove expects after removing the row, fix lint issues

* Remove unused commit

* update codegen

* update openapi snapshot

* Fix snapshot

* add missing default prop

* Fix repeating, fix first row, fix not flushing last row

* Use correct repeater

* fix lint, remove unused empty check

* update codegen

* update openapi test snapshot
2025-05-26 14:33:30 +02:00
5cee301e75 GroupByVariable: Add support for default values in schema (#105518)
* update schema

* update schema

* refactor property to singular naming

* bump scenes

* leave scenes to caret version

* add defaultValue to groupBy model

* typo
2025-05-23 01:13:52 +03:00
9308f86d63 New Logs Panel: Add Log Details support (#105609)
* Log list: add onclick listener

* LogListContext: add basic details support

* LogLineDetails: create component

* Address lint issues

* Log Details: make resizable and store size

* LogListModel: add sampled and error support

* LogDetails: pass more required props

* LogLineContext: add interactive callbacks support

* LogLineDetails: pass interactive callbacks

* LogList: pass displayedFields callbacks

* LogLine: move click listener

* LogLineMenu: support showing details

* LogLine: move onclick listener

* LogListContext: remove displayedFields intermediation

* i18n

* LogListContext: abstract details shown function

* LogLine: visually show expanded lines

* LogDetails: remove min width for labels

* LogLineDetails: add close button

* LogList: add extra wrapper to get width

* LogLineDetails: update logs size on resize

* virtualization: update to new width reference

* LogLine: check overflow on every re-render

* LogList: debug virtualization when resizing

* LogLineDetails: make it scrollable

* LogListContext: make detailsWidth not undefined

* Update tests with new attributes

* LogLine: update collapsed state with container changes

* LogLine: move cursor property to clickable styles

* LogList: fix height recalculation when display options change

* Logs: fix feature toggles support

* Logs: more feature toggles adjustments

* Lint

* LogLine: support duplicates, hasError, and isSampled

* Logs: debug feature flag combinations

* i18n

* Prettier

* New Logs Panel: generate storage key for dashboards

* Explore Logs: fix filtered levels

* Logs Sample: integrate new panel

* LogLine: fix unwrapped logs

* Fix test

* Update test

* Logs panel: update test

* Prettier

* LogLine: update tests

* LogLineMenu: update test

* LogList: update unit test

* processing: update test

* virtualization: update unit test
2025-05-20 20:28:35 +03:00
b1a6860f52 Dashboards: Schema V2 - Rename Annotations 'options' to 'legacyOptions' and Fix stale props (#105266)
* Rename Annotations 'Options' to 'legacyOptions'

* use new legacyOptions in StandardAnnotationQueryEditor

* use new legacyOptions in transformSaveModelSchemaToScene

* use legacyOptions in transformSceneToSaveModelSchemaV2

* Fix bug with ds query editors not taking the latest state

* update snapshot
2025-05-20 17:55:30 +02:00
03f1bb950b DashboardSchemaV2: add missing allowCustomValue property in variables (#105416)
* add missing allowCustomValue property to variables in schema V2

* fix K8s Codegen Check

* updade snapshots for backend tests
2025-05-20 11:50:46 +01:00
b886093fe6 Azure Monitor: Support request timeout configuration (#105487)
Support request timeout configuration
2025-05-16 11:53:13 +01:00
afc0fd39ac Dependencies: Unpin and bump github.com/getkin/kin-openapi from v0.126.0 to v0.132.0 (#105185) 2025-05-12 14:59:51 +02:00
f7216db6bc Chore: bump version to 12.1.0-pre (#104468)
bump version to 12.1.0-pre
2025-04-24 15:47:14 +01:00
faa33e30a9 Schema: Add origin property to AdHocFilterWithLabels (#104320)
* add origin to AdHocFilterWithLabels

* typo

* fix

* use singular for FilterOrigin

* run ./hack/update-codegen.sh

* add canary scenes to verify typechecks

* update dashboard schema json snapshot

* fix

* fix

* update canaries

* fix

* bump scenes version
2025-04-24 11:13:17 +03:00
b09d79b21c K8s/Dashboard: Promote from alpha1 to beta1 (#104009) 2025-04-23 20:54:35 +03:00
592c7a0b3c Log Controls: Allow plugins to use Log Controls (#104237)
* Logs Panel: add showControls option

* Make showControls optional

* Logs Panel: expose storage option

* Controlled log rows: allow table props to be possibly undefined

* Logs panel: expose controlled options change callback

* Logs panel: pass new callback

* Logs Panel: pass the correct field callbacks

* LogListControls: disallow unique labels in apps

* LogListControls: allow to filter by unknown level

* LogListControls: fix wrong aria-pressed state

* LogListControls: hide overflow

* ControlledLogRows: make scroll auto

* Controlled Logs Panel: forward scroll ref

* chore: generalize isCoreApp

* Formatting

* LogListControls: update test

* Logs Panel: make sure tests pass with and without controls

* formatting

* Losg Panel: add comments for the new options

* Log list controls: Add comment
2025-04-23 15:01:49 +01:00
c47ab101d1 Dashboards: Add Dashboard Schema validation (2) (#103844)
* Activate schema validation and align underlying systems

* update to save as v0 if not the right schema version

* Resolve merge conflicts

* Move RequireApiErrorStatus to tests package

* Add mutation tests

* Fix lint

* Only do min version check if dashboard is v1

* Fix lint and disable provisioning test

* Revert provisioning changes

* Revert more tests and add schema test

* Reran gen

* SQL Dashboard save

* Adjust APIVERSION

* Fixed mutation test

* Add logging on downgrade

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-11 23:05:41 +02:00
6933829ce2 Dashboard Schema V2: Import Dashboard (#102375)
* WIP: Working import

* wip

* remove model

* wip

* working

* remove console.logs

* fix

* remove

* remove uid field as v2 spec doesn't have uid

* clean up reducer

* revert arrow func

* support upload
2025-04-11 12:18:48 -06:00
35e78feffa Dynamic Dashboards: Add repeats for tabs (#103348) 2025-04-11 13:50:44 +03:00
2f60d54648 Dashboard: Schema V2 - Fix annotations losing queries (#102951)
* Fix annotations losing queries when saving v1 with dynamic dashboards enabled

* Add extra options property to the DashboardAnnotationQuerySpec to catch all field datasource-specific properties

* Add options to the v2Alpha1 schema and run make gen-apps

* Add unit test and clean up console.logs

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-04-09 18:51:51 +02:00
06c83f7d4d New Logs Panel: Add LogListControl component (#102359)
* LogListNavigation: create component

* LogListNavigation: make it optional

* Refactor Navigation into Controls

* Explore Logs: hide old panel options

* LogListControls: add more controls and apply new styles

* LogListControls: update width

* Remove console log

* LogList: wrap component in context

* LogListContext: make it stateful

* LogListControls: connect with context

* LogListContext: sync displayed fields

* LogListContext: add syntax highlighting control

* LogLine: improve color with highlighting off

* LogListControls: improve button styles

* LogListControls: add sort order option

* LogListControls: add dedup strategy

* LogListContext: sync prop changes with state

* LogList: add option change callback

* LogListContext: sync external changes only when showControls is disabled

* LogListContext: unify sync effect

* LogListControls: improve buttons active css

* LogListContext: add optional storage support

* LogList: make syntaxHighlighting and read from store or default to true

* LogsPanel: add support for new options

* Generated file

* Update tests

* New Logs Panel: add showControls option

* LogList: make eventBus optional

* LogsPanel: expose syntaxHighlighting

* LogsPanel: expose grammar to plugins

* Remove incorrect legacy file

* LogListControls: allow options change with controls enabled in panel editor

* LogLine: apply no-highlighting class to ansi wrapper

* LogListControls: add frontend level filtering

* LogList: filter by filterLevels

* LogListControls: allow filterLevels in dashboards

* LogLine: update unit tests

* LogLineMenu: update unit test

* LogListControls: add unit test

* Revert

* LogList: add unit test

* LogList: add onLogRowHover support

* LogList: test hover events

* LogsPanel: add unit test

* LogLine: use theme color for errors

* LogLine: minor tweak to hover state

* Chore: fix test case name

* LogListControls: add border

* LogListControls: prevent default on wrap toggle click

* LogLine: switch info and debug colors

* ContentOutline + LogControls: sync displayed levels and minor outline improvements

* LogListContext: sync with external filterLevel changes

* Logs: work with arrays of LogLevel and not plain strings

* Fix type

* LogListControl: increase controls size
2025-04-04 14:53:12 +02:00
0e1cb44ad9 Dynamic Dashboard: Redesign conditional rendering [2] (#103112) 2025-04-02 20:50:36 +03:00
15330c3e66 NodeGraph: Add node graph algorithm layout option (#102760)
* Add layout buttons

* Add config for node graph panel

* Tests

* Update test

* Updates

* Move grid button and cache nodes

* Remove limit and add warning

* Update default
2025-04-02 15:56:22 +01:00
17d089d38a Schema V2: Use App SDK generated types (#103100)
* Use App SDK generated types

* Move examples

* Merge fix

* PAth updates
2025-04-02 16:22:24 +02:00
3b73ebb210 Azure Monitor: Add logs query builder (#99055) 2025-04-02 08:15:25 -06:00
4ad0492d3d i18n: Add locale to backend (#102233) 2025-03-31 15:59:07 +02:00
9094c73e33 Chore: Rename responsive grid -> AutoGrid (#102959)
* Rename ResponsiveGrid -> AutoGrid in schema

* Rename responsive grid in code

* fix accidental removal of generation

* fix i18n

* fix backend conversion

* run ./hack/update-codegen.sh
2025-03-27 12:16:47 +01:00
e95cd04b25 Dynamic dashboards: Add missing row props to schema (#102859)
* Add missing row props to schema

* Fix test, add tests

* Fix renaming that was done by auto refactoring
2025-03-26 14:49:28 +02:00
c68234f7e7 Add Makefile targets for generating dashboard app code and update it to SDK v0.35.0 (#102796)
* Update dashboard app to use app SDK v0.35.0

What

This change updates dashboard app to use app SDK v0.35.0 and adds new
Makefile target for running codegen for all apps, in opt-in manner.
Currently only dashboards app is opted in.

Additionally, this changes dashboard app Makefile to properly install
and update app SDK versions when generating code, with app SDK version
pinned in the Makefile itself.

Why

The upgrade addresses issues with `DeepCopy` methods, while the Makefile
targets ensure that codegen is easy to run and uses reproducible
environments.

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

* Run make update-workspace

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

* Fix deepcopy methods

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

* Re-run CUE codegen to satisfy the CI

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

* Run make update-workspace

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

* Update to v0.35.1

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

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-26 10:49:52 +02:00
dc922717dc Dashboard: Auto grid options (#102374)
* Dashboard: Auto grid options

* Update

* Fix

* update trans

* Update cue

* Fix persisting auto grid options (#102744)

* Fix persisting auto grid options

* Update i18n

* fix serializer test

* update schema

* reset dashboard_object_gen.go files, run update-codegen.sh

* rename in code

* rename height fill in schema

* rename heightFill fillScreen in code

* fix test

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-25 16:40:28 +01:00
dfe2af9559 Tempo: Remove aggregate by (#98474)
* Remove aggregate by

* Update betterer

* Run toggles test

* Add back group by in schema so it can be checked for

* Show error if group by

* Update error message

* Allow user to remove the group by from the query

* Fix assertion

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-03-24 09:17:32 +00:00
674d81d7ee Chore: Bump version of front-end modules to 12.0.0-pre (#102615)
---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-03-21 17:35:55 +02:00
8a8b1a0743 DashboardScene: Take selected object into account when adding objects (#102423)
* Dashboard: Add object to selected object

* Try not to nest rows

* Update

* Update

* rows in rows, tabs in tabs

* Update schema to allow nested rows and nested tabs

* fix lint issue

* reset v2alpha1 types from main

* reset dashboard_object_gen.go to main

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-21 14:28:44 +01:00
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
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
ea89a68028 K8s/Dashboards: Generate Dashboards k8s APIs using Grafana App SDK (#99966)
* Generate Dashboard kinds with `grafana-app-sdk`

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

* Hack together a fix for invalid TS codegen for v0 & v1

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

* Address Go linter issues

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

* Address TS linter issues

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

* Add new app to CODEOWNERS

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

* Fix a couple of issues detected by tests

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

* Update OpenAPI definitions and test files

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

* Remove title from Dashboard v1alpha1 spec

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

* Remove unused CUE schemas

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

* remove unrelated files

* allow any in the generated betterer

* Add a comment explaining why we don't use deepcopy-gen

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

* Default to v2alpha1 if dashboards v2 FF is enabled

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

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-03-11 13:00:37 +02:00
d8da2061fc Grafana/schema: trigger new canary release (#101672)
docs(schema): add installation instructions to trigger release
2025-03-06 09:51:19 +02:00
bf9a34f2ca TimePicker: Ability to manually specify quick ranges (#101465)
* add quickRanges to scene model transforms

* add test for quickRanges transformations

* fix lint
2025-03-04 10:45:24 +00:00
859c12bbb4 Grafana UI: Expose unstable entrypoint (#97080)
* feat(grafana-ui): build unstable entrypoint for experimental components

* feat(plugins): expose grafana/ui/unstable

* build(grafana-ui): add rollup plugin to create alias package.json for unstable entrypoint

* build(packages): rewrite prepare npm script to generate alias packagejson files

* chore(packages): use relative paths in publishConfig for exports generation

* chore(frontend): move npmcli/package-json package to root package.json

* revert(grafana-ui): remove rollup plugin for generating alias package.json files

* chore(grafana-ui): clean up unstable directory postpack to prevent yarn lock issues

* build(packages): fix scope for pkgName usage

* feat(packages): create separate cjs and esm builds that validate with arethetypeswrong cli

* chore(yarn): refresh lock file

* fix(packages): make sure alias package.jsons point to existing files
2025-03-04 09:55:41 +01:00
21be5e3f45 Dynamic dashboards: Repeat responsive grid items (#101291)
* repeat responsive grid items

* fix stuff from feedback

* Simplify repeat dependency, fix locale stuff
2025-02-27 15:11:42 +01:00
eca045bc11 Build: Reduce repetition in rollup configs (#93916)
* build(packages): add extendable pieces of rollup config

* build(packages): rewrite rollup configs to make use of extendable parts
2025-02-25 09:11:09 +01:00
855eadcabd Dashboards: Tabs layout persistence (#100485)
* Tabs layout persistence

* fix lint issue

* Add tests, add tabs serializer to registry

* Fix deserialize tabs

* more tests

* tab item title optional

* change TabItemKind -> TabLayoutTabKind

* add tests for tabs serializer

* fix name in test

* Fix test after renaming tabs
2025-02-17 12:50:26 +01:00
b814f1628f New Logs Panel: Add infinite scrolling support (#99773)
* Create Infinite Scroll wrapper component

* Logs list: refactor event subscriber

* Infinitely load logs

* Move renderer to Infinite Scroll component

* Implement infinite scroll state

* Switch internal implementation to use the existing infinite scrolling component logic

* Integrate with logs panel

* Move scrolling management to infinite scrolling component

* LogList: change subscription dependency to prevent unnecessary runs

* Infinite scroll: remove autoscrolling

* Logs Panel: fix dependencies to prevent re-renders on refresh

* Infinite scroll: introduce pre-scroll state

* LogList: expose initial log position prop

* Infinite scroll: less work on scroll and autoscroll behavior

* Remove console

* Fix imports

* Add infinite scroll translations

* Fix imports

* Add visual delimiter for new pages and increase gap

* Remove log

* Chore: rename interface to LogListModel

* Hover: decrease opacity

* Fix no-logs state

* Prettier

* Infinite scroll: move scroll delimiter

* Load more message: make it clickable
2025-02-14 13:52:34 +02:00
9ad6653871 Dashboard Schema V2: Improve diffing (#100022)
* improve diffing

* define dash spec props a-z

* Fix

* sort deep initialSaveModel

* update tests

* Fix test, description, and query ds issues

* Fix seralizer test

* response transformers

* skip panelMerge tests
2025-02-13 07:20:17 -07:00
d1dee968c3 Schema V2: Adjust quick_ranges in time settings and remove time_options (#100135)
* adjut quickRanges type in v2

* clean up unused time_options property

* remove deprecated time_options property on time picker

* add schema migration for time_options

* adjust test
2025-02-12 19:23:09 +00:00