fix: manage the office connector app, and proxy Collabora's websockets - #140
Merged
Conversation
Selecting a document server left the connector app to the user, and nothing surfaced the gap: the reconcile logged that it was waiting, the service looked healthy, and no document would open in it. The office-suite oneshot now installs the connector when it is absent. It sits behind the signature check, so it fires on a change of selection and never on an ordinary start — an app the user later removes stays removed and the health check reports it. A present-but-disabled connector is left alone. That state is either the user's decision or a major Nextcloud upgrade disabling an app with no compatible release; re-enabling it is how that protection gets undone. office-connectors now fails in both directions — connector missing or disabled, and more than one enabled — naming the app as Nextcloud's own Apps page names it and saying whether to install or enable. ProxyPassMatch matched neither of Collabora's socket URL shapes: a bare /cool/ws fell through to the plain-HTTP rule and returned 400, and the compat form carrying a url-encoded WOPI source 404'd. One ProxyPass with upgrade=websocket over the whole prefix handles both, and nocanon keeps the encoded slashes. Reset Admin Password carries a warning: it replaced a credential on click with nothing in between. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #139, closing the gaps that install found.
Fixes
ProxyPassMatch "/cool/(.*)/ws$"matched neither of Collabora's socket URL shapes: the bare/cool/wsfell through to the plain-HTTP rule and returned 400, and the/cool/<url-encoded WOPI source>/wscompat form 404'd. Replaced with oneProxyPass … upgrade=websocket nocanonover the whole prefix, which upgrades the requests that ask for it and passes the rest through. ONLYOFFICE's config had the same fragility and got the same treatment.warning, likeaudiobookshelfandbtcpayserverdo.The connector app is now managed
Selecting a document server used to leave the connector app to the user, and nothing surfaced the gap — the reconcile logged "waiting" forever while the service looked healthy and no document would open in it.
office-suiteoneshot installs the connector (Nextcloud Office (Collabora)orONLYOFFICE) when it is absent. It sits behind the signature check, so it fires on a change of selection and never on an ordinary start — an app the user later removes stays removed.Disable Non-default Appsexists to recover from.office-connectorsnow fails in both directions — connector missing or disabled, and more than one enabled — each with its own instruction, naming the app as Nextcloud's own Apps page names it.Office Suite presentation
Collabora is labelled recommended in the form, and
instructions.mdsays why in terms a non-developer can act on. The basis is a measured round-trip of a complex Word document through both engines rather than a marketing claim: both preserve text, tables, images, links, footnotes and fields exactly; ONLYOFFICE returns the file structurally identical, where LibreOffice resolves style-inherited formatting into direct formatting on each run. That is invisible on screen and only compounds across a large corpus of style-dependent documents cycling back to Word.ONLYOFFICE now ships from the Community Registry, which the docs note.
Verified on a dev box
Four connector states: absent → auto-installed on selection; enabled → green; removed → red and not reinstalled; disabled → red and not re-enabled. Documents open and edit on both backends.
Version stays
34.0.3:3— it is in alpha only, so it re-releases in place rather than burning a revision.