ADFA-2808: Add Plugin API to provide access to experimental flag#1110
ADFA-2808: Add Plugin API to provide access to experimental flag#1110Daniel-ADFA merged 3 commits intostagefrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughRelease Notes - Add Plugin API to Provide Access to Experimental Flag
Risks and Best Practice Violations
WalkthroughA new Changes
Sequence Diagram(s)sequenceDiagram
participant PluginManager
participant ServiceRegistry
participant IdeFeatureFlagServiceImpl
participant FeatureFlags
PluginManager->>ServiceRegistry: registerServiceWithErrorHandling("feature_flag", IdeFeatureFlagServiceImpl)
ServiceRegistry->>IdeFeatureFlagServiceImpl: instantiate/register
Plugin (runtime)->>IdeFeatureFlagServiceImpl: isExperimentsEnabled()
IdeFeatureFlagServiceImpl->>FeatureFlags: FeatureFlags.isExperimentsEnabled
FeatureFlags-->>IdeFeatureFlagServiceImpl: boolean
IdeFeatureFlagServiceImpl-->>Plugin: boolean
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
plugin-api/src/main/kotlin/com/itsaky/androidide/plugins/services/IdeFeatureFlagService.kt (1)
3-6: Consider adding KDoc for API clarity.Since this is a public API exposed to plugins, adding documentation would help plugin developers understand the method's purpose and when to use it.
+/** + * Service providing access to IDE feature flags for plugins. + */ interface IdeFeatureFlagService { + /** + * Returns whether experimental features are enabled in the IDE. + */ fun isExperimentsEnabled(): Boolean }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugin-api/src/main/kotlin/com/itsaky/androidide/plugins/services/IdeFeatureFlagService.kt` around lines 3 - 6, Add KDoc comments to the public API: document the IdeFeatureFlagService interface and its isExperimentsEnabled() method to explain the purpose (feature flag/experiment gating for plugins), expected semantics (true when experimental features are enabled for the current IDE/session), and the return value/behavior; place the KDoc immediately above the interface declaration and above the isExperimentsEnabled() function so plugin authors understand when and how to use it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In
`@plugin-api/src/main/kotlin/com/itsaky/androidide/plugins/services/IdeFeatureFlagService.kt`:
- Around line 3-6: Add KDoc comments to the public API: document the
IdeFeatureFlagService interface and its isExperimentsEnabled() method to explain
the purpose (feature flag/experiment gating for plugins), expected semantics
(true when experimental features are enabled for the current IDE/session), and
the return value/behavior; place the KDoc immediately above the interface
declaration and above the isExperimentsEnabled() function so plugin authors
understand when and how to use it.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 99691a84-0730-428a-a0fe-bca3639984ce
📒 Files selected for processing (3)
plugin-api/src/main/kotlin/com/itsaky/androidide/plugins/services/IdeFeatureFlagService.ktplugin-manager/src/main/kotlin/com/itsaky/androidide/plugins/manager/core/PluginManager.ktplugin-manager/src/main/kotlin/com/itsaky/androidide/plugins/manager/services/IdeFeatureFlagServiceImpl.kt
No description provided.