thotenn
3a0c8f593d
feat(media): backfill existing images for deferred compression (APP-102)
...
Seed pending media_process_task rows for a user's already-stored images
so the APP-101 pipeline compresses them. Adds a resumable MediaBackfillTask
(mirrors full_text_rebuild) that paginates candidate files and enqueues
each image idempotently, a self-service /workflow/mediaBackfill endpoint,
and cursor-based candidate listers. A file-level guard (HasHandledForFile)
skips already-processed files so re-runs do not re-compress. Bumps the
assets submodule for the frontend UI.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3 weeks ago
thotenn
51c7654b03
feat(media): deferred image compression subsystem (APP-101)
...
Adds a media post-processing pipeline that compresses images off the upload
path, in batches, to save storage:
- New media_process_task ent table (media_type discriminator; image now,
video later) + inventory client with idempotent Enqueue/ListPending.
- CompleteUpload enqueues the primary entity when the global switch and the
owner's auto_compress_images opt-in are on and mime/size gates pass.
- A configurable cron enqueues a bounded batch onto a dedicated
MediaProcessQueue (default 1 worker) that compresses each blob via vips
(default) or ffmpeg using EntitySource, then writes the result back as a
new version through manager.Update (quota handled by StorageDiff). A
context guard prevents the write-back from re-enqueueing itself.
- BackendVersion 4.14.1 -> 4.14.2 to fire the migration; new default
settings are idempotently backfilled.
BusyWorkers/metrics expose the queue in /admin/task; result mode 'version'
is the MVP (replace/auto are follow-ups).
3 weeks ago
thotenn
b8bc651544
Merge remote-tracking branch 'upstream/master' into sync/upstream-2026-07-07
3 weeks ago
Aaron Liu
b2e808e6ca
feat(explorer): add empty recycle bin button & move restore action to top quick actions ( close #3473 )
3 weeks ago
thotenn
7f11ec9e88
unlock multiple storage policy
3 weeks ago
Aaron Liu
ba2e870bbd
feat(user): options to disable exposing user emails to other users
2 months ago
Aaron Liu
3607f79bb4
fix(thumb): max pixel dimensions constraint in builtin thumb generator
2 months ago
Aaron Liu
7968e50429
fix(WOPI): SuggestedTarget header should not accept file path
2 months ago
Aaron Liu
aaebf317a7
feat(remote download): configurable SSRF check for target URL
2 months ago
Aaron Liu
ed20843dc3
fix(oauth): scope limitation does not take effects in jwt
2 months ago
Aaron Liu
3487407131
fix(fts): context menu inconsistently shown items caused by missing capability bits in file traversing ( fix #3385 )
3 months ago
Aaron Liu
a9a0c1ee78
fix(fts): full-text search should not retrieve files in trash bin ( fix #3386 )
3 months ago
Aaron Liu
9792a5c84f
fix(s3): throw error is content length is missing ( fix #3394 )
3 months ago
Aaron Liu
457926e8cb
feat(dashboard): set global default file apps ( close cloudreve/cloudreve#2304 )
5 months ago
Darren Yu
50017060f1
fix: skip 0kb placeholder object as directory in file listing ( #3347 )
5 months ago
Aaron Liu
0f2f35d7d4
fix(dbfs): default view can be overwritten accidently ( close #3330 )
5 months ago
Darren Yu
3180c72b53
fix(dbfs): folder summary type error in cache ( #3332 )
...
* fix(dbfs): folder summary type error in cache
* Update dbfs.go
5 months ago
Aaron Liu
95865add54
fix(slave node): panic when transfer files in slave node
6 months ago
Aaron Liu
153a00ecd5
feat(fts): start background task to force build index for existing files ( close #2895 )
6 months ago
Aaron Liu
1e3b851e19
feat: full-text search and RAG powered search
6 months ago
Aaron Liu
ec9fdd33bc
fix(direct link): cannot access direct link for files without blobs ( close #3239 )
6 months ago
Aaron Liu
6322a9e951
fix(s3): nil pointer when uploading files to SeaweedFS ( close #3265 )
6 months ago
Aaron Liu
57239e81af
security: use `crypto/rand` for secret keys
6 months ago
Aaron Liu
5d9cfaa973
fix(eventhub): nil pointer trying get owner
6 months ago
Aaron Liu
2241a9e2c8
feat(dashboard): add setting option for event push
6 months ago
Aaron Liu
1c5eefdc6a
feat(devices): add landing page for desktop client
6 months ago
Darren Yu
5b214beadc
feat(thumb): change image type to NRGBA when do resize to keep transparency ( #3207 )
6 months ago
Darren Yu
2ecc7f4f59
fix(cos): missing response-content-disposition header when enable not sign for CDN url ( #2546 ) ( #3202 )
...
* fix(cos): missing response-content-disposition header for public-read bucket
* fix(cos): anonymous GET req not support response header
6 months ago
Darren Yu
2725bd47b5
fix(share): download on folder share wrongly not counted ( #3196 )
6 months ago
Aaron Liu
a84c5d8e97
feat(oauth): OAuth for 3rd party apps
6 months ago
Aaron Liu
722abb81c5
fix(nodepool): exclusive lock should be held for weight LB
7 months ago
Aaron Liu
e8f965e980
fix(security): resolve multiple vulnerability.
...
Vulnerability identified and fix provided by Kolega.dev (https://kolega.dev )
7 months ago
Aaron Liu
f01ed64bdb
feat(perf): improve memory usage for importing task / add configurable Pprof endpoint ( fix #3059 )
7 months ago
Aaron Liu
736414fa10
fix(dbfs): setting version does not change file size
7 months ago
Aaron Liu
32632db36f
feat(fs): change event debounce before emitting to subscriber
8 months ago
Aaron Liu
c01b748dfc
feat(fs): fs change event notification via SSE / show panic stack trace in task queue
8 months ago
Darren Yu
05c68b4062
fix(thumb blob path): separators be wrongly modified ( #3062 ) ( #3116 )
...
* fix(thumb blob path): separators be wrongly modified
* Update common.go
8 months ago
Darren Yu
a08c796e3f
fix(ks3): fix content disposition format for download filename ( #3040 ) ( #3057 )
8 months ago
Aaron Liu
67c6f937c9
fix(oss): disable RSA min key size check for OSS callback ( #3038 )
9 months ago
Darren Yu
deecc5c20b
feat(thumb blob path): support magic variables in thumb blob path ( #3030 )
9 months ago
Aaron Liu
e3580d9351
feat(encryption): add UI and settings for file encryption
9 months ago
Aaron Liu
16b02b1fb3
feat: file blob encryption
9 months ago
Darren Yu
6bd30a8af7
fix(oss): change default expire ttl and sign param to adapt SDK v2 ( #2979 )
...
* fix(oss): change default expire ttl and sign param to adapt SDK v2
* fix(oss): add expire ttl limit
10 months ago
Aaron Liu
21cdafb2af
fix(oss): traffic limit should be in query instead of headers ( #2977 )
10 months ago
Aaron Liu
e29237d593
fix(webdav): error code for missing parent in mkcol should be `409` instead of `404` ( #2953 )
10 months ago
Aaron Liu
46897e2880
fix(oss): presigned multipart upload mismatch
10 months ago
Aaron Liu
e7d6fb25e4
feat(oss): upgrade to SDK v2 ( #2963 )
10 months ago
Aaron Liu
3d41e00384
feat(media meta): add Mapbox as a map provider option ( #2922 )
10 months ago
Aaron Liu
5e5dca40c4
feat(media meta): reverse geocoding from mapbox ( #2922 )
10 months ago
Mason Liu
668b542c59
feat: update reset thumbnail feature ( #2854 )
...
* update reset thumbnail feature
* consolidate supported thumbnail extensions into site config; remove dedicated API
* allow patching thumb ; remove Reset Thumbnail API
* fix code formatting
---------
Co-authored-by: Aaron Liu <abslant.liu@gmail.com>
10 months ago