Edouard Vanbelle
e2f8e8513f
fix(navigation): correct recent section
2026-04-17 13:46:24 +02:00
Dionisio Pozo
09f8fd2f62
Merge pull request #300 from EdouardVanbelle/feat/show-shared
2026-04-17 00:03:04 +02:00
Edouard Vanbelle
ceff552736
feat(shared): show in classic view if an item is shared
2026-04-16 23:13:08 +02:00
Edouard Vanbelle
c8e67f77ea
fix(frontent): remove default section to avoid blink when hash in url is not 'file'
2026-04-16 23:13:08 +02:00
Dionisio Pozo
8c49cb347c
Merge pull request #299 from EdouardVanbelle/fixes
2026-04-16 06:00:26 +02:00
Edouard Vanbelle
9073274e69
fix(list-view/select-all-checkbox): avoid multiple listener on select all checkbox
2026-04-16 01:06:09 +02:00
Edouard Vanbelle
c8dbcd2409
fix(multi-select/action bar): keep large bar
2026-04-16 00:58:11 +02:00
Edouard Vanbelle
8e18e0c848
fix(section/favorite): ensure select-all-checkbox is wired
2026-04-16 00:57:01 +02:00
Dionisio Pozo
3276da366c
Merge pull request #298 from EdouardVanbelle/feat/buttons
2026-04-16 00:46:39 +02:00
Dionisio Pozo
2a1e771355
Merge pull request #294 from EdouardVanbelle/chore/add-script-to-populate-icons
2026-04-16 00:13:21 +02:00
Dionisio Pozo
0cb0983b84
Merge pull request #297 from EdouardVanbelle/refactor/section
2026-04-16 00:03:46 +02:00
Edouard Vanbelle
7bb4ed0940
refactor(frontend/sections): remove app.is{Xxx}View and use only app.currentSection
2026-04-16 00:01:50 +02:00
Edouard Vanbelle
33165c6d5a
feat(frontand/buttons): move multiselect into buttons = keep visible card/list selector
2026-04-15 23:49:20 +02:00
Edouard Vanbelle
30fffbdd33
refactor(music): use music icon rather svg
2026-04-15 08:49:17 +02:00
Edouard Vanbelle
4c327b3fe1
fix(icons): add missing referenced icons
...
- icons added via tools/check-icons.py
2026-04-15 08:49:17 +02:00
Edouard Vanbelle
372a2a91bc
chore(tools): add a script to populate static/js/core/icons.js
2026-04-15 08:49:17 +02:00
Diocrafts
b1827c9f3d
fix(docker): switch Azure crates to rustls, drop OpenSSL dependency
...
Azure SDK crates (azure_core, azure_storage, azure_storage_blobs) were
enabling reqwest/default-tls → native-tls → openssl-sys via their
default 'enable_reqwest' feature. This breaks the Alpine musl Docker
build which lacks libssl.a/libcrypto.a.
- Set default-features = false on all 3 Azure crates
- Enable 'enable_reqwest_rustls' + 'hmac_rust' (pure Rust, no OpenSSL)
- Pin reqwest to ^0.12 (azure_core 0.21 requires reqwest ^0.12)
- openssl-sys is now fully eliminated from the dependency tree
2026-04-15 08:04:36 +02:00
Dionisio Pozo
4d0ad666bd
Merge pull request #296 from EdouardVanbelle/fix/music
2026-04-15 06:01:56 +02:00
Dionisio Pozo
152a1aa51e
Merge pull request #295 from EdouardVanbelle/style/front-format
2026-04-15 06:01:21 +02:00
Edouard Vanbelle
0b27c3b400
fix(navigation): correct hash url and navigation to music
2026-04-15 00:39:37 +02:00
Edouard Vanbelle
6e3d87c27e
style(front): correct format
2026-04-15 00:15:53 +02:00
Diocrafts
761d159a92
feat(dedup): CDC sub-file deduplication with FastCDC + parallel chunk storage + dedup skip
...
- Replace whole-file SHA-256 dedup with FastCDC 2020 content-defined chunking
(min 64KB, avg 256KB, max 1MB) + BLAKE3 hashing
- Add chunk_manifests table (file_hash → chunk_hashes[] + chunk_sizes[])
- Add put_blob_from_bytes to BlobStorageBackend trait (all 7 backends)
- 3-phase store_chunks pipeline:
Phase 0: batch-check existing chunks (single PG query)
Phase 1: selective disk read (skip existing chunks entirely)
Phase 2: parallel upload with buffer_unordered(8)
- CDC-aware read_blob_stream and read_blob_range_stream with legacy fallback
- Transactional manifest + chunk ref-count cascade on remove_reference
- 12 CDC tests (determinism, reassembly, contiguity, sub-file dedup, etc.)
- Update deduplication.md to reflect new architecture
2026-04-14 23:17:39 +02:00
Diocrafts
cd3733b459
feat: pluggable storage backends (S3, Azure, local) with admin UI
...
Implement 4-phase external storage backends architecture:
Phase 1 - Foundation:
- BlobStorageBackend trait (application/ports/blob_storage_ports.rs)
- LocalBlobBackend: extracted all tokio::fs ops from DedupService
- S3BlobBackend: AWS SDK with custom endpoint support (MinIO, R2, B2)
- DedupService refactored to use Arc<dyn BlobStorageBackend>
Phase 2 - Admin Panel:
- StorageSettingsService with DB persistence + env override
- Storage tab in admin panel (backend selector, S3 form, provider presets)
- GET/PUT/POST endpoints for storage settings + connection test
- i18n keys (en/es) and BEM CSS
Phase 3 - Migration:
- MigrationBlobBackend decorator (dual-read: target-first + source fallback)
- Background migration job with parallel transfers + progress tracking
- Migration UI (progress bar, ETA, pause/resume/verify/complete)
- 6 admin API endpoints for migration lifecycle
Phase 4 - Enterprise Extras:
- CachedBlobBackend: LRU disk cache for remote backends
- EncryptedBlobBackend: AES-256-GCM at-rest encryption
- AzureBlobBackend: Azure Blob Storage support
- RetryBlobBackend: exponential backoff for transient errors
- Decorator composition in DI: retry → encryption → cache
All 223 tests passing, clippy clean, fmt verified.
2026-04-14 21:33:38 +02:00
Dionisio Pozo
6fc632af7e
Merge pull request #291 from EdouardVanbelle/refactor/js-import-export
2026-04-14 19:39:10 +02:00
Edouard Vanbelle
62a7713af5
refactor(server): apply fmt + lint recos
2026-04-14 19:05:01 +02:00
Edouard Vanbelle
af23c56486
refactor(build.rs): can now bundle .js modules (flatten import/export)
2026-04-14 19:05:01 +02:00
Edouard Vanbelle
c139ba3e3b
refactor(build.rs): support of module + minimify each .js files (temp solution)
2026-04-14 19:05:01 +02:00
Edouard Vanbelle
6f4abfcec4
refactor(js): avoid use of window.XXX and move to import/export
...
- change worker: do not cache html pages (not necessary)
- remove use of window.XXX and maximize import/export,
this will provide more clarety,
show circular dependencies + you will benefit IDE help
2026-04-14 19:05:01 +02:00
Edouard Vanbelle
a2e5cfce24
chore(biome): JS check: error on undeclared variables/function
2026-04-14 19:03:54 +02:00
Dionisio Pozo
6a6c29033b
Merge pull request #293 from EdouardVanbelle/refactor/css-color
2026-04-14 18:15:53 +02:00
Edouard Vanbelle
2061f8808b
style(front): apply biome recos
2026-04-14 13:33:55 +02:00
Edouard Vanbelle
d01b2c6ec4
refactor(css): use variable rather direct color
2026-04-14 13:33:51 +02:00
Edouard Vanbelle
08884f3b6d
refactor(css): track use of undeclared CSS variables
2026-04-14 12:43:51 +02:00
Dionisio Pozo
5677089f43
Merge pull request #292 from EdouardVanbelle/chore/css-rules
2026-04-14 01:20:50 +02:00
Edouard Vanbelle
11973cae2a
chore(css): ensure css are not using direct colors
2026-04-14 01:10:34 +02:00
Dionisio Pozo
37ffa85ab7
Merge pull request #290 from subhranil2605/fix/windows-crlf-entrypoint
2026-04-13 19:32:41 +02:00
Subhranil Sarkar
96e9087f41
fix: resolve CRLF line ending issue for Windows users
...
Windows Git converts LF to CRLF by default, causing entrypoint.sh
to fail inside Alpine Linux containers with 'no such file or directory'.
Changes:
- Dockerfile: added sed to strip carriage returns from entrypoint.sh
- .gitattributes: enforce LF line endings for all shell scripts
Fixes #289
2026-04-13 21:49:08 +05:30
Dionisio Pozo
65c8fc7f5e
Merge pull request #288 from EdouardVanbelle/fix/frontend-search-view
2026-04-13 14:42:24 +02:00
Dionisio Pozo
f74cf4d9b5
Merge pull request #287 from EdouardVanbelle/fix/frontend-shared-view
2026-04-13 14:41:48 +02:00
Dionisio Pozo
024cdc610a
Merge pull request #286 from EdouardVanbelle/refactor/dark-theme
2026-04-13 14:29:14 +02:00
Edouard Vanbelle
2733542bce
refactor(css): dark theme: remove and merge specific cases
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
e6a815a03c
refactor(css): dark theme: merge photos
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
f7c7136149
refactor(css): dark theme: merge notfication + dropzone
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
260eb4d4c8
refactor(css): merge context menu for dark theme
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
4dff552299
refactor(css): use 1 global declaration for scrollbar
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
ce207ebad1
refactor(css): merge profile + admin dark style
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
413832d1a2
refactor(css): remove use generic colors for language-selector + correct item selection color
2026-04-13 13:26:38 +02:00
Edouard Vanbelle
26ce794090
fix(SharedSection): hide files list header, shared view has it's own view
2026-04-13 13:25:48 +02:00
Edouard Vanbelle
28963965a1
fix(searchResult): move search result into sticky header
2026-04-13 13:24:58 +02:00
Dionisio Pozo
9e632e147a
Merge pull request #284 from su77ungr/main
2026-04-13 04:17:14 +02:00