Skip to content

Fix crash bugs, wrong output bugs, release pipeline, and test coverage#5

Merged
d1820 merged 9 commits into
mainfrom
fix/bugs-and-cleanup
Jun 20, 2026
Merged

Fix crash bugs, wrong output bugs, release pipeline, and test coverage#5
d1820 merged 9 commits into
mainfrom
fix/bugs-and-cleanup

Conversation

@d1820

@d1820 d1820 commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fixed 5 crash bugs (unbounded loops walking off document end, uninitialized preSignatureContent)
  • Fixed 4 wrong output bugs (async keyword leaking into interface signatures, readonly properties getting wrong setter, base class insertions unindented, partial class name regex match)
  • Fixed it.only that was silently skipping 42 tests
  • Added 28 new tests including failing-first tests proving each bug
  • Added GitHub Actions release workflow to publish to VS Code Marketplace on release
  • Added @vscode/vsce devDependency, marketplace keywords, and cleaned up categories
  • Fixed typo in error message (inteface to interface)
  • Added CLAUDE.md
  • Bumped version to 1.0.4

Test plan

  • All 89 tests pass (npm run test-jest)
  • Compile and lint clean (npm run pretest)
  • Merge to main, create GitHub Release tagged v1.0.4, verify marketplace publish workflow succeeds

Generated with Claude Code

d1820 and others added 9 commits June 20, 2026 15:04
- Fixed it.only in csharp-util.test.ts that was skipping 42 tests
- Added 24 new tests covering cleanAccessor, convertEndOfLine, checkIfAlreadyPulledToInterface, cleanAllAccessors, SignatureLineResult.createFromSignatureLineResult, preSignatureContent paths, getSignatureToPull, addUsingsToDocument, and addMemberToDocument edge cases
- Added testFileWithAttribute fixture for attribute/XML doc comment tests
- Added @vscode/vsce devDependency
- Added keywords and cleaned up categories in package.json for marketplace discoverability
- Added GitHub Actions release workflow to publish to VS Code Marketplace on release
- Added CLAUDE.md with build/test commands and architecture overview

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Initialize preSignatureContent to [] in SignatureLineResult constructor to prevent TypeError on .length access
- Add lineCount bounds check in getFullSignatureOfLine forward scan to prevent RangeError at end of document
- Replace while(true) with while(preSignatureStartingLine >= 0) to prevent RangeError when cursor is near top of file
- Add lineCount bounds checks in getMemberBodyByBrackets and getMemberBodyBySemiColon loops

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Strip async keyword from method signatures when pulling to interface
- Detect readonly properties ({ get; }) via originalSelectedLine and use { get; } instead of { get; set; }
- Add word boundary (\b) to base class regex so 'Base' no longer matches 'BaseClass'
- Apply indentation to base class insertions using same padStart logic as interface path
- Add failing tests proving each bug before fixing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@d1820
d1820 merged commit f514f6c into main Jun 20, 2026
1 check passed
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