* build(webpack): enable caching for development and production builds
* build(webpack): introduce unminified production build script
* build(typescript): introduce incremental flag to cache typechecking
* chore(git): ignore typescript cache file
* chore(webpack): bump dependencies to latest
* Fix: make webpack pickup workers written in TS
* Add comlink to dependencies
* Temporary fix: copy paste `toDataQueryError` from @grafana/runtime to avoid web dependencies
* Implemented comlink-based centrifuge worker & worker proxy
* Temporary fix: implement comlink transferHandlers for subscriptions and streamingdataframes
* Move liveTimer filtering from CentrifugeService into GrafanaLiveService
* Switch from CentrifugeService to CentrifugeServiceWorkerProxy in GrafanaLive
* Naming fix
* Refactor: move liveTimer-based data filtering from GrafanaLiveService to CentrifugeServiceWorker
* observe dataStream on an async scheduler
* Fix: - Unsubscribe is now propagated from the main thread to the worker, - improve worker&workerProxy types
* Fix: Prettify types
* Fix: Add error & complete observers
* Docs: Add comment explaining the `subscriberTransferHandler`
* Fix: Replace `StreamingDataFrameHandler` with explicitly converting StreamingDataFrame to a DataFrameDTO
* Refactor: move liveTimer filtering to service.ts to make it easy to implement a `live-service-web-worker` feature flag
* Feat: add `live-service-web-worker` feature flag
* Fix: extract toDataQueryError.ts to a separate file within `@grafana-runtime` to avoid having a dependency from webworker to the whole package (@grafana-runtime/index.ts)
* Update public/app/features/dashboard/dashgrid/liveTimer.ts
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Fix: fixed default import class in worker file
* Fix: cast worker as Endpoint
* Migrate from worker-loader to webpack native worker support v1 - broken prod build
* Fix: Use custom path in HtmlWebpackPlugin
* Fix: Loading workers from CDNs
* Fix: Avoid issues with jest ESM support by mocking `createWorker` files
* Fix: move the custom mockWorker rendering layout to `test/mocks`
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Navigation: Start creating new NavBarMenu component
* Navigation: Apply new NavBarMenu to NavBarNext
* Navigation: Remove everything to do with .sidemenu-open--xs
* Navigation: Ensure search is passed to NavBarMenu
* Navigation: Standardise NavBarMenuItem
* This extra check isn't needed anymore
* Navigation: Refactor <li> out of NavBarMenu
* Navigation: Combine NavBarMenuItem with DropdownChild
* use spread syntax since performance shouldn't be a concern for such small arrays
* Improve active item logic
* Ensure unique keys
* Remove this duplicate code
* Add unit tests for getActiveItem
* Add tests for NavBarMenu
* Rename mobileMenuOpen -> menuOpen in NavBarNext (since it can be used for mobile menu or megamenu)
* just use index to key the items
* Use exact versions of @react-aria packages
* Navigation: Make the dropdown header a NavBarMenuItem
* Navigation: Stop using dropdown-menu for styles
* Navigation: Hide divider in NavBarMenu + tweak color on section header
* Update dependency html-loader to v3
* Chore(dependencies): Ignore html-loader in grafana-toolkit until it moves to webpack 5
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update dependency @testing-library/dom to v8
* Update our use of useFakeTimers
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Update dependency @types/node to v14
* Remove global var
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Update dependency @opentelemetry/semantic-conventions to v1
* chore(tempo): update import to match semantic-conventions api changes
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>