This website requires JavaScript.
4f7e79f605
style: collapse nested if-let in JWT secret config (clippy)
Jared Wolff
2026-03-05 16:32:42 -05:00
a404342559
fix(pagination): prevent usize underflow when total_pages is zero
Jared Wolff
2026-03-05 16:20:52 -05:00
c08926b817
fix(csp): remove all inline styles, scripts, and event handlers for strict CSP compliance
Jared Wolff
2026-03-05 16:18:30 -05:00
f2d35ca792
feat: auto-persist JWT secret, remove setup token requirement
Dionisio
2026-03-05 22:12:21 +01:00
c77ce202c6
Merge pull request #160 from zjean/feature/nextcloud-compatible-api
Dionisio Pozo
2026-03-05 21:51:20 +01:00
190527edfb
style: apply rustfmt formatting to fix CI
zjean
2026-03-05 21:28:51 +01:00
aa666f5bbb
fix: resolve clippy warnings for --all-features CI build
zjean
2026-03-05 21:23:00 +01:00
d0118bf07d
quick fix
Dionisio
2026-03-05 21:21:45 +01:00
45c60faeb5
fix: resolve all clippy warnings for CI (async_fn_in_trait, collapsible_if, type_complexity, dead_code)
zjean
2026-03-04 21:40:38 +01:00
a7de63d80f
fix: resolve clippy warnings (unused mut, from_str, result_large_err)
zjean
2026-03-04 20:58:23 +01:00
e6e9c5149a
style: apply rustfmt formatting
zjean
2026-03-04 17:11:09 +01:00
fdbb144cd8
fix(nextcloud): detect MIME type via magic bytes instead of trusting client header
zjean
2026-03-04 15:51:47 +01:00
40b269c4eb
fix: schema init, duplicate routes, and image preview bugs
zjean
2026-03-04 15:14:07 +01:00
54eedf5483
feat(nextcloud): add Nextcloud-compatible API layer
zjean
2026-03-04 14:02:15 +01:00
ecd1a8148a
Merge pull request #164 from jaredwolff/thumbnail-fix
Dionisio Pozo
2026-03-05 20:35:41 +01:00
aa96eecc79
fix: restore locales_path after removing embed-assets commit
Jared Wolff
2026-03-05 12:53:15 -05:00
f2bd220307
fix(admin): support HttpOnly cookie auth in admin_guard
Jared Wolff
2026-03-04 21:55:06 -05:00
2a75e83752
fix(thumbnails): display thumbnails in file grid/list and fix WOPI intercepting all file opens
Jared Wolff
2026-03-04 21:44:02 -05:00
6db4e07538
fix(auth): apply auth middleware to /me, /change-password, /logout and add credentials to admin.js
Jared Wolff
2026-03-04 21:35:18 -05:00
4293a30d50
fix(setup): use /api/setup endpoint for admin creation
Jared Wolff
2026-03-04 20:27:43 -05:00
34e7b9dfa8
fix(profile): add credentials to fetch calls so auth cookies are sent
Jared Wolff
2026-03-04 18:53:16 -05:00
a5e33ac72b
fix(auth): await logout fetch to prevent token refresh race condition
Jared Wolff
2026-03-04 18:51:39 -05:00
cf6d87d805
fix(thumbnails): resolve blob path instead of logical path for thumbnail generation
Jared Wolff
2026-03-04 18:03:17 -05:00
56d73d1fc6
perf: enable HTTP/2, remove redundant hyper dep, use async RwLock
Dionisio
2026-03-05 18:27:13 +01:00
4d81bcbd7b
fix(security): V-01,V-02,V-04,V-05,V-06 - multiple vulnerability fixes
Dionisio
2026-03-05 16:57:44 +01:00
4197cc3b7b
fix(security): apply 4 vulnerability fixes from security audit
Dionisio
2026-03-05 16:09:37 +01:00
33cfb0faef
fix: security audit — patch vulnerabilities V-02 through V-16
Dionisio
2026-03-05 14:52:11 +01:00
b503e08384
security: fix vulnerabilities 1-7 from security audit
Dionisio
2026-03-05 13:15:34 +01:00
fdbb2bf60a
fix(security): patch critical IDOR & auth vulnerabilities
Dionisio
2026-03-05 10:30:39 +01:00
ee86c3a128
fix: resolve all clippy warnings and convert integration_tests to custom cfg
Diocrafts
2026-03-04 23:55:08 +01:00
b81b7f7a0e
fix: eliminate all 420 compiler warnings
Diocrafts
2026-03-04 23:29:20 +01:00
4a60fdc984
fix(security): IDOR protection for file operations
Dionisio
2026-03-04 17:18:39 +01:00
98fb3e6408
fix(security): VULN-01 admin escalation + VULN-02 path traversal hardening
Dionisio
2026-03-04 14:14:40 +01:00
3e2b6f11c1
Merge pull request #159 from DioCrafts/claude/find-dependency-usage-8ZGMj
Dionisio Pozo
2026-03-03 17:18:45 +01:00
d3bdd65e6a
Update Cargo.lock for md5 -> md-5 migration
Claude
2026-03-03 16:17:22 +00:00
3b0c09cd56
Replace standalone md5 crate with RustCrypto md-5
Claude
2026-03-03 16:16:44 +00:00
93b5d85d30
Merge pull request #158 from DioCrafts/claude/optimize-performance-XMWwR
Dionisio Pozo
2026-03-03 17:04:17 +01:00
78c983136f
perf: use Arc<str> for repetitive DTO fields to eliminate clone allocations
Claude
2026-03-03 15:55:15 +00:00
fcee676dce
Merge pull request #157 from DioCrafts/claude/optimize-performance-XMWwR
Dionisio Pozo
2026-03-03 16:44:37 +01:00
4bee05c690
merge: resolve conflict in auth_factory.rs with origin/main
Claude
2026-03-03 15:42:28 +00:00
1b49135ca9
perf: replace dyn trait objects with concrete types to eliminate vtable overhead
Claude
2026-03-03 15:36:42 +00:00
6f30ac761f
refactor: replace WebDAV LOCK stub with moka-backed lock store (auto-expire TTL)
Dionisio
2026-03-03 11:49:52 +01:00
0cd544ab96
perf: enable BLAKE3 multithreaded hashing (update_rayon) for files >10MB
Dionisio
2026-03-03 11:18:40 +01:00
77fc9bba47
refactor: remove anyhow dependency, replace with thiserror in db.rs and auth_factory.rs
Dionisio
2026-03-03 11:11:39 +01:00
efcf88c4d7
style: cargo fmt --all
Dionisio
2026-03-03 01:49:18 +01:00
1df52fd702
security: add IP rate limiting + account lockout on auth endpoints
Dionisio
2026-03-03 01:44:39 +01:00
d2c08d31ba
feat(security): HttpOnly cookies + CSP headers + CSRF double-submit protection
Dionisio
2026-03-03 01:10:50 +01:00
7b2a8577a9
perf(caldav): zero-alloc iCal generation with write!()
Dionisio
2026-03-02 23:58:15 +01:00
2c3dde2d75
chore: remove redundant migrations directory and migrate binary
Dionisio
2026-03-02 23:52:37 +01:00
b9bf7ba288
perf(webdav): single UNION ALL query for path resolution
Dionisio
2026-03-02 23:40:48 +01:00
b199968a6e
perf: remove dead redirect middleware (ran on every request doing nothing)
Dionisio
2026-03-02 23:25:01 +01:00
05acd6fb7b
perf: add moka cache to Basic Auth verification in AppPasswordService
Dionisio
2026-03-02 23:19:05 +01:00
c507e9d916
Merge pull request #156 from DioCrafts/claude/fix-caldav-propfind-8uQxf
Dionisio Pozo
2026-03-02 22:01:55 +01:00
b9de342223
fix: resolve CalDAV PROPFIND returning empty property values (#153 )
Claude
2026-03-02 20:40:41 +00:00
991a98b1fc
Optimize Dockerfile for dependency caching
Dionisio Pozo
2026-03-02 16:04:41 +01:00
234819db21
Merge pull request #155 from DioCrafts/feature/oidc-webdav
Dionisio Pozo
2026-03-02 04:47:11 +01:00
d023386ebd
perf: add cargo-chef multi-stage Docker build and JWT validation cache
Dionisio
2026-03-02 04:46:13 +01:00
87ee19d873
Merge pull request #154 from DioCrafts/claude/optimize-performance-FbFK2
Dionisio Pozo
2026-03-02 02:30:47 +01:00
282c3b437c
perf: add GIN trigram indexes for ILIKE substring search
Claude
2026-03-02 01:28:59 +00:00
dd27872a8c
perf: replace SHA-256 with BLAKE3 in WebDAV/WOPI, fix JOIN index usage, add LIMIT to favorites, remove dead lru crate, trim tokio features
Dionisio
2026-03-02 02:13:08 +01:00
b06206207f
perf: optimize hot paths — batch concurrency, pagination, sorting, transcoding, folder ops
Dionisio
2026-03-02 01:30:34 +01:00
641b6853ad
perf: add socket2 TCP_NODELAY + socket tuning for low-latency responses
Dionisio
2026-03-02 00:12:33 +01:00
e2fb29ea60
perf: replace SHA-256 with BLAKE3 + add mimalloc global allocator
Dionisio
2026-03-01 21:47:39 +01:00
81987e9321
fix: URL-decode DAV paths with spaces + feat: app passwords for Basic Auth
Dionisio
2026-03-01 20:34:12 +01:00
48d853360e
feat: implement OAuth 2.0 Device Authorization Grant (RFC 8628) for WebDAV/CalDAV/CardDAV
Dionisio
2026-03-01 11:54:43 +01:00
2421724b80
style: cargo fmt --all
Dionisio
2026-02-26 01:02:25 +01:00
5f37d6ea1e
chore: bump version to v0.5.0
Dionisio
2026-02-26 00:59:56 +01:00
b05805ee1c
fix: resolve clippy warnings (redundant closure, collapsible if)
Dionisio
2026-02-26 00:57:49 +01:00
6df68d3716
style: cargo fmt --all
Dionisio
2026-02-26 00:47:32 +01:00
7e278a0b32
perf: bulk-delete expired trash in 2 SQL queries instead of N+1 loop
Dionisio
2026-02-26 00:42:41 +01:00
fb4eaf2cf9
perf: eliminate double disk read in thumbnail generation (read-once buffer)
Dionisio
2026-02-26 00:32:02 +01:00
71727faab4
perf: keep blob_hash in cache across reads (remove one-shot invalidate)
Dionisio
2026-02-26 00:13:16 +01:00
c8d3326cdc
perf: replace recursive CTE with ltree <@ in delete_folder
Dionisio
2026-02-26 00:08:38 +01:00
9f8a6f5177
perf: stream_files_in_subtree — replace Vec<File> with async Stream
Dionisio
2026-02-26 00:07:10 +01:00
1ad7a32a61
perf: batch garbage_collect in 500-row mini-transactions
Dionisio
2026-02-25 23:54:09 +01:00
5b55056921
perf: Arc-wrap SearchResultsDto for zero-copy cache reads
Dionisio
2026-02-25 23:47:51 +01:00
5a1959bf23
perf: eliminate Vec<u8> buffer paths — all uploads now stream to disk
Dionisio
2026-02-25 23:41:16 +01:00
f9dde6ffff
perf: replace RwLock<HashMap> with DashMap in ChunkedUploadService + decouple disk I/O from lock
Dionisio
2026-02-25 23:31:51 +01:00
5f883aa0f8
perf: rewrite batch download_zip to stream via temp file instead of RAM
Dionisio
2026-02-25 23:12:19 +01:00
23474b9681
Merge pull request #150 from gbw/cargo-fmt-formatting
Dionisio Pozo
2026-02-25 19:01:32 +01:00
bb304d3f5b
docs: remove migration command from README
George Wu
2026-02-25 08:59:01 -08:00
d2e6dbdee6
style: run cargo fmt
George Wu
2026-02-25 08:58:51 -08:00
7bfe411661
docs: rewrite README with full feature list, comparison table & docs index
Dionisio
2026-02-25 11:29:30 +01:00
6479da35f2
fix: update trash test mocks to simulate PG CASCADE on clear_trash
Dionisio
2026-02-25 10:49:20 +01:00
97cf6402e2
fix: resolve all clippy warnings and enforce cargo fmt
Dionisio
2026-02-25 10:28:34 +01:00
093400ce72
perf: optimize empty_trash — remove redundant N+1 loop, rely on bulk clear_trash()
Dionisio
2026-02-25 10:02:25 +01:00
542a3f5d58
Merge pull request #148 from gbw/feature/move-dialog-navigation
Dionisio Pozo
2026-02-25 08:29:08 +01:00
eedc3ad7ba
Merge pull request #147 from gbw/ignore-rustsec-2023-0071
Dionisio Pozo
2026-02-25 08:14:11 +01:00
3ee83896d6
Add Escape key handler to close move dialog
George Wu
2026-02-24 19:38:05 -08:00
5824b6c4b4
Add navigation and copy functionality to move dialog
George Wu
2026-02-24 18:08:33 -08:00
ca4037da8f
feat: improve move dialog with folder navigation
George Wu
2026-02-24 17:56:25 -08:00
7e2e110cec
Ignore RUSTSEC-2023-0071 in security audit
George Wu
2026-02-24 17:04:02 -08:00
7786871d6c
feat: P1 — audio/video modal player + MIME detection via magic bytes (infer)
Dionisio
2026-02-24 23:15:10 +01:00
9f692f03c3
Implement dual DB pools (primary + maintenance) and wire services
Dionisio
2026-02-24 19:28:00 +01:00
3a7aedf2d6
Merge pull request #146 from gbw/feature/collapsible-mobile-sidebar
Dionisio Pozo
2026-02-24 17:16:20 +01:00
28966ce28e
optimize folder search: SQL-level filtering, user isolation, no in-memory filter; batch cascade trigger
Dionisio
2026-02-24 17:15:36 +01:00
6aa38d0d24
perf: thumbnail semaphore, WOPI streaming, store_bytes guard, spawn_blocking SHA-256
Dionisio
2026-02-24 16:11:52 +01:00
71c2cb5edb
perf: Arc<AppState>, streaming PROPFIND, spawn_blocking SHA-256
Dionisio
2026-02-24 15:11:56 +01:00
cace61127f
perf(cache): use Arc<str> for etag/content_type in ContentCachePort
Dionisio
2026-02-24 13:22:04 +01:00
962468a1ce
perf(dedup): remove blocking std::fs calls from async context
Dionisio
2026-02-24 13:06:40 +01:00