Repository navigation
Integrate dossiq batch b42: e-mail opt-in, status phase, r30/r31 lines - #4665
Merged
Merged
Conversation
A small workbook (zaken-verlichting.xlsx) and a CSV file (woo-2026-q3.csv), each written to his Exports folder with the export run that names it, made yesterday and last week (openregister feat/exset-export-runs). Assisted-by: ClaudeCode:claude-opus-5-5
…e settings column per channel Assisted-by: ClaudeCode:claude-opus-5-5
DqDoorlooptijd "Wettelijke Woo-termijnen" read "1 dagen te laat": the
remaining-time label filled {days} into a plural sentence. The labels are
plural forms now ("1 dag te laat", "13 dagen resterend"); the late label
uses the existing "%n day late" catalogue entry, the remaining one a new
pair (en + nl).
Assisted-by: ClaudeCode:claude-opus-5-5
…e phase DqProcesanalyse "Dagen per fase" draws five generic phases across case types; live drew one column per status name (21 columns over 13 case types). A status type gets an optional, translatable `phase` (statusType 1.8.0, register 0.20.73). The matrix puts a status under its phase, adding the days of one phase's statuses together, falls back to the status name where none is set, and leaves a phased case type's final statuses out. The seeded status types (register, register.d, packages) name the five phases Ontvangst, Beoordeling, Advies, Besluit and Verzending; follow-up states such as Invordering keep their own name. Coordinator decision 25 Oct. Assisted-by: ClaudeCode:claude-opus-5-5
…urple DqZaaktypeVelden draws Herkomst as a pill on every field, "Eigen veld" grey and "Geërfd van Omgevingsvergunning" purple, under a subtitle that says so; live drew plain text. The Origin column now reads `origin` as a badge with `emptyValue: "own"` (own fields carry none), coloured own default, shared info, inherited purple, and the subtitle names the drag order and the purple parent fields. Assisted-by: ClaudeCode:claude-opus-5-5
…, shipped configuration picker, present badge) Assisted-by: ClaudeCode:claude-opus-5-5
Assisted-by: ClaudeCode:claude-opus-5-5
The board dialog sheet sets padding-inline 0 and gap 10px on every dialog checkbox with a more specific selector, so the map layers kept 13px in and 10px to the label on :8080 (r30 DqZaakLocatie Kaartlagen 13 vs 17). Probed with the longer selector, no !important: 17. Assisted-by: ClaudeCode:claude-opus-5-5
The panel opens on a ruled list, so its root opts in to nextcloud-vue's cn-rule-above card start, and the unit name sits on a 1.2 line (r30 DqZaakArchivering Bewaring 46.8 vs 41; probed 40.8). Inert until nextcloud-vue fix/ruled-list-under-subtitle lands, apart from the line. Assisted-by: ClaudeCode:claude-opus-5-5
…stacked r30: DqContact read "14 mrt 1988" (board "14 maart 1988"), so the Contact card uses longdate; DqSociaalDomein's side Historie drew one-line audit rows, so it uses the stacked layout as DqTaak's does. Assisted-by: ClaudeCode:claude-opus-5-5
…w them r30 DqZaaktypeRegels: a rule row was 62px (14px/600 title on the body's 22.5px leading) where the board draws 56 (15px/500 title and its 13px line 2px apart on their natural leading), and the add button sat 8px above the rows where the board leaves 12, 8px under the subtitle. r30 DqZaaktypeStatussen "Statussen, resultaten en kenmerken": Nextcloud pads every dt and dd 12px, so each fact stood 45px tall and the facts 53px apart (gapBelowTitle 45.8 vs 31); the board draws them 17px tall and 8px apart. Probed on :8080 with the rules injected (nc-vue panel heading fix alongside): title 283, subtitle 306, button 331, first row 377 / 56, facts 25px apart, as the boards. Assisted-by: ClaudeCode:claude-opus-5-5
The acts list padded itself 8px above and 16px below inside the dialog body, which made DqVolgendeStap 30px taller than its board (r30). Assisted-by: ClaudeCode:claude-opus-5-5
r30 DqHandhaving:
- The header pill read finalIntervention ("Waarschuwing" after the
deviation); the board's pill names the advice ("Last onder
dwangsom", missing on live). It reads recommendedIntervention; the
applied intervention stays in Wat nu? and Override & final.
- Override & final is a 256px side card with long labels, so the
values stood a few letters wide. `columns: 1` stacks each label above
its value, as the board.
- The violation card stood under a 116px band (matrix fit cell on 80px
rows, the violation pinned on row 7) and was 400px tall for its
content. `gridFloat: false` with both cards size-to-content closes it
up.
Needs nc-vue feat/detail-page-grid-float (gridFloat on a detail page)
and feat/facts-stacked-column (facts columns 1); without them the page
renders as before.
Assisted-by: ClaudeCode:claude-opus-5-5
Assisted-by: ClaudeCode:claude-opus-5-5
…7) into integrate/dq-b42
…pt-in notifications notification-email-opt-in declares optInChannels on the notifications in the schemas' configuration, which OpenRegister's importer reads only on a version move. The case schema moves past every fragment's version (1.51.0 is the rules variant), so the merged schema re-imports; digests recorded. Assisted-by: ClaudeCode:claude-opus-5-5
…hema case-type-field-origin-pill shows origin as a badge; the value comes from the blueprint rows readOnlyRows adds (their where filters on it) and an own field shows emptyValue. ManifestColumnBinding read origin as an undeclared propertyDefinition property. Assisted-by: ClaudeCode:claude-opus-5-5
… rebuilt Assisted-by: ClaudeCode:claude-opus-5-5
case-type-field-origin-pill reads origin as a badge (own when empty) and subtitles the card with the drag order and the purple parent fields. Assisted-by: ClaudeCode:claude-opus-5-5
rubenvdlinde
requested review from
Rem-Dam,
SudoThijn,
WilcoLouwerse,
bbrands02,
remko48 and
rjzondervan
as code owners
October 26, 2026 05:43
Contributor
Quality Report — ConductionNL/dossiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ❌ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue3-compile | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ❌ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ❌ | ✅ 658/658 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ❌ | ||||
| Newman | ⏭️ | ||||
| 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-26 05:50 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.
Dossiq batch b42. It starts with DQ-DATA's Pieter exports. Then the e-mail opt-in for notifications (needs 24t1y's notification matrix), the status-type phase (register 0.20.73), the field-origin pill, the at-risk plural, and the r30/r31 lines of DQ-L2, L4, L7, L9 and L10. Lines that need nextcloud-vue 24t1y stay in as manifest config; :8080 builds against the 24t1y branch. It builds on development 05b4acd (#4659).
Heads (merge order, --no-ff)
r26/exset-pieter-exportseec16e6fix/r29-notification-email-opt-in8ef105cr30/case-type-field-origin-pilleb66117r25/at-risk-remaining-plural422fad0r25/status-type-phase1b1f57cfix/r30-settings-advanced-rowsf1a60cer31/location-layers-specificity46e8e78r31/custody-rule-above2afbff4r30/contact-birth-longdate-social-history-stackedc9857ccr30/rules-rows-and-blueprint-facts51c61bar30/lhs-advice-layout65e5cbfr30/lifecycle-acts-dialog-padding43568a3Integration changes
optInChannelson the notifications in the schemas' configuration, which OpenRegister's importer reads only when the version moves. The case schema goes to 1.52.0, past every fragment's version (1.51.0 is the rules variant), so the merged schema re-imports. The mock register follows (case 1.13.0, substitution 1.1.0). Digests recorded withphp tools/schema-version-digests.phpafter the bumps.origin, a value the blueprint rows thatreadOnlyRowsadds carry (itswherefilters on it); an own field shows the column'semptyValue. The test now counts such a column as bound to those rows, not to the propertyDefinition schema.Verified locally
COMPOSER_PROCESS_TIMEOUT=0 composer check:strict, run alone: ALL CHECKS PASSED, exit 0. PHPUnit: 9852 tests, 0 errors, 0 failures.Prepared by a dossiq integration lane (AI-assisted, Claude Code); the coordinator merges.