Repository navigation
Conversation
Scroll-event history (ScrollEvent, CurrentEventTracker, and two per-listener counters) fed no behavior but accounted for 94% of debug-level log output in a 20-minute session, burying the change-collection and gutter traces the log exists for. Removed; only state changes and problems are logged now.
The rescan meant to discard stale changelist entries never ran: it fired from directoryMappingChanged(), before VcsDirtyScopeManagerImpl finished its own startup, so markEverythingDirty() silently did nothing. Queue it through ProjectLevelVcsManager.runAfterInitialization instead, which runs once the dirty scope manager and the Git executable are both ready. Fixes #78
Adds the CHANGELOG.md entry for the release; only the changelist rescan fix is listed, since the logging cleanup is internal.
Double-clicking a file type with no FileEditorProvider (PDF, DOCX, etc.) did nothing, since openFile() returned an empty composite. The backend now detects these and routes them to the frontend via a new UtilCommand, since launching an external application must happen on the client machine, not the backend host, under Remote Development. Also registers the missing "Git Scope" notification group in the shared module so notifications work in every product mode. Fixes #106
Applies the /** */ (declarations), /* */ (statements), and // (asides) convention across the codebase, and documents it in AGENTS.md.
FileEditorManagerListener is frontend-owned state under Remote Development, so the backend-registered listener never fired in a real split deployment.
Adopts withContext(Dispatchers.EDT)/blockingContextScope over invokeLater in suspend contexts, switches raw-HTML tooltips to HelpTooltipKt/HtmlChunk so tags render correctly, and renames the two/three-dots checkbox state to match its actual meaning. Also fixes ViewService.save() persisting a tab index that could point past the restored collection when a New* tab was active, which showed a blank tab on next launch. Cleans up dead null checks, duplicated code, and a few Math.clamp/getFirst() simplifications flagged by inspections.
Commit summary/body lines should stay within 72 characters, and a commit that fully resolves a GitHub issue should close it with `Fixes owner/repo#NNN` (matching the upstream remote) rather than just mentioning the number in prose.
Target branches were keyed by GitRepository.toString() (an absolute path), so moving a repo on disk -- or any collaborator checking it out somewhere else, since GitScopePro.xml wasn't workspace-scoped -- silently fell back to comparing against HEAD, with no error shown. Key by the repo's path relative to the project base instead, which survives moving the whole project. Reads fall back to the old absolute-path key for existing configs, and self-heal a single-repo project whose repo moved outside the relative layout entirely. Also moves the plugin's persisted state to workspace.xml (kept backward compatible via a deprecated GitScopePro.xml storage), since this data is inherently per-checkout and was never meant to be shared. Fixes #110
Show Untracked Files and Show Deleted Files were global settings shared by every project. Make them per-project, controlled by right-aligned toggle buttons in the Git Scope window toolbar next to Group By, matching Select Opened File's existing spot. The Settings page checkboxes now only seed a project's initial value the first time it's opened (including on upgrade, since the new State fields default to null until seeded); after that each project's own stored value is authoritative and Settings no longer pushes live changes into open projects. Fixes #111
IntelliJ Platform Gradle Plugin 2.18.1 -> 2.19.0, Gradle 9.6.1 -> 9.7.1, actions/checkout v6 -> v7, and CI's JBR 25.0.3-b508.16 -> 25.0.4.1-b610.67. Kotlin/serialization/rpc stay on 2.3.20 -- no stable rpc compiler-plugin build exists past that version yet. Also fills in the rest of the 2026.2.2 CHANGELOG entry and shortens the two existing ones.
Fixes #108 Updates the README text and screenshots to match the current UI: documents the toolbar's left/right icon convention and the per-project untracked/deleted-file toggles from #111, adds a screenshot of the opened Git Scope window, fixes two dead anchor links, and retakes every screenshot that showed a pre-redesign toolbar. Also drops four screenshots left over from an older README revision that nothing referenced anymore.
dispose() set the disposed flag and then deferred clear() to the next EDT tick, where clear()'s own "if (disposed) return" guard always skipped the removal. The highlighter stayed in the document markup model painting through the dead instance's providers, so a marker hovered at dispose time kept its hover expansion with the listeners that would clear it already removed -- most visible over Remote Development, where reconnects dispose renderers far more often.
Hover was only re-evaluated from mouse events, so scrolling with the cursor resting on a marker fired nothing and left the expansion painted on a range the cursor had since moved off. Re-check against the current pointer position when the visible area scrolls.
Nothing outside the renderer called clear(), and its disposed guard only ever made the dispose path skip the removal. One unguarded private method now serves the single remaining caller.
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.
Commits for 2026.2.2 release