eSlider
a14466ce7a
feat(webdav): create by extension and update by id
...
Release / GoReleaser (push) Skipped
Tests / Test (Go stable) (push) Successful in 1m19s
Tests / Secret scan (gitleaks) (push) Successful in 5s
Tests / Test (Go 1.25) (push) Successful in 1m21s
Add CreateDavFile/CreateDavTextFile/CreateDavHtmlFile to create an empty file
(the upload endpoint rejects empty bodies) and UpdateDavFile to replace an
existing file in place via PUT /files/{id}/update.
The /upload endpoint creates a second file when the title already exists, so a
WebDAV overwrite must go through /update to keep a single file. uploadReader now
takes the HTTP method.
2026-10-06 13:53:18 +00:00
eSlider
c9e16c7169
fix(retry): глобальный rate-limit + Retry-After + cooldown ( #70 )
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 5s
Tests / Test (Go 1.25) (pull_request) Successful in 25s
Tests / Test (Go stable) (pull_request) Successful in 27s
2026-09-17 12:39:25 +00:00
eSlider
5588c2d3f7
fix(files): ретраить transient-ответы при удалении файлов ( #63 )
...
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 20s
Tests / Test (Go 1.25) (pull_request) Successful in 20s
DeleteDavItems (через ApplyDedupGroups/DeleteFilesByDedupKey) ходил в
deleteJSON напрямую и падал на 429/502/503/504. Теперь каждый delete идёт
через DoRetry, как остальные bulk-пути.
2026-09-16 21:47:37 +00:00
eSlider
ba29738482
refactor(files): single file client facade + CLI/TUI migration ( #38 )
...
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 19s
Tests / Test (Go 1.25) (pull_request) Successful in 22s
- FileClient composes FileStore/Searcher backends; Read()/Write()/Search()
select REST/DAV/PG/ES with transient read fallback. Client.Files() returns
it and *FileClient implements FileStore, so existing callers keep working.
- Entry gains backend-native Updated + folder FilesCount/FoldersCount so
dav ls output round-trips.
- cmd/oo dav/projects files and cmd/office/fetch download/preview/delete go
through FileStore; oo search goes through the facade.
- Mark transport methods that FileStore now abstracts as deprecated.
2026-09-16 17:20:41 +00:00
eSlider
4310aa7002
Merge pull request 'feat(files): MinIO fallback for stale S3 downloads ( #152 )' ( #21 ) from feat/oo-minio-fallback#152 into main
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Successful in 12s
Tests / Test (Go 1.25) (push) Successful in 23s
Tests / Test (Go stable) (push) Successful in 2m19s
Reviewed-on: #21
2026-09-14 22:31:32 +01:00
eSlider
af8e3b053a
feat(oo): kontoblatt bulk tools, oo dav, update, retry ( #22 )
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go 1.25) (pull_request) Successful in 1m22s
Tests / Test (Go stable) (pull_request) Successful in 1m21s
2026-09-14 21:03:39 +00:00
eSlider
8ac777c031
feat(files): MinIO fallback for stale S3 downloads ( #152 )
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 1m15s
Tests / Test (Go 1.25) (pull_request) Successful in 1m22s
2026-09-14 15:41:39 +00:00
eSlider
c576bfe2ee
feat(files): Documents Dav ops + UpdateFile, fileops errors ( #152 )
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 1m17s
Tests / Test (Go 1.25) (pull_request) Successful in 1m20s
2026-09-14 12:37:57 +00:00
eSlider and Cursor
d9a7adcd94
fix(files): DeleteDavItems with Immediately true
...
Soft-delete (Immediately false) failed on some project files with
"You don't have enough permission to create" when moving to Trash.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 09:56:10 +01:00
eSlider
ebbd5d5373
feat(files): add WebDAV-oriented Files operations
...
Add value-oriented Files module operations for filesystem backends:
ListDavFolder, ListDavSections (@root), CreateDavFolder, RenameDavFolder/
RenameDavFile, MoveDavItems, CopyDavItems, DeleteDavItems, UploadDavFile
(streaming), DownloadDavFile. Dependency-free (net/http only).
2026-08-20 10:37:07 +01:00