Repository navigation
windsurf: read the Devin Desktop plan cache, no invented expiry date (port of #18 to the pinned nesszer-main line) - #24
Open
DreamyTalesPAN wants to merge 1 commit into
Conversation
…(port of #18 to v0.70.0-vibetv.2) Ports #18 (four commits, base `vibetv`) onto the line that VibeTV actually pins (nesszer main + fork patches, v0.70.0-vibetv.2). Only rust/src/providers/windsurf/mod.rs changes. - Reads %APPDATA%\Devin\User\globalStorage\state.vscdb, the flat per-account cachedPlanInfoData:<id> entry (remainingMessages / totalMessages). The Windsurf folder is read only when no Devin database exists. Invalid counters and several cached accounts stay unavailable. - endTimestamp <= 0 means "no end date": no "Expires" text is made up. - A plan cache without any quota is an error, not 0 % (the behaviour of fork PR #15, which this line does not have for Windsurf). This line's infallible snapshot_from_plan became a Result for that. - This line has no ProviderMetadata / Provider::metadata / supports_cli, so those parts of #18 are dropped. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.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.
Goal
Windows customers who use Devin Desktop (the renamed Windsurf) see their message quota in VibeTV, and no plan end date that was never reported (VibeTV-shop/vibetv#285).
Why a second PR
#18 has base
vibetv(the 0.60.3 line). The release VibeTV pins,v0.70.0-vibetv.2, is built fromvibetv-on-nesszer-main-0311(nesszermainplus the four fork patches). #18 does not apply there: the first commit conflicts inrust/src/providers/windsurf/mod.rs(3 hunks), because that line has noProviderMetadata/Provider::metadata/supports_cliand itssnapshot_from_plancannot fail. So merging #18 changes nothing in a pinned release. This PR is #18 ported onto the pinned line; #18 itself is untouched.What changes (one commit, one file:
rust/src/providers/windsurf/mod.rs)%APPDATA%\Devin\User\globalStorage\state.vscdb, the flat per-accountwindsurf.reactSettings.cachedPlanInfoData:<id>entry (remainingMessages/totalMessages), labelCached quota, unitmessages. The Windsurf folder is read only when no Devin database exists. Invalid counters (missing, negative, remaining above total, total 0, overflow) and several cached accounts stay unavailable.endTimestamp <= 0means "no end date": noExpirestext is made up.snapshot_from_planreturns aResultfor it (its threemissing_usage_testscome with the file).ProviderMetadatastruct andmetadata()/supports_cli().Tests (native Windows, vibetv-win, Rust 1.99.0)
cargo test --lib providers::windsurf: 17 passed, 0 failed.cargo test --lib: 5552 passed, 27 failed, 2 ignored. The basev0.70.0-vibetv.2(windsurf file without this change) gives 5540 passed, 27 failed: the same 27 tests (4cost_scanner::codex, 4login::tests, 1host::command_runner, 18providers::grok), environmental on that machine and not from this change. +12 passed = the 9 Devin tests and the 3missing_usage_tests.cargo fmt --all --check: the only diffs are incli/serve/tests.rsandproviders/claude/tests.rs, both unchanged by this PR; none inwindsurf/mod.rs.codexbar usage --provider windsurf --jsonwith throwawayCODEXBAR_CONFIGandWINDSURF_STATE_DBtest files:Provider not installed: Windsurf database not found at ... Open Devin Desktop (or Windsurf) and sign in first.Authentication requiredendTimestamp 0, 2500/2500:used_percent 0.0,0 / 2500 messages,primary_label "Cached quota", noExpires, no organization, no resetused_percent 24.0,600 / 2500 messagesWindsurf plan cache has no quota details(error, not 0 %)Not checked
v0.70.0-vibetv.2stays pinned until a new fork release is built from this line and VibeTV bumpsscripts/fetch-win-codexbar.ps1.🤖 Generated with Claude Code