-
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
Allow chromeless applications to render via non-/app routes #51527
Conversation
Pinging @elastic/kibana-platform (Team:Platform) |
💔 Build Failed |
src/core/server/application/application_context_provider.test.ts
Outdated
Show resolved
Hide resolved
retest |
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.
LGTM. I haven't tested manually tho.
Could you create a separate issue to add the full set of functional tests after #52161 ?
a817167
to
036d3c4
Compare
retest |
9d0199d
to
c0eada9
Compare
c0eada9
to
595b561
Compare
Removing review request for @elastic/kibana-security since it doesn't look like this touches anything we own. Let me know if you'd still like a review! |
595b561
to
0bd62f2
Compare
💚 Build SucceededHistory
To update your PR or re-run it, just comment with: |
…51527) * Allow chromeless applications to render via non-/app routes * Address review nits * Fix chrome:application integration tests * Move extraneous application integration tests to unit tests
* 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)
…51527) * Allow chromeless applications to render via non-/app routes * Address review nits * Fix chrome:application integration tests * Move extraneous application integration tests to unit tests
Summary
This PR allows applications to be rendered independently of using
/app
routes. Updates the frontend application service to make apps routable viaappRoute
during registration.appRoute
in the routing components, we need to pass more than just a mount function. Going down this route made me realize that if we re-structured the order of when we load the necessary app service bits, and doing a state-lift with much of the data, we could co-locate all the business logic in the app service, make the implementation simpler, and also easier to test while expanding the test coverage.getValue
s, so I simplified to just unwrap them to their maps.FunctionComponent
, so I took the opportunity to update the relevant components to follow suit.Checklist
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
Allow applications to routable from paths that do not start with
/app
. This is first enabled via theappRoute
flag during UI application registration: