Zinit with UI and oneshot services with result exits. #17

Closed
timur wants to merge 0 commits from development_web into development
Owner
No description provided.
fix: show localhost URL for web UI startup log
Some checks failed
Tests / test (push) Failing after 48s
Build and Test / build (push) Successful in 1m37s
b7103c248e
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: persist status on stop/start, add SVG favicon
Some checks failed
Tests / test (push) Failing after 54s
Build and Test / build (push) Successful in 1m36s
0637f85683
When stop is clicked in the web UI, set status="stop" in both the
in-memory config and TOML file so the service won't auto-start on
next zinit restart. Start restores status="start". Also adds an
inline SVG favicon (green Z with status dot).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: double-click service row to view logs, add logs button
Some checks failed
Tests / test (push) Failing after 38s
Build and Test / build (push) Failing after 1m5s
e18e096db1
Double-clicking a service row navigates to the Logs tab with that
service selected. Also adds a terminal icon button in the actions
column for quick log access.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: format log lines with parsed timestamps, stream tags, and log levels
Some checks failed
Tests / test (push) Failing after 46s
Build and Test / build (push) Successful in 1m32s
e859aa5487
Parse raw log format (unix_ms [stdout/stderr] message) into styled
components: human-readable time, color-coded stream badge, colored
log level (INFO=green, WARN=yellow, ERROR=red, DEBUG=gray), and
clean message text. Strips raw timestamps for readability.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: add /logs/{name} deep link URL, fix log timestamp stripping
Some checks failed
Tests / test (push) Failing after 54s
Build and Test / build (push) Successful in 1m56s
b142eba430
Add /logs/{name} route so logs are directly linkable (e.g.
http://localhost:3875/logs/hero_redis). On page load, detects the
URL path and auto-navigates to the Logs tab for that service.

Fix log formatting: aggressively strip ISO timestamps from log
messages using replace() before level detection, so structured
logs show clean output (time + stream + level + message only).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
zinit ui listens and syncs to theme changes from iframe host
Some checks are pending
Build and Test / build (push) Waiting to run
Tests / test (push) Waiting to run
32229930d1
fix: oneshot services report proper exit status, show blocked reasons in logs
Some checks failed
Tests / test (push) Failing after 52s
Build and Test / build (push) Successful in 1m39s
Tests / test (pull_request) Failing after 1m2s
Build and Test / build (pull_request) Successful in 1m36s
3828f7d7bf
Oneshot services now correctly transition to Failed state on non-zero exit
codes instead of always reporting Exited. The web UI logs panel now auto-fetches
and displays blocking reasons (dependencies, conflicts, port conflicts) with
the dependency tree when viewing a blocked service with no logs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix: prevent stuck Stopping state after SIGKILL timeout
Some checks failed
Build and Test / build (push) Successful in 1m47s
Tests / test (push) Failing after 1m1s
Tests / test (pull_request) Failing after 1m0s
Build and Test / build (pull_request) Successful in 2m19s
4551a67ef9
The stop timeout handler was relying entirely on the process watcher task
to detect process exit and update state. If the watcher failed (aborted,
race condition, or event channel issue), the service would stay in
Stopping state forever.

Now after sending SIGKILL, the handler verifies the process is actually
dead and updates the state directly, ensuring proper state transition
even if the watcher fails.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Author
Owner

merged with 7505beca6a

merged with 7505beca6ac08424543fe237f96e33ed97a31e68
timur closed this pull request 2026-02-16 00:41:47 +00:00
Some checks failed
Build and Test / build (push) Successful in 1m47s
Tests / test (push) Failing after 1m1s
Tests / test (pull_request) Failing after 1m0s
Build and Test / build (pull_request) Successful in 2m19s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/zinit!17
No description provided.