Commit Graph

568 Commits

Author SHA1 Message Date
Dionisio e90fb2ea3c fix(release): v0.5.4 — fix Docker build and publish pipeline
- Dockerfile: add dummy src/bin/generate-openapi.rs in cacher stage to satisfy
  Cargo.toml [[bin]] target resolution during dependency caching
- docker-publish.yml: add explicit ref to checkout steps so workflow_dispatch
  builds the correct tag instead of HEAD of main
- docker-publish.yml: increase timeout to 180min for multi-arch QEMU builds
- Bump version to 0.5.4

Closes #250
2026-04-04 21:25:18 +02:00
Dionisio Pozo f0b710e5af Merge pull request #260 from EdouardVanbelle/refactor/merge-grid-and-list-builder 2026-04-04 17:25:54 +02:00
Edouard Vanbelle a466a6473d refactor(files): merge grid and list builder, use CSS only to switch between views 2026-04-04 17:21:44 +02:00
Dionisio Pozo 99eda330e8 Merge pull request #261 from EdouardVanbelle/feat/modifier-key-to-toggle-selection 2026-04-04 16:53:30 +02:00
Edouard Vanbelle 46d62adc55 feat(item-selection): add ctrl/meta/alt key to toggle item selection 2026-04-04 16:27:27 +02:00
Dionisio Pozo 3157d6ef64 Merge pull request #239 from EdouardVanbelle/feat/dragged-summary 2026-04-03 22:58:32 +02:00
Edouard Vanbelle 534d4dc190 feat: improve drag & drop
* permits multiple drag & drop
 * synchronize grid & list view on selection
 * permits copy during ddrag & drop (use sift/alt key according your OS)
 * use batch move / copy on drag & drop
2026-04-03 15:06:09 +02:00
Edouard Vanbelle 5b821a7eab refactor(empty-list): simplify empty list, will now work on list view 2026-04-03 14:16:36 +02:00
Edouard Vanbelle db30639823 refactor: rename View into Section to keep coherence 2026-04-03 14:16:36 +02:00
Edouard Vanbelle 8d2a45c0ff feat(navigation): no change/blink section if already selected 2026-04-03 14:16:36 +02:00
Edouard Vanbelle 744d2c88fb refactor: simplify multiSelect module (remove duplicates, etc)
- remove duplicate code
- use one uniq selection bar (for both list & grid view)
2026-04-03 13:20:19 +02:00
Dionisio Pozo e8b9604729 Merge pull request #258 from justDance-everybody/clawoss/fix/pdf-wopi-view-fallback 2026-04-03 10:23:37 +02:00
Dionisio Pozo 86d7ca37d7 Merge pull request #257 from justDance-everybody/clawoss/fix/pdf-wopi-fallback-243 2026-04-03 08:42:57 +02:00
Dionisio Pozo 5ed82152a0 Merge pull request #256 from justDance-everybody/clawoss/fix/server-port-env-254 2026-04-03 08:42:18 +02:00
titagass ea714618c5 fix(viewer): fallback to inline viewer when WOPI editor fails for PDFs 2026-04-03 05:48:20 +00:00
titagass 534f278d1c fix(config): use OXICLOUD_SERVER_PORT env var instead of hardcoded 8086 2026-04-03 05:38:44 +00:00
Dionisio Pozo 048ceb660a Merge pull request #255 from EdouardVanbelle/feat/list-more 2026-04-02 23:00:49 +02:00
Edouard Vanbelle 7633f00399 feat(fileList): add action column to display context menu 2026-04-02 22:56:26 +02:00
titagass c2cb7556a5 fix(wopi): fallback to view mode for pdf files 2026-04-02 18:00:21 +00:00
Dionisio Pozo 2fb20dde14 Merge pull request #232 from EdouardVanbelle/feature/browser-history 2026-04-02 19:01:07 +02:00
Edouard Vanbelle 266fc26e16 feat(fileview) show loader only if requests take more than 100ms 2026-04-02 18:37:16 +02:00
Edouard Vanbelle fdf1184601 feat(navigation) add browser history: permits url bookmarking on current folder 2026-04-02 18:36:28 +02:00
Dionisio Pozo 128dd8a76a Merge pull request #248 from EdouardVanbelle/chore/file-mode
chore: remove all executable attributes on non bash files
2026-04-01 23:42:12 +02:00
Dionisio Pozo e7e2285a95 Merge pull request #247 from EdouardVanbelle/fix/notification
fix(notification): correct bell animation + automatically close notif…
2026-04-01 23:41:04 +02:00
Edouard Vanbelle badf35f08f chore: remove all executable attributes on non bash files 2026-04-01 23:14:42 +02:00
Edouard Vanbelle d6c3ca3198 fix(notification): correct bell animation + automatically close notification zone on clear 2026-04-01 23:01:39 +02:00
Dionisio Pozo 7c5f34c8e5 Merge pull request #245 from iltumio/feat/utoipa-openapi 2026-04-01 18:15:12 +02:00
iltumio 9c009aecd1 chore: remove generated openapi.json from tracking, add test and docs
- Remove resources/gen/openapi.json from git (served dynamically at /api/openapi.json)
- Add resources/gen/ to .gitignore
- Add OpenAPI spec validation test (paths, schemas, serialization)
- Restore removed doc-comment on get_version
- Fix cargo fmt violation in mod.rs import
- Update CLAUDE.md: test count (~208), generate-openapi command, justfile reference
2026-04-01 12:25:10 +02:00
iltumio bf7e030cd6 feat: add OpenAPI spec generation with utoipa and justfile
- Add utoipa v5 dependency with ToSchema derives on all REST API DTOs
- Annotate free-function handlers with #[utoipa::path] (trash, share, favorites, recent)
- Create ApiDoc struct with OpenApi derive registering 37 schemas across 7 tags
- Add generate-openapi binary outputting resources/gen/openapi.json
- Serve OpenAPI spec at GET /api/openapi.json (public, no auth)
- Add justfile with common dev commands (build, test, lint, check, openapi, db)
2026-03-29 18:49:10 +02:00
Diocrafts dd5328175e chore: bump version to 0.5.3 and add release notes 2026-03-28 20:42:31 +01:00
Dionisio Pozo fd77bac8c0 Merge pull request #242 from DioCrafts/claude/resolve-thumbnail-conflict-CEQgq
Add timeout protection for thumbnail generation operations
2026-03-28 19:43:13 +01:00
Claude dacb8f388e fix(thumbnail): add timeout protection for large image processing
Resolves conflict between main and PR #229 by applying timeout support
on top of main's drop(data) memory optimization. Changes:
- Add thumbnail_generation_ms to TimeoutConfig (default 30s)
- Add generation_timeout field to ThumbnailService
- Wrap spawn_blocking in tokio::time::timeout to prevent hanging
- Update DI to pass timeout from config
- Update tests to provide timeout parameter

https://claude.ai/code/session_015FD62aAoMYx1XBZbzPvUu8
2026-03-28 18:40:34 +00:00
Dionisio Pozo 6612c19252 Merge pull request #240 from EdouardVanbelle/style/format+clippy 2026-03-28 19:05:16 +01:00
Edouard Vanbelle d78b279ec9 style: apply rust format + fix clippy warning 2026-03-26 10:05:44 +01:00
Dionisio Pozo 2357186f91 Merge pull request #238 from EdouardVanbelle/feat/drag-n-drop-in-breadcrumb
feat: drag 'n drop into the breadcrumb
2026-03-25 18:18:57 +01:00
Dionisio Pozo 69555d1cd2 Merge pull request #236 from EdouardVanbelle/chore/no-cache-in-dev
chore: static: if PROFILE=dev assets are directly /static without any…
2026-03-25 18:18:03 +01:00
Dionisio Pozo b3cb4b8daf Merge pull request #235 from EdouardVanbelle/fix/icon-home
fix: add missing home icon in breadcrumb
2026-03-25 18:16:10 +01:00
Edouard Vanbelle db4535ed6a feat: capability to move a card into a breadcrumb's folder 2026-03-25 17:55:33 +01:00
Edouard Vanbelle 276b9ff04c refactor: remove duplicate code to handle home folder in bread crumb 2026-03-25 17:49:00 +01:00
Edouard Vanbelle 8194b01299 chore: static: if PROFILE=dev assets are directly /static without any cache 2026-03-25 16:33:04 +01:00
Edouard Vanbelle 2a0a2e9c0c icons: add missing home icon (source: https://fontawesome.com/icons/house?f=classic&s=solid) 2026-03-25 16:28:06 +01:00
Dionisio Pozo 0282804323 Merge pull request #234 from BillionClaw/clawoss/fix/wopi-public-base-url 2026-03-24 00:09:39 +01:00
BillionClaw 7c76b1f04d fix(wopi): support OXICLOUD_WOPI_PUBLIC_BASE_URL env var for Docker deployments
The WOPI integration was not loading documents because the code only read
OXICLOUD_WOPI_BASE_URL, but the documentation and docker-compose examples
used OXICLOUD_WOPI_PUBLIC_BASE_URL. When only WOPI_PUBLIC_BASE_URL was set,
the wopi_base_url defaulted to config.base_url() which resolved to the
internal Docker hostname instead of the public URL.

Fixes #230.
2026-03-24 06:43:43 +08:00
Dionisio Pozo 628707e884 Merge pull request #228 from BillionClaw/clawoss/fix/thumbnail-memory-optimization
fix(thumbnails): drop encoded image data after decoding to reduce memory
2026-03-18 09:39:20 +01:00
Dionisio Pozo 2c51859040 Merge pull request #227 from BillionClaw/clawoss/fix/download-progress-2gb
fix(inline-viewer): add download progress bar for files >2GB
2026-03-18 09:38:36 +01:00
Dionisio Pozo 798fc1624a Merge pull request #226 from BillionClaw/clawoss/fix/admin-quota-disk-space
fix: cap admin initial quota to available disk space
2026-03-18 09:38:08 +01:00
BillionClaw 9794bba975 fix(thumbnails): drop encoded image data after decoding to reduce memory usage
Explicitly drop the encoded image buffer after decoding and extracting
EXIF orientation data. This reduces peak memory consumption during
thumbnail generation by the size of the original file.

The encoded data is no longer needed once the image is decoded into
a DynamicImage, but it was being held in memory until the end of the
spawn_blocking scope.

Fixes excessive memory consumption in thumbnail generation.
2026-03-18 11:51:39 +08:00
BillionClaw 5eb7b31740 fix(inline-viewer): add download progress bar for files >2GB
Add download progress tracking to createBlobUrlViewer to fix incorrect
progress display for large files. Changes:

- Add xhr.onprogress handler to track download bytes
- Use 64-bit float division to avoid 32-bit integer overflow
- Show progress bar UI for files >10MB with percentage
- Add CSS styles with dark theme support

The progress calculation now correctly handles files larger than 2GB
by using JavaScript's native double-precision floats instead of
operations that might truncate to 32-bit integers.

Fixes #82
2026-03-18 11:37:42 +08:00
BillionClaw 5cf0266d24 fix(auth): cap admin initial quota to available disk space
The admin_create_user method was using hardcoded quota values (100GB for
admin, 1GB for user) instead of the capped_quota method that checks
available disk space. This could result in setting a quota higher than
the actual available disk space.

Fixes #92
2026-03-18 11:06:39 +08:00
Dionisio Pozo 4b62499b8f Merge pull request #225 from BillionClaw/clawoss/fix/copy-error-messages
fix: improve error messages for file/folder already exists
2026-03-17 10:07:41 +01:00