Skip to content

sync: Codeberg documentation catchup (212 commits, 2026-06-01 → 2026-07-13) - #758

Draft
WilcoLouwerse wants to merge 212 commits into
documentationfrom
sync/codeberg-documentation-2026-07-21
Draft

sync: Codeberg documentation catchup (212 commits, 2026-06-01 → 2026-07-13)#758
WilcoLouwerse wants to merge 212 commits into
documentationfrom
sync/codeberg-documentation-2026-07-21

Conversation

@WilcoLouwerse

Copy link
Copy Markdown

Mirror of Codeberg documentation branch — 212 commits that landed after the Codeberg→GitHub sync-cutover left the documentation branch behind (GH was still on 2a92ecde4 from 2026-05-19, Codeberg had progressed to 2d4646ff1 on 2026-07-13).

Wilco-authored commits included in this catchup:

  • edb1ce35 (2026-07-09) — docs(tutorials/admin): recapture manage-federation-sources against real UI + rewrite steps (Codeberg PR publication add theme #110)
  • 55c46799 (2026-07-10) — docs(build): sync docs/ build config from development so documentation branch builds again (Codeberg PR fixed boolean error #111)
  • 93b4c32e (2026-07-13) — ci(docs): run docs build + deploy on Conduction's con-ci-oci self-hosted runner (Codeberg PR Reinstate pagination information #122)

Bulk of the delta = Ruben van der Linde + Hydra Pipeline commits (specs, tests, CI hardening) from 2026-06-01 → 2026-07-13.

Histories diverge (Codeberg documentation branched independently from the GitHub one in the 2025-2026 Codeberg era), so this cannot be a fast-forward — merge or squash strategy is the reviewer's call.

Context: the documentation branch is the deploy source for the OpenCatalogi docs-site (see reference_opencatalogi_docs_branch). Getting it in sync means the GH-based docs deploys have the same content as Codeberg.

Codeberg reference: https://codeberg.org/Conduction/opencatalogi/src/branch/documentation

rubenvdlinde and others added 30 commits March 9, 2026 09:47
Let the backend decide which search source (database/SOLR/Elasticsearch)
to use instead of forcing database source in GlossaryController,
MenusController, PagesController, and the frontend object store.
Annotates catalog and listing schemas with their declared development →
beta → stable → obsolete progression. Three actions per schema:
promoteToBeta, promoteToStable, obsolete (from any non-terminal state).

OpenRegister's LifecycleValidationListener now enforces that status
moves follow this declared sequence — a save attempt that skips
straight from development to stable is rejected with HookStoppedException
which the platform's TransitionController surfaces as 422.

Forward-looking: opencatalogi has no bespoke transition table to
remove, so this is a pure additive declaration. The lifecycle
annotation becomes the source of truth the moment any caller saves
a catalog/listing through OpenRegister with a new status value.

Companion: ConductionNL/openregister#1357 (the platform side).
…egexp'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ntain permissions'

Agreeds

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Phase 3 of the v2 manifest rollout (hydra ADR-036). Opencatalogi previously
had no src/manifest.json and was on @conduction/nextcloud-vue@^0.1.0-beta.16.
Jumps straight to v2 per scaffold-v2 pattern (nc-template #44).

Bumps nc-vue to ^1.0.0-beta.58. Authors v2 manifest covering catalogs,
publications, search, organizations, themes, glossary, pages, menus,
directory. All custom pages registered via src/registry.js (5-kind
registry; all kind:'page' due to runtime register/schema resolution).

Documented lib gaps with _note fields in manifest.json:
- dashboard #widget-* slot template pass-through
- Named-view sidebar (SearchSideBar)

References: procest #512, mydash #206.
rubenvdlinde and others added 22 commits June 3, 2026 17:08
#2) from feature/docs-capture-workflow into development

automerge: OpenCatalogi#2
…ay guard (#6)

Moves CatalogSchemaEventListener from post-save to pre-save events
(ObjectCreatingEvent / ObjectUpdatingEvent) so rewriting never triggers a
second save and the infinite-loop is impossible by construction.
Also fixes a SOLR-backend regression (#736) in CatalogiService::index where
jsonSerialize() was called before the is_array guard.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… listener + SOLR array guard (#6)' (#19) from feature/6/fix-catalog-update-infinite-loop into development
…architecture/migration, code-contract verified)
…ion scenarios — gate now 0 uncovered (100%)
…al UI + rewrite steps

The previous shots were fallback captures from a dev container without
federation data — they showed the Publications Dashboard instead of the
Directory, so every caption misrepresented what the reader was looking at.
The prose also described a UI that never landed: an "Add source" dialog
with name/auth-type/test-connection, plus separate Scope and Schedule
tabs. The shipping UI is simpler — one URL field, an immediate sync on
add, an integration-level toggle on edit.

This PR captures five fresh 1280x800 shots against a locally-seeded
directory (three peers: available, available, unreachable) and rewrites
the five steps to describe the UI those shots actually show:
- Directory list with status counters
- Add-directory dialog (URL only)
- Success panel with New/Updated/Failed listing counts
- Edit-listing dialog with integration-level dropdown
- Search publications page (federated search UI)

The Verification and Common issues sections were rewritten to match:
Verification anchors on the status counters and /api/listings response;
Common issues covers Failed>0, unreachable status, Connection vs
Federated-search level, and empty-listings response.
…ion-sources fix onto documentation' (#110) from docs/manage-federation-sources-doc-sync into documentation

Reviewed-on: https://codeberg.org/Conduction/opencatalogi/pulls/110
…n branch builds again

The `documentation` branch's docs-deploy workflow has been failing since
the last docs-branch push (build step 7399985 on 2026-07-09), which is
why merged PR #110's tutorial fix never reached
opencatalogi.conduction.nl. The last green build was 2026-06-08.

The `documentation` branch was pinning `@conduction/docusaurus-preset:
^3.6.0` while `development` had already moved to `^3.26.0`. Under an
un-refreshed lockfile the pinned preset resolves against transitive
deps whose environment has drifted enough to break the build. Bringing
the four files that differ between the branches — `docs/package.json`,
`docs/package-lock.json`, `docs/features.json`, `docs/index.md` — into
alignment with `development` unblocks the build without dragging in the
other 265 non-docs commits.

This is a targeted repair, not a full sync. A follow-up should decide
whether to automate periodic development->documentation syncs so the
docs-only branch does not accumulate drift again.
…ment so documentation branch builds again' (#111) from docs/sync-docs-build-config into documentation

Reviewed-on: https://codeberg.org/Conduction/opencatalogi/pulls/111
…osted runner

Pass `runner-label: con-ci-oci` to both the shared `documentation-build.yml`
and `documentation-deploy.yml` reusables so the docs pipeline stops using
Codeberg's shared runner pool.

Motivation: every recent `Publish docs` run on this repo (853, 854, 866,
867, 868, 873) failed at `Set up job — 0s`, i.e. the runner terminated
before executing the first step. `openwoo-app-website` and
`conduction-website` — which use the same reusables — kept succeeding on
the same infrastructure, so the fault is repo-specific to opencatalogi's
runner scheduling. Moving to Conduction's own runner sidesteps this
class of failure entirely and removes the 10-minute Codeberg timeout as
a factor.

Depends on `Conduction/.github#68` (adds the `runner-label` input to the
reusables). This caller change only takes effect once #68 is merged into
`Conduction/.github@main`.
… `con-ci-oci` self-hosted runner' (#122) from ci/docs-use-con-ci-oci-runner into documentation
@rubenvdlinde

Copy link
Copy Markdown
Collaborator

Dedupe sweep note, not a review: this PR has never been tested, and the UI does not say so.

gh pr checks 758 reports no checks. That reads like "CI is pending", but the cause is the base ref. .github/workflows/code-quality.yml triggers on

pull_request:
  types: [opened, reopened, synchronize]
  branches: [main, beta, development]

and this PR targets documentation, which is not on that list. So no run is queued, none is coming, and a 212-commit change shows an empty check list rather than a red one. It is the only open PR in this repo with a base outside main/beta/development — I checked all thirteen.

Nothing to fix in this branch; flagging so the absence of checks is not mistaken for CI being slow. If documentation is a real long-lived target it should be added to the pull_request.branches list (it is already on the push: list's siblings), otherwise this should be retargeted before it is taken off draft.

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.

6 participants