4runr-os 2.10.44 → 2.10.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/mk3-tui/src/app.rs +42 -17
  2. package/package.json +2 -2
@@ -2546,7 +2546,9 @@ impl App {
2546
2546
 
2547
2547
  // M — Portal Monitoring (after successful connect)
2548
2548
  KeyCode::Char('m') | KeyCode::Char('M')
2549
- if self.state.connection_portal.connection_success =>
2549
+ if self.state.connection_portal.connection_success
2550
+ || (matches!(self.state.operation_mode, OperationMode::Connected)
2551
+ && self.state.gateway_url.is_some()) =>
2550
2552
  {
2551
2553
  self.state
2552
2554
  .navigation
@@ -2777,6 +2779,29 @@ impl App {
2777
2779
  return Ok(false);
2778
2780
  }
2779
2781
  if key.code == KeyCode::Char('l') || key.code == KeyCode::Char('L') {
2782
+ let logs_open = self
2783
+ .state
2784
+ .advanced_monitoring
2785
+ .monitoring_state
2786
+ .selected_section
2787
+ == Some(MonitoringSection::Logs)
2788
+ && self
2789
+ .state
2790
+ .advanced_monitoring
2791
+ .monitoring_state
2792
+ .sections
2793
+ .get(&MonitoringSection::Logs)
2794
+ .map(|section| section.expanded)
2795
+ .unwrap_or(false);
2796
+ if logs_open && !self.state.portal_monitoring.logs_fetch_loading {
2797
+ self.state
2798
+ .advanced_monitoring
2799
+ .monitoring_state
2800
+ .collapse_section(MonitoringSection::Logs);
2801
+ self.state.portal_monitoring.scroll_offset = 0;
2802
+ self.request_immediate_render("portal_monitoring_logs_close");
2803
+ return Ok(false);
2804
+ }
2780
2805
  self.state
2781
2806
  .advanced_monitoring
2782
2807
  .monitoring_state
@@ -2986,17 +3011,24 @@ impl App {
2986
3011
  let inner_h = self.state.portal_monitoring.viewport_lines.max(5);
2987
3012
  let sw = self.state.portal_monitoring.summary_clip_width.max(24);
2988
3013
  let max_scroll = portal_monitoring_scroll_max(&self.state, sw, inner_h);
3014
+ let logs_selected_and_open = self
3015
+ .state
3016
+ .advanced_monitoring
3017
+ .monitoring_state
3018
+ .selected_section
3019
+ == Some(MonitoringSection::Logs)
3020
+ && self
3021
+ .state
3022
+ .advanced_monitoring
3023
+ .monitoring_state
3024
+ .sections
3025
+ .get(&MonitoringSection::Logs)
3026
+ .map(|section| section.expanded)
3027
+ .unwrap_or(false);
2989
3028
 
2990
3029
  match key.code {
2991
3030
  KeyCode::Up => {
2992
- if self
2993
- .state
2994
- .advanced_monitoring
2995
- .monitoring_state
2996
- .selected_section
2997
- == Some(MonitoringSection::Logs)
2998
- && self.state.portal_monitoring.scroll_offset > 0
2999
- {
3031
+ if logs_selected_and_open {
3000
3032
  self.state.portal_monitoring.scroll_offset =
3001
3033
  self.state.portal_monitoring.scroll_offset.saturating_sub(1);
3002
3034
  self.request_immediate_render("portal_obs_scroll");
@@ -3010,14 +3042,7 @@ impl App {
3010
3042
  }
3011
3043
  }
3012
3044
  KeyCode::Down => {
3013
- if self
3014
- .state
3015
- .advanced_monitoring
3016
- .monitoring_state
3017
- .selected_section
3018
- == Some(MonitoringSection::Logs)
3019
- && self.state.portal_monitoring.scroll_offset < max_scroll
3020
- {
3045
+ if logs_selected_and_open {
3021
3046
  self.state.portal_monitoring.scroll_offset =
3022
3047
  (self.state.portal_monitoring.scroll_offset + 1).min(max_scroll);
3023
3048
  self.request_immediate_render("portal_obs_scroll");
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "4runr-os",
3
- "version": "2.10.44",
3
+ "version": "2.10.46",
4
4
  "type": "module",
5
- "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.10.44: Stabilizes Portal Monitoring reading mode, global refresh, logs, and shortcut behavior. v2.10.43: Makes Portal Monitoring footer shortcuts jump to their sections and fixes log scrolling.",
5
+ "description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.10.46: Restores Portal Monitoring section navigation after closing Logs. v2.10.45: Fixes Portal Monitoring log toggle, log-bottom scroll, and monitor re-entry from linked Gateway sessions.",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "4runr": "dist/index.js",