Repository navigation
Comparing changes
Open a pull request
base repository: elie222/rakazo
base: v0.1.4
head repository: elie222/rakazo
compare: v0.1.5
- 18 commits
- 194 files changed
- 9 contributors
Commits on Sep 7, 2026
-
feat: improve Pi runtime and tool completion auditing (#775)
* feat: improve Pi runtime completion handling * fix: scope and retain Pi session transcripts * fix: make Pi session cleanup part of deletion * fix: gate Pi JSONL session recording behind env opt-in Default PI_SESSION_RECORDING off so hosted multi-tenant DATA_DIR does not store unencrypted Pi transcripts. Silent tool continue and agent.tool.completed audit stay always on. Retention and delete cleanup remain for when recording is enabled. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b30b93e - Browse repository at this point
Copy the full SHA b30b93eView commit details -
Simplify the first-run computer choice copy (#781)
* Simplify the first-run computer choice copy * Translate the simplified computer choice copy
Configuration menu - View commit details
-
Copy full SHA for d0e9376 - Browse repository at this point
Copy the full SHA d0e9376View commit details -
Show real setup progress and keep the panel alive during long pulls (#…
…780) * Show setup progress and keep the panel alive during long pulls The first-run panel was a wall of raw docker output driven by a renderer timer. It now shows a phase, a progress bar fed by the bytes docker reports per layer, and the size downloaded so far, with the docker output moved behind a details toggle that opens itself on failure. The main process pushes every stack state change to the setup window and the window no longer throttles timers in the background, so progress keeps moving while the window sits behind others and a follow that ends on an error restarts on the next change instead of leaving Continue enabled mid-download. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Capture the setup progress bar after its transition settles Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Address review: progressbar semantics, byte units, details reset Expose the progress bar as a progressbar with a synced value, report sizes under a kilobyte in bytes, hold the controls while a restarted follow renders, and collapse the docker output again on a retry when only the failure had opened it (a person's own click still sticks). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for a4370de - Browse repository at this point
Copy the full SHA a4370deView commit details -
Default to vision-capable Luna and add Astra and Fable options (#779)
* Default to vision-capable Luna and refresh model options * Block model setup when the catalog is unavailable * Verify persisted session metadata mappings * Require connection inputs before completing model setup
Configuration menu - View commit details
-
Copy full SHA for da8895f - Browse repository at this point
Copy the full SHA da8895fView commit details -
Stop CodeRabbit from reviewing CSS with Stylelint (#785)
Biome is the only CSS linter and formatter this repo runs, so Stylelint findings from the review bot are about rules we never configured; the last one asked to spell currentColor differently from every other stylesheet here. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 2ae0037 - Browse repository at this point
Copy the full SHA 2ae0037View commit details -
Feat/fish audio voice provider (#777)
* feat(voice): add Fish Audio provider * fix(voice): keep Fish Audio setup in Voice settings * fix(voice): page through Fish Audio model listings listVoices only requested page 1, so voices beyond the first 100 were missing. Follow has_more when present, otherwise total/page fullness, with a hard page cap. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * docs(voice): document Fish Audio provider functions * fix(voice): load complete Fish Audio catalogs * fix(voice): bound Fish Audio catalog crawl for settings Cap public model pages tightly and own pages generously, share one listVoices deadline across pages, and prefer user-owned voices first. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 65c6474 - Browse repository at this point
Copy the full SHA 65c6474View commit details -
Clarify the security and local-access tradeoff (#784)
Present Docker isolation and local file/tool access neutrally, with equal button styling and an accessible command-execution warning before either choice. Update translations and verify both platform labels with browser screenshots and accessible-description assertions. All CI checks passed.
Configuration menu - View commit details
-
Copy full SHA for 78fe74f - Browse repository at this point
Copy the full SHA 78fe74fView commit details -
Open desktop model sign-in in the default browser (#783)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Configuration menu - View commit details
-
Copy full SHA for d4a5477 - Browse repository at this point
Copy the full SHA d4a5477View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bf0fda - Browse repository at this point
Copy the full SHA 0bf0fdaView commit details -
feat(mobile): add Advanced model controls (#733)
* feat(mobile): add advanced model controls * fix(mobile): preserve thinking overrides
Configuration menu - View commit details
-
Copy full SHA for e39f2d8 - Browse repository at this point
Copy the full SHA e39f2d8View commit details -
Add server-owned integration setup and app connections (#782)
New installations need integration-provider configuration before app authorization; this adds server-owner setup with Direct MCP, Composio, Pipedream, and Executor, skips that setup for regular users and already-configured servers, and keeps personal app authorization separate. Provider credentials are validated and encrypted for use by the API and worker without a restart, direct MCP discovery reuses OAuth and bot assignments, and provider setup remains available from owner settings while users can add MCP servers from Integrations; Executor uses an existing installation with a download link, while mobile MCP authorization hands off to the web app because its callback flow is browser-based (native setup is not captured by web CI). The visible copy is limited to action and field labels (“Server integrations”, “Add MCP server”, “Browse MCP servers”, “Direct MCP”, “Composio”, “Pipedream”, “Executor”, “Integration options”, “API key”, “Client ID”, “Client secret”, “Project ID”, “Get credentials”, “Search apps”, “Search integrations.sh”, “Connect”, “Connected”, “Connecting…”, “Continue”, “Skip”, “Add server URL”, “Server URL”, “Access token”, “Setup help”, “Download Executor”, “Bot”, “Open web app”, and “Loading…”), plus contextual recovery copy (“Could not load integrations”, “Could not connect”, “A remote MCP server is required”, “Could not verify or save these credentials”, “Could not verify these credentials”, “Set up an integration provider in Integrations first”, “No remote MCP servers found”, “Ask the server owner to configure this provider.”, “Set up Executor on your server in the web app.”, “Finish MCP authorization in the web app.”, “Could not load bots. Reload to try again.”, and “What would you like to work on first?”): controls need names to be discoverable and the search action identifies the external catalog, while fields, help links, errors, and platform explanations appear only when relevant rather than as persistent explanations. Validation: deterministic authorization, provider, OAuth, and mobile translation tests passed, targeted browser scenarios cover owner setup/settings and remote-member onboarding/MCP connections, workspace type checks passed, and repository lint reported existing warnings; CI passes, with screenshots of [server configuration](https://rakazogithubactions.fsn1.your-objectstorage.com/playwright/runs/34156769320-1/screenshots/images/203-server-integrations-configured.png), and [remote-user MCP connections](https://rakazogithubactions.fsn1.your-objectstorage.com/playwright/runs/34156769320-1/screenshots/images/185-remote-member-mcp.png).
Configuration menu - View commit details
-
Copy full SHA for 027a20d - Browse repository at this point
Copy the full SHA 027a20dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4153ec3 - Browse repository at this point
Copy the full SHA 4153ec3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89991ec - Browse repository at this point
Copy the full SHA 89991ecView commit details -
Add a pr-watch skill and stop prescribing timed polling (#786)
* Add a pr-watch skill and stop prescribing timed polling AGENTS.md told agents to poll a pull request's checks, reviews and comments on a roughly 60-second timer. That mostly produces repeated snapshots of an unchanged PR, and a foreground wait is killed by the tool timeout before it learns anything, so each cycle costs an error and a retry. - Add .agents/skills/pr-watch with a pr-digest helper that blocks until every check on the exact head commit is terminal, then prints only the failing checks, the review comments awaiting a reply, and a verdict - Annotate a failing check with the step that broke, so a job cancelled before its tests ran is distinguishable from a real failure without another lookup - Strip review-bot boilerplate, which is most of a bot comment and none of its meaning - Point AGENTS.md at the skill instead of prescribing a polling interval * Fix correctness gaps in pr-digest found in review Several paths could report a clean pull request when it was not one: replies used a route missing the pull number, failing commit statuses never reached the verdict, conversation comments were never read, and a failed API call produced empty results and a green verdict. Each read now aborts on failure, the head is re-read before the verdict, and the watch honours its deadline. * Count unanswered conversation comments in the green gate Exclude only clearly non-actionable noise, and treat a conversation comment as handled only when the viewer later quotes its permalink — so actionable bot feedback can no longer be skipped or closed by an unrelated inline reply. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Harden pr-digest conversation handling and viewer identity Fix viewer resolution so integration tokens do not concatenate a failed /user error onto the GraphQL login (which left replied threads looking open). Compare conversation replies against updated_at so edited findings reopen, strip terminal control bytes from cleaned bodies, and address the small review nits around head re-reads, --logs exit status, and COMMENT_ID. Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com> * Carry the abort to the call sites and read review summaries Building on the previous two commits. - die inside a command substitution exits only the subshell, so every read assignment now carries its own || die; without it a failed fetch left the script running with an empty result and a success status - Read pull request reviews as well as inline and conversation comments. A human can request changes in a review body with nothing attached to a line, and reviewDecision now blocks a green verdict even when that body is empty * Fix PR digest review handling and avoid duplicate API writes * Reopen edited inline findings and accept permalink punctuation * Port PR digest regression tests to TypeScript and Vitest * Wait for package code generation before typechecking --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Elie Steinbock <elie222@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1516955 - Browse repository at this point
Copy the full SHA 1516955View commit details -
Add background computer update and recovery progress (#791)
* Add background computer update and recovery progress * Keep interrupted computer maintenance reserved until workers settle * Add attended recovery for interrupted computers and isolate reconciliation failures
Configuration menu - View commit details
-
Copy full SHA for b423545 - Browse repository at this point
Copy the full SHA b423545View commit details -
feat(subagents): allow connected model selection (#790)
* feat(subagents): allow connected model selection Let run_subagent take an optional paired model_provider/model_id so helpers can use a connected Space model instead of always inheriting the parent. Omit both to keep inheritance; reject incomplete pairs and unknown choices. Co-authored-by: fetw <fetw882@gmail.com> * fix(subagents): tighten free-form model selection Reject saved free-form IDs except openai-compatible, keep free-form credentials bound to the owning preference, and make the validation mock honor query predicates. Co-authored-by: fetw <fetw882@gmail.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: fetw <fetw882@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ab267bf - Browse repository at this point
Copy the full SHA ab267bfView commit details -
Fix Space deletion trap: deletable empty spaces, escapable onboarding (…
…#792) * Fix Space deletion trap: deletable empty spaces, escapable onboarding Deleting the only bot in a Space forced per-space onboarding with no exit, and Spaces had no delete affordance at all, making it impossible to remove a Space once created. - Add spaces/remove backend (empty, non-default spaces only) with guards for default/last/non-empty/foreign spaces - Only redirect to onboarding when all spaces are empty; an empty current space with content elsewhere stays in the app - Right-click a Space header for Delete space with confirmation dialog - Add Back to app exit on the onboarding page * Format spaces.remove adapter context call Co-authored-by: Rahath Ahmed <rahath103@gmail.com> * Tighten space-delete fallback and selection guard Return the unchanged current space when deleting an inactive empty space, and only reload after selectSpace succeeds. Co-authored-by: Rahath Ahmed <rahath103@gmail.com> * Destroy space sandboxes before cascading the Space row Failed provider destroy must not lose the only durable computer handle. Guards stay shared; delete still re-checks under a transaction. Co-authored-by: Rahath Ahmed <rahath103@gmail.com> * Clear computer providerRef after successful sandbox destroy If space delete later fails, Computer rows must not point at sandboxes that already no longer exist. Co-authored-by: Rahath Ahmed <rahath103@gmail.com> * Require space owner for delete; fix hasContent and sandbox refs Shared empty Spaces could be deleted by any member, hasContent ignored other members' bots/groups, and a successful sandbox destroy followed by a failed Space delete left computer rows pointing at gone providerRefs. Require SpaceMember role owner, count all bots/groups in member spaces, and clear each providerRef only after that destroy succeeds before the Space cascade. Authorization coverage includes the shared-member deny path. Co-authored-by: Rahath Ahmed <rahath103@gmail.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Configuration menu - View commit details
-
Copy full SHA for de591ae - Browse repository at this point
Copy the full SHA de591aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1102ad8 - Browse repository at this point
Copy the full SHA 1102ad8View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.1.4...v0.1.5