Commit Graph

  • 10323ce814 fix(tui): add area offset to settings popup positioning (closes #31) master dailz 2026-06-11 16:49:37 +08:00
  • c1a931551b fix(tui): handle settings save errors and rewrite truncate_to_columns (closes #30) dailz 2026-06-11 16:08:57 +08:00
  • dfc016c348 fix(tui): wrap color backward cycle at index 0 instead of clamping (closes #29) dailz 2026-06-11 15:05:42 +08:00
  • 19a3b877f9 fix(core): tighten word boundary to reject digits and underscores in level detection (closes #28) dailz 2026-06-11 14:28:13 +08:00
  • 5cb56dafd8 fix(core): correct tab-stop alignment and width overflow in wrap_line_chars dailz 2026-06-11 13:37:14 +08:00
  • e99861c76d fix(tui): add MAX_WRAP_INPUT_LEN guard to prevent UI freeze on oversized lines (closes #26) dailz 2026-06-11 13:15:11 +08:00
  • a43ef673b0 fix(tui): rebase v_offset before VHI invalidation to prevent viewport jump (closes #25) dailz 2026-06-11 09:49:10 +08:00
  • 70f930eef7 fix(tui): use updated v_offset after params_changed in ensure_viewport_cache (#24) dailz 2026-06-11 08:58:10 +08:00
  • 463c53148b fix(tui): filter KeyEventKind to prevent Release/Repeat from triggering commands (closes #23) dailz 2026-06-10 17:34:17 +08:00
  • e9f75ce3b1 fix(parser): detect duplicate JSON keys via custom Visitor instead of silent last-wins (closes #22) dailz 2026-06-10 15:22:55 +08:00
  • ef1889767a fix(parser): trim whitespace in LogLevel::from_str to prevent misclassification (closes #21) dailz 2026-06-10 13:37:11 +08:00
  • eedab3ac96 fix(parser): strip UTF-8 BOM before JSON parsing dailz 2026-06-10 11:37:00 +08:00
  • 8e9600dda2 fix(parser): preserve non-string timestamp/level fields instead of silently dropping them (closes #19) dailz 2026-06-10 10:47:04 +08:00
  • 2cebbd94c4 fix: concurrent cache save uses unique temp files (#17) dailz 2026-06-09 16:13:39 +08:00
  • 0d88e933e6 fix(io): replace blocking channel sends with cancel-aware alternatives (closes #16) dailz 2026-06-09 15:14:37 +08:00
  • 420b853cb9 fix(watcher): filter Remove events by path to prevent false removed reports (closes #15) dailz 2026-06-09 13:18:23 +08:00
  • 7852e92ecc fix(watcher): forward notify backend errors instead of silently discarding dailz 2026-06-09 11:26:54 +08:00
  • d37ed6df68 fix(io): harden read_cache against zero-length false hits and overflow (closes #13) dailz 2026-06-09 10:48:34 +08:00
  • b58d66f2aa fix(io): use unicode-width for correct CJK/emoji/zero-width display width (closes #12) dailz 2026-06-07 12:50:17 +08:00
  • d4679a7543 fix(io): update visual height of last line on append without trailing newline (closes #11) dailz 2026-06-07 09:46:24 +08:00
  • 8844e58cb4 Merge fix/m20-append-lines-error-handling: fix append_lines I/O error swallowing (closes #45) + clippy cleanup dailz 2026-06-07 09:17:41 +08:00
  • 6a2f8ecb66 fix(bench): resolve pre-existing clippy warnings in report.rs and mmap_reader.rs fix/m20-append-lines-error-handling dailz 2026-06-07 09:15:34 +08:00
  • f6081b9fe9 fix(bench): propagate I/O errors in append_lines instead of silently defaulting to 0 (closes #45) dailz 2026-06-07 09:13:37 +08:00
  • 97a2c6a925 fix(bench): regenerate growable file each iteration in truncate safety benchmarks (closes #44) dailz 2026-06-07 09:02:19 +08:00
  • e6e0e2cc90 fix(bench): correct lines_read to actual successful reads in bench_scroll_rss dailz 2026-06-07 08:50:20 +08:00
  • ffaf462bae Merge fix/m23-single-frame-tail-overlap: [M23] small file single_frame_tail overlap fix dailz 2026-06-07 08:32:58 +08:00
  • a8dc067cd4 fix(bench): [M23] prevent single_frame_tail/head overlap for small files fix/m23-single-frame-tail-overlap dailz 2026-06-07 08:31:00 +08:00
  • 502479677b fix(bench): warn when clear_file_cache fails instead of silently skipping cold benchmarks (closes #41) dailz 2026-06-05 17:28:57 +08:00
  • 5656b26d7b refactor(bench): unify line counting in get_file_info to use count_existing_lines dailz 2026-06-05 17:04:46 +08:00
  • a8b64e78bd fix(bench): stabilize report column/row ordering across input permutations (#39) dailz 2026-06-05 16:24:41 +08:00
  • e945a357f7 fix(bench): warn on all reset_vm_hwm errors, not just PermissionDenied dailz 2026-06-05 15:52:01 +08:00
  • fb57584546 fix(bench): validate --suites names, reject unknown suites at CLI boundary dailz 2026-06-05 15:20:24 +08:00
  • 9baec5ab69 fix(bench): refresh PreadReader index periodically in scroll_during_append (closes #36) dailz 2026-06-05 14:40:32 +08:00
  • 6dd87d2872 fix(bench): wrap file writes with BufWriter to reduce syscall overhead dailz 2026-06-05 14:01:35 +08:00
  • 83f633a562 fix(bench): make can_reset_vm_hwm side-effect-free with open probe (closes #34) dailz 2026-06-05 13:34:01 +08:00
  • dad5f5a635 fix(bench): eliminate SIGBUS handler static mut UB with Once + raw atomics (closes #33) dailz 2026-06-05 13:22:02 +08:00
  • 534a089b58 fix(tui): defer file-change events during Loading state to prevent stale reader (closes #10) dailz 2026-06-04 17:32:58 +08:00
  • b7938e069d fix(tui): RAII TerminalGuard prevents terminal corruption on error exit (closes #8) dailz 2026-06-04 16:11:16 +08:00
  • d40d70c600 fix(watcher): use try_send to prevent blocking notify callback dailz 2026-06-04 14:33:40 +08:00
  • 1350f659fa fix(io): eliminate SIGBUS risk in background indexer threads (closes #6) dailz 2026-06-04 14:10:51 +08:00
  • 1bb6b2e9f3 fix: eliminate TOCTOU race in IndexCache::save (closes #5) dailz 2026-06-04 13:30:16 +08:00
  • bef0b44e91 fix(io): guard sampled_offsets index in get_line() to prevent panic on corrupt cache dailz 2026-06-03 15:39:05 +08:00
  • 24fe97a457 fix(io): eliminate TOCTOU race in FileReader open/reload dailz 2026-06-03 15:08:22 +08:00
  • b6e655bff6 fix(io): handle file shrink in update_for_append to prevent SIGBUS dailz 2026-06-03 14:47:23 +08:00
  • b3256b2917 fix: audit fixes for 4 medium-severity bugs: index_cache tail hash, read_cache doc, mutex poison recovery, Remove event handling dailz 2026-05-10 17:03:07 +08:00
  • fb23e4c7cb fix(tui): smooth visual-row scrolling during Loading state dailz 2026-04-24 19:04:30 +08:00
  • 8c5a838db0 fix(tui): j/k scroll by visual row instead of logical line dailz 2026-04-24 07:41:30 +08:00
  • 81cc72bd84 test(tui): add Loading + JSON expansion unit tests dailz 2026-04-14 17:38:35 +08:00
  • 06b2a39816 fix(tui): post-check cursor visibility in viewport during Loading dailz 2026-04-14 17:09:50 +08:00
  • 0941092b07 feat(tui): enable JSON expansion during Loading state dailz 2026-04-14 16:52:17 +08:00
  • 4ec3eb7cee fix(core): cap incremental scan in get_line() to prevent O(N) blocking dailz 2026-04-14 09:58:20 +08:00
  • 05491304bf fix(tui): allow free scrolling during progressive loading dailz 2026-04-14 09:36:03 +08:00
  • a03af7e74e feat(core): implement FileWatcher for live file tailing dailz 2026-04-14 09:07:27 +08:00
  • bab3d9078a feat(tui): replace O(N) scanning with progressive loading and VisualHeightIndex dailz 2026-04-14 09:07:18 +08:00
  • f9f451e0d6 feat(core): implement ProgressiveFileReader with background indexer dailz 2026-04-14 09:07:09 +08:00
  • 210eecfa66 feat(core): extract wrap utilities and extend LineIndex for progressive loading dailz 2026-04-14 09:06:52 +08:00
  • cfbe4900a5 feat(core): add LineSampler for fast line count estimation dailz 2026-04-14 09:06:42 +08:00
  • 2260d60302 feat(core): add disk index cache infrastructure dailz 2026-04-14 09:06:36 +08:00
  • 62a176441e feat(core): refactor FileReader to use mmap with low-RSS index building dailz 2026-04-12 20:50:58 +08:00
  • 25a17779ff feat(core): implement sparse LineIndex with BufReader streaming dailz 2026-04-12 20:50:14 +08:00
  • 02d7323a8b feat(core): add Mmap error variant and memmap2 dependency dailz 2026-04-12 20:49:27 +08:00
  • 2ac3eb99c7 feat(tui): add Span-based rendering with level colors and settings panel dailz 2026-04-12 10:52:45 +08:00
  • c6e83cb8c2 feat(tui): add AppMode, level_cache and config integration dailz 2026-04-12 10:52:03 +08:00
  • ef4c2e7383 feat(tui): add color mapping module dailz 2026-04-12 10:51:26 +08:00
  • c914912389 feat(core): add detect_level() for plain text logs dailz 2026-04-12 10:50:59 +08:00
  • 105e428a43 feat(core): add ColorConfig struct with TOML support dailz 2026-04-12 10:50:39 +08:00
  • 67a118a8c8 docs(core): add Chinese comments to types module dailz 2026-04-11 16:30:20 +08:00
  • 9082726e47 docs(core): add Chinese comments to error module dailz 2026-04-11 16:26:24 +08:00
  • c04cc72b55 docs(core): add Chinese comments to parser module dailz 2026-04-11 16:20:44 +08:00
  • e3f11d2165 docs(core): add Chinese comments to io module dailz 2026-04-11 16:17:06 +08:00
  • 1c9367f1f9 feat(tui): update status bar with Tab format hint dailz 2026-04-11 11:38:42 +08:00
  • 280c3f5014 feat(tui): add Tab key to toggle JSON pretty-print dailz 2026-04-11 11:38:30 +08:00
  • 8a664c02c8 fix(tui): use char-level wrapping instead of word-level for log lines dailz 2026-04-11 09:02:01 +08:00
  • 3c042e20a1 fix(tui): show [0/0] instead of [1/0] for empty files dailz 2026-04-11 08:52:22 +08:00
  • 6820246997 feat(tui): rewrite UI with line numbers, soft wrap, and scrolling dailz 2026-04-10 23:38:06 +08:00
  • 555ffc0836 feat(tui): expand App state with file loading and scroll dailz 2026-04-10 23:28:23 +08:00
  • 37bebc1a26 feat(core): implement JSON log parser dailz 2026-04-10 23:08:26 +08:00
  • f173adc018 feat(core): implement FileReader with memchr line indexing dailz 2026-04-10 23:01:03 +08:00
  • 73322138c1 feat(tui): ratatui skeleton with layout dailz 2026-04-10 21:20:14 +08:00
  • 09e7f995fb feat(gui): egui skeleton with dark theme dailz 2026-04-10 21:19:34 +08:00
  • 53250e5903 feat(core): declare module structure dailz 2026-04-10 21:19:01 +08:00
  • 843b3db081 feat(core): define error types with thiserror dailz 2026-04-10 21:18:20 +08:00
  • 8e977af52c feat(core): define core types with tests dailz 2026-04-10 21:17:57 +08:00
  • 0ee82cbccd feat(init): scaffold cargo workspace and CI dailz 2026-04-10 21:17:22 +08:00