Repository navigation
fix(desktop): draw Home in its own shape while the task list loads - #3634
Merged
Merged
Conversation
Home drew nothing until the task list was read, so every launch showed a blank window. It now stands a skeleton shaped like the page: a block for the greeting beside New task, then heading blocks over placeholder rows for the Inbox and Recent. It says no word that hangs on the list, so a new account's welcome replaces it without having claimed otherwise. Home's Inbox section drew a lone ring at the section's edge while its items were read; it now stands InboxListSkeleton's rows, three of them with a block for each row's context, through new optional rows and context props. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Summary
PR 2 of 9 in the loading-states rollout (Home). Context: Loading states audit and the plan Fix Inbox loading state, under "Loading states rollout".
DesktopHomereturnednulluntil the task list was read. Now it drawsHomeSkeleton, laid out like Home: a title-sized block for the greeting beside the real New task (the welcome offers it too), then heading-sized blocks over placeholder rows for the Inbox (3 rows) and Recent (6 rows, one for each row Recent lists). The page lands where the blocks stood. The header comment now describes this instead of "draws nothing".HomeRecent's empty, unreadnullis covered because the whole page is the skeleton until the list is read.Spinnerat the section's left edge, outside the rows' inset. It now drawsInboxListSkeleton. That component gains two optional props:rows(defaults to today's five) andcontext, which adds a block before each row's time where Home's rows name what the item is about.Evidence
pnpm check:affectedpassed. In the sandbox, Electron's binary was fetched first forapp-menu.test.ts, anddiscarded-effectran with the larger heap.desktop/desktop-home.test.tsall fail onmain:Screenshots
Invariants
./scripts/check.shgreen. (CI)LUKE_UPDATE_FIXTURESnot run, or diff explained line by line). (CI)AGENTS.md"Testing")astype assertion outside the allowlisted files. (CI via anti-slop)Effect.runPromise/runSync/runForkoutside the runtime edges and the shimstools/anti-slop/effect-edges.jsonrecords. (CI viaanti-slop/no-run-promise-outside-edges)setTimeout/setInterval/new Promise/AbortController/fs.watchoutside the filestools/anti-slop/effect-edges.jsonrecords. (CI viaanti-slop/no-raw-async-primitives)pnpm discarded-effect)desktop-home.test.ts)AGENTS.md's "The permanent adaptors" with the reason it stays.CLAUDE.md/AGENTS.mdsentence naming a changed part is edited; root pair stays byte-identical. (CI for pair existence; manual for wording)PRIVACY.mdunchanged, or the change is a product decision called out in the PR body.package.jsondeps match what the sources import by bare specifier;effectviacatalog:. (CI)@effect/platform-node,effect/sql) behind a barrel the renderer or a web function opens. (CI: existing renderernode:grep plus a new grep for those specifiers in renderer bundles)Notes
Made with Luke
Summary by cubic
Home no longer shows a blank window on launch. While the task list is unread,
DesktopHomedraws a skeleton shaped like the page: a block for the greeting beside the real New task button, then heading blocks over placeholder rows for the Inbox (3 rows) and Recent (6 rows).InboxListSkeleton, which gains optionalrowsandcontextprops to match Home's row layout.desktop-home.test.tscover the skeleton, the unread new-account state, the swap to the real page once the list lands, and the Inbox section's rows.Written for commit c4dc710. Summary will update on new commits.