Repository navigation
SarAsio: never reuse an endpoint ID for a new endpoint (#15, #66) - #151
Draft
eiz-claude wants to merge 2 commits into
Draft
eiz-claude wants to merge 2 commits into
eiz-claude wants to merge 2 commits into
Conversation
Adds SarTest endpoint-names and an issue-15-endpoint-names scenario. It runs a host with an endpoint pair, renames it keeping the IDs, then gives it new IDs, and records which name Windows shows each time. It fails unless the new IDs show the new name. Layouts get an ID prefix separate from the name prefix for this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The control panel gave a new endpoint the lowest unused "ep_N", so after deleting an endpoint the next one added got its ID. Windows keeps an endpoint's name and settings under that ID, so it kept showing the deleted endpoint's name for the new one (and the same after a reinstall, where numbering starts over). New endpoints now get an ID made from a fresh GUID; the counter remains as a fallback if CoCreateGuid fails. Existing endpoints keep their IDs. Fixes #15, fixes #66. Co-Authored-By: Claude Opus 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.
Fixes #15, fixes #66.
The control panel gave each new endpoint the lowest unused
ep_N. After a user deleted an endpoint, the next one added got the deleted one's ID, and Windows kept showing the old name for it. Windows stores an endpoint's name, and the user's settings for it, under the device interface derived from that ID. The same thing happened after a reinstall with a fresh configuration, where numbering starts over (#66). In #66, a commenter found that changing theidindefault.jsonto an unused value fixes it.New endpoints now get an ID made from a fresh GUID (
ep_plus 32 hex digits, under the driver's 63-character limit). IfCoCreateGuidfails, it falls back to the old counter. Existing endpoints keep their IDs, so nothing changes for current configurations. This doesn't repair names Windows has already cached for reused IDs; those can be renamed in the Sound control panel.Test
New
SarTest endpoint-namescheck (issue-15-endpoint-namesscenario). It runs a host with an endpoint pair named "SarTest Alpha", renames it to "SarTest Beta" keeping the IDs, then gives it new IDs, and records what Windows shows each time:reusedIdShowsOldName: true)That confirms the cause. The check fails only if new IDs don't get the new name. The UI change itself (GUID IDs from Add endpoint) isn't driven by the harness.
🤖 Generated with Claude Code