Commit graph

4 commits

Author SHA1 Message Date
Johannes Millan
ed2d99a852 build: simplify docker setup and fix e2e 2025-07-18 20:00:10 +02:00
Johannes Millan
3958b39f13 fix(webdav): prevent infinite loop in WebDAV 409 retry logic
- Pass _retryAttempted flag correctly in _retryUploadWithDirectoryCreation
- Add retry flag to error object to track retry attempts across error boundaries
- Update catch block to check both parameter and error flags
- Fix return type of retry method to handle undefined case
- Update test expectations to match new retry behavior
- Change incorrect error log to debug log in _getUrl method

This prevents infinite recursion when WebDAV server returns 409 Conflict
errors for missing parent directories.
2025-07-18 12:11:05 +02:00
Johannes Millan
9171142021 build(webdav): make webdav.yaml work with cors etc 2025-07-18 12:11:05 +02:00
Kingsley Yung
14b8d0fd64 feat: webdav integration
This patch provides an optional way to integrate an external WebDAV server so that the super-productivity container can serve as a WebDAV server with base url http://localhost/webdav/ . It includes the following changes:

**Replace the default nginx config file**
Besides serving the web app, the new nginx config file also forwards all the requests with paths starting with "/webdav/" to a backend WebDAV server specified by the environment variable WEBDAV_BACKEND. Note that during forwarding, the path prefix "/webdav" will be removed.

**Use hacdias/webdav as default WebDAV backend server**
The docker-compose.yaml provides an example setup to use the docker image [hacdias/webdav](https://github.com/hacdias/webdav) as the WebDAV backend server. An example for the configuration of the WebDAV server is also provided in webdav.yaml.
2024-10-09 18:15:10 +02:00