Skip to content

fix(otter): repair release checks after the 2026-10-21 sync - #49

Merged
Laurin-Notemann merged 5 commits into
mainfrom
fix/otter-format-2026-10-21
Oct 21, 2026
Merged

Laurin-Notemann merged 5 commits into
mainfrom
fix/otter-format-2026-10-21

Conversation

@Laurin-Notemann

@Laurin-Notemann Laurin-Notemann commented Oct 21, 2026 •

Copy link
Copy Markdown

The 2026-10-21 nightly release (run 39552667829) and main's own CI failed on the freshly synced main. This PR fixes every failure from those runs.

Typecheck (server). On CI's two-checker typecheck, ws.ts hits TS2589 ("type instantiation is excessively deep") because upstream's handler object is at the limit and the fork adds five methods to it. The resulting any fails every layer that includes it (TS377030 in server.ts, CLI tests, ws.test.ts). It reproduces locally with tsc-rs --noEmit --checkers 2. The fork's methods (Linear issue detail/changes, code-intelligence language/servers, review commits) now build their handlers in apps/server/src/otterWsRpc.ts from a separate OtterWsRpcGroup. ws.ts omits their tags and merges that layer, the same way Otterware adds the suite's, so ws.ts matches upstream except for that wiring. The server typechecks clean with 1, 2, 3 and 8 checkers.

Lint (knip).

Lint (rules). Upstream now requires Effect.fn for reusable Effect functions and forbids per-test timeouts. The account IPC handlers, the Linear projection query and the relay's Linear functions now use Effect.fn, and the env-gated language server tests no longer override the timeout.

Quality checks. Format the four files vp check flagged.

Tests.

  • Restore upstream's test inputs where the rebrand changed only the input (prompt links, and the T3 Code MCP prefix the resolver actually matches).
  • Use the fork's real names in the Linux theme-icon, boot-service and release-page fixtures (server and mobile).
  • Expect the Otter Connect wording in the connection-error test.
  • Brand the pair error and the Codex ChatGPT agent name hint as Otter Code.

Code.

  • cli/update.ts checks the cgroup for otter-code.service (the shared BOOT_SERVICE_UNIT_FILE) instead of t3code.service, so a server managed by the service is recognised during updates.

Linux packages. Rename the AppStream metainfo to dev.otterware.code.metainfo.xml, with Otter's ID, desktop entry, icon, binary and URLs. The deb build expects that path.

Verified locally:

  • Affected server, shared, desktop, client-runtime and web tests pass.
  • Typecheck is clean for contracts, server, web and desktop.
  • knip:check, format and lint pass on the changed files.

Done by Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

Laurin-Notemann and others added 5 commits October 21, 2026 06:11
The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Laurin-Notemann
Laurin-Notemann merged commit ec59f9d into main Oct 21, 2026
18 checks passed
@Laurin-Notemann
Laurin-Notemann deleted the fix/otter-format-2026-10-21 branch October 21, 2026 07:11
Laurin-Notemann added a commit that referenced this pull request Oct 22, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 23, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 23, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 24, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 25, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 26, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 28, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 30, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Oct 31, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 2, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 3, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 4, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 5, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 7, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 8, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 9, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 10, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 11, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
Laurin-Notemann added a commit that referenced this pull request Nov 12, 2026
* fix(otter): repair release checks after the 2026-10-21 sync (#49)

* fix(otter): repair release checks after the 2026-10-21 sync

The upstream sync left four files unformatted, rebranded test inputs
without their expectations, missed Otter names in upstream's new code,
and referenced a renamed Linux metainfo file that was never renamed.

- format the four files flagged by `vp check`
- restore upstream test inputs for prompt links and MCP tool prefixes
- install icons and boot-service fixtures under the fork's real names
- recognise `otter-code.service` in the update cgroup check
- brand the pair error and Codex agent name hint as Otter Code
- ship `dev.otterware.code.metainfo.xml` with Otter's IDs for the deb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): keep the WebSocket handler types under TypeScript's limit

CI's two-checker typecheck hit "type instantiation is excessively deep" in
ws.ts once upstream's handler object grew: the fork's five methods pushed it
over, and the resulting `any` failed every layer that includes it. Their
handlers now live in `otterWsRpc.ts` as a separate group, the way Otterware
adds the suite's, and ws.ts matches upstream apart from that wiring.

Also restore upstream's responsive draft project heading lost in the sync,
drop helpers whose only caller was the removed LegacySidebar, re-hide
helpers upstream made private, and expect Otter Connect wording in the
connection error test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(otter): follow upstream's newer lint rules in fork code

Upstream now requires Effect.fn for reusable Effect functions and forbids
per-test timeouts. Convert the account IPC handlers, the Linear projection
query and the relay's Linear functions, and drop the timeouts on the
env-gated language server tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): mock Otter's release feed in environment maintenance tests

The fork checks otterware-app/otter-code for releases; the test still
mocked upstream's URLs, so requests fell through to the real API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style(mobile): format environment maintenance test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): keep conversations and thread sidebar opaque (#50)

* ci(otter): keep the hosted web guard safe under set -u

Upstream's workflow tests run the hosted web steps without GITHUB_REPOSITORY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Christophe Kafrouni <44137603+ckafrouni@users.noreply.github.com>
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