Repository navigation
Conversation
On the design engine, Home is a page of its own at the root, built from blocks on a six-column grid: Welcome, Share an idea, Top ideas, Roadmap, Latest updates, Help search, Help topics, Status, Contact and Links. Each block shows live data in the brand's cards and type, draws nothing when its page is off or it has nothing to show, and streams into the first response. With Home on, the feed moves to /feedback and an old link to the feed at the root follows it there for good. With Home off, the root is the first page the menu shows: the feed as before when that is Feedback, else a redirect. The legacy theme keeps the feed at the root. The menu comes from the design, where Feedback can be hidden and Home can have a tab, and every portal link to the feed takes its path from portalPaths; a test keeps a literal root out of portal code. The sitemap and canonical tags follow the same rule. The cached workspace settings are now kept per build, so the first requests after an upgrade never read a shape an older build wrote.
The cached workspace settings are kept per build, so the tests that seed or forget that copy use CACHE_KEYS.WORKSPACE_SETTINGS rather than the old literal key, which no longer reaches it.
Home's code reached pages that never show it, and the feed's chunk lost its preload at the root. - Share an idea on Home is a light form. What a visitor types goes to /feedback in the navigation's history state, and the feed's composer opens with it once per arrival, so Home loads neither the composer nor the anonymous-session code. - Home takes the page gates from the loader, and its module is linked to the portal layout as the root's own split would be, so what it shares with the layout stays in the layout's chunk. - The feed's split also re-exports the root's component split. The server preloads the chunks holding a route's splits, so the feed is preloaded at the root again, and at /feedback. - The post actions, the sitemap's paths and the feed-search check live outside the modules every page loads. The choice between Home, the feed and a redirect still runs before any route chunk loads, about 1.1 KB in the entry, so the pages that sat within it of their script ceilings take their new readings.
Member
Author
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.
The thirteenth of the stack that builds a new design engine for the portal, and the first of phase 4. On the design engine Home is a page of its own, and the feed gains its own address. Behind the
portalDesignV2Labs switch; with it off, nothing changes.Home
Home sits at the root: the band with Home's headline, then blocks on a grid of six columns at large sizes (thirds become halves below
lg, and every block is full width belowmd). Blocks fill rows in order and wrap when the next does not fit; there is no free positioning.The ten blocks: Welcome, Share an idea (which opens the feed's composer with what was typed), Top ideas (3 or 5, with their vote counts), Roadmap (each column's first two items), Latest updates (2 to 4), Help search (with popular articles), Help topics, Status, Contact and Links (with an optional title). Each shows live data in the brand's cards and type, is a
home-blockpart and a section the preview can select, and draws nothing when its page is off or it has nothing to show. Their data starts in the loader and streams into the first response, as the feed's does; the help and status blocks load their pages' strings with the page.Where the feed lives
/feedback. An old link to the feed at the root (/?board=…) follows it there with a 301./feedbackpoints its canonical tag at it; otherwise the root redirects (302, since the menu can change).portalPaths(lib/shared/design/paths.ts) decides this from the design's menu and which pages exist, and every portal link to the feed takes its path from it. A test keeps a literal'/'out of portal code. The sitemap and canonical tags follow the same rule.The menu from the design
On the design engine the header's menu comes from the design: Feedback can be hidden, Home can have a tab, and custom links keep their place. The legacy theme keeps its saved navigation. The page gates are one shared function, so the loader, the header and the settings page agree.
Upgrades
The cached workspace settings are now kept per build. Branding the local workspaces caught the first requests after an upgrade reading a cached shape an older build wrote, and every page failing. The e2e cache helpers match the per-build copies.
Performance
sharedComponentsinrouteChunksImportTheirParent). The feed's chunk is then preloaded at/as before, and at/feedback.lazyChildren), so code it shares with the layout stays in the layout's chunk instead of becoming new chunks every portal and admin page loads./feedbackin the navigation's history state, and the feed's composer opens with it, once per arrival. Home loads neither the composer nor the anonymous-session code.saved-feedback-path.ts, and the sitemap's paths live insitemap-paths.ts, so neither reaches the entry.Verification
/feedbackpages light the Feedback tab. Critique led to a bare composer, a compact popular-articles list and titled link blocks./and/feedbackagain.