Skip to content

feat(settings): allow turning off most features - #750

Merged
tangcent merged 1 commit into
masterfrom
feature/registry-settings-migration
Aug 11, 2026
Merged

feat(settings): allow turning off most features#750
tangcent merged 1 commit into
masterfrom
feature/registry-settings-migration

Conversation

@tangcent

@tangcent tangcent commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Most plugin features can now be turned off from the Features tab. API
scanning (with automatic and concurrent scan options) and editor
integration are now toggleable alongside the export channels, field
formats, and frameworks, all in one place.

Turning a feature off now takes effect immediately without restarting
the IDE: the API scan lifecycle starts, stops, or pauses on the fly, the
dashboard and editor line markers reflect the current state, and a
manual rescan stays available even when continuous scanning is turned
off. Stale automatic updates are discarded so the last good results
remain visible until a fresh scan completes.

Developer notes: feature state flows through a project feature registry
with stable IDs, dependency resolution, and isolated settings
transactions; legacy channel/format/framework override arrays are
bridged into it. The API scan controller runs a serialized,
generation-scoped lifecycle that rejects stale work and retains the
last successful snapshot. The build accepts JDK 17 or 21 while still
targeting JDK 17 bytecode.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Plugin has been packaged for this PR. You can download easy-api-3.1.8.252.0.zip from the GitHub Actions workflow run by clicking on the "Artifacts" dropdown.

@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 70.62147% with 468 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.795%. Comparing base (bd25aa6) to head (46d62f8).

Files with missing lines Patch % Lines
...syapi/core/cache/api/ApiScanLifecycleController.kt 59.472% 142 Missing and 27 partials ⚠️
...tangcent/easyapi/core/cache/api/ApiIndexManager.kt 52.280% 135 Missing and 22 partials ⚠️
...nt/easyapi/core/cache/api/ApiFileChangeListener.kt 68.041% 23 Missing and 8 partials ⚠️
...t/easyapi/core/settings/ui/FeatureSettingsPanel.kt 69.880% 8 Missing and 17 partials ⚠️
...ngcent/easyapi/core/dashboard/ApiDashboardPanel.kt 74.667% 13 Missing and 6 partials ⚠️
.../itangcent/easyapi/core/feature/FeatureRegistry.kt 80.000% 11 Missing and 1 partial ⚠️
...tangcent/easyapi/core/feature/FeatureDescriptor.kt 78.431% 1 Missing and 10 partials ⚠️
...core/ide/linemarker/ApiMethodLineMarkerProvider.kt 66.667% 5 Missing and 6 partials ⚠️
...cent/easyapi/core/cache/VcsBranchChangeListener.kt 85.714% 6 Missing and 1 partial ⚠️
...angcent/easyapi/core/feature/FeatureStateBridge.kt 92.188% 2 Missing and 3 partials ⚠️
... and 8 more
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##            master      #750       +/-   ##
=============================================
- Coverage   67.246%   66.795%   -0.451%     
=============================================
  Files          431       442       +11     
  Lines        24736     25936     +1200     
  Branches      6009      6191      +182     
=============================================
+ Hits         16634     17324      +690     
- Misses        5838      6291      +453     
- Partials      2264      2321       +57     
Flag Coverage Δ
unittests 66.795% <70.621%> (-0.451%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...pi/core/dashboard/ApiDashboardToolWindowFactory.kt 100.000% <100.000%> (ø)
...ent/easyapi/core/feature/CoreFeatureContributor.kt 100.000% <100.000%> (ø)
...t/easyapi/core/feature/LegacyFeatureContributor.kt 100.000% <100.000%> (ø)
.../itangcent/easyapi/core/psi/helper/SourceHelper.kt 23.913% <100.000%> (-2.174%) ⬇️
...angcent/easyapi/core/feature/FeatureContributor.kt 93.750% <93.750%> (ø)
...t/easyapi/core/feature/LegacyFeatureStateBridge.kt 96.429% <96.429%> (ø)
...ngcent/easyapi/core/ide/ApiIndexStartupActivity.kt 12.500% <0.000%> (+5.833%) ⬆️
...angcent/easyapi/core/settings/ui/SettingsPanels.kt 66.282% <66.667%> (-3.050%) ⬇️
...n/com/itangcent/easyapi/core/cache/api/ApiIndex.kt 88.333% <92.683%> (+0.614%) ⬆️
...easyapi/core/feature/FeatureSettingsTransaction.kt 85.714% <85.714%> (ø)
... and 12 more

... and 13 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bd25aa6...46d62f8. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Most plugin features can now be turned off from the Features tab. API
scanning (with automatic and concurrent scan options) and editor
integration are now toggleable alongside the export channels, field
formats, and frameworks, all in one place.

Turning a feature off now takes effect immediately without restarting
the IDE: the API scan lifecycle starts, stops, or pauses on the fly, the
dashboard and editor line markers reflect the current state, and a
manual rescan stays available even when continuous scanning is turned
off. Stale automatic updates are discarded so the last good results
remain visible until a fresh scan completes.

Developer notes: feature state flows through a project feature registry
with stable IDs, dependency resolution, and isolated settings
transactions; legacy channel/format/framework override arrays are
bridged into it. The API scan controller runs a serialized,
generation-scoped lifecycle that rejects stale work and retains the
last successful snapshot. The build accepts JDK 17 or 21 while still
targeting JDK 17 bytecode.
@tangcent
tangcent force-pushed the feature/registry-settings-migration branch from ce73fdf to 46d62f8 Compare August 10, 2026 09:20
@tangcent tangcent changed the title feat(settings): Unify feature lifecycle controls feat(settings): allow turning off most features Aug 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📦 Plugin has been packaged for this PR. You can download easy-api-3.1.8.252.0.zip from the GitHub Actions workflow run by clicking on the "Artifacts" dropdown.

@tangcent
tangcent merged commit 7637620 into master Aug 11, 2026
12 checks passed
@tangcent
tangcent deleted the feature/registry-settings-migration branch August 11, 2026 00:07
@github-actions github-actions Bot mentioned this pull request Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant