ONC-11: M10 – Härtung und Release #22

Open
martin wants to merge 3 commits from m10-release into main
Owner

Closes #11
Ticket: #11

Änderungen

  • Versions-Check (src/api/versionCheck.ts): liest die Nextcloud-Version aus /ocs/v2.php/cloud/capabilities; eine nicht getestete Hauptversion (getestet: 33, 34, 35) ergibt eine Warnung je Sitzung und Version, der Sync läuft weiter.
  • Protokoll-Modal (Befehl „Show log“, Schaltfläche in den Einstellungen, Kopieren) und Einstellung debugLogging (Methode, Pfad, Status, Dauer; nie Header, Bodys, Passwörter).
  • Zähler deferred für unbestätigte Pushes mit Warn-Notice (Hinweis aus dem M4-Review).
  • CI: ci.yml (Build, Lint, Unit-Tests), release.yml (Tag x.y.z → Forgejo-Release mit main.js, manifest.json, styles.css), integration.yml (Integrationstests gegen Nextcloud 33, 34, 35 und latest als Frühwarnung; wöchentlich, manuell, bei Release-Tags). scripts/check-release.mjs prüft Tag/Manifest/package/versions.json; scripts/dev-nextcloud/versions.sh protokolliert Nextcloud- und Collectives-Version.
  • Integrationstests nehmen NC_PORT & Co. auch aus der Umgebung; neuer Test serverVersion.test.ts; Unit-Test hält TESTED_NEXTCLOUD_MAJORS und die Workflow-Matrix gleich.
  • Version 0.2.0, versions.json, README (Voraussetzungen, Installation per BRAT/manuell, Risiken, Backup, Diagnose), docs/release.md, docs/ci-runner.md (Anforderungen an den Runner), ADR 0023, PLAN.md §12/§15/§17, docs/manual-test.md §6.

Getestete Akzeptanzkriterien

  • Release-Artefakte gebaut — npm run build erzeugt main.js; Release-Workflow noch nicht auf dem Runner gelaufen.
  • README vollständig — Installation, Risiken, Backup, Diagnose.
  • PLAN.md §17 aktualisiert.

Gate a) Tests (lokal gemessen; es gibt noch keinen CI-Lauf)

Baseline vor Implementierung: grün (Build, Lint, 1921 Unit-, 83 Integrationstests gegen NC 33).

Lauf Beleg Ergebnis
Unit lokal npm test 1989 Tests, 0 Fehler
Integration NC 33 (Collectives 4.7.1) lokal npm run test:int 1. Lauf: 76 bestanden, 7 übersprungen, structure.test.ts mit Hook-Timeout (180 s); Wiederholung der Datei 38/38 grün. Voller zweiter Lauf nach der letzten Änderung (Versionstest) nicht wiederholt
Integration NC 34.0.5 (Collectives 4.7.1) lokal, NC_PORT=8134 1. Lauf: 85/86, meta.test.ts › writes emoji and tags set on the server rot; meta.test.ts allein 13/13; zweiter voller Lauf 86/86 grün → vermutlich Timing, Ursache nicht geklärt
Integration NC 35.0.2 (Collectives 4.7.1) lokal, NC_PORT=8135 86/86

Neue Tests: Versions-Parser/-Status, Debug-Log ohne Passwort, Weitergabe der Serverversion, Warnung einmal je Sitzung/Version, Protokoll-Formatierung, deferred-Notice, Release-Konsistenz, Abgleich Versionsliste ↔ Matrix, Integrationstest der Serverversion.
Nicht verifiziert: manuelle Tests in Obsidian (Desktop/iOS/Android); alle drei Workflows auf dem Runner (Eignung des Runners offen, siehe docs/ci-runner.md); Coverage (keine Messung im Projekt).
Bekannte rote Tests / @Ignore: keine; zwei einmalige, nicht reproduzierte Fehlschläge (siehe Tabelle) bleiben als Flakiness-Verdacht offen.

Gate b) Lint und statische Analyse

Check Beleg Ergebnis
TypeScript lokal npm run build ✓
ESLint lokal npm run lint 0 Fehler, 16 Warnungen (wie vor der Änderung)

Gate c) Code-Review (agentseitige Aussage)

Durchgeführt von: Phil (inline, vor den Integrations-Workflow-Änderungen), Nils (inline). Timo nicht aufgerufen. Der Integrations-Workflow und die Versionsliste 33–35 wurden danach ergänzt und nicht erneut reviewt.
Befunde: 1 gesamt — 1 behoben (Lauf mit nur deferred meldete „alles aktuell“), 0 offen. Security: keine Befunde ≥ 8.
Offen: Der Versions-Check kostet einen zusätzlichen Request je Lauf; bewusst akzeptiert.

Gate d) Abweichungen von der Story (agentseitige Aussage)

  • Nur der im Repo lösbare Teil des Umfangs ist umgesetzt. Extern offen: Spiegelung nach Codeberg, Store-Einreichung, Screenshots, Hilfe-/Detailseiten, Community-Seite → docs/release.md.
  • Auf Wunsch des Maintainers ergänzt: Integrationstests über Nextcloud 33–35 (+ latest) in Forgejo Actions (löst PLAN §15 Nr. 8), Version von Nextcloud und Collectives im Protokoll. Die Collectives-Version wird protokolliert, nicht erzwungen (nicht per API lesbar, der App-Store liefert die neueste passende).
  • Ob der vorhandene Runner Docker und localhost-Zugriff auf den Docker-Host bietet, ist ungeklärt (docs/ci-runner.md).
  • BRAT liest nur GitHub; manuelle Installation daher zusätzlich dokumentiert.
  • Version 0.2.0 (MINOR), nicht 1.0.0.
  • Umsetzung ohne Sub-Agents in der Hauptsession.

Version

0.1.0 → 0.2.0 (MINOR) — neue nutzersichtbare Funktionen (Protokoll, Versions-Warnung)

🤖 Generated with Claude Code

Closes #11 Ticket: https://forgejo.home.msc.wtf/keineantwort.de/nextcloud-collectives/issues/11 ## Änderungen - Versions-Check (`src/api/versionCheck.ts`): liest die Nextcloud-Version aus `/ocs/v2.php/cloud/capabilities`; eine nicht getestete Hauptversion (getestet: 33, 34, 35) ergibt eine Warnung je Sitzung und Version, der Sync läuft weiter. - Protokoll-Modal (Befehl „Show log“, Schaltfläche in den Einstellungen, Kopieren) und Einstellung `debugLogging` (Methode, Pfad, Status, Dauer; nie Header, Bodys, Passwörter). - Zähler `deferred` für unbestätigte Pushes mit Warn-Notice (Hinweis aus dem M4-Review). - CI: `ci.yml` (Build, Lint, Unit-Tests), `release.yml` (Tag `x.y.z` → Forgejo-Release mit `main.js`, `manifest.json`, `styles.css`), `integration.yml` (Integrationstests gegen Nextcloud 33, 34, 35 und `latest` als Frühwarnung; wöchentlich, manuell, bei Release-Tags). `scripts/check-release.mjs` prüft Tag/Manifest/package/versions.json; `scripts/dev-nextcloud/versions.sh` protokolliert Nextcloud- und Collectives-Version. - Integrationstests nehmen `NC_PORT` & Co. auch aus der Umgebung; neuer Test `serverVersion.test.ts`; Unit-Test hält `TESTED_NEXTCLOUD_MAJORS` und die Workflow-Matrix gleich. - Version 0.2.0, `versions.json`, README (Voraussetzungen, Installation per BRAT/manuell, Risiken, Backup, Diagnose), `docs/release.md`, `docs/ci-runner.md` (Anforderungen an den Runner), ADR 0023, `PLAN.md` §12/§15/§17, `docs/manual-test.md` §6. ## Getestete Akzeptanzkriterien - [x] Release-Artefakte gebaut — `npm run build` erzeugt `main.js`; Release-Workflow noch **nicht** auf dem Runner gelaufen. - [x] README vollständig — Installation, Risiken, Backup, Diagnose. - [x] `PLAN.md` §17 aktualisiert. ## Gate a) Tests (lokal gemessen; es gibt noch keinen CI-Lauf) Baseline vor Implementierung: grün (Build, Lint, 1921 Unit-, 83 Integrationstests gegen NC 33). | Lauf | Beleg | Ergebnis | |---|---|---| | Unit | lokal `npm test` | 1989 Tests, 0 Fehler | | Integration NC 33 (Collectives 4.7.1) | lokal `npm run test:int` | 1. Lauf: 76 bestanden, 7 übersprungen, `structure.test.ts` mit Hook-Timeout (180 s); Wiederholung der Datei 38/38 grün. Voller zweiter Lauf nach der letzten Änderung (Versionstest) nicht wiederholt | | Integration NC 34.0.5 (Collectives 4.7.1) | lokal, `NC_PORT=8134` | 1. Lauf: 85/86, `meta.test.ts › writes emoji and tags set on the server` rot; `meta.test.ts` allein 13/13; zweiter voller Lauf 86/86 grün → vermutlich Timing, Ursache nicht geklärt | | Integration NC 35.0.2 (Collectives 4.7.1) | lokal, `NC_PORT=8135` | 86/86 | Neue Tests: Versions-Parser/-Status, Debug-Log ohne Passwort, Weitergabe der Serverversion, Warnung einmal je Sitzung/Version, Protokoll-Formatierung, `deferred`-Notice, Release-Konsistenz, Abgleich Versionsliste ↔ Matrix, Integrationstest der Serverversion. Nicht verifiziert: manuelle Tests in Obsidian (Desktop/iOS/Android); alle drei Workflows auf dem Runner (Eignung des Runners offen, siehe `docs/ci-runner.md`); Coverage (keine Messung im Projekt). Bekannte rote Tests / `@Ignore`: keine; zwei einmalige, nicht reproduzierte Fehlschläge (siehe Tabelle) bleiben als Flakiness-Verdacht offen. ## Gate b) Lint und statische Analyse | Check | Beleg | Ergebnis | |---|---|---| | TypeScript | lokal `npm run build` | ✓ | | ESLint | lokal `npm run lint` | 0 Fehler, 16 Warnungen (wie vor der Änderung) | ## Gate c) Code-Review *(agentseitige Aussage)* Durchgeführt von: Phil (inline, vor den Integrations-Workflow-Änderungen), Nils (inline). Timo nicht aufgerufen. Der Integrations-Workflow und die Versionsliste 33–35 wurden danach ergänzt und nicht erneut reviewt. Befunde: 1 gesamt — 1 behoben (Lauf mit nur `deferred` meldete „alles aktuell“), 0 offen. Security: keine Befunde ≥ 8. Offen: Der Versions-Check kostet einen zusätzlichen Request je Lauf; bewusst akzeptiert. ## Gate d) Abweichungen von der Story *(agentseitige Aussage)* - Nur der im Repo lösbare Teil des Umfangs ist umgesetzt. **Extern offen:** Spiegelung nach Codeberg, Store-Einreichung, Screenshots, Hilfe-/Detailseiten, Community-Seite → `docs/release.md`. - Auf Wunsch des Maintainers ergänzt: Integrationstests über Nextcloud 33–35 (+ `latest`) in Forgejo Actions (löst PLAN §15 Nr. 8), Version von Nextcloud **und** Collectives im Protokoll. Die Collectives-Version wird protokolliert, nicht erzwungen (nicht per API lesbar, der App-Store liefert die neueste passende). - Ob der vorhandene Runner Docker und `localhost`-Zugriff auf den Docker-Host bietet, ist ungeklärt (`docs/ci-runner.md`). - BRAT liest nur GitHub; manuelle Installation daher zusätzlich dokumentiert. - Version 0.2.0 (MINOR), nicht 1.0.0. - Umsetzung ohne Sub-Agents in der Hauptsession. ## Version 0.1.0 → 0.2.0 (MINOR) — neue nutzersichtbare Funktionen (Protokoll, Versions-Warnung) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ONC-11: Integrationstests über Nextcloud 33–35 in Forgejo Actions, Runner-Anforderungen
All checks were successful
CI / build-and-test (pull_request) Successful in 11m9s
13d1ec387b
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
All checks were successful
CI / build-and-test (pull_request) Successful in 11m9s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin m10-release:m10-release
git switch m10-release

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff m10-release
git switch m10-release
git rebase main
git switch main
git merge --ff-only m10-release
git switch m10-release
git rebase main
git switch main
git merge --no-ff m10-release
git switch main
git merge --squash m10-release
git switch main
git merge --ff-only m10-release
git switch main
git merge m10-release
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
keineantwort.de/nextcloud-collectives!22
No description provided.