* TablePanel: Fix JSON tooltip positioning (#24420)
* Fix block element and overflow
* Width not needed
* Add to styles file
(cherry picked from commit f714357fbf)
* Minor UI touches (#24371)
* Justify to alignment in stat
* No stats label in inspect
* Use sentence case in panel names
* typos
* typo
* Typo
* Query -> query options
* prettier
* Transformer -> transform data
* Do not show deprecated plugins in the viz picker
* Update viz picker layout
(cherry picked from commit 63d25944c4)
* Reporting: tzdata is needed for reporting (#24422)
(cherry picked from commit de8c1b9ad7)
* Storybook: Position panel to right (#24429)
(cherry picked from commit 8257633b1d)
* Chore: move dataFramesReceived event to @grafana/data (#24443)
(cherry picked from commit 7e6ac12b9a)
* Explore: Revert QueryRows refactor (#24444)
While query fields should not rely on getting unmounted when the data source changes (and instead react to that change in e.g. componentDidUpdate()), query fields other than PromQueryField still rely on this.
(cherry picked from commit 221042c293)
* Logs: Clicking "Load more" from context overlay doesn't expand log row (#24299)
Closes#24184
(cherry picked from commit 35c097e475)
* Datasource/CloudWatch: Add data links to CloudWatch logs for deep linking to AWS (#24334)
* Datasource/CloudWatch: Fix encoding of CloudWatch Logs deep link URL
* Adds data links to cloudwatch logs responses for deep linking to aws console
* Implements PR feedback
(cherry picked from commit a655aa1ca8)
* OldTable: Make old table options align & look better (#24485)
(cherry picked from commit e333d61b97)
* Buttons: Use text color (#24439)
(cherry picked from commit c671fdbbf8)
* StatPanels: Hide calc option if all values is selected (#24416)
(cherry picked from commit 352f22042c)
* grafana/toolkit: Support paging in cherrypick task (#24402)
* Support paging in cherrypick task
* Update packages/grafana-toolkit/src/cli/tasks/cherrypick.ts
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Update packages/grafana-toolkit/src/cli/tasks/cherrypick.ts
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Do not cherry pick closed PRs
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit c5fc18ac02)
* Reduce Transform: sort order is preserved as entered by user (#24494)
(cherry picked from commit e341d4b26f)
* TimeZone: added e2e tests for the custom time zone support. (#24442)
(cherry picked from commit a521a39ebf)
* CloudWatch/Logs: Add error message when log groups are not selected (#24361)
* Add error message
* Fix empty check
(cherry picked from commit d385045d16)
* CloudWatch/Log: Fix field autocomplete suggestions inside function (#24406)
* Fix autocomplete inside function
* Remove debug log
* Add comment and return type
(cherry picked from commit b16202acc2)
* Editor: No default suggestion selected (#24479)
* QueryField: No default suggestion selected
It's been a long-standing issue that careless typing lead to unwanted
tab completion insertions. With this change the completion item list no
longer selects the first item by default. The user has to actively click
ArrowDown to select the first one.
* Added type export
* Remove width limit of typeahead list
(cherry picked from commit 34f61934a1)
* TablePanel: Fixed persisting column resize time series fields (#24505)
(cherry picked from commit f13a15ae48)
* PluginsList: Remove unused panel options (#24501)
* Remove unused panel options
* satisfy ts
(cherry picked from commit 2e69b86990)
* CloudWatch/Logs: Language provider refactor and test (#24425)
(cherry picked from commit 876011d931)
* Datasource/CloudWatch: Usability improvements (#24447)
* Datasource/CloudWatch: Improve handling of long-running queries
* Datasource/CloudWatch: Make order of dataframe fields consistent
(cherry picked from commit c26374b0b2)
* CloudWatch/Logs: Fix suggestions of fields after comma (#24520)
(cherry picked from commit 2d29997bda)
* GraphLegend: Only display scrollbar if necessary (#24527)
(cherry picked from commit cb74bc6828)
* CloudWatch/Logs: Fix fields not being refetched when log group changed (#24529)
(cherry picked from commit 55533d12fd)
* Datasource/CloudWatch: Switch to metrics mode, logs API, when choosing stats query from cheatsheet (#24398)
* Datasource/CloudWatch: Switch to metrics mode, logs API, when choosing stats query from cheatsheet
(cherry picked from commit ae7f0aeb7a)
* azuremonitor: Deep linking from Log Analytic queries to the Azure Portal (#24417)
* azuremonitor: add gzipped and base64 encoded query to metadata
for Azure Log Analytic query responses
* azure monitor: add fields to metadata for log analytics
* azuremonitor: correction to text in query editor
* azuremonitor: adds subscription id to result metadata
* azuremonitor: build deep link url for Log Analytics
Most of the information needed for building the url
comes from the backend. The workspace friendly name
and the resource group that the workspace belongs
to are fetched in a separate API call. This call is
cached otherwise there would be a workspaces call
per query on the dashboard.
* docs: azure log analytics deep linking
* Apply suggestions from code review
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* docs: fixing review comments for azure monitor
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit 67ed579647)
* Datasource/CloudWatch: Results of CloudWatch Logs stats queries are now grouped (#24396)
* Datasource/CloudWatch: Results of CloudWatch Logs stats queries are now grouped
(cherry picked from commit db91961405)
* PanelEditor: Fixed issue changing a panel from transparent back to normal (#24483)
* PanelModel: Fixed issues with persisting some changes
* Fixed other issues
(cherry picked from commit 5caf7f59e6)
* LabelsToFields: avoid MutableDataFrame (#24493)
(cherry picked from commit c8d3d15292)
* Prometheus: Show results of instant queries only in table (#24508)
* Show results of instant queries only in table, remove them from graph
* Update table model
(cherry picked from commit 143a26769b)
* PanelEditor: Fix so defaults is selected when datasource can't be found. (#24526)
(cherry picked from commit cb4266bae0)
* Graphite: makes query annotations work again (#24556)
(cherry picked from commit 7992f8bfbc)
* azuremonitor: limit macro regex to known macros (#24528)
(cherry picked from commit 64046e9a27)
* TimePicker: fixed so you can enter a relative range in the time picker without being converted to absolute range (#24534)
* fixed so you can enter a relative date in the time range form.
* did some small adjustments to make sure proper value is stored.
(cherry picked from commit 28f54bc2f7)
* Admin Settings: makes long settings line break (#24559)
(cherry picked from commit 74ddfe07a2)
* Update light variable theme for dropdown (#24566)
(cherry picked from commit 67dab0b767)
* UI spelling: use US form of visualization (#24558)
(cherry picked from commit bffa0fa4f6)
* e2e: adds verify release (#24568)
(cherry picked from commit 7d800e7318)
* Search: Save folder expanded state (#24496)
* Search: Save folder expanded state
* Search: Remember expanded state on search close
(cherry picked from commit 0396b220a3)
* Data sources: Don't fail if URL doesn't specify protocol (#24497)
(cherry picked from commit 164242f5fd)
* Security: Tag value sanitization fix in OpenTSDB data source (#24539)
Adds HTML sanitization to the tag value of the OpenTSDB datasource.
Fixes#24537
(cherry picked from commit 125ba95686)
* Field: UI & Code consistency Title -> Display name (#24507)
* Field: Change getFieldTitle to getFieldDisplayNamne and change the NAME of the title field config from Title to Display name
* Review feedback
* fixed unit tests
* Rename fieldConfig.title to displayName
* Fixed tests
* Added migration
* Renamed getFrameDisplayTitle to getFrameDisplayName
(cherry picked from commit 8de10a8b9f)
* Do not set insertText if the same as label (#24581)
(cherry picked from commit 20f0ee2f22)
* Plugins: Fix manifest verification (#24573)
(cherry picked from commit 892f9f789c)
* Search: Safari UI fixes (#24567)
* Search: Add height: 100% to page containers
* Search: Reset TagOption display to block
* Search: Add title to result list
* Search: Use flex-basis vs height
* Search: Remove IconButton
* Search: Do not shrink select options
* Search: Fix hasEditPermissionInFolders
* Search: Update tests
* Search: Fix prop
* Remove select wrapper class
* Update snapshot
(cherry picked from commit 15ac76a47b)
* OrgUsersTable: Fix width when there are long cells in table (#24533)
* Set width for cells and text overflow
* Add title and update snapshot
(cherry picked from commit 0c1f1dd8fd)
* Loki: Allow multiple derived fields with the same name (#24437)
(cherry picked from commit a50cb6aa1f)
* Datasource/CloudWatch: Fixes various autocomplete issues (#24583)
(cherry picked from commit c1919944ea)
* CircleCI: Update grabpl to 0.4.5 in order to include manifest with GEL (#24577)
* CircleCI: Update grabpl to 0.4.5
* GEL: Upgrade version
(cherry picked from commit 824eb94efe)
* CloudWatch/Logs: Make stats hint show consistently (#24392)
(cherry picked from commit 5feef22034)
* Table: fixes Cannot read property subRows of null (#24578)
(cherry picked from commit 2d19c046f2)
* TimePicker: some fixes and polish after testing feedback (#24585)
* make sure we render the delaynow value from dashboard to the time picker settings.
* Added the time zone in the tooltip.
(cherry picked from commit cab066f8ce)
* Onboarding: New getting started panel (#23826)
* image and card component
* change height of getting started panel
* progress
* setup basic step
* advanced steps
* step forward and backward
* do checks
* fix button size
* minor styling on butttons
* add correct links
* save tutorial click in localstorage
* types and gradients
* fix gradients
* use spacing variable
* lots of responsiveness
* add links to help
* Getting started work
* redo according to split panel design
* minor touch ups
* new background images
* split up docs card to different hrefs
* welcome bar touch ups
* hide icon on small screens
* transparent false on welcome banner
* fix urls
* source tag in welcome urls
* move images to panel dir, removed unused images
* Nicer loading message
* make the cards look nicer on wide screens
* append utm tag on render instead
* replace width with margin
* new background image for light
* remove target on a element
* removing buttonselect, add tag to href
* more polishing
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 36fa54a288)
* Chore: Fix strict null errors on getting started (#24605)
* fix strict nulls
* fix typings
(cherry picked from commit 1848900070)
* CircleCI: Upgrade grabpl in order to fix package publishing (#24609)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit 03940c8471)
* Fix Safari Icon alignment (#24610)
(cherry picked from commit 04c75265b5)
* Transformations: Make transform dropdowns not cropped (#24615)
(cherry picked from commit 9e24c0944f)
* Inspect: Allow showing data without transformations and field config is applied (#24314)
* Inspect: Should not subscribe to transformed data
* PQR- allow controll whether or not field overrides and transformations should be applied
* UI for inspector data options
* fix
* Null check fix
* Update public/app/features/dashboard/components/Inspector/InspectDataTab.tsx
* Update public/app/features/dashboard/components/Inspector/InspectDataTab.tsx
* Apply transformations by default
* Update panel inspect docs
* Fix apply overrides
* Apply time formatting in panel inspect
* fix ts
* Post review update
* Update docs/sources/panels/inspect-panel.md
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* lazy numbering
* fix ts
* Renames
* Renames 2
* Layout update
* Run shared request without field config
* Minor details
* fix ts
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit f23ecc40b4)
* Transformers: fix binary operation (#24604)
* check the display name
* remove unchanged line
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 97e2837d7c)
* SharedPreferences: fixes so UI Theme can be set back to Default (#24628)
(cherry picked from commit cd9cbe5e16)
* Datasource/CloudWatch: Prevents hidden dataframe fields from displaying in tables (#24580)
* Datasource/CloudWatch: Prevents hidden dataframe fields from displaying in tables
(cherry picked from commit 277aee8642)
* Datasource/CloudWatch: Correctly interpolate variables in CloudWatch Logs queries (#24619)
Closes#24603
(cherry picked from commit bfd337dd00)
* Explore: Fix rendering of react query editors (#24593)
* Fix rendering of react query editors
* Refactor solution for improved readability
* Update
* Add test coverage
* Refactor
(cherry picked from commit 285ea7595d)
* CloudWatch: Don't assume that errors are awserr.Error instances (#24641)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit 8e5a3a578a)
* Zipkin: Fix error when span contains remoteEndpoint (#24524)
(cherry picked from commit 0f964c0214)
* Templating: fixes so Textbox variables get value from url (#24623)
(cherry picked from commit 622246d56d)
* Templating: fixes filtering options with more than 1000 entries (#24614)
* Templating: fixes filtering options with more then 1000 entries
* Chore: reduces strict null errors by 2
(cherry picked from commit 083a2ce220)
* PanelEdit: Make sure side pane is displayed with tabs by default (#24636)
* Make sure side pane is displayed with tabs by default
* Update e2e tests for
(cherry picked from commit f769ed035d)
* @grafana/ui: Update RadioButtonGroup documentation (#23143)
* Add "When to use" info to RadioButtonGroup.mdx
* Clarify more clearly when to use 'Select' instead
* Update RadioButtonGroup.mdx
Add line explaining why we want select for more than four options instead of a radio button group
* Update RadioButtonGroup.mdx
remove part about when elements are triggering changes.
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
(cherry picked from commit f1386c7892)
* Search: Fix select item pressing enter 404 (#24634)
* Remove appSubUrl for navigation
* stripBaseFromUrl
* Remove unused imports
(cherry picked from commit 37a2ac20c3)
* @grafana/ui: Buttons documentation (#23144)
* Add info: when to use which and how to mix buttons
* Update description for Button.mdx
- add note about scenario without primary action
- add note about secondary button being the default
* Refine docs info for secondary and destructive
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
(cherry picked from commit 54a90166a5)
* Datasource Config: adds back correct styles for autofill fields (#24671)
(cherry picked from commit 9481b7bcf2)
* Changelog and Readme: Update packages to beta and add Select breaking change (#24670)
(cherry picked from commit 85ae144a87)
* Orgs: Add future deprecation notice (#24502)
* Orgs: Fist draft of orgs deprecation infobox
* adds warning about potentially deprecating orgs (#24512)
* Updates
* Fixed ts issue
Co-authored-by: Carl Bergquist <carl@grafana.com>
(cherry picked from commit 2f22781cd8)
* Provisioning: Use proxy as default access mode in provisioning (#24669)
fixes#24591fixes#19501
(cherry picked from commit 7610d5717a)
* Fallback to process.cwd() when PWD is not present (#24677)
Fixes#24582 - Error running yarn dev command
(cherry picked from commit 660f2b4e99)
* SaveDashboard: Allow editing provisioned dashboard JSON and add confirmation when JSON is copied to dashboard (#24680)
(cherry picked from commit cfac591234)
* Units: adds scale symbol for currencies with suffixed symbol (#24678)
(cherry picked from commit 51509bb2ff)
* CloudWatch/Logs: Fix panic on multiple aggregations queries (#24683)
(cherry picked from commit c60765a178)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
* Docs: Updated instructions on screens for Dashboard Import (#24584)
* change text and image links
* Review feedback
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* uppercase JSON
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit abfa1b5d74)
* CloudWatch: Unify look of query mode select between dashboard and explore (#24648)
(cherry picked from commit e754bcdcf9)
* Datasources: fixes async mount errors (#24579)
* Chore: updates Elasticsearch DataLinks test async wrapper mount
* Chore: updates Loki DervidedFields test async wrapper mount
* Chore: fixes typecheck issues
* Chore: small strict-null fix
(cherry picked from commit e11504dcd2)
* Editor: New line on Enter, run query on Shift+Enter (#24654)
* Editor: New line on Enter, run query on Shift+Enter
- default Enter behavior on query editor fields should be a new line
- special behavior should require a special key: running a query is now
done on Shift-Enter
- Plugins order had to be changed because when typeahead is shown, Enter
is accepting the suggestion
* Run with ctrl-enter, hint in query placeholder
* Fix Kusto field behavior for Enter
* Fix Kusto field behavior for default suggestion
(cherry picked from commit 01bbcf4eea)
* Add deprecation note about the unofficial first version of backend plugins (#24675)
(cherry picked from commit 0c8ee5b2c9)
* CloudWatch/Logs: Fix autocomplete after by keyword (#24644)
(cherry picked from commit 2b9cc8ba30)
* TablePanel: Do not include angular options in options when switching from angular panel (#24684)
(cherry picked from commit c59f5436c0)
* Datasources: fix pre styles (#24687)
(cherry picked from commit 7fbed90b89)
* @grafana/ui: Checkbox docs (#23141)
* Add "When to use" info to Checkbox.mdx
Added info about how checkboxes generally work and when to use another component instead.
* Replaced words with proper component names
* Update Checkbox.mdx
Elaborate on explanations. Add examples for how to use checkboxes the user-friendliest way.
* Apply suggestions from code review
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 405145fdd3)
* Logs: Fix total bytes process calculation (#24691)
- log stats for Loki are per query
- this change tracks the query stats by refId, preventing the summing of
the same stats across multiple series of the same response.
(cherry picked from commit 25e1238022)
* Strict null fixes: updates return type of getMessageFromError, fixes QueryOperationAction props (#24690)
* Chore: updates getMessageFromError return type
* Chore: updates the position of incorrectly placed bang operator
* Chore: updates typing on dropdown typeahead directive
* Chore: updates QueryOperationAction props to require title
* Revert "Chore: updates QueryOperationAction props to require title"
(cherry picked from commit ee12f5e742)
* Docs: Panel inspector release highlights (#24686)
* Add Panel inspector highlight
* Update CHANGELOG.md
* Update CHANGELOG.md
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit e4cbeb5cb3)
* Explore: fixes loading more logs in logs context view (#24135)
(cherry picked from commit d3a8f6d026)
* Datasource/CloudWatch: Handle invalidation of log groups when switching datasources (#24703)
(cherry picked from commit 1b29d3460e)
* PanelInspect: Make header names reflect the field name in the exported CSV file (#24624)
* fix header names and filename
* use panel title as filename
* add frame argument
* escaping double quotes
* wrapping header name in quotes
* Fix replace
* Add test for csv double quotes escaping
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit bf1e5aa16c)
* CloudWatch/Logs: Fix query error when results are sparse (#24702)
(cherry picked from commit bc8c05137b)
* Datasource/CloudWatch: Allows a user to search for log groups that aren't there initially (#24695)
Closes#24554
(cherry picked from commit 0e8638ec92)
* Transform: fixes so we match the field based on the proper name. (#24659)
* fixes so we match the transformer based on name properly.
* changed the signature on the FieldMatcher.
* introduced a names option so you can filter in name specificly.
* changed so the matcher UI uses the new options format.
* moved the exported functions together.
* changing editors a bit.
* made the filter by name work with both regex and name filtering.
* fixed failing tests and make sure we always parse regex the same way.
* removed unused code.
* simplified to make the existing field overrides still working.
* fixed issue reported by hugo.
* added tests for the name matcher.
* added tests for filter by name.
* added more tests.
(cherry picked from commit 96f26cbd5b)
* Fix: changing so we are using date/time values in UTC during test. (#24707)
(cherry picked from commit 98d5633601)
* Docs: generated a 7.0 version of the packages reference docs. (#24708)
* fixes so we match the transformer based on name properly.
* changed the signature on the FieldMatcher.
* introduced a names option so you can filter in name specificly.
* changed so the matcher UI uses the new options format.
* moved the exported functions together.
* changing editors a bit.
* made the filter by name work with both regex and name filtering.
* fixed failing tests and make sure we always parse regex the same way.
* removed unused code.
* simplified to make the existing field overrides still working.
* fixed issue reported by hugo.
* added tests for the name matcher.
* added tests for filter by name.
* added more tests.
* generated new version of the packages docs.
* fixed spelling error.
* regenerated the docs.
(cherry picked from commit 6a0abf895e)
* Query: do not require datasource name and id (#24718)
(cherry picked from commit b73d237bf8)
* Metrictank: Fixed updated schema and dedupe strategy (#24685)
* Metrictank: Fixed updated schema and dedupe strategy
* revert schema change
* fix
(cherry picked from commit 7fcf2615e1)
* Release 7.0.0
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
* CircleCI: Upgrade build pipeline tool
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: David <david.kaltschmidt@gmail.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Rotem Reiss <reiss.r@gmail.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
Co-authored-by: Jess <53754871+jessover9000@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl@grafana.com>
Co-authored-by: Lukas Siatka <lukasz.siatka@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Allow API to assign new user to a specific organization
* Add defer block to test
* Add API tests and return 400 instead of 500 for bad orgId
* Minor test improvements
* Show organization popup in alphabetical order
* GetUserOrgList: Sort organizations by name in API
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* AlertNotifications: Translate notifications IDs to UIDs in alert Rule builder
* Avoid shadowing errors, raise validation error on non-existing notification id
* create a cache for notification Uids to minimize db overhead
* add cache usage test
* avoid caching empty notification Uids
* isolate db in alert notificationUid caching tests
* Stats: add active user count query
* License: add info in settings
* Stats: Retrieve active users stats for different roles
+ Clean files and tests
* Stats: add dialect.Quote in queries
* Stats: improve tests (require instead of assert)
* Stats: improve tests (require instead of assert)
This feature would provide a way for administrators to limit the minimum
dashboard refresh interval globally.
Filters out the refresh intervals available in the time picker that are lower
than the set minimum refresh interval in the configuration .ini file
Adds the minimum refresh interval as available in the time picker.
If the user tries to enter a refresh interval that is lower than the minimum
in the URL, defaults to the minimum interval.
When trying to update the JSON via the API, rejects the update if the
dashboard's refresh interval is lower than the minimum.
When trying to update a dashboard via provisioning having a lower
refresh interval than the minimum, defaults to the minimum interval
and logs a warning.
Fixes#3356
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Drop indices and create new ones and rewrites annotation find query
to address performance issues when querying annotation table and
there is a large amount of rows.
Fixes#21902
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Kyle Brandt <kyle@kbrandt.com>
* refactor to multiple rows
* added name for org user struct
* added name getorgusers
* added user name to tableview
* made test pass
* updated userMocks to user name field
* added missing UsersTable snapshot
* added name on teammembers page, be able to search query for name, login and email
* added the updated snapshots
* conform to same sorting as output form
* conform to previous way of using it
* sort first by login and after by email, as it was before
Adds a new setting disable_admin_user and when true the default
admin user will not be created when Grafana starts for the first
time (or no users exists in the system).
Closes#19038
* API: Add `updatedAt` to api/users/:id
This adds the timestamp of when a particular user was last updated to
the `api/users/:id` endpoint.
This helps our administrators understand when was the user information last
updated. Particularly when it comes from external systems e.g. LDAP
* Move the ReloadLDAPCfg function to the debug file
Appears to be a better suite place for this.
* LDAP: Return the server information when we find a specific user
We allow you to specify multiple LDAP servers as part of LDAP authentication integration. As part of searching for specific users, we need to understand from which server they come from. Returning the server configuration as part of the search will help us do two things:
- Understand in which server we found the user
- Have access the groups specified as part of the server configuration
* LDAP: Adds the /api/admin/ldap/:username endpoint
This endpoint returns a user found within the configured LDAP server(s). Moreso, it provides the mapping information for the user to help administrators understand how the users would be created within Grafana based on the current configuration.
No changes are executed or saved to the database, this is all an in-memory representation of how the final result would look like.
* SQLite migrations
* cleanup
* migrate end times
* switch to update with a query
* real migration
* anno migrations
* remove old docs
* set isRegion from time changes
* use <> for is not
* add comment and fix index decleration
* single validation place
* add test
* fix test
* add upgrading docs
* use AnnotationEvent
* fix import
* remove regionId from typescript
Existing /api/alert-notifications now requires at least editor access.
Existing /api/alert-notifiers now requires at least editor access.
New /api/alert-notifications/lookup returns less information than
/api/alert-notifications and can be access by any authenticated user.
Existing /api/org/users now requires org admin role.
New /api/org/users/lookup returns less information than
/api/org/users and can be access by users that are org admins,
admin in any folder or admin of any team.
UserPicker component now uses /api/org/users/lookup instead
of /api/org/users.
Fixes#17318
* Metrics: remove unused metrics
Metric `M_Grafana_Version` is not used anywhere, nor the mentioned
`M_Grafana_Build_Version`. Seems to be an artefact?
* Metrics: make the naming consistent
* Metrics: add comments to exported vars
* Metrics: use proper naming
Fixes#18110
* Add support for `is_disabled` to `CreateUser()`
* Add support for `is_disabled` to `SearchUsers()`
Had to add it as a `string` type not as `bool`, since if that's property
is omitted, we would have add it to SQL request, which might be dangerous
* Restructure desctructive tests and add more
* API: Duplicate API Key Name Handle With Useful HTTP Code
* 17447: make changes requested during review
- use dialect.IsUniqueContraintViolation
- change if statement to match others
- return error properly
* Revert "17447: make changes requested during review"
This reverts commit a4a674ea83.
* API: useful http code on duplicate api key error w/ tests
* API: API Key Duplicate Handling
fixed small typo associated with error
* Teams: show proper label for each auth provider
Teams: don't sore AuthModule in team_member table, use JOIN to get it instead
* Teams: fix AddTeamMember after last changes
* Teams: add more auth provider labels
* Teams: show external sync badge if LDAP is not enabled
* Teams: tests for getting auth module
* Build: use golangci-lint as a make command
* Since gometalinter was deprecated in favor of golangci-lint so it was
replaced by it. Responsibilities held by the gometalinter was moved to
golangci-lint
* There was some changes in implementation (that was also mentioned in
the code comment) between the tools, which uncovered couple errors
in the code. Those issues were either solved or disabled by
the inline comments
* Introduce the golangci-lint config, to make their
configuration more manageable
* Build: replace backend-lint.sh script with make
* Modify backend to allow expiration of API Keys
* Add middleware test for expired api keys
* Modify frontend to enable expiration of API Keys
* Fix frontend tests
* Fix migration and add index for `expires` field
* Add api key tests for database access
* Substitude time.Now() by a mock for test usage
* Front-end modifications
* Change input label to `Time to live`
* Change input behavior to comply with the other similar
* Add tooltip
* Modify AddApiKey api call response
Expiration should be *time.Time instead of string
* Present expiration date in the selected timezone
* Use kbn for transforming intervals to seconds
* Use `assert` library for tests
* Frontend fixes
Add checks for empty/undefined/null values
* Change expires column from datetime to integer
* Restrict api key duration input
It should be interval not number
* AddApiKey must complain if SecondsToLive is negative
* Declare ErrInvalidApiKeyExpiration
* Move configuration to auth section
* Update docs
* Eliminate alias for models in modified files
* Omit expiration from api response if empty
* Eliminate Goconvey from test file
* Fix test
Do not sleep, use mocked timeNow() instead
* Remove index for expires from api_key table
The index should be anyway on both org_id and expires fields.
However this commit eliminates completely the index for now
since not many rows are expected to be in this table.
* Use getTimeZone function
* Minor change in api key listing
The frontend should display a message instead of empty string
if the key does not expire.
* batch disable users
* batch revoke users tokens
* split batch disable user and revoke token
* API: get users with auth info and isExternal flag
* fix tests for batch disable users
* Users: refactor /api/users/search endpoint
* Users: use alias for "user" table
* Chore: add BatchDisableUsers() to the bus
* Users: order user list by id explicitly
* Users: return AuthModule from /api/users/:id endpoint
* Users: do not return unused fields
* Users: fix SearchUsers method after last changes
* User: return auth module as array for future purposes
* User: tests for SearchUsers()
* User: return only latest auth module in SearchUsers()
* User: fix JOIN, get only most recent auth module