feat: e2e UI review - #170
Merged
Merged
Conversation
Expand How-it's-built overlays with ReadModel structs, aggregate shapes, domain event samples, and projection GraphQL mutations. Replace the home system-flow monospace list with a full-width circular dotted diagram.
Show Todos and Blob in nav for guests; requireAuth on page loads so client-side navigation redirects to /login?callbackUrl=… and returns after sign-in. Remove the standalone /public demo (lobby chat already covers anonymous). Honor callbackUrl on login/signup when already signed in; hero copy mentions realtime applications.
Ship one mutation IR with two proofs: Eventual (async projector + delta/expects) and Atomic (handler row + records). Rename wire/protocol states and APIs from causal/projected to eventual/atomic with no aliases. Direct placements export .applies previews for client optimism while still sealing from the atomic response. Command ledger migrations use atomic state (0004 + CHECK updates). Fix chat list optimism regressions: belongs_to joins are GraphQL/client nullable so missing author edges materialize, and full first-page offset indexes accept local optimistic inserts (re-sort + truncate). Regenerate e2e-ui clients, demos/docs, and JS tests for the new contract.
Add a shared hold-mutation helper and optimism.user.spec that requires chat post (including full first page), todos create/complete, and blob move continuity to paint before a delayed GraphQL response. Offline optimism-artifacts.test.mjs locks preview IR, atomic directProjection, nullable ChatMessages.author, and local first-page insert policy so gen/compiler regressions fail without a browser. Todos create under the delayed-route order test now asserts list paint before the wire returns.
Wire blob.move like todos/chat: command input carries the optimistic board outcome (map_json, score, status, …) and state_preview maps those fields into the client optimistic layer. A pure TypeScript twin of blob_domain::simulate_move fills the input; the handler still recomputes authority from game_id + direction only. Regenerate clients (full upsert preview), unit-test simulate_move parity, and require paint-before-wire on the player cell in optimism.user.spec.
No back-compat renames. Call sites and docs use .applies. Wire vocabulary test expects eventual/atomic only (rejects causal/projected).
Capture the accepted DX direction: same packages re-cut as monolith or microservices; Eventual projectors may split; Atomic seals stay collocated. Runtime pairs persistence, locks, and bus; process role selects outbox, consumer, and GraphQL. Implementation order and e2e-ui collapse targets included. Linked from usage skill and e2e-ui README.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Update generated-commands fixture, dctl client_compiler/cli_manifest expectations, GraphQL protocol tests, and e2e-ui behavioral suite to the eventual/atomic wire vocabulary (no causal/projected aliases).
Preserve applied migration history, register migration 4, complete the Eventual/Atomic rename, refresh generated contracts, and repair the affected e2e behavior. Resolves [[pr-170-eventual-atomic-rename-and-migration-failur]]
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.
No description provided.