-
Notifications
You must be signed in to change notification settings - Fork 655
Closed as not planned
Labels
A-frontend 🐹C-tracking-issueCategory: A tracking issue for an RFC, an unstable feature, or an issue made of many partsCategory: A tracking issue for an RFC, an unstable feature, or an issue made of many parts
Description
Recently I've been experimenting with the FastBoot PR, and below is my attempt at capturing the work that I think remains to enable FastBoot across the site.
Enable FastBoot for some static pages
As we previously discussed, the existing PR allows us to land support on a single static page to try this out in production:
-
/policies
- added in Enable Fastboot with USE_FASTBOOT environment variable set to 1 #1900
Groundwork for enabling FastBoot on dynamic pages
Some tasks that I think will be necessary support more dynamic cases:
- Find a way to show the
<noscript>
message only on pages that haven't been converted yet. - Tweak <noscript> text and placement #2101 tweaks the message and placement, but leaves the message present on all pages. - Ensure a complete set of headers is sent, based on what we do in the backend middleware. - Move security-related HTTP response headers from Rust to nginx.conf #2100
- For a logged in user, their cookie should be included in the request to the backend.
- When JS is enabled, after the pre-rendered HTML is loaded and Ember boots, a new set of requests are sent from the client to the backend. -
ember-data-storefront
added in Don't make duplicated requests through Ember Data #2087 - Requests to routes (
/does-not-exist
) or resources (/crates/does-not-exist
) that don't exist, should respond with status 404 instead of 200. - Update FastBoot logs to align with our typical log format, as described in Tracking issue for Ember FastBoot #1811 (comment) and Enable Fastboot with USE_FASTBOOT environment variable set to 1 #1900 (comment)
- Pass User-Agent header to backend - fixed in adapters/application: Pass
User-Agent
header to backend in fastboot mode #2048
Page specific bugs
Following are bugs I observed while testing with JS off:
-
/
- Data doesn't load - fixed in Make / work under FastBoot #1937 -
/login
- TypeError: window.open is not a function -
/logout
- completely blank page -
github_login
,/authorize/github
- Unclear how the login workflow should work without JS, or if we should even support that -
/crates/test-crate
,/crates/test-crate/0.1.5
- "Authors" and "Owners" sections are not populated -
/crates/*/download
- I think this endpoint can be removed, it doesn't have an associated route file in the frontend - `/crates/*/{docs,repo} - Doesn't actually redirect when the metadata is set - added in Make /install work under FastBoot #1912
-
/me/*
,/dashboard
- redirects to/
-
/{categories,keywords,users,teams}/does-not-exist
- results in a 500 server error -
/search
- doesn't load any search results -
/install
- a redirect which doesn't work with JS disabled, would be nice to do an HTTP redirect - added in Make /install work under FastBoot #1912
lnicola, Lynnesbian, NilsIrl and zouharvi
Metadata
Metadata
Assignees
Labels
A-frontend 🐹C-tracking-issueCategory: A tracking issue for an RFC, an unstable feature, or an issue made of many partsCategory: A tracking issue for an RFC, an unstable feature, or an issue made of many parts