* Use a enable configuration to enable frontend sandbox
* Modify settings to load enableFrontendSandbox
* Check for signature type
* Update commment
* Fix e2e tests for the frontend sandbox
* Modify logic so a custom check function is used instead of a list of checks
* Fixes flaky test
* fix comment
* Update comment
* Empty commit
* Empty commit
* Update dependency @grafana/experimental to v2
* add data-testid to old save button so it works properly in e2e test
* fix azure monitor e2e tests
* use raw selectors
* remove .only
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* feat: add extensions to the backend plugin model
* feat: update the frontend plugin types
* feat(pluginContext): return a `null` if there is no context found
This will be necessary to understand if a certain hook is running inside a plugin context or not.
* feat: add utility functions for checking extension configs
* tests: fix failing tests due to the type updates
* feat(AddedComponentsRegistry): validate plugin meta-info
* feat(AddedLinksRegistry): validate meta-info
* feat(ExposedComponentsRegistry): validate meta-info
* feat(usePluginComponent): add meta-info validation
* feat(usePluginComponents): add meta-info validation
* feat(usePluginLinks): add meta-info validation
* fix: only validate meta-info in registries if dev mode is enabled
* tests: add unit tests for the restrictions functionality
* tests: fix Go tests
* fix(tests): revert accidental changes
* fix: run goimports
* fix: api tests
* add nested app so that meta data can bested e2e tested
* refactor(types): extract the ExtensionInfo into a separate type
* refactor(extensions/utils): use Array.prototype.some() instead of .find()
* refactor(usePluginLinks): update warning message
* feat(usePluginExtensions()): validate plugin meta-info
* Wip
* fix(e2e): E2E tests for extensions
* fix(extensions): allow multiple "/" slashes in the extension point id
* fix(extensions/validators): stop validating the plugin id pattern
---------
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Mark Scenes feature toggles as GA
* Move old arch e2e to a new folder
* Run E2E on scenes by default
* Upgrade e2e-selectors to ensure the tests in Playwright works
* build test apps with webpack
* add extensions test app
* update e2e tests
* remove non-build test apps using amd
* use @grafana/plugin-configs rather than create-plugin config
* Update e2e/plugin-e2e/plugin-e2e-api-tests/as-admin-user/extensions/usePluginComponents.spec.ts
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Update package.json
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* use run dir variable instead of hardcoded path
* add dummy licence file
* add separate step for building test plugins
* support nested plugins
* remove react-router-dom from the externals array
* remove add_mode dev
* lint starlark
* pass license path as env variable
* fix the path
* chore(e2e-plugins): clean up dependencies to match core versions
* refactor(e2e-plugins): prefer extending webpack plugins-config
* docs(e2e-plugins): add basic info to extensions test plugin readme
* update readme
* change dir name from custom plugins to test plugins
* change root readme
* update lockfile
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* DashboardScene: Support remember scroll position when coming back from view panel, panel edit and settings
* remove unused state prop
* Update
* Fixes
* Update e2e
* Progress
* Fix dashboards pane
* almost working
* add hook to get scopesDashboardsScene state
* check whether it's enabled when considering opened state
* add height to container
* Update
* revert change
* Make it work when bodyScrolling is disabled
* Last tweaks
* Update scenes
* Updating
* Fix
* fix tests
* fix lint issues
* fix lint issues
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add simple test apps that use usePluginComponent hook and exposeComponent api
* add e2e test
* update readme
* Update README.md
* fix lint issue
* pr feedback
* add very basic tests to verify storybook builds correctly
* add storybook step to drone
* reorder steps
* drone tweaks
* don't need host since it's set in env
* don't need to wait
* format build.star and readd wait
* install netcat in CI
* do a yarn install here to get correct bindings
* refactoring to hopefully work better in CI
* add wait-on
* add verbose logging
* localhost?
* more logging
* specify storybook host
* ...
* back to grafana-server
* does this work? 🤔
* run storybook e2e test after rgm-package so the backround process is running for less time
* split into separate step
* format
* adjust drone to run scenes e2e alongside
* adjust typo in scenes e2e folder name for consistency
* fix select options selector inssue with scenes bump
* skip tests in old arch that result in race conditions
* skip more flaky tests due to race conditions
* skip scenes e2e instead of old arch in case of race condition
* update to latest scenes version
* skip test due to race conditions
* skip flaky race condition test
* modify and sign drone pipeline
* remove unnecessary edits
* resolve merge conflicts and regenerate drone.yml
* duplicate various-suite in scenes e2e
* restore original various-suite
* adjust various-suite e2e tests for scenes
* adjust workflow for test run
* adjust flaky exemplars test
* remove old dash script and restore workflow
* duplicate e2e/various-suite/keybinds.spec.ts into e2e/scenes
* restore original e2e/various-suite/keybinds.spec.ts
* add new keybinds e2e test
* restore workflow file after test run
* revert Select changes as we can handle it outside of the base select component
* update scenes
* update scenes properly
* revert changes to azure-monitor e2e tests