Promote v0.26.0 to production - #887
Merged
Merged
Conversation
* [Fix] Let users select a model when editing environments * [Fix] Place environment model picker after start action --------- Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Daniel Riccio <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat(linear): guide self-hosted OAuth setup * refactor(integrations): align provider app setup
* Enable Linear app mentions and delegation * Simplify Linear reconnection
* Allow Linear credential reconfiguration * Polish Linear setup copy * Align integration card footer actions
The home page onboarding cards "Chat with Roomote on Slack" and "Assign tasks to agents from Linear" were visible to all users, but their actions call slack.connectApp / linear.connectApp, which are admin-gated and return Unauthorized for members. A member clicking "Do it" hit a silent dead end. Gate both cards on isAdmin, consistent with the deployment-scoped MCP cards in the same component. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* fix: report configured inference providers * fix: report configured compute providers --------- Co-authored-by: Roomote <roomote@roomote.dev>
#792) * feat: create a new repo (or fork) plus environment from within Roomote Make brand-new GitHub repositories a first-class setup target instead of a dead end: - Handle installation_repositories.added/removed and repository.created/deleted/renamed webhooks with a full installation resync, so repos created on github.com appear without a manual refresh. - Survive cloning empty repositories in the worker: point the unborn HEAD at the stored default branch and skip remote-ref sync steps; reject sha pins against empty remotes with a clear error. - Teach the environment-setup skill an empty-repository bootstrap: push one initial commit (README + .gitignore) to the default branch, then define the smallest valid environment. No app scaffolding - building the project is the user's first task. - Flag empty repos in the environment-definition kickoff prompt (inline fallback for older worker images) and stop blocking all-empty selections in onboarding and the environments start command. - New CreateGitHubRepoDialog (github.com/new with owner prefill, or fork an existing repo by URL) with live detection of newly synced repos, wired into onboarding repo selection, Settings > Environments > New (?create-repo=1 deep link), and the workspace picker. - Docs: brand-new-repository flow in environments.mdx and the webhook-event note in the GitHub provider guide. * feat(web): add repository creation to repository lists * refactor(web): simplify repository creation dialog * fix(web): remove unused repository UI code * fix(web): reconcile repository creation UI after rebase --------- Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com> Co-authored-by: Bruno Bergher <bruno@roocode.com>
* feat: show Roomote version in user menu * UI fixes * menu * review --------- Co-authored-by: Roomote <roomote@roomote.dev> Co-authored-by: Bruno Bergher <bruno@roocode.com>
Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com> Co-authored-by: Daniel Riccio <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Roomote <roomote@roomote.dev> Co-authored-by: Bruno Bergher <bruno@roocode.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
…nfigured (#884) * [Fix] Verify Microsoft Teams bot credentials before reporting them configured Saving Microsoft/Teams credentials only checked that the fields were non-empty, so a wrong app id, client secret, or tenant id was stored and reported as "Bot configured". The mismatch then surfaced as bare 401s on the messaging endpoint, with the actual cause visible only in server logs. Run the same client-credentials token request the bot uses at runtime and map Entra's AADSTS codes back to the field an admin got wrong, then fail the save with that field named. Both save paths (settings and onboarding) verify before writing. Presence still cannot answer the question for credentials injected as environment variables or for secrets that expired after setup, so the Teams integration status now carries a cached live verdict and the settings panel reports a rejection instead of claiming success. Also explain why the Teams app package download is unavailable rather than leaving a dead button when the entered App (Client) ID is not a GUID. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Fix review findings: drop credential hashing, invalidate caches after commit CodeQL flagged the status-check cache key as insecure password hashing: it ran SHA-256 over a tuple containing the client secret. Compare the resolved tuple directly instead — no digest over a secret, and no collision surface. The onboarding save dropped the credential-check cache before its transaction and never dropped the runtime credential cache, so the 30s runtime cache kept serving the pre-save tuple and the next status refresh reported the replaced credentials instead of the ones just verified. Both caches now clear after the commit, matching the settings path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Trim Entra diagnostics out of the admin-facing credential error The live AADSTS90002 response carried "Trace ID… Correlation ID… Timestamp…" inline on the message line rather than after \r\n, so the first-line trim let the whole diagnostics tail through to the toast. Strip the trace metadata regardless of layout, and when the failing field is identified keep only Entra's first sentence — our per-field guidance already restates the actionable advice. Unrecognized errors keep the fuller (trace-stripped) description since there is no guidance to lean on. Server logs still carry the complete response body. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Warn about a malformed App (Client) ID at the field, not only at step 3 The GUID explanation lived under the package-download button two steps below the input, so the person who typed the bad value never saw it. Show a short inline warning directly under the app-id field (both R_MICROSOFT_CLIENT_ID and the advanced R_TEAMS_BOT_APP_ID) whenever the entered value cannot be an Entra client id, and keep the step-3 note to explain the disabled download button. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Unexport getMicrosoftAppIdFormatWarning — only used in-module (knip) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* Linear Dialog * Refine Linear app manifest setup * Use standard Linear integration action * Align Linear credential inputs with providers * feat(web): reorder integration onboarding * Correct Linear manifest developer name * feat(web): animate onboarding card transitions * manifest and update * Clarify integration configuration states * Keep OAuth replay on public app URL * Complete Linear OAuth connection flow * Fix Linear task startup and account linking * Fix integration settings section test labels * Fix Linear integration lint errors * Fix Linear integration static checks * tweak * fix(linear): secure account link authorization * test(web): update integration section expectations
Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
Contributor
|
1 issue outstanding. See task
Reviewed 85c66c0 |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
* fix: atomically claim GitHub reply quotes * fix: retain quote claim generations * fix: make GitHub quote claims replay-safe --------- Co-authored-by: Daniel Riccio <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
* fix(web): bind Linear OAuth replay to saved identity * fix(web): preserve Linear links during OAuth replay --------- Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promote v0.26.0
Candidate updated to
85c66c0e735bf372b10ec1945f65e86f05167f6d, the latestorigin/developcommit at the time of refresh. The original0.26.0version commit was2b21bc9f331ec857ae9991edeb34cabfcbbae9b0.Additional candidate fixes
Prevent duplicate GitHub follow-up quotes.
Resume Linear sessions with the correct authorized account.
Route the first Linear session correctly after OAuth.
Merge this PR with a merge commit (do not squash or rebase).
If multiple promote PRs are open, merge them in version order (oldest first).
Merging publishes a GitHub Release for
v0.26.0and triggers the existing GHCRv*image publish (latestchannel).The
release/v0.26.0branch can be deleted after this PR merges.Changelog
0.26.0 (2026-07-29)
This release expands Linear and GitHub workflows, makes release information easier to find, and improves setup and task reliability.
Highlights
Minor changes
Patch changes