Skip to content

feat(cloud): add Nextcloud and WebDAV connections - #293

Open
Kechos23 wants to merge 4 commits into
ThisIs-Developer:mainfrom
Kechos23:codex/cloud-connections-pr
Open

Kechos23 wants to merge 4 commits into
ThisIs-Developer:mainfrom
Kechos23:codex/cloud-connections-pr

Conversation

@Kechos23

Copy link
Copy Markdown
Contributor

Thanks for taking a look. This implements the remote file access proposed in #280 and provides a shared provider interface we can build on for future integrations.

Open Workspace settings → Cloud connections, connect to a Nextcloud or WebDAV server, and choose a folder. Markdown files open in the existing editor, with local recovery drafts. Save to cloud checks the server’s version before writing. If the version changed or the outcome is uncertain, the local draft stays available.

Platform Support in this PR
Windows desktop Nextcloud and WebDAV through an on-demand helper using official Neutralino APIs.
macOS and Linux desktop The editor is available. Native cloud adapters remain future work.
Self-hosted web and Docker An optional connector serves the editor and accesses the provider. The Compose templates build the image locally.
Static web and offline PWA Local editing remains available. Cloud access requires the online connector, and cloud PWA installation is outside this preview.

Try it. On Windows, run npm ci and npm run build:cloud inside desktop-app with the prerequisites in the test guide. Keep extensions beside markdown-viewer-win_x64.exe. For Docker, follow the local build and loopback steps in the same guide. The environment variable reference lists the settings and defaults for personal and multi-user mode.

Use a test folder, open a Markdown file, edit it and confirm a save. Try changing a second file on the server after opening it to check conflict recovery.

Nextcloud and WebDAV use the server you already have and require no application-owned paid API. The web connector can run on your own infrastructure. Its operator can access the cloud content and credentials it handles, which matters when considering a public deployment. Google Drive, OneDrive and Dropbox can be evaluated separately for OAuth, permissions and costs.

Validated with 344 unit tests (one skipped), 97 Chromium tests, 38 connector tests, and isolated Windows helper and Docker checks. Feedback from a real Nextcloud or WebDAV setup would be especially helpful.

@vercel

vercel Bot commented Nov 14, 2026

Copy link
Copy Markdown

@Kechos23 is attempting to deploy a commit to the Developer Labs Team on Vercel.

A member of the Team first needs to authorize it.

@gitguardian

gitguardian Bot commented Nov 14, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 3 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

Since your pull request originates from a forked repository, GitGuardian is not able to associate the secrets uncovered with secret incidents on your GitGuardian dashboard.
Skipping this check run and merging your pull request will create secret incidents on your GitGuardian dashboard.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
- - Generic Password 95465a7 self-hosted/connector/test/settings.test.mjs View secret
- - Generic Password 086222b self-hosted/compose.multi-user.yml View secret
- - Username Password 95465a7 self-hosted/connector/settings.mjs View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Copy link
Copy Markdown
Contributor Author

I checked all three GitGuardian findings against the commits it flagged:

  • settings.test.mjs uses a synthetic password in an automated test.
  • compose.multi-user.yml contains a commented example that references an environment variable.
  • settings.mjs contains a validation message about minimum password length. The connector reads the actual password from an environment variable or a secret file at runtime.

All three are false positives. None exposes a real credential.

@vercel

vercel Bot commented Nov 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
markdown-viewer Ready Ready Preview Nov 14, 2026 4:57pm UTC

This branch was successfully deployed

1 active deployment
Preview — 191d0e83 Deployed Nov 14, 2026 by vercel[bot]
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.

1 participant