Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: elie222/rakazo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.4
Choose a base ref
...
head repository: elie222/rakazo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.1.5
Choose a head ref
  • 18 commits
  • 194 files changed
  • 9 contributors

Commits on Sep 7, 2026

  1. 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>
    3 people authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    b30b93e View commit details
    Browse the repository at this point in the history
  2. Simplify the first-run computer choice copy (#781)

    * Simplify the first-run computer choice copy
    
    * Translate the simplified computer choice copy
    elie222 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    d0e9376 View commit details
    Browse the repository at this point in the history
  3. 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>
    elie222 and claude authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    a4370de View commit details
    Browse the repository at this point in the history
  4. 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
    elie222 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    da8895f View commit details
    Browse the repository at this point in the history
  5. 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>
    elie222 and claude authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    2ae0037 View commit details
    Browse the repository at this point in the history
  6. 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>
    3 people authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    65c6474 View commit details
    Browse the repository at this point in the history
  7. 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.
    elie222 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    78fe74f View commit details
    Browse the repository at this point in the history
  8. Open desktop model sign-in in the default browser (#783)

    Co-authored-by: Cursor Agent <cursoragent@cursor.com>
    elie222 and cursoragent authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    d4a5477 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0bf0fda View commit details
    Browse the repository at this point in the history
  10. feat(mobile): add Advanced model controls (#733)

    * feat(mobile): add advanced model controls
    
    * fix(mobile): preserve thinking overrides
    fetw882 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    e39f2d8 View commit details
    Browse the repository at this point in the history
  11. 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).
    elie222 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    027a20d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4153ec3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    89991ec View commit details
    Browse the repository at this point in the history
  14. 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>
    3 people authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    1516955 View commit details
    Browse the repository at this point in the history
  15. 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
    elie222 authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    b423545 View commit details
    Browse the repository at this point in the history
  16. 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>
    3 people authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    ab267bf View commit details
    Browse the repository at this point in the history
  17. 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>
    RA-h and cursoragent authored Sep 7, 2026
    Configuration menu
    Copy the full SHA
    de591ae View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1102ad8 View commit details
    Browse the repository at this point in the history
Loading