space2 is now debugging better
This commit is contained in:
38
Cargo.lock
generated
38
Cargo.lock
generated
@@ -1955,6 +1955,15 @@ version = "0.11.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a"
|
checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "matchers"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
||||||
|
dependencies = [
|
||||||
|
"regex-automata 0.1.10",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "matchit"
|
name = "matchit"
|
||||||
version = "0.8.4"
|
version = "0.8.4"
|
||||||
@@ -2747,8 +2756,17 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"memchr",
|
"memchr",
|
||||||
"regex-automata",
|
"regex-automata 0.4.9",
|
||||||
"regex-syntax",
|
"regex-syntax 0.8.5",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-automata"
|
||||||
|
version = "0.1.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
|
||||||
|
dependencies = [
|
||||||
|
"regex-syntax 0.6.29",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -2759,9 +2777,15 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"memchr",
|
"memchr",
|
||||||
"regex-syntax",
|
"regex-syntax 0.8.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.6.29"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.8.5"
|
version = "0.8.5"
|
||||||
@@ -3751,7 +3775,7 @@ dependencies = [
|
|||||||
"fnv",
|
"fnv",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"plist",
|
"plist",
|
||||||
"regex-syntax",
|
"regex-syntax 0.8.5",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -3857,7 +3881,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18"
|
checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
"byteorder",
|
||||||
"regex-syntax",
|
"regex-syntax 0.8.5",
|
||||||
"utf8-ranges",
|
"utf8-ranges",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -4287,10 +4311,14 @@ version = "0.3.19"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
|
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"matchers",
|
||||||
"nu-ansi-term",
|
"nu-ansi-term",
|
||||||
|
"once_cell",
|
||||||
|
"regex",
|
||||||
"sharded-slab",
|
"sharded-slab",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thread_local",
|
"thread_local",
|
||||||
|
"tracing",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
"tracing-log",
|
"tracing-log",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ tokio = { version = "1.44.2", features = ["full", "macros"] }
|
|||||||
toml = { workspace = true }
|
toml = { workspace = true }
|
||||||
tonic = "0.13.0"
|
tonic = "0.13.0"
|
||||||
tracing = "0.1.41"
|
tracing = "0.1.41"
|
||||||
tracing-subscriber = "0.3.19"
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
||||||
tui-textarea = { version = "0.7.0", features = ["crossterm", "ratatui", "search"] }
|
tui-textarea = { version = "0.7.0", features = ["crossterm", "ratatui", "search"] }
|
||||||
unicode-segmentation = "1.12.0"
|
unicode-segmentation = "1.12.0"
|
||||||
unicode-width.workspace = true
|
unicode-width.workspace = true
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ move_down = ["j", "Down"]
|
|||||||
move_line_end = ["$"]
|
move_line_end = ["$"]
|
||||||
move_word_next = ["w"]
|
move_word_next = ["w"]
|
||||||
next_field = ["Tab"]
|
next_field = ["Tab"]
|
||||||
move_word_prev = ["b"]
|
# move_word_prev = ["b"]
|
||||||
move_word_end = ["e"]
|
move_word_end = ["e"]
|
||||||
move_last_line = ["shift+g"]
|
move_last_line = ["shift+g"]
|
||||||
move_word_end_prev = ["ge"]
|
move_word_end_prev = ["ge"]
|
||||||
|
|||||||
@@ -4,26 +4,35 @@ use client::run_ui;
|
|||||||
use client::utils::debug_logger::UiDebugWriter;
|
use client::utils::debug_logger::UiDebugWriter;
|
||||||
use dotenvy::dotenv;
|
use dotenvy::dotenv;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use tracing_subscriber;
|
use tracing_subscriber::EnvFilter;
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<()> {
|
async fn main() -> Result<()> {
|
||||||
#[cfg(feature = "ui-debug")]
|
#[cfg(feature = "ui-debug")]
|
||||||
{
|
{
|
||||||
// If ui-debug is on, set up our custom writer.
|
use std::sync::Once;
|
||||||
|
static INIT_LOGGER: Once = Once::new();
|
||||||
|
|
||||||
|
INIT_LOGGER.call_once(|| {
|
||||||
let writer = UiDebugWriter::new();
|
let writer = UiDebugWriter::new();
|
||||||
tracing_subscriber::fmt()
|
let _ = tracing_subscriber::fmt()
|
||||||
.with_level(false) // Don't show INFO, ERROR, etc.
|
.with_max_level(tracing::Level::DEBUG)
|
||||||
.with_target(false) // Don't show the module path.
|
.with_target(false)
|
||||||
.without_time() // This is the correct and simpler method.
|
.without_time()
|
||||||
.with_writer(move || writer.clone())
|
.with_writer(move || writer.clone())
|
||||||
.init();
|
// Filter out noisy grpc/h2 internals
|
||||||
|
.with_env_filter("client=debug,tonic=info,h2=info,tower=info")
|
||||||
|
.try_init();
|
||||||
|
|
||||||
|
client::utils::debug_logger::spawn_file_logger();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(feature = "ui-debug"))]
|
#[cfg(not(feature = "ui-debug"))]
|
||||||
{
|
{
|
||||||
if env::var("ENABLE_TRACING").is_ok() {
|
if env::var("ENABLE_TRACING").is_ok() {
|
||||||
tracing_subscriber::fmt::init();
|
let _ = tracing_subscriber::fmt::try_init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
// client/src/utils/debug_logger.rs
|
// client/src/utils/debug_logger.rs
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use std::collections::VecDeque; // <-- FIX: Import VecDeque
|
use std::collections::VecDeque; // <-- FIX: Import VecDeque
|
||||||
use std::io;
|
use std::io::{self, Write};
|
||||||
use std::sync::{Arc, Mutex}; // <-- FIX: Import Mutex
|
use std::sync::{Arc, Mutex}; // <-- FIX: Import Mutex
|
||||||
|
use std::fs::OpenOptions;
|
||||||
|
use std::thread;
|
||||||
|
use std::time::Duration;
|
||||||
|
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref UI_DEBUG_BUFFER: Arc<Mutex<VecDeque<(String, bool)>>> =
|
static ref UI_DEBUG_BUFFER: Arc<Mutex<VecDeque<(String, bool)>>> =
|
||||||
@@ -27,11 +30,11 @@ impl UiDebugWriter {
|
|||||||
impl io::Write for UiDebugWriter {
|
impl io::Write for UiDebugWriter {
|
||||||
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
|
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
|
||||||
let mut buffer = UI_DEBUG_BUFFER.lock().unwrap();
|
let mut buffer = UI_DEBUG_BUFFER.lock().unwrap();
|
||||||
let message = String::from_utf8_lossy(buf);
|
let message = String::from_utf8_lossy(buf).trim().to_string();
|
||||||
let trimmed_message = message.trim().to_string();
|
let is_error = message.starts_with("ERROR");
|
||||||
let is_error = trimmed_message.starts_with("ERROR");
|
|
||||||
// Add the new message to the back of the queue
|
// Always keep in memory
|
||||||
buffer.push_back((trimmed_message, is_error));
|
buffer.push_back((message, is_error));
|
||||||
Ok(buf.len())
|
Ok(buf.len())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,3 +47,22 @@ impl io::Write for UiDebugWriter {
|
|||||||
pub fn pop_next_debug_message() -> Option<(String, bool)> {
|
pub fn pop_next_debug_message() -> Option<(String, bool)> {
|
||||||
UI_DEBUG_BUFFER.lock().unwrap().pop_front()
|
UI_DEBUG_BUFFER.lock().unwrap().pop_front()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// spawn a background thread that keeps draining UI_DEBUG_BUFFER
|
||||||
|
/// and writes messages into ui_debug.log continuously
|
||||||
|
pub fn spawn_file_logger() {
|
||||||
|
thread::spawn(|| loop {
|
||||||
|
// pop one message if present
|
||||||
|
if let Some((msg, _)) = pop_next_debug_message() {
|
||||||
|
if let Ok(mut file) = OpenOptions::new()
|
||||||
|
.create(true)
|
||||||
|
.append(true)
|
||||||
|
.open("ui_debug.log")
|
||||||
|
{
|
||||||
|
let _ = writeln!(file, "{msg}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// small sleep to avoid burning CPU
|
||||||
|
thread::sleep(Duration::from_millis(50));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
193
client/ui_debug.log
Normal file
193
client/ui_debug.log
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from file. User is auto-logged in.
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from file. User is auto-logged in.
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from file. User is auto-logged in.
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('w') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(ExitCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('w') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Enter mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(CommandExecute) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('w') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Enter mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(CommandExecute) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('w') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Enter mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(CommandExecute) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('w') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Enter mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(CommandExecute) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Enter mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Auth data loaded from file. User is auto-logged in.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Esc mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(Navigate(Esc)) post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Char(':') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: Action(EnterCommandMode) post_active_seq=false
|
||||||
|
[32m INFO[0m InputEngine.reset_sequence() leader_seq_before=[]
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('q') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('!') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=Command, overlay_active=true, in_form_edit_mode=false, allow_nav=false, has_active_seq=false
|
||||||
|
[32m INFO[0m KeySequenceTracker.reset() from []
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
Logger initialized...
|
||||||
|
[32m INFO[0m Auth data loaded from "/home/priec/.local/state/komp_ac_client/auth.token"
|
||||||
|
[32m INFO[0m Schema for 'default.customers' cached.
|
||||||
|
[32m INFO[0m Initial view set to Form due to auto-login.
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('c') mods=KeyModifiers(CONTROL) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('c') mods=KeyModifiers(0x0) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
|
[32m INFO[0m RAW KEY: code=Char('c') mods=KeyModifiers(CONTROL) pre_active_seq=false
|
||||||
|
[32m INFO[0m InputContext: app_mode=General, overlay_active=false, in_form_edit_mode=false, allow_nav=true, has_active_seq=false
|
||||||
|
[32m INFO[0m ENGINE OUTCOME: PassThrough post_active_seq=false
|
||||||
Reference in New Issue
Block a user