fabro/apps/fabro-web/app
Haoqian 94df98bb34
fabro doctor: check Docker daemon when Docker sandbox is enabled (#525)
## Summary

Fixes #501.

Adds a Docker sandbox diagnostics check so `fabro doctor` verifies the
Docker daemon when the Docker sandbox provider is enabled. Disabled
Docker providers are reported as disabled without touching the local
daemon.

## What changed

- Added `DockerSandboxProvider::check_daemon()` using Bollard `ping()`
only, with no container/image side effects.
- Added a `Docker Sandbox` check to server diagnostics with
pass/error/timeout handling and operator remediation.
- Updated demo diagnostics and doctor/server test fixtures so tests that
do not exercise Docker explicitly disable the provider.
- Added deterministic tests for enabled success, enabled failure,
enabled timeout, and disabled skip paths.

## Verification

- `cargo check -p fabro-server -p fabro-sandbox -p fabro-cli`
- `cargo test -p fabro-server docker_sandbox --lib`
- `cargo test -p fabro-server --features test-support
diagnostics_reports_under_scoped_daytona_api_key --lib`
- `cargo test -p fabro-cli --test it cmd::doctor`
- `git diff --check`

Not run locally: pinned nightly `fmt`/`clippy` because this environment
has Homebrew Rust only and no `rustup` for `nightly-2026-04-14`.

---------

Co-authored-by: Bryan Helmkamp <bryan@brynary.com>
2026-06-25 21:09:31 -04:00
..
components feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
data feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
hooks Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
layouts feat(web): theme toasts to match the app 2026-05-29 08:44:48 -04:00
lib feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
routes fabro doctor: check Docker daemon when Docker sandbox is enabled (#525) 2026-06-25 21:09:31 -04:00
app.css fix: tighten Ask Fabro sidebar markdown spacing 2026-05-22 13:47:31 -04:00
entry.tsx feat(web): migrate to generated API client 2026-05-08 07:44:33 -07:00
install-api.test.ts feat(web): migrate to generated API client 2026-05-08 07:44:33 -07:00
install-api.ts feat(web): migrate to generated API client 2026-05-08 07:44:33 -07:00
install-app.test.tsx feat(install): enable only allowed sandbox providers 2026-06-02 18:39:31 -04:00
install-app.tsx feat(install): enable only allowed sandbox providers 2026-06-02 18:39:31 -04:00
install-config.test.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-config.ts feat(install): redesign web wizard and scope dev token to PAT installs 2026-04-19 16:11:02 -04:00
install-flow.test.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-flow.ts fix(install): exclude openai-compatible from v1 setup 2026-04-19 11:43:38 -04:00
install-query.ts Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
install-router.test.tsx fix(install): mount wizard at root route 2026-04-24 12:59:16 -04:00
install-router.tsx fix(install): mount wizard at root route 2026-04-24 12:59:16 -04:00
mode.test.ts fix(install): harden web wizard against review findings 2026-04-19 12:43:00 -04:00
mode.ts fix(install): harden web wizard against review findings 2026-04-19 12:43:00 -04:00
root.tsx feat(fabro-web): port /chats/new + /chats/:id from prototype (#289) 2026-05-16 17:10:16 -04:00
router.test.tsx feat(web): regroup settings nav under General and Administration 2026-05-25 14:56:01 -04:00
router.tsx feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00