* declare dingding url as secret
patch raw settings before parsing because DingDing's config parser does not know about secrets
* fix integration test
---------
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* LogList: add key bindings hook
* LogListContext: add search support
* LogList: create and integrate LogListSearch
* useKeyBindings: close search with escape
* LogListSearch: implement go to results
* LogLine: support highlight in logs with ansi colors
* LogListSearchContext: extract from LogListContext
* LogListSearch: highlight matches in ansi logs
* LogListSearch: fix count
* LogListSearch: implement optional results filtering
* Translations
* LogListSearch: display within the panel and add tooltip
* Translations
* LogList: highlight search words and search matches
* LogListSearch: remove ufuzzy
Unfortunately we can't highlight ufuzzy matches
* LogListSearch: clean up removed ufuzzy implementation
* Prettier
* LogListSearch: search in displayed fields
* useKeyBindings: switch to native event listeners
* LogListSearch: fix effect loop
* LogListSearch: remove character so people don't think this text comes from AI
* LogLine: add text search test cases
* LogList: add integration test case
* LogListSearch: use uncontrolled input and react transitions
* LogListSearch: import t from i18n
* LogListControls: add search control
* LogListSearch: escape regexes
* Add to available channels
* Export
* Fix bug in deeply nested secrets
BE: Slice re-use bug when traversing deeply.
FE: Only at most one level of nesting was being taken into account
when determining secureFields keys. This change adds a new field on
NotificationChannelOption: secureFieldKey. This is populated on API GET via
transform. This change gives us the option to hardcode secureFieldKey in the
backend and no longer calculate the key via settings topology.
* Update grafana/alerting to 3e20fda3b872
* Prettier
* Linting
* Fix IntegrationConfig test to catch secure field mismatch
* fix(#92944): add StateTimeline Null+NaN handling
* chore: remove console.warns from debugging
* test: initialize a couple of simple tests
* test: more tests for hasMappedNaN and hasMappedNull
* chore: revert some of the let-const syntax cleanup for a later PR
* chore: rename should draw method
* chore: fix comment typo
* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper
* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper
* chore: fix code comment typos in changed files
* refactor(timeline-chart): reduce helper DRY-ness for better performance
* fix(timeline-chart): check Y value for truthiness, not if it is finite
* test(state-timeline): additional gdev test panels with null + NN values
* fix(timeline-chart): allow Y value of zero in checks
---------
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
* Docs: adding information on adjusting short link expiration time in Grafana cloud
* changing admonition and adding info on changing config for cloud
* adjusting wording
* fixing typo
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
---------
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
If you tried to migrate alerts from two differente sources/on-prem instances,
the autoincremented numeric id would be the same, and since we were creating
the resource in cloud with that same id (the API accepts it), it would
return an error "conflicting alert rule found" because that id is the primary key on the table.
We simply omit the numeric id now and let the API for the cloud instance generate it.
* Dashboard: ValueFormat - add custom 'financial' currency format without abbreviations
- Add fullCurrency formatter function that displays complete numeric values
- Apply performance suggestions from old PR
- Add unit tests
- Update documentation
* remove unnecesary `true` format support
* 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
* add test
* make it fail
* get test work reliably
* get or create db section
* remove unnecessary code
* move test to first
* add comment
* apply PR feedback
* Dashboards: Add restore endpoints to the API
* Fix unified api
* Fix resource version
* Add tests
* Update api
* Update type guards
* Update comments
* Add missing type
* Cleanup
* Move spec checking logic to v1 client
* Handle mixed versions in deleted dbs list
* Update tests
* comment
* type
* grafana-flamegraph: Fix bug for function names that conflict with JavaScript object prototype properties
The bug occurs in the flamegraph data transformation logic where function names from profiling data are used as object
keys without proper prototype pollution protection.
Fixes#106232#101551
Co-authored-by: vinayteki95 <vinayteki95@users.noreply.github.com>
* Fix top table calculations
---------
Co-authored-by: vinayteki95 <vinayteki95@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Don't show result from other parents
* Use global search hook for scopes even inside scopes category
* Remove console.log
* Don't show non leaf scopes in global search