Skip to content

HDNEXT-1604: backport nc-server IONOS changes onto NC33 (v33.0.6)#279

Draft
printminion-co wants to merge 42 commits into
ionos-dev-v33from
mk/poc/HDNEXT-1604-ionos-dev-v33
Draft

HDNEXT-1604: backport nc-server IONOS changes onto NC33 (v33.0.6)#279
printminion-co wants to merge 42 commits into
ionos-dev-v33from
mk/poc/HDNEXT-1604-ionos-dev-v33

Conversation

@printminion-co

@printminion-co printminion-co commented Jul 13, 2026

Copy link
Copy Markdown

HDNEXT-1604 — Backport nc-server IONOS changes onto NC33 (v33.0.6)

Creates the NC33 "ground slate" branch: vanilla v33.0.6 with the IONOS
customisations cherry-picked on top as new commits.

Base: ionos-dev-v33 (vanilla v33.0.6) ← Head: mk/poc/HDNEXT-1604-ionos-dev-v33 — PR diff is exactly the IONOS delta.
38 commits replayed from ionos-dev-v32.0.6 (the 47-commit v32 stack, minus net-zero/empty — see below).

Method

Fresh branch off v33.0.6, then git cherry-pick -x v32.0.6..ionos-dev-v32.0.6. New commit SHAs; -x records provenance.

Faithfulness vs the v32 line

IONOS change-set is identical to v32.0.6..ionos-dev-v32.0.6 except two expected NC33 adaptations:

  • apps/files/src/views/Navigation.vueFilesNavigation.vue — NC33 renamed the file; the SidebarQuota wiring (replace NavigationQuota) was re-ported to the renamed component.
  • lib/private/Template/Template.php fix dropped — already present upstream in v33.0.6 (cherry-pick was empty).

Resolved conflicts

  • apps/files/src/views/FilesNavigation.vue — ported SidebarQuota wiring (rename adaptation).
  • core/src/components/UnifiedSearch/UnifiedSearchModal.vue — kept v-if="peopleSearchEnabled" over v33's reformat.
  • apps/files_sharing/src/mixins/SharesMixin.js — merged DialogBuilder import (v33 already imports ShareType).
  • config/config.sample.php — appended the redirects block before the closing ];.

Skipped (net-zero / redundant — matches v32 line's net state)

  • IONOS(deps): alias @mdi/@nextcloud/vue + its Revert → package.json/package-lock.json untouched from v33 base.
  • IONOS(frontend): custom MDI icon mappings + its Revert.
  • fix(lib): templates core path detection — already in v33.0.6.

Verified

  • .gitmodules identical to the v32 line; 3rdparty → v33.0.6's. IONOS submodule pointers started identical to the v32 line, then the apps-external/ pointers below were advanced to NC33 (see next section).
  • version.php[33,0,6,2] / '33.0.6', upgrade-from 32.0+33.0, IONOS build-injection block intact.
  • php -l clean on all changed PHP files.

apps-external → NC33 submodule pointers

Advanced on this branch (vanilla where a fork's IONOS modifications are deferred):

  • serverinfov33.0.6
  • files_downloadlimitv33.0.6
  • richdocumentsvanilla v10.1.3 (69199dc). IONOS build v10.1.3-61f4d0f (adds hide-help-menu) is prepared and will replace this once nc-richdocuments#13 merges — HDNEXT-1593.
  • viewervanilla v33.0.6 (matches the already-vanilla v32.0.6 production state). IONOS viewer customizations backport is a follow-up — HDNEXT-1585.

Out of scope (dependency tickets)

  • IONOS fork modifications deferred — richdocuments/viewer track vanilla NC33 for now (see above); swapping in the IONOS builds is tracked by HDNEXT-1593 / HDNEXT-1585.
  • App NC33 releases: HDNEXT-1585 (viewer), HDNEXT-1593 (richdocuments), HDNEXT-1586/1594/1599/1607 (app compat).
  • Config: HDNEXT-1589. Staging/UX: HDNEXT-1602/1603.
  • No rc/** build branch in this ticket (deferred to HDNEXT-1602).

Draft until autotest.sh sqlite / check_release.sh pass.

git range-diff v32.0.6..ionos-dev-v32.0.6 → v33.0.6..mk/poc/HDNEXT-1604-ionos-dev-v33
 1:  cbf32d86e82 !  1:  ef78c199e2d IONOS(infra): add IONOS app directory stubs and .gitignore entries
    @@ Commit message
         IONOS(infra): add IONOS app directory stubs and .gitignore entries

         Backports: 03aff15c540 add663753f5
    +    (cherry picked from commit cbf32d86e82d5ef5daa44f4b9753b6175f24f8d9)

      ## .gitignore ##
    -@@
    +@@ .gitignore: node_modules/
      /translationfiles
      /translationtool.phar

    @@ .gitignore
      # ignore all apps except core ones
      /apps*/*
      !/apps/cloud_federation_api
    -@@
    +@@ .gitignore: node_modules/
      /apps/files_external/3rdparty/irodsphp/prods/tutorials
      /apps/files_external/3rdparty/irodsphp/prods/test*
      /apps/files_external/tests/config.*.php
    @@ .gitignore
     +!/apps-external/files_downloadlimit
     +!/apps-custom/*

    - # apps modules
    - /apps/*/node_modules
    + # ignore themes except the example and the README
    + /themes/*
     @@ .gitignore: nbproject
      # nodejs
      /build/bin
 2:  dc702108cdb !  2:  29ebd927e9b IONOS(custom-npms): add custom npm submodules
    @@ Commit message
         file: paths by custom apps (simplesettings) and external apps (viewer).

         Backports: b03973e4914 404d21ecaa7 3a458be45aa 6ffe694744b
    +    (cherry picked from commit dc702108cdbcdca31852d48f5ea45f7999b4bdb2)

      ## .gitmodules ##
     @@
 3:  87a344b9a6c !  3:  12753b2128f IONOS(apps): add custom app submodules
    @@ Commit message
         the preceding commit.

         Backports: 12632cba80b fbf27b927ff 6ab55ca66db
    +    (cherry picked from commit 87a344b9a6c95bd08970a055b173d6e9335c0b50)

      ## .gitmodules ##
     @@
 4:  3f834b15458 !  4:  b4c64276dad IONOS(theme): add nc-ionos-theme
    @@ Commit message
         submodule dependencies.

         Backports: 5906a4373a5
    +    (cherry picked from commit 3f834b15458ebd5bfd6d193947bb6893d955549a)

      ## .gitmodules ##
     @@
 5:  392bf731a8d !  5:  a75f91daacb IONOS(apps): add IONOS-forked external apps
    @@ Commit message
         registered in commit 2.

         Backports: 759ff45f9da 9a77eee2506
    +    (cherry picked from commit 392bf731a8d363189f7cf701885c2a2ab5ce5d7f)

      ## .gitmodules ##
     @@
 6:  62e29003cc4 !  6:  9f83dcad434 IONOS(apps): add original Nextcloud external apps
    @@ Commit message
         Apps: user_oidc, serverinfo, groupquota, files_downloadlimit

         Backports: 5b7102e6273 c92fd7d3c08 91e97e35005 03aff15c540
    +    (cherry picked from commit 62e29003cc404d7f49545912d0311ccc13a68179)

      ## .gitmodules ##
     @@
 7:  6b6192cfb05 !  7:  46aa850989c IONOS(config): add IONOS config submodule
    @@ Commit message
.dev/tools/release-notes.sh current > v33-pr279.md
Release Notes -- IONOS-Productivity/nc-server v33.0.6.2 (55df9e0)

Release Notes -- IONOS-Productivity/nc-server v33.0.6.2 (55df9e0)

Submodules

apps-external/

  • files_downloadlimit [vanilla] -- SHA cd703cb (GitHub)
    • Upstream tag: v33.0.6
    • App version: 5.1.0
    • Nextcloud compatibility: min 32, max 33
    • URL: git@github.com:nextcloud/files_downloadlimit.git
  • groupquota [vanilla] -- SHA 5b2d66e (GitHub)
    • Upstream tag: v0.2.4
    • App version: 0.2.4
    • Nextcloud compatibility: min 31, max 33
    • URL: git@github.com:nextcloud/groupquota.git
  • richdocuments [IONOS fork] -- SHA 61f4d0f (GitHub)
    • Tag: v10.1.3-61f4d0f (pre-release: yes)
    • App version: 10.1.3
    • Nextcloud compatibility: min 33, max 33
    • URL: git@github.com:IONOS-Productivity/nc-richdocuments.git
  • serverinfo [vanilla] -- SHA 06f355d (GitHub)
    • Upstream tag: v33.0.6
    • App version: 5.0.0
    • Nextcloud compatibility: min 33, max 33
    • URL: git@github.com:nextcloud/serverinfo.git
  • user_oidc [vanilla] -- SHA b5a67c7 (GitHub)
    • Upstream tag: v8.6.1
    • App version: 8.6.1
    • Nextcloud compatibility: min 29, max 34
    • URL: git@github.com:nextcloud/user_oidc.git
  • viewer [IONOS fork] -- SHA 9e3b79a (GitHub)
    • Tag: v33.0.6 (pre-release: yes)
    • App version: 6.0.0
    • Nextcloud compatibility: min 33, max 33
    • URL: git@github.com:IONOS-Productivity/nc-viewer.git

apps-custom/

  • googleanalytics [IONOS fork] -- SHA 8766e39 (GitHub)
    • Tag: 0.0.4-8766e39 (pre-release: yes)
    • App version: 0.0.3
    • Nextcloud compatibility: min 30, max 33
    • URL: git@github.com:IONOS-Productivity/nc-googleanalytics.git
  • nc_ionos_processes [IONOS fork] -- SHA 170d170 (GitHub)
    • Tag: 1.0.0-170d170 (pre-release: yes)
    • App version: 1.0.0
    • Nextcloud compatibility: min 30, max 33
    • URL: git@github.com:IONOS-Productivity/nc-ionos-processes.git
  • nc_theming [IONOS fork] -- SHA a06a89f (GitHub)
    • Tag: v32.0.6-a06a89f (pre-release: yes)
    • App version: 32.0.6
    • Nextcloud compatibility: min 30, max 33
    • URL: git@github.com:IONOS-Productivity/nc-theming.git
  • simplesettings [IONOS fork] -- SHA 373db5b (GitHub)
    • Tag: v32.0.6-373db5b (pre-release: yes)
    • App version: 32.0.6
    • Nextcloud compatibility: min 30, max 33
    • URL: git@github.com:IONOS-Productivity/nc-simplesettings.git

themes/

  • nc-ionos-theme [IONOS fork] -- SHA 2463c23 (GitHub)
    • Tag: 31.0.6-2463c23 (pre-release: yes)
    • appinfo: n/a
    • URL: git@github.com:IONOS-Productivity/nc-ionos-theme.git

root/

  • IONOS [IONOS fork] -- SHA ecde9e2 (GitHub)
    • Tag: ecde9e2 (pre-release: yes)
    • appinfo: n/a
    • URL: git@github.com:IONOS-Productivity/nc-config.git

Submodules Summary

Compat column reports whether the submodule's appinfo min-version..max-version
range covers the parent repo's NC major (33): OK in range, WARN
out of range, n/a when min/max not declared (non-app submodules always n/a).

Release column reports the GitHub Release state for the tag at the pinned SHA:
pre-release (Release exists, marked pre-release), release (Release exists,
final), none (tag exists but no GitHub Release published), n/a (no tag).

Path Name App ID Source Version NC Min NC Max Compat SHA Tag Release
apps-custom/googleanalytics googleanalytics googleanalytics IONOS fork 0.0.3 30 33 OK 8766e39 0.0.4-8766e39 pre-release
apps-custom/nc_ionos_processes nc_ionos_processes nc_ionos_processes IONOS fork 1.0.0 30 33 OK 170d170 1.0.0-170d170 pre-release
apps-custom/nc_theming nc_theming nc_theming IONOS fork 32.0.6 30 33 OK a06a89f v32.0.6-a06a89f pre-release
apps-custom/simplesettings simplesettings simplesettings IONOS fork 32.0.6 30 33 OK 373db5b v32.0.6-373db5b pre-release
apps-external/files_downloadlimit files_downloadlimit files_downloadlimit vanilla 5.1.0 32 33 OK cd703cb v33.0.6 none
apps-external/groupquota groupquota groupquota vanilla 0.2.4 31 33 OK 5b2d66e v0.2.4 none
apps-external/richdocuments richdocuments richdocuments IONOS fork 10.1.3 33 33 OK 61f4d0f v10.1.3-61f4d0f pre-release
apps-external/serverinfo serverinfo serverinfo vanilla 5.0.0 33 33 OK 06f355d v33.0.6 none
apps-external/user_oidc user_oidc user_oidc vanilla 8.6.1 29 34 OK b5a67c7 v8.6.1 none
apps-external/viewer viewer viewer IONOS fork 6.0.0 33 33 OK 9e3b79a v33.0.6 pre-release
IONOS IONOS n/a IONOS fork n/a n/a n/a n/a ecde9e2 ecde9e2 pre-release
themes/nc-ionos-theme nc-ionos-theme n/a IONOS fork n/a n/a n/a n/a 2463c23 31.0.6-2463c23 pre-release

Warnings

printminion-co and others added 30 commits July 13, 2026 10:51
nc-mdi-js, nc-mdi-svg, nc-nextcloud-vue, nc-vue-material-design-icons
are IONOS forks of upstream MDI and Nextcloud Vue packages, consumed via
file: paths by custom apps (simplesettings) and external apps (viewer).

Backports: b03973e 404d21e 3a458be 6ffe694
(cherry picked from commit dc70210)
simplesettings, googleanalytics, nc_theming, nc_ionos_processes are
IONOS-specific Nextcloud apps loaded from apps-custom/. simplesettings
depends on custom-npms (nc-mdi-js, nc-nextcloud-vue) registered in
the preceding commit.

Backports: 12632cb fbf27b9 6ab55ca
(cherry picked from commit 87a344b)
IONOS brand theme for Nextcloud Workspace. Standalone — no npm or
submodule dependencies.

Backports: 5906a43
(cherry picked from commit 3f834b1)
viewer (nc-viewer) and richdocuments (nc-richdocuments) are
IONOS-Productivity forks of upstream Nextcloud apps with IONOS-specific
patches. viewer depends on custom-npms (nc-mdi-svg, nc-nextcloud-vue)
registered in commit 2.

Backports: 759ff45 9a77eee
(cherry picked from commit 392bf73)
Adds unmodified upstream apps pinned at specific commits. Kept in a
separate commit from the IONOS-forked apps so each can be upgraded
independently (bump submodule pointer without touching forked apps).

Apps: user_oidc, serverinfo, groupquota, files_downloadlimit

Backports: 5b7102e c92fd7d 91e97e3 03aff15
(cherry picked from commit 62e2900)
easystorage-config holds deployment configuration that spans all IONOS
apps. Registered last in the submodule group so it follows the full set
of app pointers it references.

Backports: 640f389
(cherry picked from commit 6b6192c)
hidrive-next-build.yml: triggers GitLab image build pipeline on push to
ionos-stable and on PRs; uploads dev artifacts to Artifactory.
sbom-matrix.yaml: generates Software Bill of Materials for compliance.

Backports: cbca0ad c9c4048 10ad22c ad12b67 6a5f40d
           e226cd1 f54a8a3 840fb85
(cherry picked from commit 3596906)
Blocks login for clients not listed in the system config allow-list.
Handles the case where a request carries multiple User-Agent values.

Config key: core.login_flow_v2.allowed_user_agents (array of strings)

Backports: 9391822 30df636
(cherry picked from commit 1c29182)
Provides the sharing.enable_share_accept system config value as an initial
state so the frontend can hide the pending-share menu when the feature is on.

  # hide pending menu (feature enabled):
  ./occ config:system:set --value true --type boolean -- sharing.enable_share_accept

  # show pending menu (feature disabled):
  ./occ config:system:set --value false --type boolean -- sharing.enable_share_accept

Backports: cb78926
(cherry picked from commit 8a297ab)
Replaces the upstream NavigationQuota widget with a custom IONOS SidebarQuota
component that better fits the IONOS UI layout and theming.

Backports: 091e90f 96495fb 64f5ea8 e8c8112
(cherry picked from commit e3d6404)
font awesome folder icon is smaller then MDI icon

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
Co-authored-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
(cherry picked from commit e739552)
Sets peopleSearchEnabled default to false, disabling the contacts/people
provider in UnifiedSearch for IONOS deployments. Also gates the SearchableList
people-filter behind the prop (the v-if was removed upstream in v32).

Backports: bacad6d
(cherry picked from commit 874bf1d)
Shows a DialogBuilder confirmation before executing share deletion to prevent
accidental removal.

Backports: 82f9dfa
(cherry picked from commit 25e04f7)
…cc output

Adds 'redirects' system config key: maps URL path regexps to app route
locators, configured entirely in config.php rather than Apache/nginx.

  Example: "redirects" => ["^/path/regexp" => "an.apps.controller.route"]

Note: the <sensitive> masking in config:app:set was already upstreamed to v32.

Backports: 959dcc0 c64d946
(cherry picked from commit e7137a7)
Implements build number injection system for production traceability:
- Modified version.php to read .buildnumber file and append build ID as $OC_Version[4]
- Updated hidrive-next-build.yml workflow to create .buildnumber file with GitHub run_number
- Added .buildnumber to .gitignore for CI/CD generated files

This preserves the original semantic version while adding build metadata
for tracking specific CI/CD runs in production environments.

Ported from IONOS-Productivity/ncw-server commit 0f2d429

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit add6637)
(cherry picked from commit f70ad2f)
…atible)

https://github.com/IONOS-Productivity/nc-viewer/releases/tag/v32.0.6

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit e382723)
…ersion with NC32)

https://github.com/IONOS-Productivity/nc-theming/releases/tag/v32.0.6-a06a89f

Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
(cherry picked from commit 8bf393f)
…argets)

https://github.com/IONOS-Productivity/nc-config/releases/tag/cce9a71

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit 6a880ac)
hidrive-next-build.yml: remove custom-npms/** path trigger and
FONTAWESOME_PACKAGE_TOKEN from the build step.

sbom-matrix.yaml: remove FONTAWESOME_PACKAGE_TOKEN secret requirement
and custom-npm pre-install steps from the npm install job.

Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
(cherry picked from commit 4160515)
This reverts commit e739552.

(cherry picked from commit 410e25f)
Remove all four custom-npm submodules to support FA icon embedding pipeline:
  - nc-mdi-svg: FA-to-MDI SVG embedding (primary FA integration point)
  - nc-mdi-js: thin wrapper over @mdi/js, only customized to use nc-mdi-svg
  - nc-nextcloud-vue: thin fork of @nextcloud/vue, only wired custom icon packages
  - nc-vue-material-design-icons: FA mapping logic, now redundant without FA

Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
(cherry picked from commit 82872c7)
…e drift)

https://github.com/IONOS-Productivity/nc-simplesettings/releases/tag/v32.0.6-373db5b

Picks up nc-simplesettings PR #176 which regenerates package-lock.json
with upstream registry.npmjs.org resolutions for @mdi/js and
vue-material-design-icons. Without this, the cached-matrix CI on
this PR cannot build simplesettings from scratch on a runner — the
prior lockfile (`d87bf5b`) still pointed those packages at
`../../custom-npms/...` file: links that only exist on dev machines.

Unblocks the `build-apps (simplesettings, ...)` matrix leg of this PR.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit 9910bd8)
Bumps IONOS submodule cce9a71..797b3c7 (now hosted at
IONOS-Productivity/nc-config; rename also reflected in .gitmodules) to
introduce the build targets and helpers consumed by the new cached
parallel matrix CI pipeline.

Brings in nc-config master since cce9a71 (REUSE/SPDX compliance,
workflow cleanups, configure.sh refactors) and the consolidated
nc-config#109 series:

  - feat(Makefile): add generate_apps_matrix_json with dynamic app list
  - feat(Makefile): introduce dynamic build rules via define macros + common vars
  - feat(Makefile): add .precheck target and gate IO-side targets on it
  - feat(Makefile): two-phase patch_shipped_json with APP_FOLDERS_TO_SHIP
  - feat(Makefile): exclude apps via REMOVE_UNWANTED_APPS from removed-apps.txt
  - feat(Makefile): add pipeline targets build_after_external_apps + package_after_build
  - feat(scripts): add validate_app_list_uniqueness + validate_external_apps + validate_all umbrella
  - chore(Makefile): update copyright header to 2025 STRATO GmbH

The Makefile now drops the legacy custom-npm build targets entirely
(see nc-config#109) — generate_apps_matrix_json always emits
"needs_custom_npms":false. Subsequent commits in this PR add the
workflow and helper script that consume these targets.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit 629d8d5)
printminion-co and others added 10 commits July 13, 2026 11:02
Helper script consumed by the cached parallel matrix CI pipeline (added in
the next commit). For each app emitted by IONOS/Makefile's
generate_apps_matrix_json target, it computes a per-app cache key from the
submodule SHA, probes JFrog Artifactory first, falls back to a GitHub
Actions cache lookup via gh cache list, and writes three JSON outputs:

- apps_to_build:   apps whose artifact is missing and must be built
- apps_to_restore: apps whose artifact exists in JFrog or GH cache
- apps_sha_map:    full {name: SHA} map for traceability

Cache-key shape is uniform: \${CACHE_VERSION}-app-build-\${APP_NAME}-\${SHORT_SHA}
(8-char short SHA). The custom-npms compound-key branch from PR #226's
earlier iterations is gone — custom-npms submodules no longer exist and
generate_apps_matrix_json always emits needs_custom_npms:false.

JFrog setup is idempotent (jf config show short-circuits the add) and
gracefully degrades to GH-cache-only when JF_URL/JF_USER/JF_ACCESS_TOKEN
are absent.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
(cherry picked from commit b2b36d1)
Composite action that fetches the GitHub Actions job HTML URL via the
REST API and exposes it as an output. Used by subsequent steps to
attach job.html_url to JFrog artifact properties for traceability
between an Artifactory artifact and the run/job that produced it.

Uses a temp netrc file to keep the GH token off the curl command line,
and trap-cleans both the netrc and the curl-error temp file on exit.
Returns an empty output (not a failure) when the API call or job
lookup fails, so callers can include it with continue-on-error: true.

Copied from sister ncw-server (.github/actions/get-job-data/action.yml).

(cherry picked from commit f020fce)
Replaces the single monolithic build job with a per-app matrix:

- prepare-matrix: discover apps and decide cache-hit vs rebuild via
  detect-app-cache.sh (JFrog + GitHub cache probe), emit a build matrix,
  preflight summary + gh cache list for diagnostics.
- build-apps: parallel matrix that restores cached artifacts or rebuilds,
  validates appinfo/info.xml after restore, uploads to JFrog with secrets
  preflight + retry + post-upload verification, and uses JFrog props
  arrays embedding job.html_url.
- hidrive-next-build: rewired to consume per-app cached artifacts.

Hardening: concurrency group for push + pull_request runs, PHP pinned to
8.3, npm cache bypassed when force_rebuild is set, per-app completion
summary, per-app debug artifact upload.

(cherry picked from commit e997d4e)
- actions/checkout       -> v5.0.1
- actions/setup-node     -> v6.4.0
- actions/download-artifact -> v5.0.0
- docker/login-action    -> v3.7.0
- docker/metadata-action -> v5.10.0

(cherry picked from commit c35ac84)
Enables push-build for rc/** and */dev/* branches, triggers the remote
GitLab workflow for both, and routes their artifacts to nested JFrog
paths that include NC_VERSION and short SHA so every build is preserved.

JFrog layout (consolidated):

  | Branch/Event  | Path                                                               |
  |---------------|--------------------------------------------------------------------|
  | Pull Request  | pr/hidrive-next-pr-<n>.zip                                         |
  | ionos-dev     | dev/hidrive-next-<ver>/<sha>/hidrive-next-<ver>.zip                |
  | ionos-stable  | stable/hidrive-next-<ver>/<sha>/hidrive-next-<ver>.zip             |
  | rc/*          | rc/<branch>/hidrive-next-<ver>/<sha>/hidrive-next-<ver>.zip        |
  | */dev/*       | devs/<prefix>/hidrive-next-<ver>/<sha>/hidrive-next-<ver>.zip      |

Changes vs. previous behavior:
- PR uploads move from dev/pr/... to top-level pr/...
- */dev/* uploads change from dev-<prefix>/... to devs/<prefix>/...
  (folder instead of dash-suffix)

GitLab BUILD_TYPE (consumer-facing) keeps dev-<prefix> — it is a
separate naming contract from the JFrog path.

(cherry picked from commit 74e8b76)
…SER_DEV

The remote GitLab pipeline does not yet handle the BUILD_TYPE=dev-<prefix>
payload produced for the */dev/* developer-branch class, so every push to
a developer branch currently fires a remote run the consumer cannot
service.

Add an opt-in repository variable ENABLE_REMOTE_TRIGGER_USER_DEV which
must be set to 'true' for the trigger-remote-dev-workflow job to run on
*/dev/* branches. The other three branch classes (ionos-dev, ionos-stable,
rc/*) are unaffected and continue to trigger as before. The existing
DISABLE_REMOTE_TRIGGER kill-switch keeps its current semantics and layers
on top of the new opt-in.

The "Check configuration" diagnostic step in prepare-matrix now prints
the new variable and surfaces an explicit ❌/✅ line for */dev/* branches
so the expected-outcome line ("WILL RUN" / "WILL BE SKIPPED") reflects
the opt-in state.

upload-to-artifactory and the ghcr image push are unchanged — */dev/*
builds still land in devs/<prefix>/... in Artifactory.

(cherry picked from commit e3e638e)
…anch for submodule trigger)

https://github.com/IONOS-Productivity/nc-config/releases/tag/6dedd72

Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 0e14ce3)
…e user oicd bearer auth)

https://github.com/IONOS-Productivity/nc-config/releases/tag/ecde9e2

Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 3e70495)
@printminion-co

Copy link
Copy Markdown
Author

NC33 apps-external fork upgrades (HDNEXT-1585 / HDNEXT-1593)

Two apps-external/ IONOS-fork pointers advanced to NC33 on this branch:

richdocumentsv10.1.3-61f4d0f (HDNEXT-1593)

  • Upstream v10.1.3 (NC33) + IONOS hide-help-menu patch.
  • The 2 other ticket commits (client-side + server-side read-only doc-creation gate) were dropped as redundant — the behavior is now native in upstream v10 (RegisterTemplateFileCreatorListener already gates on userCanEdit()).
  • Fork PR: IONOS(richdocuments): NC33 fork release (HDNEXT-1593) nc-richdocuments#13 · Release: v10.1.3-61f4d0f (prerelease)

viewerv33.0.6 (HDNEXT-1585)

  • Vanilla upstream nextcloud/viewer v33.0.6 (app 6.0.0, NC33), matching the already-vanilla v32.0.6 production state.
  • The 27-commit IONOS customization backport (default viewer, remove Collabora from preview, preview fixes) from ionos-dev-v31.0.6 is a maintainer follow-up on HDNEXT-1585 — it spans a two-major gap, conflicts on the first commit, and needs a verified viewer build.
  • Fork branch: ionos-dev-v33 · Release: v33.0.6 (prerelease)

Docs: the new upgrade-fork-app.md guide (nc-docs-and-tools#163) documents this fork-upgrade flow.

After the richdocuments fork PR merges, the release tag stays valid (it already captures the reviewed commit).

Track vanilla upstream v10.1.3 (ionos-stable33 tip) for now. The IONOS build
v10.1.3-61f4d0f (adds hide-help-menu) replaces this once nc-richdocuments#13
merges — see HDNEXT-1593.

SHA: 69199dc9fc07ceb38ecfe6f01c67a9d996504981
Vanilla upstream nextcloud/viewer v33.0.6 (app 6.0.0, NC33), matching the vanilla
v32.0.6 production state. Reinstatement of IONOS viewer customizations is a
follow-up (HDNEXT-1585).

Tag: https://github.com/IONOS-Productivity/nc-viewer/releases/tag/v33.0.6
SHA: 9e3b79a31742baade17f73ffae00a4f934a74346
@printminion-co printminion-co force-pushed the mk/poc/HDNEXT-1604-ionos-dev-v33 branch from 55df9e0 to fc38430 Compare July 13, 2026 15:15
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