-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add server rendering service to enable standalone route rendering #52161
Add server rendering service to enable standalone route rendering #52161
Conversation
Pinging @elastic/kibana-platform (Team:Platform) |
💔 Build Failed
|
db70d9c
to
813641e
Compare
💔 Build Failed
|
💔 Build Failed
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few issues I noticed:
- The Kibana logo is missing on the bootstrap loading page spinner
- The frontend fails to boot with this error:
A legacy application is already registered with the id "siem"
(I'm guessing you already noticed this one though)
64c967e
to
becf2bb
Compare
💔 Build FailedTo update your PR or re-run it, just comment with: |
💚 Build SucceededTo update your PR or re-run it, just comment with: |
…astic#52161) * Add server rendering service to enable standalone route rendering * Update renovate config * Move legacy rendering functionality to legacy service * Use config for exposed variable in new platform * Lint changes from rebase * Rebase artifact * Remove RenderingProvider, add tests for legacy vars implementation, review notes * Add UI app functionality to legacy service * Update rendering snapshots * Update docs * Fix up functional tests * Clean up legacy types * Revise types from reverting injected metadata changes * Update translations and broken tests * Mock legacy internals in legacy tests * Add missing doc types * Rename InternalRenderOptions to LegacyRenderOptions * Remove extraneous legacy exports, review nits * Functional tests fixes * Rebase, attempt CI test fixes * Only allow specified appIds in testbed rendering integration test * Update snapshot names * Review nits
…2161) (#53832) * Add server rendering service to enable standalone route rendering * Update renovate config * Move legacy rendering functionality to legacy service * Use config for exposed variable in new platform * Lint changes from rebase * Rebase artifact * Remove RenderingProvider, add tests for legacy vars implementation, review notes * Add UI app functionality to legacy service * Update rendering snapshots * Update docs * Fix up functional tests * Clean up legacy types * Revise types from reverting injected metadata changes * Update translations and broken tests * Mock legacy internals in legacy tests * Add missing doc types * Rename InternalRenderOptions to LegacyRenderOptions * Remove extraneous legacy exports, review nits * Functional tests fixes * Rebase, attempt CI test fixes * Only allow specified appIds in testbed rendering integration test * Update snapshot names * Review nits
* master: Allow chromeless applications to render via non-/app routes (elastic#51527) Add server rendering service to enable standalone route rendering (elastic#52161)
…le-saved-objects * 'master' of github.com:elastic/kibana: (250 commits) Allow chromeless applications to render via non-/app routes (elastic#51527) Add server rendering service to enable standalone route rendering (elastic#52161) Possibility to filter when testing scripted fields (elastic#35379) (elastic#44220) Update maps telemetry mappings to account for recent updates (elastic#53803) [Maps] Only show legend when layer is visible (elastic#53781) remove use of experimental fs.promises api (elastic#53346) [APM] Add log statements for flaky test (elastic#53775) [APM] Transaction page throws unhandled exception if transactions doesn't have `http.request` (elastic#53760) Licensing plugin functional tests (elastic#53580) [Lens] Disable saving visualization until there are no changes to the document (elastic#52982) [Monitoring] Added safeguard for some EUI components (elastic#53318) [Vega] Shim new platform - cleanup vega_visualization dependencies (elastic#53605) Display changed field formats without requiring hard page refresh. (elastic#53746) Upgrade EUI to v17.3.1 (elastic#53655) [APM] Fix missing apm indicies (elastic#53541) Disable inspector for timelion (elastic#53747) Clean up search servie (elastic#53701) [Dashboard] Grid: removing double handler (elastic#53707) Remove SavedObjectRegistryProvider from codebase (elastic#53455) Move ui/courier into data shim plugin (elastic#52359) ...
…ris/kibana into alerting/created_at-and-updated_at * 'alerting/created_at-and-updated_at' of github.com:gmmorris/kibana: Allow chromeless applications to render via non-/app routes (elastic#51527) Add server rendering service to enable standalone route rendering (elastic#52161)
…astic#52161) * Add server rendering service to enable standalone route rendering * Update renovate config * Move legacy rendering functionality to legacy service * Use config for exposed variable in new platform * Lint changes from rebase * Rebase artifact * Remove RenderingProvider, add tests for legacy vars implementation, review notes * Add UI app functionality to legacy service * Update rendering snapshots * Update docs * Fix up functional tests * Clean up legacy types * Revise types from reverting injected metadata changes * Update translations and broken tests * Mock legacy internals in legacy tests * Add missing doc types * Rename InternalRenderOptions to LegacyRenderOptions * Remove extraneous legacy exports, review nits * Functional tests fixes * Rebase, attempt CI test fixes * Only allow specified appIds in testbed rendering integration test * Update snapshot names * Review nits
💔 Build FailedTo update your PR or re-run it, just comment with: |
@eliperelman It seems like there is a small typo in your dev docs example - 'content-security-policy': context.core.http.csp.header, should actually be 'content-security-policy': core.http.csp.header, At least that's what the types say. Could you confirm? |
Summary
Introduces a new backend application service which exposes rendering ability from a registered provider. The new server rendering service exposes a
RenderingProvider
to core for contextual rendering access during an HTTP request:await context.core.rendering.render()
. This can be used directly as the content (i.e. response body) for a bootstrapped page.Blocks #51527.
TODO
bootstrap.js
endpointChecklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.This was checked for cross-browser compatibility, including a check against IE11Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n supportThis was checked for keyboard-only and screenreader accessibilityFor maintainers
Dev Docs
Render a bootstrapped HTML page from a route handler using the
RenderingService
from your server plugin: