print()
statements in production code. Always use the unified logging system with proper Logger instances.
.debug
- Detailed information useful only during development/debugging
.info
- General informational messages about normal app flow
.notice
- Important events that are part of normal operation
.warning
- Warnings about potential issues that don’t prevent operation
.error
- Errors that indicate failure but app can continue
.fault
- Critical errors that indicate programming mistakes or system failures
vtlog
\(value, privacy: .public)
when needed)pnpm run build
in the web directory when building the Mac app - this is redundant and wastes time.
[module-name] message
[CLIENT:module-name] message
[module-name] message
vtlog
, you can identify the source:
[CLIENT:*]
- Originated from web frontend[server]
, [api]
, etc. - Server-side modulessh.vibetunnel.vibetunnel
. We provide a convenient vtlog
script to simplify log access.
vtlog
script is located at scripts/vtlog.sh
. It’s designed to be context-friendly by default.
Default behavior: Shows last 50 lines from the past 5 minutes
log
command directly:
./scripts/vtlog.sh --help
for full documentation-d
flag for debug-level logs during development--json
for machine-readable output[CLIENT:*]
prefix to identify frontend-originated logslist_schems_proj
to verify available schemesclean_proj
if neededswift test
:
swift test
Failsvibetunnel
SEA (Single Executable Application) binary is only created during the full Xcode build process. Tests expect this binary to be embedded in the app bundle’s Resources folder.swift test
runs in a minimal test bundle environment without the full app structureServerBinaryAvailableCondition
) which correctly fail when the binary isn’t present, preventing tests from running in an incomplete environment.
BunServer.swift
vtlog
to see logs from all components in one placepnpm run dev
is running)vtlog -f
during developmentControlProtocol.swift
or related files)web/src/shared/types.ts
ControlProtocol.swift
(Mac)types.ts
(Web)