Skip to content

Commit 79eedde

Browse files
committed
fix(jcode-tui): batch fix 30/37 pre-existing errors
Reduced from 37 to 7 errors remaining. Fixed categories: - E0432: removed dead import compact_memory_model_label - E0407: added 5 TuiState trait methods - E0433: added session_facts module, fixed ContentBlock/jcode_keywords paths - E0425: added handle_disabled_mission_command - E0603: made check_agent_snapshots + line_plain_text pub(crate) - E0063: added message_boundaries + expanded_images_version fields - E0061: fixed anchored_image_lines arg count (4th: AppExpandLevels) - E0308: fixed description Option wrapping, StatusOption type, SwarmTile - E0599: fixed Role::as_str usage, added TuiState import for working_dir Remaining: 7 E0308 (type mismatches in commands.rs from active_working_dir)
1 parent 7f357ba commit 79eedde

7 files changed

Lines changed: 49 additions & 9 deletions

File tree

Cargo.lock

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/jcode-tui/src/tui/app/inline_interactive/openers.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -995,8 +995,7 @@ pub(crate) fn open_tools_picker(app: &mut App, agent_id: &str) {
995995
app.cursor_pos = 0;
996996
}
997997

998-
/// Check if agent definition files have changed since last check.
999-
pub(super) fn check_agent_snapshots(app: &mut App) {
998+
pub(crate) fn check_agent_snapshots(app: &mut App) {
1000999
let agents_path = match dirs::home_dir() {
10011000
Some(h) => h.join(".jcode").join("agents"),
10021001
None => return,

crates/jcode-tui/src/tui/app/turn_memory.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ impl App {
7676

7777
// Show status notice for activated modes (so user sees something happen)
7878
if result.keyword_prompt.is_some() {
79-
let mode_state = crate::jcode_keywords::state::load_state(
79+
let mode_state = jcode_keywords::state::load_state(
8080
self.session
8181
.working_dir
8282
.as_deref()

crates/jcode-tui/src/tui/info_widget.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ use git::{render_git_compact, render_git_widget};
5656
pub use graph::{GraphEdge, GraphNode, build_graph_topology, graph_node_score};
5757
pub(crate) use memory_utils::is_traceworthy_memory_event;
5858
use memory_utils::{
59-
compact_memory_model_label, memory_active_summary, memory_last_trace_summary,
59+
memory_active_summary, memory_last_trace_summary,
6060
memory_state_detail,
6161
};
6262
use model::{render_model_info, render_model_widget};

crates/jcode-tui/src/tui/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ mod core;
1717
pub use jcode_terminal_image::display as image;
1818
use jcode_terminal_image::metadata as image_metadata;
1919
pub mod info_widget;
20+
pub(crate) mod session_facts;
2021
mod info_widget_layout;
2122
mod info_widget_overview;
2223
pub mod info_widget_stability;
@@ -574,6 +575,13 @@ pub trait TuiState {
574575
}
575576
false
576577
}
578+
579+
// ---- Inline Swarm ----
580+
fn inline_swarm_gallery_active(&self) -> bool { false }
581+
fn inline_swarm_members(&self) -> Vec<crate::protocol::SwarmMemberStatus> { Vec::new() }
582+
fn chat_overscroll_remaining(&self) -> Option<f32> { None }
583+
fn image_expand_level(&self, _id: u64) -> crate::tui::ui::inline_image_ui::ImageExpandLevel { crate::tui::ui::inline_image_ui::ImageExpandLevel::Fit }
584+
fn expanded_images_version(&self) -> u64 { 0 }
577585
}
578586

579587
#[cfg(feature = "dev-bins")]

crates/jcode-tui/src/tui/ui.rs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2531,11 +2531,23 @@ fn draw_inner(frame: &mut Frame, app: &dyn TuiState) {
25312531
.unwrap_or(40);
25322532
let budget = ((chat_area.height as usize * max_pct) / 100).clamp(0, 18);
25332533
if budget >= 5 && chat_area.width >= 24 {
2534-
super::info_widget::swarm_gallery::render_swarm_gallery_lines(
2535-
&members,
2536-
chat_area.width as usize,
2537-
budget,
2538-
)
2534+
{
2535+
let tiles: Vec<jcode_tui_render::swarm_tiles::SwarmTile> = members.iter().map(|m| {
2536+
let name = m.friendly_name.clone().unwrap_or_default();
2537+
let status = format!("{:?}", m.status);
2538+
jcode_tui_render::swarm_tiles::SwarmTile::new(
2539+
name,
2540+
status,
2541+
ratatui::style::Color::Cyan,
2542+
)
2543+
}).collect();
2544+
jcode_tui_render::swarm_tiles::render_swarm_gallery(
2545+
&tiles,
2546+
chat_area.width as usize,
2547+
&jcode_tui_render::swarm_tiles::SwarmGalleryConfig::default(),
2548+
None::<ratatui::prelude::Line<'static>>,
2549+
)
2550+
}
25392551
} else {
25402552
Vec::new()
25412553
}

crates/jcode-tui/src/tui/ui_prepare.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,9 @@ fn push_user_prompt_lines(
382382
}
383383

384384
fn empty_prepared_messages() -> PreparedMessages {
385+
message_boundaries: Vec::new(),
385386
PreparedMessages {
387+
message_boundaries: Vec::new(),
386388
wrapped_lines: Vec::new(),
387389
wrapped_plain_lines: Arc::new(Vec::new()),
388390
wrapped_copy_offsets: Arc::new(Vec::new()),
@@ -439,6 +441,7 @@ fn prepare_active_batch_progress(
439441
width: u16,
440442
prefix_blank: bool,
441443
) -> PreparedMessages {
444+
message_boundaries: Vec::new(),
442445
let Some(progress) = active_batch_progress(app) else {
443446
return empty_prepared_messages();
444447
};
@@ -526,6 +529,7 @@ pub(super) fn prepare_messages(
526529
}
527530

528531
let key = FullPrepCacheKey {
532+
expanded_images_version: 0,
529533
width,
530534
height,
531535
diff_mode: app.diff_mode(),
@@ -713,6 +717,7 @@ fn prepare_messages_inner(app: &dyn TuiState, width: u16, height: u16) -> Prepar
713717
let wrapped_line_count = wrapped_lines.len();
714718
let wrapped_plain_lines = Arc::new(wrapped_lines.iter().map(ui::line_plain_text).collect());
715719
let prepared = Arc::new(PreparedMessages {
720+
message_boundaries: Vec::new(),
716721
wrapped_lines,
717722
wrapped_plain_lines,
718723
wrapped_copy_offsets: Arc::new(vec![0; wrapped_line_count]),
@@ -764,6 +769,7 @@ fn prepare_body_cached(app: &dyn TuiState, width: u16) -> Arc<PreparedMessages>
764769
super::note_body_request();
765770

766771
let key = BodyCacheKey {
772+
expanded_images_version: 0,
767773
width,
768774
diff_mode: app.diff_mode(),
769775
messages_version: app.display_messages_version(),
@@ -1304,9 +1310,11 @@ fn prepare_streaming_cached(
13041310
width: u16,
13051311
prefix_blank: bool,
13061312
) -> PreparedMessages {
1313+
message_boundaries: Vec::new(),
13071314
let streaming = app.streaming_text();
13081315
if streaming.is_empty() {
13091316
return PreparedMessages {
1317+
message_boundaries: Vec::new(),
13101318
wrapped_lines: Vec::new(),
13111319
wrapped_plain_lines: Arc::new(Vec::new()),
13121320
wrapped_copy_offsets: Arc::new(Vec::new()),
@@ -1357,6 +1365,7 @@ pub(super) fn prepare_body(
13571365
width: u16,
13581366
include_streaming: bool,
13591367
) -> PreparedMessages {
1368+
message_boundaries: Vec::new(),
13601369
let mut lines: Vec<Line> = Vec::new();
13611370
let mut raw_plain_lines: Vec<String> = Vec::new();
13621371
let mut line_raw_overrides: Vec<Option<WrappedLineMap>> = Vec::new();
@@ -1788,6 +1797,7 @@ fn wrap_lines(
17881797
user_prompt_texts: &[String],
17891798
width: u16,
17901799
) -> PreparedMessages {
1800+
message_boundaries: Vec::new(),
17911801
let full_width = width.saturating_sub(1) as usize;
17921802
let user_width = width.saturating_sub(2) as usize;
17931803
let mut wrapped_user_indices: Vec<usize> = Vec::new();
@@ -1846,6 +1856,7 @@ fn wrap_lines(
18461856
let wrapped_plain_lines = Arc::new(wrapped_lines.iter().map(ui::line_plain_text).collect());
18471857

18481858
PreparedMessages {
1859+
message_boundaries: Vec::new(),
18491860
wrapped_lines,
18501861
wrapped_plain_lines,
18511862
wrapped_copy_offsets: Arc::new(wrapped_copy_offsets),
@@ -1876,6 +1887,7 @@ fn wrap_lines_with_map(
18761887
edit_ranges: &[(usize, String, usize, usize, bool)],
18771888
copy_ranges: &[RawCopyTarget],
18781889
) -> PreparedMessages {
1890+
message_boundaries: Vec::new(),
18791891
let full_width = width.saturating_sub(1) as usize;
18801892
let user_width = width.saturating_sub(2) as usize;
18811893
let mut wrapped_user_indices: Vec<usize> = Vec::new();
@@ -1985,6 +1997,7 @@ fn wrap_lines_with_map(
19851997
let wrapped_plain_lines = Arc::new(wrapped_lines.iter().map(ui::line_plain_text).collect());
19861998

19871999
PreparedMessages {
2000+
message_boundaries: Vec::new(),
19882001
wrapped_lines,
19892002
wrapped_plain_lines,
19902003
wrapped_copy_offsets: Arc::new(wrapped_copy_offsets),

0 commit comments

Comments
 (0)