Updating status for beta release #2

Merged
troed merged 9 commits from devel into main 2026-06-27 19:10:10 +02:00
Owner

Fixed:

  • Root dir metadata caching
  • Data loss scenarios discovered by newly created test cases
  • Retry uploads after server crashes
  • Rate limiting the test suite to allow for easier regression testing
Fixed: * Root dir metadata caching * Data loss scenarios discovered by newly created test cases * Retry uploads after server crashes * Rate limiting the test suite to allow for easier regression testing
- Fix root directory metadata caching bug: move is_directory=true correction
  before cache insert so readdir('/') works correctly
- Fix download path bug: use FUSE path instead of numeric file_id for
  download resolution (fixes 'File with name /756337 could not be located')
- Remove unused Config::from_cli() method (185 lines) and dead
  resolve_download_path method
- Update README test count from 290 to 307
- Makefile: add RUST_TEST_THREADS=1 and cache clearing for integration tests
Tests (7 total, 3 files):
- tests/integration/test_data_loss_regression.rs (5 tests: gaps 1,2,5,6,7)
- tests/reliability/test_upload_edge_cases.rs (1 test: gap 4)
- tests/reliability/test_endurance.rs (1 test: gap 8)

Production fixes:
- assemble_chunks(): add missing Overwrite: T header on MOVE
- ChunkedUploadSession::assemble(): guard against partial uploads
- fsync(): detect ETag conflicts before upload, return EINVAL on mismatch
Gap 2: release() now logs flush errors instead of silently discarding them.
Gap 5: Added retry_dirty_on_mount() to upload any dirty blocks persisted in
SQLite before the FUSE session starts, ensuring data survives daemon crashes.

All 7 data loss regression tests pass.
- Implement rate_limited_api() with automatic 429 retry and exponential backoff
- Add wrapper methods on ReliabilityTestHarness for all API calls
- Update all test files to use rate-limited wrappers
- Update README and docs to reflect beta status and fixed data loss bugs
- Update test_data_loss_regression.rs header to reflect tests verify fixes

All 99 reliability tests now pass: 88 with RUST_TEST_THREADS=4, 11 crash tests with RUST_TEST_THREADS=1
troed merged commit 8e5e1a98e6 into main 2026-06-27 19:10:10 +02:00
troed referenced this pull request from a commit 2026-06-27 19:10:10 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
troed/nextcloud-fuse!2
No description provided.