From b7870d966e70c08247dfb16efa67ae04cce2c91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Sun, 19 Apr 2026 17:45:03 -0400 Subject: [PATCH] Tighten communication shell grammar --- .../crates/app_ui/src/app_root/inbox.rs | 98 ++++++++----------- .../crates/app_ui/src/app_root/messages.rs | 6 +- AgentCompany-Rust/prd.json | 4 +- AgentCompany-Rust/progress.txt | 2 + 4 files changed, 50 insertions(+), 60 deletions(-) diff --git a/AgentCompany-Rust/crates/app_ui/src/app_root/inbox.rs b/AgentCompany-Rust/crates/app_ui/src/app_root/inbox.rs index 165c1ecd..c21c3311 100644 --- a/AgentCompany-Rust/crates/app_ui/src/app_root/inbox.rs +++ b/AgentCompany-Rust/crates/app_ui/src/app_root/inbox.rs @@ -55,27 +55,21 @@ impl AppRoot { div() .flex() .flex_col() - .gap_6() + .gap_5() .child( div() - .flex() - .items_center() - .justify_between() .child( div() - .child( - div() - .text_xl() - .text_color(theme::text_primary()) - .child("Inbox"), - ) - .child( - div() - .mt(px(6.0)) - .text_sm() - .text_color(theme::text_muted()) - .child(format!("{} items need attention", total_attention)), - ), + .text_xl() + .text_color(theme::text_primary()) + .child("Inbox"), + ) + .child( + div() + .mt(px(6.0)) + .text_sm() + .text_color(theme::text_muted()) + .child(format!("{} items need attention", total_attention)), ), ) .child(inbox_filters( @@ -86,47 +80,41 @@ impl AppRoot { unread_messages.len(), cx, )) - .when(total_attention == 0, |container| { - container.child( - div() - .min_h(px(260.0)) - .flex() - .items_center() - .justify_center() - .rounded_lg() - .border_1() - .border_color(theme::panel_border()) - .bg(theme::panel()) - .child( + .child( + div() + .rounded_lg() + .border_1() + .border_color(theme::panel_border()) + .bg(theme::panel()) + .when(total_attention == 0, |container| { + container.child( div() - .w(px(420.0)) - .text_center() + .min_h(px(260.0)) + .flex() + .items_center() + .justify_center() .child( div() - .text_xl() - .text_color(theme::text_primary()) - .child("All clear"), - ) - .child( - div() - .mt(px(10.0)) - .text_base() - .text_color(theme::text_muted()) - .child("No approvals, reviews, failed runs, or unread internal messages need board attention right now."), + .w(px(420.0)) + .text_center() + .child( + div() + .text_xl() + .text_color(theme::text_primary()) + .child("All clear"), + ) + .child( + div() + .mt(px(10.0)) + .text_base() + .text_color(theme::text_muted()) + .child("No approvals, reviews, failed runs, or unread internal messages need board attention right now."), + ), ), - ), - ) - }) - .when(!row_elements.is_empty(), |container| { - container.child( - div() - .rounded_lg() - .border_1() - .border_color(theme::panel_border()) - .bg(theme::panel()) - .children(row_elements), - ) - }) + ) + }) + .when(!row_elements.is_empty(), |container| container.children(row_elements)), + ) } } @@ -204,7 +192,7 @@ impl InboxRow { .flex_1() .child( div() - .text_base() + .text_sm() .text_color(theme::text_primary()) .child(title), ) diff --git a/AgentCompany-Rust/crates/app_ui/src/app_root/messages.rs b/AgentCompany-Rust/crates/app_ui/src/app_root/messages.rs index 0c521483..3e269a8f 100644 --- a/AgentCompany-Rust/crates/app_ui/src/app_root/messages.rs +++ b/AgentCompany-Rust/crates/app_ui/src/app_root/messages.rs @@ -324,7 +324,7 @@ fn render_message_sidebar<'a>( "{} channels", groups.iter().map(|group| group.rows.len()).sum::() )) - .child("message graph"), + .child("live threads"), ) } @@ -355,7 +355,7 @@ fn render_message_header( .mt(px(4.0)) .text_sm() .text_color(theme::text_muted()) - .child(format!("{} visible items", visible_count)), + .child(format!("{} visible messages", visible_count)), ), ) .child( @@ -434,7 +434,7 @@ fn render_message_inspector(selected: Option<&domain::AgentMessage>) -> impl Int div() .text_lg() .text_color(theme::text_primary()) - .child("Thread inspector"), + .child("Conversation details"), ) .child(selected_message_card(selected)) .when_some(secondary_message(selected), |container, message| { diff --git a/AgentCompany-Rust/prd.json b/AgentCompany-Rust/prd.json index b99c5ae6..1bb27f93 100644 --- a/AgentCompany-Rust/prd.json +++ b/AgentCompany-Rust/prd.json @@ -275,8 +275,8 @@ "cargo test --workspace passes" ], "priority": 20, - "passes": false, - "notes": "Opened after strict current-directory-only source audit." + "passes": true, + "notes": "Passed: inbox and messages now use a tighter source-like communication shell with a simplified attention list panel, source-aligned count copy, and messages surfaces that remove off-source chrome like the message graph footer while preserving real channel/message interactions." }, { "id": "US-021", diff --git a/AgentCompany-Rust/progress.txt b/AgentCompany-Rust/progress.txt index 3f3e72e0..697a41dd 100644 --- a/AgentCompany-Rust/progress.txt +++ b/AgentCompany-Rust/progress.txt @@ -26,3 +26,5 @@ Started: 2026-04-19 - Completed US-018 approvals remediation. Native approvals now use a grouped review-list grammar closer to the original PendingReviewList surface instead of parallel summary cards, while the lower pending-approval inspector still preserves the real approve/reject chain. - Completed US-019 document-center remediation. Native documents now follow a source-like operational shell with section header, prose list, work-product list, and a dedicated editor/inspector column while keeping the current native draft-save path intact. + +- Completed US-020 inbox/messages remediation. Native inbox now uses a tighter source-like attention-list shell, and messages now remove off-source chrome while preserving the channel rail, live thread header, stream, composer, and inspector interactions.