Skip to content

feat(cli): add a simple web client#30

Open
tnfssc wants to merge 5 commits intoraaymax:masterfrom
tnfssc:feat/web-client
Open

feat(cli): add a simple web client#30
tnfssc wants to merge 5 commits intoraaymax:masterfrom
tnfssc:feat/web-client

Conversation

@tnfssc
Copy link

@tnfssc tnfssc commented Feb 14, 2026

image

This pull request introduces a new browser-based Web UI mode to the lazytail log viewer, along with the necessary command-line interface and documentation updates. The changes add a new web subcommand, argument parsing, and integrate the Web UI into the application startup logic.

Web UI feature additions:

  • Added tiny_http dependency in Cargo.toml to support the embedded web server required for the Web UI.
  • Introduced a new WebArgs struct in src/cmd/mod.rs for parsing arguments related to the web subcommand (host, port, files, verbosity, etc.).
  • Added the web subcommand to the Commands enum in src/cmd/mod.rs and integrated it into the main command dispatch logic in src/main.rs. [1] [2]
  • Created a new web module in src/main.rs to implement the Web UI functionality.

Documentation updates:

  • Updated README.md to describe the new Web UI mode, including usage instructions and command-line examples. [1] [2] [3]

Warning

Binary size almost doubled 🥹

@tnfssc tnfssc marked this pull request as ready for review February 14, 2026 01:21
Copilot AI review requested due to automatic review settings February 14, 2026 01:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new browser-based Web UI mode to lazytail by introducing a web subcommand that runs an embedded HTTP server and serves a single-page HTML client for browsing/filtering log sources.

Changes:

  • Added web CLI subcommand (WebArgs) and wired it into the main command dispatcher.
  • Implemented a new src/web module providing an embedded tiny_http server with JSON APIs + SSE-style long-polling.
  • Added an embedded index.html Web UI and updated README + dependencies (tiny_http).

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/web/mod.rs Implements the web server, API routes, state management, filtering, and SSE/eventing.
src/web/index.html Embedded single-page Web UI client with virtualized source/log rendering and controls.
src/main.rs Registers mod web; and dispatches cmd::Commands::Web to web::run.
src/cmd/mod.rs Adds Web subcommand and WebArgs (host/port/files/watch/verbose).
README.md Documents the new lazytail web mode and updates command list.
Cargo.toml Adds tiny_http dependency.
Cargo.lock Locks new transitive deps for tiny_http.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tnfssc
Copy link
Author

tnfssc commented Feb 14, 2026

@copilot open a new pull request to apply changes based on the comments in this thread

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant