Skip to content

Revert YARD and RBS pin caching#1180

Merged
castwide merged 10 commits intov0.59from
v0.59-revert-pin-caching
Mar 23, 2026
Merged

Revert YARD and RBS pin caching#1180
castwide merged 10 commits intov0.59from
v0.59-revert-pin-caching

Conversation

@castwide
Copy link
Copy Markdown
Owner

@castwide castwide commented Mar 14, 2026

The changes to gem pin caching introduced bugs in use cases where Solargraph is not running in a bundled environment.

My first approach in #1178 was to detect whether the runtime environment has a bundle configuration and fall back to external bundles. This partially fixed the problem, but did not address use cases where the workspace also does not have a bundle configuration. It also exposed other bugs elsewhere in caching processes, most notably deadlocked threads.

This PR reverts to the caching processes mostly as they exist in v0.58.3. Additional Shell specs assert that caching commands work when Solargraph is running in an unbundled environment and operating on an unbundled workspace. These processes are a prime candidate for refactoring, but we'll have to take a more cautious approach to avoid regression bugs.

In the future, we should also be more cautious in how we handle release branches. First, when we create a release branch (e.g., v0.59), we should immediately open a PR for merging it to master. This gives us a quick reference for failing checks and merge conflicts during development. Second, we should introduce iterative PRs instead of large changes that are difficult to review and disentangle if necessary.

* Type alias reference pins

* Type tags

* Fix method name

* Typify with type alias pins

* Rooted aliases

* TypeAlias source

* TypeAlias type_location

* Fix TypeAlias return type

* Update sg-ignore tags

* Fix Pin::Base#typify format

* Skip Ruby < 3.4 on flaky test

* Switch to RBS < 4

* Stub failing test

* Test requires RBS >= 3.10.0

* Exclude Ruby 3.0 and RBS 3.10.0

* Skip the test

* Stale type aliasing

* Linting

* Fix dependency resolution

* Errant autoload

* Skipped test

* Strong typechecking errors

* Linting

* Linting and typechecking

* Typecheck errors

* Linting

* Typecheck

* Use rbs 4.0.1

* Allow nested methods like `Hash::_Key`

* Unalias unique types

* Fix ApiMap mock

* Typechecking

* Remove sg-ignore for Vernier
@castwide castwide merged commit 274334b into v0.59 Mar 23, 2026
19 of 21 checks 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