Commit Graph

  • f4ce4092f0 fix(blobs): invalidate the file_id->blob_hash cache on content swaps Claude 2026-06-10 14:04:36 +00:00
  • b0f83cfa34 perf(thumbnails): hold a decode permit before reading source blobs Claude 2026-06-10 13:36:29 +00:00
  • 4200209d4a perf(db): statement-level tree-ETag triggers; batched trash purge Claude 2026-06-10 13:22:27 +00:00
  • fe0053bc79 Optimize encryption, storage, and media streaming performance (#447) Dionisio Pozo 2026-06-10 14:53:55 +02:00
  • c3b853abd2 fix(lifecycle): pass blob content_hash to file lifecycle hooks, not etag Claude 2026-06-10 12:44:13 +00:00
  • 26b396490c Merge pull request #445 from AtalayaLabs/claude/upbeat-wright-btruto Dionisio Pozo 2026-06-10 13:57:11 +02:00
  • d73065e06b style: apply rustfmt to login-lockout code merged in #326 Claude 2026-06-10 11:51:56 +00:00
  • 26ff8f2ac9 Merge origin/main into claude/upbeat-wright-btruto Claude 2026-06-10 11:51:54 +00:00
  • 635ef8baf6 perf(files): breadcrumb no longer blocks the listing; ancestors cached Claude 2026-06-10 11:39:56 +00:00
  • ef87670306 Merge pull request #444 from AtalayaLabs/claude/vigilant-goodall-oismlc Dionisio Pozo 2026-06-10 13:39:55 +02:00
  • 9a181053bd perf(blobs): batch chunk fsyncs into one durability sweep per upload Claude 2026-06-10 09:55:02 +00:00
  • 71bdb653e0 perf(notify): bounded-concurrency fan-out for grant notification emails Claude 2026-06-10 09:52:47 +00:00
  • 908b8f4d4b perf(upload): one durability barrier per file instead of two fsyncs per chunk Claude 2026-06-10 09:52:47 +00:00
  • 7687766bf7 perf(dav-collections): indexed UID lookups for single-object operations Claude 2026-06-10 09:52:28 +00:00
  • d56c2a3e13 perf(transcode): stop re-transcoding JPEGs; cache negative verdicts Claude 2026-06-10 09:52:28 +00:00
  • 1912a17fa2 perf(dav): stream NC PROPFIND in batches; Range + 304 on WebDAV GETs Claude 2026-06-10 09:27:48 +00:00
  • 8a42b07cbe perf(auth): cached image-free user-flags lookup for per-request guards Claude 2026-06-10 09:27:32 +00:00
  • fd80a3de67 perf(files-ui): stream media/downloads natively, rAF rubber-band, Map selection Claude 2026-06-10 09:02:13 +00:00
  • 8d040314a3 perf(icons): scan only inserted subtrees in the MutationObserver Claude 2026-06-10 09:01:55 +00:00
  • 64c1e4c8e5 perf(resource-list): fold per-row listeners into the delegated handler Claude 2026-06-10 09:01:55 +00:00
  • ca698f73d1 perf(search): render result sets in one batched pass Claude 2026-06-10 09:01:42 +00:00
  • 2161292e2c Merge pull request #443 from AtalayaLabs/claude/jolly-johnson-yso7z7 Dionisio Pozo 2026-06-10 10:48:45 +02:00
  • 3c64354a0d perf(upload): run multi-file selections through the 10-worker pool Claude 2026-06-10 08:44:39 +00:00
  • d32ec359cd perf(docker): skip recursive chown when volume is already owned Claude 2026-06-10 08:41:14 +00:00
  • 214d42d0f6 perf(photos): batch trash deletion instead of N sequential DELETEs Claude 2026-06-10 08:39:12 +00:00
  • 616e48b338 perf(nextcloud): batch oc:fileid resolution to kill PROPFIND N+1 Claude 2026-06-10 08:39:06 +00:00
  • 9e3d990bd3 build(docker): trim build context, fix docs/ ignore typo Claude 2026-06-10 08:38:24 +00:00
  • 91f1f41367 build(docker): drop libpq runtime dep and postgresql-dev build dep Claude 2026-06-10 08:35:39 +00:00
  • da6dcb3771 Merge pull request #326 from SAY-5/fix/per-ip-account-lockout-323 Dionisio Pozo 2026-06-10 00:16:34 +02:00
  • b9af3092be chore: remove em-dashes from comments SAY-5 2026-05-11 13:05:03 -07:00
  • 9dfb29bdda fix(auth): scope lockout key to (account, IP) to prevent DOS by login flood SAY-5 2026-04-27 12:22:59 -07:00
  • 087cb44add Merge pull request #438 from EdouardVanbelle/feat/cap-chunk-size-and-use-stream Dionisio Pozo 2026-06-09 18:19:49 +02:00
  • a41030275d Merge pull request #440 from AtalayaLabs/claude/tender-shannon-b65gyk Dionisio Pozo 2026-06-09 18:18:03 +02:00
  • 175a908e99 perf(search): clamp search page size to bound per-request memory Claude 2026-06-09 14:59:01 +00:00
  • 8dc528f403 fix(dedup): count chunk ref_count per distinct chunk, not per occurrence Claude 2026-06-09 14:19:14 +00:00
  • 19b41af2e4 perf(http): single smart compression layer — stop compressing media on /api Claude 2026-06-09 14:08:27 +00:00
  • bf46c1ca10 perf: make StoragePath::join and File builders consume self to avoid clones Claude 2026-06-09 13:45:16 +00:00
  • ec8ddebc30 perf: drop intermediate allocs in WebDAV href encoding; fold group-list COUNT into one query Claude 2026-06-09 13:29:05 +00:00
  • f82c5ccf47 perf(authz): bound unbounded grant-list queries with a fail-loud row cap Claude 2026-06-09 13:24:22 +00:00
  • fc55e92299 perf(blob-cache,db): release index mutex before disk I/O; skip per-acquire DB ping Claude 2026-06-09 13:18:09 +00:00
  • f9c3adadc5 feat(chunked-upload): keep previous pending upload Edouard Vanbelle 2026-06-09 11:33:02 +02:00
  • c7b359eae3 chore(vitepress): link new /config/storage-fine-tuning doc Edouard Vanbelle 2026-06-09 11:11:50 +02:00
  • 50ea406719 feat(OXICLOUD_DIRECT_PUT_MAX_BYTES): add a security limit on direct PUT Edouard Vanbelle 2026-06-09 11:00:51 +02:00
  • 4e36de49eb feat(uploads): add OXICLOUD_CHUNK_DIR + documentation for admins Edouard Vanbelle 2026-06-09 10:19:21 +02:00
  • 2843b3351b feat(blake digest): ensure digest is done on same passe as the write of chunks Edouard Vanbelle 2026-06-09 10:29:43 +02:00
  • 964d66e7f8 featchukn-upload): client can provide full file hash completion Edouard Vanbelle 2026-06-09 09:39:45 +02:00
  • abac074fe5 feat(fssync): ensure fs sync once upload is recomposed Edouard Vanbelle 2026-06-08 23:57:51 +02:00
  • 41aad26702 feat(upload): cover chunk upload + add support of different digest hash Edouard Vanbelle 2026-06-08 23:17:07 +02:00
  • 5e638691ad security(upload): cap upload size to prevent memody/disk consumption Edouard Vanbelle 2026-06-08 21:14:04 +02:00
  • 233531bce5 chore(docker): fix docker healthcheck (#435) Edouard Vanbelle 2026-06-08 15:25:39 +02:00
  • 2ad55879f3 feat(nextcloud): use user's image for avatar (#434) Edouard Vanbelle 2026-06-08 15:25:36 +02:00
  • 6811e3e4f7 Merge pull request #437 from EdouardVanbelle/fix/nextcloud-propfind-on-chunk-upload Dionisio Pozo 2026-06-07 23:04:26 +02:00
  • a3a8fdbf12 test: activate nextcloud on tests Edouard Vanbelle 2026-06-07 21:40:22 +02:00
  • 15e69bf934 Merge pull request #436 from EdouardVanbelle/fix/ui-ellipsis-list-view Dionisio Pozo 2026-06-07 20:49:54 +02:00
  • 3fc0a272ca fix(nextcloud): resume (PROPFIND) on upload chunk Edouard Vanbelle 2026-06-07 20:25:13 +02:00
  • 916b666b13 fix(ui): ensure owner ellipsis on list view Edouard Vanbelle 2026-06-06 20:58:41 +02:00
  • b25d1593d3 test(e2e): update playwright snapshots EdouardVanbelle 2026-06-07 16:57:42 +00:00
  • cd925704b9 Merge pull request #433 from EdouardVanbelle/fix/db-migration Dionisio Pozo 2026-06-07 17:13:50 +02:00
  • f170528b35 Merge pull request #432 from leofishman/fix/hide-admin-setup-link-when-initialized Dionisio Pozo 2026-06-07 17:13:24 +02:00
  • 4531ee9f15 fix(db-migration): fix 2 changes with same ID Edouard Vanbelle 2026-06-07 16:32:38 +02:00
  • e91d4dbab9 fix(auth): hide admin setup link after language selection when system is initialized leofishman 2026-06-07 09:37:31 -03:00
  • eb0ba58158 Merge pull request #426 from EdouardVanbelle/refactor/etag-centralize Dionisio Pozo 2026-06-07 01:26:30 +02:00
  • 95b9e08724 Merge pull request #429 from AtalayaLabs/perf/auth-me-quota Dionisio Pozo 2026-06-07 01:26:03 +02:00
  • 72715c66a0 Merge remote-tracking branch 'origin/main' into perf/auth-me-quota DioCrafts 2026-06-07 01:25:14 +02:00
  • 41708367d5 Merge pull request #428 from AtalayaLabs/fix/webdav-large-upload-oom Dionisio Pozo 2026-06-07 01:21:51 +02:00
  • d7c6894c80 perf(quota): stop recomputing storage usage on every GET /api/auth/me DioCrafts 2026-06-07 01:13:58 +02:00
  • 061306cc84 fix(upload): stream WebDAV/NextCloud PUT to disk to prevent OOM on large files DioCrafts 2026-06-07 01:03:52 +02:00
  • bde7c83932 feat(content_hash): propagate etag and hash_content to */resources Edouard Vanbelle 2026-06-06 19:51:51 +02:00
  • 46f8789f4f fix(folder): keep current folder view on refresh Edouard Vanbelle 2026-06-06 18:37:41 +02:00
  • eb895b0412 fix(webdav): fix trailing / on collection Edouard Vanbelle 2026-06-06 18:18:13 +02:00
  • 7db547a669 fix(name duplicate): fixed via NFC normalisation Edouard Vanbelle 2026-06-06 17:47:59 +02:00
  • 5a18ec4bac test(hash_content): check that hash matches Edouard Vanbelle 2026-06-06 17:21:44 +02:00
  • 1b9d9af5c0 feat(etag): cascade tag change on each folerd's parent Edouard Vanbelle 2026-06-06 17:02:50 +02:00
  • c91515cb65 feat(etag): include mtime in file ETag formula Edouard Vanbelle 2026-06-06 16:46:19 +02:00
  • 0135930da9 refactor(file|folder): separate etag and blob_hash Edouard Vanbelle 2026-06-06 15:37:27 +02:00
  • 6aee68b34c fix(nextcloud): ensure collection have trailing / in webdav Edouard Vanbelle 2026-06-06 15:18:18 +02:00
  • 04a4868cd2 refactor(api): ensure trace are for all HTTP req. Edouard Vanbelle 2026-06-06 11:54:23 +02:00
  • e4bb5b064a feat(tooltip): add tooltip on users and groups Edouard Vanbelle 2026-06-05 15:01:22 +02:00
  • c5e0800336 Merge pull request #423 from EdouardVanbelle/feat/grant-notificaion-with-coalesce Dionisio Pozo 2026-06-05 15:47:39 +02:00
  • 8b08b081c5 chore(ci): check icons and i18n Edouard Vanbelle 2026-06-05 14:18:27 +02:00
  • 49f9a14ef0 chore(ui): complete missing icons via tools/check-icons.py Edouard Vanbelle 2026-06-05 14:01:59 +02:00
  • 6f9e12624b chore(tools) add script to audit translations Edouard Vanbelle 2026-06-05 14:01:00 +02:00
  • 540c947e61 fix(ui): better handling of new folder creation Edouard Vanbelle 2026-06-05 11:15:44 +02:00
  • ca0f5b3fc5 fix(ui): ensure usermenu always in viewport Edouard Vanbelle 2026-06-05 10:40:18 +02:00
  • ba9922bcb8 i18n: add missing translatiions Edouard Vanbelle 2026-06-05 10:31:31 +02:00
  • 3eb74f83b0 feat(userVignette): show by preference givenname/familyname Edouard Vanbelle 2026-06-05 10:05:51 +02:00
  • 8cc21f17c5 feat(notify): add notif to internal users when granted Edouard Vanbelle 2026-06-05 09:46:51 +02:00
  • b8e8fcd7dc Merge pull request #421 from EdouardVanbelle/feat/mail-and-magic-templating Dionisio Pozo 2026-06-03 19:03:49 +02:00
  • 16c5e06e2b security(/magic): no cache + no referer + no index Edouard Vanbelle 2026-06-03 16:06:03 +02:00
  • d678d3e31a feat(ui): use same Oxicloud theme for magic-link page Edouard Vanbelle 2026-06-03 15:58:09 +02:00
  • c9bda7cbda chore(docker): add new /templates directory Edouard Vanbelle 2026-06-03 15:56:35 +02:00
  • 20e187f26d i18n: translate server.* keys Edouard Vanbelle 2026-06-03 15:11:57 +02:00
  • 7db27af7a6 feat(user.prefered_locale): save user's locale + invited have same locale as inviters Edouard Vanbelle 2026-06-03 14:26:45 +02:00
  • 854f1d3a07 feat(templating): add and use templates for /magic and emails Edouard Vanbelle 2026-06-03 13:35:51 +02:00
  • 044bd76738 feat(i18n): add i18n on server side Edouard Vanbelle 2026-06-03 13:18:05 +02:00
  • e0f59aa942 fix(ui): use email as fallback when username is not defined Edouard Vanbelle 2026-06-03 11:26:45 +02:00
  • 91f81027e4 fix(front:auth): fix issue with username that can now be empty Edouard Vanbelle 2026-06-03 11:23:17 +02:00
  • 372b99890f feat(magic-link): user can resend email if magic link is expired Edouard Vanbelle 2026-06-03 11:13:43 +02:00
  • c56bc79441 doc: add public explaination on sharing Edouard Vanbelle 2026-06-03 10:51:45 +02:00
  • cea315fcfd feat(ui:profile): permit change of username, givenname, familyname Edouard Vanbelle 2026-06-03 09:35:38 +02:00