Navigation: Prevent app crash when importing a dashboard with a uid of `home` (#59874)
* change home id to be more unique, refactor so that home circular reference is never created
* prefix starred dashboards
* update reducer
(cherry picked from commit a589929c92)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Login: Fix failure to login a new user via an external provider if quota are enabled (#60015)
* Login: Fix failure to login a new user via an external provider if quota are enabled
(cherry picked from commit 341d7b01ee)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60026)
Before this change, the alerting provisioning system incorrectly used
the QuotaTarget to check if alerting's request quota had been reached.
The quota service requires the QuotaTargetSrv, which is what's
registered with the service at startup time. This is leading to errors
in the provisioning system.
(cherry picked from commit e6743a7e9a)
Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59952)
ServiceAccounts: Fix warnings about secret scanner when scanner is disabled
(cherry picked from commit d833031726)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
DataSourcePermissions: Handle licensing properly for ds permissions (#59694)
* RBAC: add viewer grand if dspermissions enforcement is not enabled
* RBAC: Change permissions based on role prefix
* RBAC: Add option to for permission service to add a license middleware
* RBAC: Remove actions from query struct
(cherry picked from commit 6d1bcd9f40)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#58079)
* RBAC: Handle edge case where there is duplicated acl entries for a role
on a single dashboard
(cherry picked from commit 6aaf36776b)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Alerting: Fix swallowing of errors when attaching images to notifications (#59432)
* Break out image logic and add logging
* Attach alert log context to image attachment
* Fix capitalization
(cherry picked from commit 1481ace528)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
User: Optimize signed in user cache management (#59090)
* only access the cache if a user ID is set
* ignore all negative values
(cherry picked from commit d7a652ff7f)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Internationalization: Enable internationalization by default (#59204)
* Enable internationalization feature flag by default
* Change i18n feature to beta
* Set i18n feature flag to stable
* update features
(cherry picked from commit ba0ac08465)
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (#58819)
* simplify usePageTitle logic a bit
* use buildBreadcrumbs logic in usePageTitle
* always add home item to navTree, fix some tests
* fix remaining unit tests
(cherry picked from commit 824a562b03)
Navigation: use correct id to find cloud access policies page (#59123)
use correct id to find cloud access policies page
(cherry picked from commit 8761a71da2)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Alerting: Support Prometheus durations in Provisioning API (#58293)
Provisioning API should support Prometheus durations
(cherry picked from commit 57d6adbc7c)
Co-authored-by: Bart Peeters <birtpeeters@hotmail.com>
Nav: Split Admin into three sections for new IA (#58229)
* start to split admin into two sections
* most of new admin nav implemented
* landing pages
* hide admin for non-admins
* update admin redirects if not topnav
* clean up
* updated IA for admin (still WIP)
* move plugin pages into correct admin sections
* fix backend unit test
* move correlations into the correct section
* add translations for admin sections
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 5978dc138e)
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Navigation: move connections + integrations to be a top level item (#58902)
* move connections + integrations to be a top level item
* add a test to check we can move apps to the root
* split out movePlugin logic into a separate function
* fix linting
* rename movePlugin -> addPluginToSection
(cherry picked from commit d46e3916a1)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782)
* Add ApprovalForce to AuthCodeOptions
* Extract access token validity check to a function
* Refactor
* Oauth: set options internally instead of exposing new function
* Align tests
* Remove unused function
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 9c98314e9f)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Navigation: rename Grafana Machine Learning to just Machine Learning (#58893)
rename Grafana Machine Learning to just Machine Learning
(cherry picked from commit ac66e14054)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
QueryData: fix header parsing to support expressions (#58826)
fixes#58821
(cherry picked from commit 934fb2f0ee)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* initial implementation for quick add
* add new isCreateAction prop on NavModel
* adjust separator margin
* switch to primary button
* undo changes to plugin.json
* remove unused props from interface
* use a consistent dropdown overlay type
* memoize findCreateActions
* add prop description
* use a function so that menus are only rendered when the dropdown is open
* Component that can cache and extract variable dependencies
* Component that can cache and extract variable dependencies
* Updates
* Refactoring
* Lots of refactoring and iterations of supporting both re-rendering and query re-execution
* Updated SceneCanvasText
* Updated name of file
* Updated
* Refactoring a bit
* Added back getName
* Added comment
* minor fix
* Minor fix
* Merge fixes
* Merge fixes
* Some review fixes
* Updated comment
* Added forceRender function
* Add back fail on console log
* fix: email and username trimming and invitation validation
* Trim leading and trailing whitespaces from email and username on signup
* Check whether the provided email address is the same as where the invitation sent
* Align tests
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
* add db migration at service start time
* make changes for the 3 db
* revert migrator
* fix feature toggle check
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
* Introduce a new feature flag for prometheus buffered client
* Use querydata client as default and put buffered client behind the feature flag
* Remove prometheusStreamingJSONParser feature flag as it is not needed anymore
* Update tests
* Fix unit tests
* Update feature flag description
* Nested Folders: Support getting of nested folder in folder service when feature flag is set
* Fix lint
* Fix some tests
* Fix ngalert test
* ngalert fix
* Fix API tests
* Fix some tests and lint
* Fix lint 2
* Fix library elements and panels
* Add access control to get folder
* Cleanup and minor test change