* set minStep value as final step value when set explicitly.
* enhance it with tests
* improve function readability
* a bit more improvement for readability
* add GetClientRegistry to user in integration tests to be able to create resource clients
* replace client in alerting notification api tests to generated by app-sdk
* docs(time-range): document panel level time range pan feature
* docs(time-range-pan): include panel time range in panel viz docs pages
* docs(fix): correct "x" which was probably a placeholder
* Docs: Add pan panel time range (#115102)
* Added content to panel-zoom shared file from panel-pan.md and deleted panel-pan.md
* Renamed file
* Updated overview page and shared file reference in candlestick
* Updated shared file refs in other pages
* Fixed a couple typos
* docs(time-range-pan): reverence only one video of time range panning
* docs(dashboard): amend dashboard common time range controls section
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* unified-storage: save `previous_resource_version` as microsecond timestamp in compat mode
* debug test
* fix test
* fix typo
* Fix misleading var name.
`ms` is typically the abbreviation for millisecond, not microsecond.
* Alerting: Fix and stabilize saved searches E2E tests
Stabilizes the saved searches E2E tests by ensuring correct feature
toggles are enabled and improving the data cleanup logic.
Previously, `clearSavedSearches` relied on clearing localStorage, which
was insufficient as saved searches are persisted server-side via the
UserStorage API. The cleanup now correctly invokes the UserStorage API.
Changes:
- Add `alerting` project to Playwright configuration with authentication
- Enable `alertingListViewV2`, `alertingFilterV2`, and `alertingSavedSearches` toggles in tests
- Update `clearSavedSearches` helper to use UserStorage API for reliable cleanup
- Improve test selectors to use more robust `getByRole` and `getByText` queries
- Update `SavedSearchItem` to merge `aria-label` into `tooltip` for consistency
* Fix saved searchers unit tests
* Show different badge for converted prometheus provisioned resource
* Update contact points and templates to populate provenance
* Update notification policies
* Handle non k8s contact point in ContactPointHeader
* Fix provenance check in enhanceContactPointsWithMetadata
* Update translations
* Fix unused import
* Refactor provenance enum
* Derive provisioned status from provenance in Route type
* Remove unused imports
* Treat PROVENANCE_NONE as no provenance in isRouteProvisione
* Rename KnownProvenance.None to .Empty to avoid confusion
* Change copy text for resources with converted_prometheus provenance
* Derive provisioned status from provenance in GrafanaManagedContactPoint
* Fix linter errors
* Extract helper method to check if contact point is provisioned
* Replace string literal with constant
* Refactor KnownProvenance enum values
Refactored the KnownProvenance enum to better reflect the known provenances defined by the backend.
Also refactored the methods where we assert if a resource is provisioned to better reflect the cases for which a provenance value reflects no provisioning.
A resource is considered not provisioned when the provenance is equal to '', 'none' or undefined.
* Use provenance to infer provenance status for Templates
Refactored useNotificationTemplateMetadata to use only provenance value, and extracted method used to assert if resource is provisioned or not to k8s/utils in order to be more resource agnostic.
* Replace empty string with 'none' for KnownProvenance enum
The empty string valye for provenance gets mapped to the string literal 'none' before being passed down in the api response, therefore we can use only 'none'
* Replace PROVENANCE_NONE with KnownProvenance.None
Replaced the constant PROVENANCE_NONE with the KnownProvenance.None enum value since the values where duplicated
* Fix JSDoc
* Change copy text for ProvisioningBadge
* Add missing tooltip in notification policy badge
* Add missing tooltip in TemplatesTable badge
* fix conflicts
---------
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* feat(cloud-monitoring): add support for Google Cloud universe_domain (#110083)
This change introduces support for Google Cloud's `universe_domain`, enabling connections to sovereign cloud environments with custom API endpoints.
- Adds an optional "Universe Domain" field in the Google Cloud Monitoring data source configuration (frontend and backend).
- Allows specifying a custom API domain (e.g., `s3nsapis.fr`) for use in sovereign environments.
- Defaults to `googleapis.com` to ensure backward compatibility for existing configurations.
Signed-off-by: Andreas Christou <andreas.christou@grafana.com>
* Minor docs update
* Doc updates
* Update editor
* Update docs/sources/datasources/google-cloud-monitoring/_index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Lint
* Review
---------
Signed-off-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* fix(grafana-data): copy theme schema json to types so declaration resolves
* refactor(grafana-data): move node scripts out of source code
* feat(grafana-data): generate types for theme schema
* chore(codeowners): update for grafana-data/scripts file move
* feat(grafana-data): put back copy plugin for theme json files
* revert(grafana-data): remove definition output
* feat(grafana-data): make builds great again
* minor tidy up
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* feat(unified): add bm25 index scoring model
We want try BM25 scoring model since they have global scoring which we can probably re-use for fan-in/fan-out logic
32d98823c4/docs/scoring.md (global-scoring)
* fix(plugins): update plugin test data
* Extensons: Make links use openInNewTab API
* Use openInNewTab api correctly in the UI
* Bump scenes
* Fx circular dep
* test
* Revert "test"
This reverts commit 8784a7992c.
- add new feature flag to support enabling the dispatcher sync timer on the alertmanager
- this attempts to synchronize the flushes across HA nodes to decrease amount of duplicate notifications
---------
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* Alerting: Support backend filtering for folder search
Updates the Grafana managed rules API and filter logic to support
server-side filtering by folder (namespace).
Changes:
- Add `searchFolder` parameter to `getGrafanaGroups` API endpoint
- Map filter state `namespace` to `searchFolder` in backend filter
- Disable client-side namespace filtering when backend filtering is enabled
- Update tests to verify correct behavior for folder search with backend filters
* Add missing property in filter options
* Update tests
* POC ssingle AM
* wip
* add query param ?version=2
* wip2
* wip3
* Update logic
* update badges and tests
* remove unsused import
* fix: update NewReceiverView snapshots to include version field
* update translations
* fix: delegate version determination to backend for new integrations
- Remove hardcoded version: 'v1' from defaultChannelValues
- Reset version to undefined when integration type changes
- Backend uses GetCurrentVersion() when no version is provided
- Update snapshots to reflect version handling changes
- Remove unused getDefaultVersionForNotifier function
* update snapshot
* fix(alerting): fix contact point form issues
- Fix empty info alert showing when notifier.dto.info is undefined
- Fix options not loading for new contact points by using default creatable version
* fix(alerting): only show version badge for legacy integrations
* update tests for version badge and getOptionsForVersion changes
* docs: add comment explaining currentVersion field in NotifierDTO
* Show user-friendly 'Legacy' label for legacy integrations
- Replace technical version strings (v0mimir1, v0mimir2) with user-friendly labels
- v0mimir1 -> 'Legacy', v0mimir2 -> 'Legacy v2', etc.
- Technical version is still shown in tooltip for reference
- Add getLegacyVersionLabel() utility function
- Update tests for badge display and utility function
* Add v0mimir2 to test mock for Legacy v2 badge test
* hasLegacyIntegrations now uses isLegacyVersion
- Accept notifiers array to properly check canCreate: false
- No longer relies on version string comparison (v1 check)
- Uses isLegacyVersion for consistent legacy detection
- Update tests to pass notifiers and test correct behavior
* update translations
* GrafanaBootData: decouple `config.apps` from boot data IV
* chore: changed to openfeature flags eval
* chore: updates after PR feedback
* chore: updates after PR feedback
* chore: copy types to runtime package
* chore: add code ownership
* chore: deprecate in interface too
* chore: add important notice to comments
* chore: deprecate the whole interface