Skip to content

Release: merge development into beta - #1372

Open
github-actions[bot] wants to merge 223 commits into
betafrom
development
Open

github-actions[bot] wants to merge 223 commits into
betafrom
development

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Automated PR to sync development changes to beta for beta release.

Merging this PR will trigger the beta release workflow.

Reminder: Add a major, minor, or patch label to this PR to control the version bump. Default is patch.

WilcoLouwerse and others added 6 commits October 6, 2026 13:24
ActionAuthService::requireAction() throws OCSForbiddenException. The news,
newsletter, activity and event controllers let it escape, and since they
extend the plain Controller, Nextcloud's OCSMiddleware rethrows it: a
signed-in user without the action got a 500 page and an error-level log
line instead of a 403. PortalAuthMiddleware now maps the exception to the
same {"error": "forbidden"} 403 that PollController and
EmergencyPushController return, which covers all their call sites. Portaliq
has no OCSController, so no OCS envelope is replaced.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The error envelope requires a human-readable, localised message next to
the machine-readable slug. The middleware now gets IL10N and answers
{message, error: forbidden}; en/nl catalogues and their .js are rebuilt.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…bidden-403

# Conflicts:
#	l10n/en.js
#	l10n/en.json
#	l10n/nl.js
#	l10n/nl.json
Every cell of both columns checked against the current release and stamped
with its read date. 60 unknown cells settled (39 Open Inwoner, 21 NL Portal),
27 Open Inwoner line numbers moved to v2.4.5, two placeholder paths resolved.
NL Portal graded source-read with readVersion; 4.0.0 on main is unreleased
and noted per cell.
…new boards

41 unreferenced portaliq boards on canvas part 1 now sit on the rows they
deliver; 12 rows that had no board get one. Every row with a board already
carried the part-1 canvas id. Seven boards deliver no row and are listed for
a decision, not added.
docs(parity): re-drive Open Inwoner and NL Portal, link capabilities to the split design canvas
rubenvdlinde and others added 6 commits October 8, 2026 07:49
…and the unmapped boards, case page and contacts changes
…templates, actions, password reset, search suggestions, FAQ and finder, help, untranslated names
docs(openspec): rows and specs for capabilities the design canvas draws
…0261008070435

chore(sync): carry beta back into development
…ny set (site-content-blocks-styled) (#1363)

* wip(site): link list landmark and table container

* fix(site): a table, a melding and a link list look like the design on any set (site-content-blocks-styled)

* test(site): the pixel baseline of a link list carries its landmark name
rubenvdlinde and others added 11 commits October 8, 2026 09:28
…ows-its-heading) (#1367)

* wip(site): the hero shows heading, lead and search together; hero type scale

* fix(site): a visible hero heading keeps its distance from the search card
…s unknown until rated

Decision 97. System entry with readVersion (tag 4.0.1, 0582e697; SDK 4.0.2
pinned by .sdk-release), sources with null reasons, roadmap from the GitHub
milestones and four TenderNed e-formulieren tenders. Every row carries an
unknown cell with a not-checked reason until the column is rated.
Source read at 4.0.1 (backend) and SDK 4.0.2, path:line on every cell.
46 yes, 66 partial, 183 no, 5 unknown. Rows outside a form product (resident
accounts, case lists, inbox, CMS, site search) are no with the reason on the
cell. Intake rows the Open Inwoner column rates partial via Open Forms are
yes here where the form product delivers them; payment cites Worldline, since
the Ogone plugin is gone at 4.0.1.
docs(parity): Open Formulieren as a competitor column (decision 97)
… keeps its columns on one row (site-page-layout) (#1368)
…at quotes the error (dexie-check-reads-dev-bundles) (#1370)
… for a Nextcloud user (an-app-provisions-a-nextcloud-account) (#1381)
rubenvdlinde and others added 30 commits October 9, 2026 12:07
feat: build open OpenSpec changes (portaliq, part 3)
Conflicts: PortalSessionService (the per-account revoke moves onto
PortalSessionRevoker::revokeAll(subjectRef:)), l10n en/nl (both sides'
keys kept, js rebuilt). example-site spec expects register 0.93.0.
…s endpoint, lazy-load the email-link form, mark the token ledger demo-exempt
* chore(deps): nextcloud-vue ^2.74.0 for the board look

* feat(design): board look, Dutch labels, nav chrome and list setup for the beheer screens

* fix(design): footer sections and dashboard icon follow the chrome gates, nl catalogue keys, menu test ignores captions

* fix(design): Documentation, Store and Features stay in the footer section (ADR-114)

* fix(design): Reports goes back to the settings foldout (ADR-112/114 amended)
…ubmission, message, portal headers follow the boards (#1464)
)

Ruben decided on 2026-10-09 that marketing articles belong to portaliq.
Adds the marketing-articles capability: an article schema in the portaliq
register, the Articles pages under Website, usages collected through an
event, and pages that render an article by reference. Spec only.
Ruben, 2026-10-09: Woo request handling moves to dossiq as a case type and
residents work with us on their Woo dossier. The change woo-dossier-in-my-cases
puts the open question with its answer form on the case page, shows the
sentence the case app writes about the term, and links to where the result
is public. All three are generic; the Woo case is the first to use them.
feat: build open OpenSpec changes (portaliq, part 4)
…h strings follow the boards (#1479)

* feat(design): detail pages in the v2 shape (tab strip, Historie last, side column), account and news dialogs follow the boards, lib translations no longer overwritten by English

* fix(design): account stat titles in Dutch

* feat(design): Account, Message, Submission as body cards with a side column, Dashboard attention card and list cards, lint accepts banner, table and stat

* fix(design): header buttons that name a header action carry a label, so the primary buttons show

* chore(deps): nextcloud-vue ^2.77.0 (board look topbar and brand block)

* feat(design): brand block, withdraw card and Dutch side-column titles on the account page

* fix(l10n): example hint for the audience field in Dutch
…extcloud-vue 2.78.0, shared library and integrations strings (#1483)
…nd setup text follow the boards, nextcloud-vue 2.79.0 (#1484)
…t patches only what changed (#1491)

Certificate probe in PortalDomainVerifier (injectable, no private hosts),
portal schema 0.25.0 (domains[].certificateValidUntil/CheckedAt, editors),
Domeinen and Beheerders cards on the Instellingen tab, Beheerders and
certificate rows in the side summary card. Gegevens van de portal now sends a
PATCH with the changed keys instead of a full PUT.
…es (#1492)

nextcloud-vue 2.80.0's resolveFilterTokens imports widgetVisibility, which
brings @nextcloud/axios and generateOcsUrl into visibleWhen.js's import chain.
The embed entry grew past its 160 KiB budget and the node specs that mount the
intake and embed forms failed on axios reading the request token on import.
The public bundles' stub now covers axios and generateOcsUrl too, and the
node mounter applies the same swap with a resolve hook.
… as field-list (#1495)

* chore(deps): nextcloud-vue 2.80.0, and stub axios in the public bundles

nextcloud-vue 2.80.0's resolveFilterTokens imports widgetVisibility, which
brings @nextcloud/axios and generateOcsUrl into visibleWhen.js's import chain.
The embed entry grew past its 160 KiB budget and the node specs that mount the
intake and embed forms failed on axios reading the request token on import.
The public bundles' stub now covers axios and generateOcsUrl too, and the
node mounter applies the same swap with a resolve hook.

* feat(settings): the Instellingen tab is a sections widget, Domeinen and Beheerders are field-list widgets

PortalSettings, PortalDomains and PortalEditors give way to nextcloud-vue's
sections and field-list widgets, configured in the manifest (lane A note
migrate-portaliq). The six other settings parts stay app widgets, each now
registered on its own; PortalDetailsForm gets its registry entry.

- Domeinen keeps a remove button (the board has a row menu); host names are
  refused unless lower case, by the pattern.
- POST /api/cms/domains/verify answers a translated message, which the list
  shows after Check again. The parameters ride in the query string, because
  the 2.80 manifest schema refuses an @Row token in a request payload.
- The details section is titled 'Details of the portal': the manifest's i18n
  already maps 'Portal details' to 'Instellingen' for the Overzicht data.
- The tab strip and the home-page banner size to their content
  (sizeToContent: true), so the long settings stack no longer scrolls inside
  a fixed cell. A number there is GridStack's MAXIMUM, not a minimum.
- placement.mjs and validate-manifest.js count sections children as placed.
… not scroll inside its cell (#1498)

The attention banner drew 122 px of content in an 86 px body (two 80 px rows)
and scrolled inside the cell. It now spans three rows; the cells below it
move down one row.
…title with e-mail line, approval banner, five filters (#1504)
…u card, date and badge cells in the submissions list (#1507)
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.

3 participants