Skip to content

feat!: require Nextcloud 36 and use its viewer only - #1375

Closed
skjnldsv wants to merge 3 commits into
mainfrom
feature/viewer-36-only
Closed

skjnldsv wants to merge 3 commits into
mainfrom
feature/viewer-36-only

Conversation

@skjnldsv

@skjnldsv skjnldsv commented Oct 7, 2026

Copy link
Copy Markdown
Member

Alternative to #1374, to compare: the same port to the viewer of Nextcloud 36, but main requires 36 and drops 31 to 35.

The first two commits are #1374. The last one is the difference: it removes the LoadViewer listeners, the Vue component registered with OCA.Viewer, the public share runtime and its styles, the comparison lookup through OCA.Viewer.compareFileInfo and the LoadViewer stub. That is 918 lines out and 35 in compared to #1374. main.ts keeps the recording and direct editing pages only.

Taking this means cutting stable2.0 for 31 to 35 first, since releases from main would then only install on 36.

On 36 the server opens a publicly shared board in the viewer itself, so the full-page public share layout goes away: the board shows in the viewer modal instead. I checked opening a board, an older version and a public share on a master instance, without console errors. Playwright now runs against master only.

👾 This pull request was assisted by Claude Code, commits carry an Assisted-by trailer.

The viewer is part of the server from 36: the setup installed the app anyway and then failed reading its checkout, so no end-to-end test ran against master.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
The viewer moved into the server as @nextcloud/viewer, which takes handlers
as custom elements and no longer dispatches LoadViewer or offers
OCA.Viewer.registerHandler. On 36 and up, a small init script now registers
a <whiteboard-viewer> element on every page, defined the first time a
board opens. It renders the board as before: read-only outside the viewer
(the preview of a link to the file) and side by side with another version,
and an older version from its own source.

Servers up to 35 keep the viewer app's LoadViewer path. The main script
skips its legacy registration on 36, where it still runs as the board
shares chunks with it.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
From Nextcloud 36 the viewer is part of the server, with its own handler
API, so supporting older servers meant carrying both registrations. This
drops 31 to 35: the LoadViewer listeners, the Vue component registered
with OCA.Viewer, the public share runtime and its styles (the server opens
a shared board in the viewer itself), the comparison lookup through
OCA.Viewer.compareFileInfo, and the LoadViewer stub.

The main script is left with the pages whiteboard renders itself:
recording and direct editing. Playwright runs against master only.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
@skjnldsv skjnldsv added enhancement New feature or request 2. developing labels Oct 7, 2026
@skjnldsv skjnldsv self-assigned this Oct 7, 2026
@hweihwang

Copy link
Copy Markdown
Contributor

Let's keep this as a draft until we have a stable branch for 31 to 35. main is the only branch shipping 2.x right now.

@hweihwang

Copy link
Copy Markdown
Contributor

Closing this one. We release only from main now, so requiring 36 here would drop Nextcloud 31 to 35 for everyone on the next release. #1374 is merged and covers 36 next to the older versions. When main drops 31 to 35, we can start again from 989fb7c on this branch. Thanks for preparing both options, it made the comparison easy.

@hweihwang hweihwang closed this Oct 20, 2026
@skjnldsv
skjnldsv deleted the feature/viewer-36-only branch October 20, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. developing enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants