Skip to content

Promote v1.9.0 to production - #2625

Open
mrubens wants to merge 60 commits into
mainfrom
release/v1.9.0
Open

Promote v1.9.0 to production#2625
mrubens wants to merge 60 commits into
mainfrom
release/v1.9.0

Conversation

@mrubens

@mrubens mrubens commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Promote v1.9.0

Frozen at 83b0b77567590416d4d48b681bf3178fc087847b — the commit where 1.9.0 was versioned. Commits merged to develop afterward require an explicit candidate refresh or ship in the next release.

  • 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).
  • Monitor CI and reviews on this PR's current head, not only the release-preparation PR. Unresolved findings and missing required approvals remain blockers even with green CI.
  • After a refresh or CI reconciliation, re-check the new head; monitoring never authorizes merging or publication.
  • Merging publishes a GitHub Release for v1.9.0 and triggers the existing GHCR v* image publish (latest channel).
  • The release/v1.9.0 branch can be deleted after this PR merges.

Changelog

1.9.0 (2026-09-13)

Roomote 1.9 brings a native Telegram experience for Fast work, direct pull request merging and shared-skill editing, clearer mobile navigation, and personal task-finish notifications.

Highlights

  • Work with Fast natively in Telegram through rich streaming replies, /goal, live coding progress, reliable attachments, and clearer automation and review controls.
  • Merge pull requests directly in Fast across supported source-control providers with explicit authorization and head-version safeguards.
  • Create and maintain shared custom skills conversationally without overwriting newer edits.
  • Reach recent Sessions more easily on mobile and receive a personal notification when web-started tasks finish while you are away.

Minor changes

  • Fast can now update shared custom skills by exact catalog ID, with atomic exact-text or full-content edits and version protection that prevents stale changes from overwriting newer work.
  • Fast can now merge pull requests directly across supported source-control providers after an explicit request, while preserving provider checks, permissions, head-version safeguards, and post-merge verification.
  • Telegram now delivers Fast replies, edits, private-chat drafts, and compact Session footers as native rich messages, with live streaming and links back to active work.
  • Telegram users can now start Goal Mode for an active task with /goal, keeping goal-directed work in the same chat or topic without switching to the web app.
  • Telegram now shows Fast-delegated coding work in one compact, editable live message with topic-aware routing, expandable progress, elapsed status, and a direct link to the selected task.
  • Users who leave the web app can now receive a personal notification when a web-started task completes, fails, or is canceled, with a direct link back to the task.

Patch changes

  • Roomote Cloud hides managed Email configuration that members cannot change, while continuing to show the deployment-provided address and connection state.
  • Deployment setup rejects malformed domain names before they can produce invalid routing or certificate configuration.
  • Fast now handles incomplete skill lookup arguments and unavailable skill sources without hiding valid skills, and integration discovery reports exact filter misses instead of returning an ambiguous empty result.
  • Mobile navigation makes recent Sessions easier to reach and moves Session switching into a responsive left rail that keeps the current conversation usable.
  • Telegram replies now preserve paragraphs, lists, reply context, and supported Markdown consistently, split long responses without losing content, and avoid adding redundant reply quotes.
  • Session history is clearer: internal timer receipts and redundant failed-tool labels stay hidden, task memories identify their initiating member, and the Experimental Results setting accurately describes its available features.
  • Tasks launch in the intended environment more reliably, and task-list failures now offer a retry instead of leaving users stranded on an error state.
  • Telegram conversations are more reliable across attachments, voice messages, topics, automations, reviews, mentions, and interactive prompts, with stable titles and icons, correctly threaded reports, clearer automation headings, durable review actions, and stale controls removed when they are no longer usable.
  • Telegram live coding progress stays stable through short and resumed Fast turns, and successful tasks keep their last useful update instead of being replaced with a generic completion message.
  • Voice conversations follow active coding tasks more consistently during calls and render transcript whitespace cleanly.
  • Automation reports use consistent default destinations across communication providers, while Fast widgets and their shareable links remain available across providers and resumed background turns.

roomote-roomote Bot and others added 30 commits September 11, 2026 15:24
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* feat: enable native Fast GitHub PR merges

* feat: extend Fast PR merging across providers

* fix: bind provider merges to the intended target

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix(api): stop automatic Telegram Fast reactions

* fix(api): retain Telegram snapshot resume ack

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
OpenAI gpt-5.x models fill every optional list_skills argument, so an exact-name
lookup arrived with both scope IDs set and was rejected by the bridge schema.
The bare catch then reported 'The requested skill catalog is unavailable.' on
every call, which made models conclude the catalog was down.

- Treat null as absent for list_skills and load_skill on every Fast host, not
  only inside task sandboxes.
- Prefer environmentId when both scope IDs are given, and ignore a continuation
  offset without an exact name, instead of rejecting the call.
- Report the zod issues for invalid arguments and log other failures.
- Degrade a failing Settings or repository source to a catalog warning so
  packaged and instance skills still load.

Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat: add native Telegram thinking activity

* fix: make Telegram thinking requests explicit

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: add native Telegram thinking activity

* feat: stream Telegram Fast replies

* fix: make Telegram thinking requests explicit

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* feat: add Telegram live task updates

* chore: keep Telegram render result internal

* fix: keep Telegram live updates compact and terminal

* fix: keep Telegram launch message expandable

* fix: match Telegram task link to Slack

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: preserve transcript output for audio attachments

* fix: apply audio reasoning to selected model

* fix: prioritize request-scoped reasoning

* fix: scope audio reasoning to selected model

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: follow coding tasks every minute in voice mode

* fix: preserve voice call marker order

* fix: keep voice mode out of the Fast system prompt

---------

Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: thread Telegram automation DM reports

* fix: reuse Telegram automation recovery topics

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: restore Telegram PR review actions

* fix: retire failed Telegram review carriers

* fix: clear retired Telegram footer actions

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
…2572)

* fix: classify Telegram topic icons deterministically

* fix: classify Telegram topic icons by model enum

* refactor: clarify Telegram icon candidates

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix(web): hide timer create and list receipts

* test(web): align grouped timer visibility

---------

Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: keep Telegram Fast activity turn-scoped

* test: align Telegram reply lifecycle timing

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: Roomote <roomote@roomote.dev>
roomote-roomote Bot and others added 22 commits September 12, 2026 18:06
* fix: send widget previews to Telegram

* improve: share widget links across chat providers

* fix: align widget guidance and test setup

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: let users retry loading tasks

* test: cover the tasks list failure, retry and recovery wiring

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: authorize session artifact helper reads

* test: assert authorized session artifact version reads

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: reject malformed deployment domains

* fix: reject newline-embedded domains and avoid shell string in domain test

- Reject embedded newlines/carriage returns in validate_domain before label
  splitting, since 'read' only consumes the first line of a here-string and
  previously let unvalidated trailing content through.
- Add a regression case covering a domain with an embedded newline.
- Restructure the deployment-scripts test to invoke bash with the runner
  script and candidate domain as explicit positional arguments instead of
  interpolating the script path into a '-c' shell string, clearing the
  CodeQL 'shell command built from environment values' finding while
  keeping the subprocess-boundary coverage intact.

* test: assert carriage-return domains are rejected

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* fix: keep Cloud email settings status-only

* fix: show unavailable managed email status

---------

Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
* feat: add atomic custom skill updates

* fix: reject stale custom skill settings edits

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: preserve Telegram rich message structure

* fix: preserve nested Telegram lists

---------

Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: select Telegram topic icons directly

* refactor: deduplicate Telegram topic icons

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
* fix: require matching environments for repository tasks

* fix: remove ambiguous environment fallback

* fix: generalize task environment guidance

* fix: keep repository requirements above blank slate

* fix: align blank slate with routing requirements

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
…#2612)

* fix: retire stale Telegram elicitations

* fix: preserve image elicitation answers

* fix: keep losing image replies isolated

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: add mobile session switching

* feat: move mobile sessions to left rail

---------

Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
* feat: move mobile session switching into menu

* refactor: share recent session navigation

* fix: add new session action to mobile menu

---------

Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
Co-authored-by: @daniel-lxs <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: @mrubens <2600+mrubens@users.noreply.github.com>
@roomote-community

roomote-community Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

Reviewed 83b0b77

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant