Render term color - #15
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (24)
📝 WalkthroughWalkthroughIntroduces per-cell terminal styling through ChangesStyled snapshot line pipeline
Estimated code review effort: 4 (Complex) | ~75 minutes Sequence Diagram(s)sequenceDiagram
participant TerminalBackend
participant Server
participant Codec
participant Client
participant Renderer
TerminalBackend->>Server: produce styled SnapshotLine values
Server->>Codec: encode visible or scrollback lines
Codec->>Client: transmit text and sparse styles
Client->>Codec: decode styled lines
Codec->>Client: restore SnapshotLine runs
Client->>Renderer: provide visible SnapshotLine values
Renderer->>Renderer: render cells and apply overlays
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@crates/embers-protocol/src/codec.rs`:
- Around line 475-493: Reduce per-line overhead in encode_styled_lines by
encoding only lines with non-empty runs, using a sparse representation that
preserves each styled line’s original index for decoding. Update the
corresponding FlatBuffer schema, generated bindings, and decode logic to handle
indexed styled entries, while retaining the existing None result when no lines
are styled.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: aa572f57-602e-4b5e-b8d4-a3bd2a235b2f
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (24)
crates/embers-cli/tests/interactive.rscrates/embers-client/src/grid.rscrates/embers-client/src/lib.rscrates/embers-client/src/renderer.rscrates/embers-client/src/scripting/context.rscrates/embers-client/src/state.rscrates/embers-client/tests/configured_client.rscrates/embers-client/tests/e2e.rscrates/embers-client/tests/reducer.rscrates/embers-client/tests/renderer.rscrates/embers-client/tests/support/mod.rscrates/embers-core/Cargo.tomlcrates/embers-core/src/lib.rscrates/embers-core/src/snapshot.rscrates/embers-protocol/schema/embers.fbscrates/embers-protocol/src/codec.rscrates/embers-protocol/src/types.rscrates/embers-protocol/tests/family_round_trip.rscrates/embers-server/src/buffer_runtime.rscrates/embers-server/src/server.rscrates/embers-server/src/terminal_backend.rscrates/embers-test-support/tests/buffer_runtime.rsdocs/render-source-contract.mddocs/terminal-capture-model.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@crates/embers-client/src/grid.rs`:
- Around line 205-290: Add direct unit tests in the grid module for
put_snapshot_line and restyle_range, covering truncation with a trailing
default-styled ~, hidden-run blanking while preserving the grapheme’s width, and
restyle_range snapping both sides of a wide grapheme so its lead and
continuation receive the restyled style. Assert cell contents, styles, and
continuation behavior directly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 20c06c5f-0b62-4817-b41e-825c0130e22b
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (24)
crates/embers-cli/tests/interactive.rscrates/embers-client/src/grid.rscrates/embers-client/src/lib.rscrates/embers-client/src/renderer.rscrates/embers-client/src/scripting/context.rscrates/embers-client/src/state.rscrates/embers-client/tests/configured_client.rscrates/embers-client/tests/e2e.rscrates/embers-client/tests/reducer.rscrates/embers-client/tests/renderer.rscrates/embers-client/tests/support/mod.rscrates/embers-core/Cargo.tomlcrates/embers-core/src/lib.rscrates/embers-core/src/snapshot.rscrates/embers-protocol/schema/embers.fbscrates/embers-protocol/src/codec.rscrates/embers-protocol/src/types.rscrates/embers-protocol/tests/family_round_trip.rscrates/embers-server/src/buffer_runtime.rscrates/embers-server/src/server.rscrates/embers-server/src/terminal_backend.rscrates/embers-test-support/tests/buffer_runtime.rsdocs/render-source-contract.mddocs/terminal-capture-model.md
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary by CodeRabbit
Stack