fix: remove suspense boundaries from app plugin templates - #2778
Merged
Conversation
jackw
reviewed
Jul 14, 2026
| import { lazy } from 'react'; | ||
| import { AppPlugin } from '@grafana/data'; | ||
|
|
||
| const LazyApp = lazy(() => import('./components/App/App')); |
Collaborator
There was a problem hiding this comment.
I think you'll wanna do the same in https://github.com/grafana/plugin-tools/blob/main/packages/create-plugin/templates/scenes-app/src/module.tsx#L14-L24
joshhunt
force-pushed
the
jh/no-suspense-app-boundary
branch
from
July 29, 2026 17:39
1e7117a to
82c5c16
Compare
joshhunt
force-pushed
the
jh/no-suspense-app-boundary
branch
from
July 30, 2026 09:27
82c5c16 to
19b5665
Compare
joshhunt
marked this pull request as ready for review
July 30, 2026 10:42
joshhunt
requested review from
hugohaggmark and
jackw
and removed request for
a team
July 30, 2026 10:42
jsonschema2mk 2.2.0 rewrote its handlebars templates and removed the mdlevel helper that our custom partials rely on, breaking the metadata.md generation with 'Missing helper: mdlevel'.
hugohaggmark
approved these changes
Jul 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
When Grafana loads app plugins, it already wraps them in a suspense boundary at the route level (see GrafanaRoute.tsx). This ensures that all pages across Grafana - core or from plugins - share the same initial loading state.
The App templates teaches plugin developers to wrap their app in a Suspense boundary with a LoadingPlaceholder, which is problematic for two reasons:
@grafana/ui13.2 we'll release PageLoader that is designed to be displayed full screenSpecial notes for your reviewer:
<Suspense /><Suspense />