Commit graph

3 commits

Author SHA1 Message Date
Johannes Millan
8201f745ba feat(sync): split up webdav model stuff into different files 2025-07-18 14:09:22 +02:00
Johannes Millan
b3158b008d refactor(e2e): use bundled hacdias/webdav instead of mock server
- Replace custom mock server with real hacdias/webdav:latest
- Use existing webdav.yaml configuration and alice/bob users
- Remove unnecessary mock server code following KISS principle
- WebDAV server now matches production setup exactly
- Persistent data storage in ./e2e-webdav-data

This provides more realistic e2e testing with the actual WebDAV
server used in production deployments.
2025-07-18 12:11:05 +02:00
Johannes Millan
8238606f46 feat(webdav): add comprehensive Last-Modified fallback support
- Implements robust WebDAV sync for servers without ETag support
- Adds _extractValidators method for ETag and Last-Modified headers
- Enhances conditional header creation with Last-Modified support
- Adds LOCK/UNLOCK mechanism for safe resource creation
- Implements server capability detection with caching
- Adds NoRevAPIError retry mechanism for missing validators
- Includes comprehensive test coverage for all workflows
- Maintains backward compatibility with existing ETag-based code

This enables WebDAV sync with basic servers that only support
Last-Modified headers while preserving optimal performance
for servers with full ETag support.
2025-07-18 12:11:05 +02:00