chore: start investigation

dino created

Change summary

crates/agent_ui/src/acp/message_editor.rs |  4 ++--
crates/editor/src/scroll/autoscroll.rs    | 22 +++++++++++++---------
2 files changed, 15 insertions(+), 11 deletions(-)

Detailed changes

crates/agent_ui/src/acp/message_editor.rs 🔗

@@ -582,7 +582,7 @@ impl MessageEditor {
 
             let crease_id = self.editor.update(cx, |editor, cx| {
                 let crease_ids = editor.insert_creases(vec![crease.clone()], cx);
-                editor.fold_creases(vec![crease], false, window, cx);
+                editor.fold_creases(vec![crease], true, window, cx);
                 crease_ids.first().copied().unwrap()
             });
 
@@ -1365,7 +1365,7 @@ pub(crate) fn insert_crease_for_mention(
         };
 
         let ids = editor.insert_creases(vec![crease.clone()], cx);
-        editor.fold_creases(vec![crease], false, window, cx);
+        editor.fold_creases(vec![crease], true, window, cx);
 
         Some(ids[0])
     })?;

crates/editor/src/scroll/autoscroll.rs 🔗

@@ -157,14 +157,16 @@ impl Editor {
                 .to_display_point(&display_map)
                 .row()
                 .as_f64();
-            target_bottom = selections
-                .last()
-                .unwrap()
-                .head()
-                .to_display_point(&display_map)
-                .row()
-                .next_row()
-                .as_f64();
+            target_bottom = dbg!(
+                selections
+                    .last()
+                    .unwrap()
+                    .head()
+                    .to_display_point(&display_map)
+            )
+            .row()
+            .next_row()
+            .as_f64();
 
             let selections_fit = target_bottom - target_top <= visible_lines;
             if matches!(
@@ -229,7 +231,9 @@ impl Editor {
                 if needs_scroll_up && !needs_scroll_down {
                     scroll_position.y = target_top;
                 } else if !needs_scroll_up && needs_scroll_down {
-                    scroll_position.y = target_bottom - visible_lines;
+                    dbg!(scroll_position.y);
+                    scroll_position.y = dbg!(target_bottom) - dbg!(visible_lines);
+                    dbg!(scroll_position.y);
                 }
 
                 if needs_scroll_up ^ needs_scroll_down {