Skip to content

feat(devin-desktop): rename Windsurf→Devin Desktop + fix(continue) thread-safe adapter#2410

Merged
DK09876 merged 2 commits into
mainfrom
feat/devin-desktop-integration
Jun 27, 2026
Merged

feat(devin-desktop): rename Windsurf→Devin Desktop + fix(continue) thread-safe adapter#2410
DK09876 merged 2 commits into
mainfrom
feat/devin-desktop-integration

Conversation

@DK09876

@DK09876 DK09876 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

This PR bundles two things (per request, kept in one PR):

1. Rename Windsurf → Devin Desktop

Cognition rebranded Windsurf to Devin Desktop (June 2026); Cascade is EOL July 1. Since hindsight-windsurf was merged but never published, renamed it to devin-desktop before first release.

  • Package hindsight-windsurfhindsight-devin-desktop (module, CLI, DevinDesktopConfig, bank devin-desktop, HINDSIGHT_DEVIN_DESKTOP_BANK_ID)
  • Rule now writes to .devin/rules/hindsight.md (preferred path); MCP config stays ~/.codeium/windsurf/mcp_config.json (Devin's data dir, unchanged by rebrand)
  • Official Devin logo; docs + integrations.json + README refreshed; all registries updated
  • 26 unit tests + gated E2E pass; real-app smoke verified

2. fix(continue): resolve a fresh Hindsight client per request

Found via a real in-editor VS Code test. The Continue adapter runs on a ThreadingHTTPServer (one thread per request) but shared a single Hindsight client. The client's aiohttp session is thread/loop-bound, so the first @hindsight recall worked and every one after threw Timeout context manager should be used inside a task — Continue then showed an error context item and the model answered with no memory.

  • Resolve the client per request (test-injected clients still used as-is)
  • Close per-request clients in a finally so the fresh aiohttp session doesn't leak a connector each call
  • Bump hindsight-continue0.1.1 (the published 0.1.0 has this bug)
  • Adds a regression test asserting per-request resolution across the threaded server

Verified live: 5 recalls in a row all succeed; 0 timeout errors; 0 unclosed-connector warnings. 17 continue tests pass; ruff clean.

🤖 Generated with Claude Code

@DK09876 DK09876 changed the title feat(devin-desktop): rename Windsurf integration to Devin Desktop feat(devin-desktop): rename Windsurf→Devin Desktop + fix(continue) thread-safe adapter Jun 26, 2026
DK09876 and others added 2 commits June 26, 2026 13:08
Cognition rebranded Windsurf to Devin Desktop (June 2026); Cascade is EOL
July 1. Rename the (unreleased) windsurf integration to devin-desktop before
first publish:

- Package hindsight-windsurf -> hindsight-devin-desktop (module
  hindsight_devin_desktop, CLI hindsight-devin-desktop, DevinDesktopConfig,
  bank default 'devin-desktop', HINDSIGHT_DEVIN_DESKTOP_BANK_ID)
- Rule now writes to .devin/rules/hindsight.md (preferred path) instead of
  the legacy .windsurf/rules/; trigger: always_on unchanged
- MCP config path stays ~/.codeium/windsurf/mcp_config.json (Devin Desktop's
  on-disk data dir, unchanged by the rebrand)
- Official Devin logo; docs + integrations.json + README refreshed with the
  'formerly Windsurf' framing
- Registries updated: test.yml job, release-integration.sh, generate_changelog,
  integrations.json (strict JSON), docs page

26 unit tests + gated live-MCP E2E pass; ruff check+format clean; real-app
smoke against local Hindsight verified (init writes both files; live recall
returns seeded facts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…afe)

The adapter runs on a ThreadingHTTPServer (one worker thread per request) but
shared a single Hindsight client across all of them. The client's aiohttp
session is bound to the thread/event-loop that first used it, so the first
@hindsight recall worked and every one after threw 'Timeout context manager
should be used inside a task' — Continue then showed an error context item and
the model answered with no memory.

Resolve the client per request (test-injected clients still used as-is), and
close per-request clients in a finally so the fresh aiohttp session doesn't leak
a connector each call. Bump to 0.1.1.

Found via a real in-editor VS Code test. Adds a regression test asserting
per-request client resolution across the threaded server.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@DK09876 DK09876 force-pushed the feat/devin-desktop-integration branch from 34891d4 to af8f8a3 Compare June 26, 2026 20:08
@benfrank241

Copy link
Copy Markdown
Member

Reviewed — the code looks good, and none of the red CI is from this diff (it touches only integrations + docs + test.yml). Breaking the failures down:

  • test-rust-cli, build-rust-cli-arm64, test-doc-examples (cli), verify-generated-files — pre-existing breakage on main, not this PR: mental_model.rs is missing the new refresh_cron field on MentalModelTriggerInput, and two API test files have ruff-format drift. Fixed in fix(ci): unblock main — ruff format drift + CLI refresh_cron field #2427 — once that merges and CI re-runs, these clear.
  • Core LLM tests / LLM acceptance — real-LLM judge flakiness (2 failed / 88 passed: a fact missing its absolute date, and a reflect that answered in English instead of Chinese). Not related to the rename.
  • test-api, test-embed-windows — flaky/infra; this PR changes no API or embed code. They only ran here because editing test.yml triggers the full suite (they were skipped on integration-only PRs).

On the actual changes:

  • fix(continue) is a genuine bug fix and well-handled — resolving a fresh client per request is the right call given ThreadingHTTPServer + the thread/loop-bound aiohttp session, the per-request client is closed in finally (injected clients left alone), and the regression test drives multiple requests through the threaded server. 👍
  • The Windsurf→Devin Desktop rename is large but mechanical and the registries line up (check-integrations is green).

No code changes needed here. Recommend merging #2427 first, then a re-run. One sequencing note: #2417 defers a doc note until this lands, so #2410 should merge before #2417.

@DK09876 DK09876 merged commit fcb2c95 into main Jun 27, 2026
90 of 101 checks passed
@DK09876 DK09876 deleted the feat/devin-desktop-integration branch June 27, 2026 00:27
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.

2 participants