Skip to content

fix(bar): skip V1 reconciliation in V2 mode - #28

Closed
Deoxizn wants to merge 1 commit into
HANCORE-linux:mainfrom
Deoxizn:fix/v2-plugin-install
Closed

fix(bar): skip V1 reconciliation in V2 mode#28
Deoxizn wants to merge 1 commit into
HANCORE-linux:mainfrom
Deoxizn:fix/v2-plugin-install

Conversation

@Deoxizn

@Deoxizn Deoxizn commented Aug 20, 2026

Copy link
Copy Markdown

Summary

Skip reconcileV1PluginGroups when the shell is using the V2 layout.

V1 reconciliation rewrites bar.layout with V1-only group assignments, which removes any V2 layout state and leaves third-party plugins unable to enable or disable themselves from the control center.

This fix guards the three call sites in Bar.qml where reconcileV1PluginGroups is invoked:

  • The install/uninstall flow (around line 826)
  • The rollback path in the same flow (around line 864)
  • applyProviderLayoutTransaction (around line 885 + rollback at 895)

In V2 mode, the reconciliation is skipped so the V2 layout is preserved.

Additional fix

Updated the ControlCenterPanel error message to show a V2-specific hint when plugin activation fails in V2 mode, instead of always suggesting V1-only guidance.

Skip reconcileV1PluginGroups when the shell is using the V2 layout.
V1 reconciliation rewrites bar.layout with V1-only group assignments,
which removes any V2 layout state and leaves third-party plugins
unable to enable or disable themselves from the control center.

Also update the ControlCenterPanel error message to show a V2-specific
hint when plugin activation fails in V2 mode.
@HANCORE-linux

Copy link
Copy Markdown
Owner

Closing this PR as superseded by PR #32.

PR #28 addressed one narrow V1/V2 defect by guarding three V1 reconciliation call sites. It did not cover the complete Step 1C contract: startup/timer reconciliation isolation, V2 dynamic G:<plugin> groups for eligible third-party providers, entry-point validation, activation/removal, requested-region changes, same-region reorder, cross-region moves, settings preservation, transactional rollback, shared bar.layout synchronization, or the required style/lifecycle regression coverage.

The Step 1C implementation in PR #32 provides those behaviors, includes the vendored copies and regression tests, and was independently reviewed and validated in live matrices on the local machine and machine2. PR #28 was not cherry-picked or used as an implementation source.

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.

2 participants