Repository navigation
fix(settings): personal settings move into the user settings dialog - #1701
Merged
Merged
Conversation
Ruben, 11 Oct 2026: no user configuration pages. Decidiq drops its Nextcloud personal settings page (/settings/user/decidiq): <personal> and <personal-section> leave info.xml, with PersonalSettings, PersonalSection, templates/settings/personal.php, src/personal.js, PersonalRoot.vue and the webpack entry. The in-app /user-settings page (manifest.d/user-settings.json, UserSettingsPage, the Preferences entry in the settings foldout) goes too: it was the same five sections on a second page. The five sections (notification preferences, display preferences, delegation and absence, communication preferences, subscriptions) are now sections of the user settings dialog (src/views/settings/UserSettings.vue in CnAppRoot's #user-settings slot), reached from Personal settings in the settings foldout or the #user-settings deep link. Filling the slot drops the library's fallback, so its notifications pane, credentials and walkthrough replay are drawn again from the app. No backend endpoint changes.
rubenvdlinde
requested review from
Rem-Dam,
SudoThijn,
WilcoLouwerse,
bbrands02,
remko48 and
rjzondervan
as code owners
October 11, 2026 12:37
Contributor
Quality Report — ConductionNL/decidiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-nav-ceiling | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ❌ | ||||
| check-l10n-js | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 652/652 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ 2646/2646 · 8 skipped | ||||
| Newman | ✅ 363/363 · 1 skipped | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-11 12:42 UTC
Download the full PDF report from the workflow artifacts.
Meldingen, Afwezigheid, Weergave, Contact, Abonnementen, in that order and with those names. The library's generic notifications pane leaves the dialog: the board draws one Meldingen section, which is decidiq's own. Credentials and the walkthrough replay stay after the board's sections, the walkthrough with Dutch labels (Rondleiding).
Contributor
Quality Report — ConductionNL/decidiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-nav-ceiling | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ❌ | ||||
| check-l10n-js | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 652/652 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ 2646/2646 · 8 skipped | ||||
| Newman | ✅ 363/363 · 1 skipped | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-11 17:00 UTC
Download the full PDF report from the workflow artifacts.
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.
Ruben's decision of 11 October 2026: no user configuration pages. User settings go into the user settings dialog, app settings into the admin settings.
Where each setting went
Decidiq had its personal settings on two pages: Nextcloud's
/settings/user/decidiqand the in-app/user-settingspage (Preferences in the settings foldout). Both are gone. All five sections were personal, so all five moved into the in-app user settings dialog (settings foldout, then Personal settings). None moved to the admin settings.decidiq-notificationsdecidiq-delegationdecidiq-displaydecidiq-communicationdecidiq-subscriptionsOrder and names follow the board. Inloggegevens and Rondleiding come after them; the board does not draw those two, they are what CnAppRoot would have shown. The inner layout of each section is the existing component; the board's matrix and two-column fields are not part of this PR.
The backend endpoints are unchanged. The dialog uses the same section components and the same endpoints.
Deep link:
/apps/decidiq/<route>#user-settingsopens the dialog.What else changed
appinfo/info.xml:<personal>and<personal-section>removed.lib/Settings/PersonalSettings.php,lib/Sections/PersonalSection.php,templates/settings/personal.php,src/personal.jsand its webpack entry,PersonalRoot.vue,UserSettingsPage.vue,src/manifest.d/user-settings.json, and theUserSettingsMenuentry in both menu layouts.src/views/settings/UserSettings.vue, rendered in CnAppRoot's#user-settingsslot. The section components lose their own<h3>, because the dialog section names them./user-settingspage.Credentials, the board's section names and the walkthrough labels added, with Dutch.webpack.config.jsalready makes the../nextcloud-vue/srcalias opt-in (USE_LOCAL_LIB=true), so nothing changes there.Verified locally
npm run buildnpm ci: the checkout had nextcloud-vue 2.60.0 installed against^2.67.0)npm run lintnpx vitest run(full)tests/vitest/shared-instance.spec.tsneeds@vue/tsconfig, missing locally. Inherited.COMPOSER_PROCESS_TIMEOUT=0 composer check:strictcomposer install: the checkout's vendor was behind the lockfile)Browser check on :8080 (admin, Dutch):
/settings/user/decidiqno longer lists Decidiq in the personal settings navigation./apps/decidiq/decisions#user-settingsopens the dialog with: Meldingen, Afwezigheid, Weergave, Contact, Abonnementen, Inloggegevens, Rondleiding.Inherited, not fixed here
#user-settingsslot replaces its fallback sections wholesale. An additive slot, or a manifest list of sections, would let apps add sections without redrawing the library's own.🤖 Generated with Claude Code