Dionisio Pozo
4e2b2e072d
Merge pull request #673 from EdouardVanbelle/fix/user-preferences
...
fix(user-pref): permit edition of user prefs for OIDC account
2026-08-14 03:58:29 +02:00
Edouard Vanbelle
4154019603
feat(ui:delta): add heartbeat on worker
2026-08-14 01:52:53 +02:00
Edouard Vanbelle
55a3890ffa
doc: add UI diagnostics help
2026-08-14 01:52:53 +02:00
Edouard Vanbelle
24da7443de
feat(ui delta upload): user can change oxi.UPLOAD_BATCH_BYTES
...
```
oxi.UPLOAD_BATCH_BYTES // get current value
oxi.UPLOAD_BATCH_BYTES=1024*1024 // change values
```
values are stored in localstorage, default is 8*1024*1024
2026-08-14 01:52:14 +02:00
Edouard Vanbelle
ef465b99de
feat(ui:delta upload): warn user if refresh page during upload
2026-08-14 01:52:14 +02:00
Edouard Vanbelle
e357caf43b
feat(ui): add a logger to change log level and permit better diagnostics
...
in this case logs are added in the delta upload worker
you can increase verbosity from console via:
```javascript
// Usage:
oxi.setLogLevel('oxi:upload', 'debug') // deep dive
oxi.setLogLevel('oxi:upload', 'warn') // quiet
oxi.log.setLevel('debug') // everything to debug
```
values are stored in localstorage
example:
```
oxi.setLogLevel('oxi:upload', 'debug');
'oxi:upload → debug'
deltaUpload.ts:120 [f32ce1] delta start {file: 'Revue de presseg.odp', size: 23658927}
deltaUpload.ts:185 [f32ce1] worker: worker start {file: 'Revue de presseg.odp', size: 23658927}
deltaUpload.ts:186 [f32ce1] worker: wasm loaded
deltaUpload.ts:186 [f32ce1] worker: hashed — blake3=150edbc35f3475a0bdeecd15fe5278dda305ce3b27e53e9c40515a69f0b883f3 (76 chunks)
deltaUpload.ts:186 [f32ce1] worker: negotiate: 76 hashes → 76 missing, 0 dedup'd
deltaUpload.ts:186 [f32ce1] worker: chunk PUT: 28 chunks, 8825338 bytes
deltaUpload.ts:186 [f32ce1] worker: chunk PUT: 29 chunks, 8950230 bytes
deltaUpload.ts:186 [f32ce1] worker: chunk PUT: 19 chunks, 5883663 bytes
deltaUpload.ts:186 [f32ce1] worker: ✅ committed — uploaded 23 658 927 B (no dedup, blake3=150edbc35f3475a0bdeecd15fe5278dda305ce3b27e53e9c40515a69f0b883f3)
deltaUpload.ts:185 [f32ce1] worker: commit HTTP 201 {blake3: '150edbc35f3475a0bdeecd15fe5278dda305ce3b27e53e9c40515a69f0b883f3', uploadedBytes: 23658927, reusedBytes: 0, totalBytes: 23658927, attempt: 0}
deltaUpload.ts:213 [f32ce1] delta done {file: 'Revue de presseg.odp', blake3: '150edbc35f3475a0bdeecd15fe5278dda305ce3b27e53e9c40515a69f0b883f3', savedBytes: 0, uploadedBytes: 23658927}
```
2026-08-14 01:52:03 +02:00
Edouard Vanbelle
1104a4cb06
fix(user-pref): permit edition of user prefs for OIDC account
2026-08-13 20:39:55 +02:00
Dionisio Pozo
b1493e2d0e
Merge pull request #671 from EdouardVanbelle/i18n/context-translation
2026-08-13 16:58:42 +02:00
Dionisio Pozo
aa0f12cd26
Merge pull request #670 from EdouardVanbelle/chore/dot-env-example
2026-08-13 16:58:34 +02:00
Edouard Vanbelle
27ab392a35
i18n: fix uncontexted strings
...
For example jobs where translated into "employment" in other language
Remove english text in other languages
2026-08-13 00:30:55 +02:00
Edouard Vanbelle
c61bc818b1
doc: listen to 0.0.0.0 as example for Docker
...
consider that many user will use docker to test Oxicloud
2026-08-12 20:53:16 +02:00
Dionisio Pozo
06aff99fa3
Merge pull request #635 from swissiety/rfc-6868-param-encoding
...
fix(vcard): add RFC 6868 parameter value encoding
2026-08-12 10:32:26 +02:00
Edouard Vanbelle
555bf82a16
doc(dpop): update dpop status
2026-08-12 00:11:17 +02:00
Edouard Vanbelle
5a82aa1511
feat(session): UI: improve admin > sessions view
2026-08-11 23:50:43 +02:00
Dionisio Pozo
60ae6b4565
Merge pull request #662 from EdouardVanbelle/chore/i18n
...
i18n: update all languages
2026-08-10 00:10:42 +02:00
Edouard Vanbelle
2be2928ddc
i18n: update all languages
2026-08-09 20:37:09 +02:00
Dionisio Pozo
779005055c
Merge pull request #664 from EdouardVanbelle/feat/openapi
2026-08-09 19:46:44 +02:00
Dionisio Pozo
5baac919c8
Merge pull request #661 from EdouardVanbelle/feat/dpop
2026-08-09 19:46:30 +02:00
Edouard Vanbelle
f78ed08e92
chore(test): increase rate limit to permit more tests
2026-08-09 18:03:19 +02:00
Edouard Vanbelle
e0654cd848
feat(openapi): implement missing routes
...
Admin:
- /api/admin/drives, /api/admin/drives/{id}, /api/admin/drives/{id}/members, /api/admin/drives/{id}/members/{kind}/{sid}
- /api/admin/jobs/{name}/pause, /api/admin/jobs/{name}/runs/{id}/findings, /api/admin/jobs/runs/purge
- /api/admin/smtp/info, /api/admin/smtp/test
- /api/admin/storage/entries/{name}/rotate
- /api/admin/users/{id}/promote-to-internal
Auth:
- /api/auth/dpop/bind
- /api/auth/magic-link/send
- /api/auth/me/profile
- /api/auth/upgrade-to-internal
Drives / grants / trash / users / dedup:
- /api/drives/{id}, /api/drives/{id}/members (get + delete), /api/drives/{id}/policies, /api/drives/{id}/quota
- /api/grants/{id}/notify
- /api/trash/drive/{drive_id}
- /api/users/{id}
- /api/dedup/check-batch
Faces
- /api/people — cluster list (PersonDto[])
- /api/people/{id}/photos — file ids for one person
- /api/people/{id} — rename (or clear name)
- /api/people/merge — merge two clusters
- /api/people/recluster — re-run clustering
- /api/people/data — nuke all face data
- /api/people/faces/{file_id} — face boxes per photo (FaceBoxDto[])
2026-08-09 17:58:06 +02:00
Edouard Vanbelle
4739506698
fix(ci): fx the db migration check
2026-08-09 17:20:50 +02:00
Edouard Vanbelle
d1436077f2
feat(dpop): wire audit event on dpop bound to session
2026-08-09 17:14:53 +02:00
Edouard Vanbelle
bbc1e77e33
test(jobs): remove hardcoded number of jobs in tests
2026-08-09 17:03:27 +02:00
Edouard Vanbelle
c61341b890
test(login): fix login logout test
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
3b11b804e2
docs: add DPoP and Opaque on main page
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
a34da40ce9
feat(sessions): clean expired sessions (exp > 3month)
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
d638566d04
feat(openapi): add sessions + opaque
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
a7df46f8f8
feat(sessions): show session origin in admin panel + test
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
763ee82028
security(session): do not expose 'sid' from OIDC
...
prefer exposing origin of the session: passwod, opaque, magic_link, oidc, unknown
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
c28eb9b42e
fix(oidc): stamp id_token + sid to session
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
950c8c0f38
feat(dpop): provide nonce on immediate login
...
provide the DPoP nonce via cookie on login, this reduce the amount of API call
and prevent having any first call returning in 401
2026-08-09 16:36:42 +02:00
Edouard Vanbelle
2eb1e8a1d5
feat(logout): improve logout flow
2026-08-09 16:36:19 +02:00
Edouard Vanbelle
321f3ad733
i18n(session): add missing translations
2026-08-09 14:04:42 +02:00
Edouard Vanbelle
bbef8afb7b
fix(logout): reduce unwanted API call during logout
...
- stop trying to refresh session
- display "successfully signed out" rather "your session is expired"
2026-08-09 13:51:35 +02:00
Edouard Vanbelle
f4e923e381
fix(test): fix CRC error in png samples
2026-08-09 13:26:40 +02:00
Edouard Vanbelle
6a0911d560
fix(thumbnail): prevent upsampling
2026-08-09 13:26:09 +02:00
Edouard Vanbelle
a9eaa3fd74
fix(test): fix playwright to suport OPAQUE+DPOP
2026-08-09 13:10:09 +02:00
Edouard Vanbelle
9e94cb398c
test(dpop): OPAQUE + DPOP required for e2e tests
2026-08-09 12:31:39 +02:00
Edouard Vanbelle
11c7f9440e
chore(e2e): remove old playwright test (wired to vanilla JS)
2026-08-09 12:27:31 +02:00
Edouard Vanbelle
69c57e1e24
feat(dpop): client now aware if session if bound
...
this prevent client to try binding and creating
- unnecessary call
- unnecessary warning in server log
2026-08-09 12:05:56 +02:00
Edouard Vanbelle
df9a6babbb
fix(tests): prevent playwrigt test to load default .env
2026-08-09 11:46:53 +02:00
Edouard Vanbelle
107dbfc731
fix(login): fix race in autofocus
2026-08-09 11:46:53 +02:00
Edouard Vanbelle
69c342f2ed
refactor(dpop): apply typescript prettier
2026-08-09 11:46:53 +02:00
Edouard Vanbelle
6a434aebe6
refactor(dpop): apply clippy
2026-08-09 11:46:51 +02:00
Edouard Vanbelle
62475193ff
feat(admin): improve admin panel
...
normalise admin > users, sessions, drives
2026-08-09 10:41:34 +02:00
Edouard Vanbelle
10d831b204
feat(session): ensure dpop even with OIDC
2026-08-09 10:41:34 +02:00
Edouard Vanbelle
bee856fbd0
feat(session): handle sessions for admin
2026-08-09 10:41:34 +02:00
Edouard Vanbelle
1b9d812175
feat(telemetry): add /metrics prommetheus exporter
2026-08-09 10:41:34 +02:00
Edouard Vanbelle
80f2f67db6
feat(dpop): server request dpop on all /api/*
2026-08-09 10:35:52 +02:00
Edouard Vanbelle
93eb67f99b
feat(dpop): add service worker to sign requests
...
this will permit GET to resources and then to remove directly signing requests
2026-08-09 04:18:20 +02:00