feat(shell): add browser daemon mode#388
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: ProverCoderAI#373
|
Warning Review limit reached
More reviews will be available in 47 minutes and 23 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughДобавлена поддержка запуска браузерного фронтенда в режиме демона. Команда ChangesДобавление режима демона для браузерного фронтенда
🎯 3 (Moderate) | ⏱️ ~25 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Working session summaryImplemented and pushed the fix for issue #373. PR: #388 What changed:
Verification:
SOURCE: n/a. This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (795.0K + 21.4M cached) input tokens, 73.3K output tokens, $32.698563 cost 🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (103303KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 1)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
CI investigation update for latest head |
🔄 Auto-restart-until-mergeable Log (iteration 1)This log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (135485KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🔄 Auto-restart triggered (iteration 2)Reason: CI failures detected Starting new session to address the issues. Auto-restart-until-mergeable mode is active. This run will stop after 5 restart iterations. |
🚨 Solution Draft FailedThe automated solution draft encountered an error: 🤖 Models used:
📎 Failure log uploaded as Repository (2 chunks) (135544KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
Fixes #373
Summary
docker-git browser -d,docker-git browser --daemon, and thewebalias variants into a typedBrowserCommand.daemonflag.serve:webdetached withnohup, preserving daemon diagnostics in a log beside the browser state file.@prover-coder-ai/docker-git.Reproduction
Before this change, a parser-level test for
parseArgs(["browser", "-d"])could not observe daemon intent becauseBrowserCommandcarried only_tag: "Browser".Automated Tests
bun run --cwd packages/app test -- tests/docker-git/parser-browser.test.ts tests/docker-git/program.test.ts tests/docker-git/browser-frontend-daemon.test.ts tests/docker-git/browser-frontend.test.tsbun run --cwd packages/app lintbun run --cwd packages/app typecheckbun run --cwd packages/app testbun run checkbun run lintbun run testMathematical Guarantees
Invariants
forall args: daemon(parseBrowser(args)) <-> exists a in args: a in {"-d", "--daemon"}forall mode in {foreground, daemon}: launch(mode) -> built(webRevision)suffix(statePath, ".json") -> logPath = prefix(statePath, ".json") + ".log"Preconditions
nohupandbunto be resolvable by the shell command.Postconditions
serve:webin the parent command as before.serve:weband logging the detached PID plus log path.Complexity
O(n)time andO(1)additional space wheren = |args|.O(m)time andO(m)space wherem = |statePath|.