From 0600012c2ce4284d80c0033e95f1d6e94a1b3b53 Mon Sep 17 00:00:00 2001 From: WilcoLouwerse Date: Thu, 8 Oct 2026 12:07:06 +0200 Subject: [PATCH 01/10] fix(dashboard): re-point dashboards from the renamed widget id and fix 47 @spec paths Two findings from Thijn's re-review of the beta promotion (#1026), after #1261 restored the frozen widget id: Restoring `softwarecatalog_concept_organisaties_widget` keeps the widget for users from before the rename, but drops it for everyone who added it while stable 0.1.148 to 0.2.0 and beta registered it as `stackiq_concept_organisaties_widget`. The Dashboard app keeps that choice in `oc_preferences` under its own app id `dashboard`, key `layout`, as a comma-separated list of widget ids, which IConfig reaches like this app's own rows. The new post-migration repair step RepointDashboardWidgetId rewrites the renamed id to the frozen one for every seen user, in place and without listing the frozen id twice; a layout without the renamed id is left alone. The widget comment and the app-id-rename spec no longer claim the rows are out of reach. The archive pass (1aa23464, 7339b355) moved four changes without updating their @spec tags: wizard-dataset-card-load (4), portal-contribution (8), publication-field-rules (20) and rename-app-id-to-stackiq (14), 47 tags in 16 files now point at openspec/specs//spec.md. The anchors were checked against the synced specs. Co-Authored-By: Claude Fable 5.1 --- appinfo/info.xml | 9 + .../ModuleVersionPublicationJob.php | 6 +- lib/Controller/SetupController.php | 8 +- lib/Dashboard/ConceptOrganisatiesWidget.php | 11 +- .../ModuleVersionPublicationListener.php | 6 +- lib/Portal/PortalContributionProvider.php | 14 +- .../BackfillModuleVersionPublication.php | 6 +- lib/Repair/MigrateAppConfigKeys.php | 10 +- lib/Repair/MigrateBackgroundJobClasses.php | 8 +- lib/Repair/MigrateUserPreferences.php | 10 +- lib/Repair/RepointDashboardWidgetId.php | 222 ++++++++++++++ .../ModuleVersionPublicationService.php | 16 +- lib/Service/SettingsService.php | 2 +- openspec/specs/app-id-rename/spec.md | 9 +- .../Portal/PortalContributionProviderTest.php | 2 +- .../BackfillModuleVersionPublicationTest.php | 2 +- .../Repair/RepointDashboardWidgetIdTest.php | 270 ++++++++++++++++++ .../ModuleVersionPublicationServiceTest.php | 2 +- .../Settings/PublicationFieldRulesTest.php | 2 +- 19 files changed, 563 insertions(+), 52 deletions(-) create mode 100644 lib/Repair/RepointDashboardWidgetId.php create mode 100644 tests/Unit/Repair/RepointDashboardWidgetIdTest.php diff --git a/appinfo/info.xml b/appinfo/info.xml index aa70380b6..da795bd7a 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -122,6 +122,15 @@ Vrij en open source onder de EUPL-licentie. --> OCA\Stackiq\Repair\MigrateAppConfigKeys OCA\Stackiq\Repair\MigrateUserPreferences + + OCA\Stackiq\Repair\RepointDashboardWidgetId