Edouard Vanbelle
ec70b21c6e
refactor(User): clear separation PublicUserDto, FullUserDto, SelfUserDto
2026-08-21 14:29:36 +02:00
Edouard Vanbelle
cc3be1ec38
refactor: apply clippy recos for rustc 1.98.0
2026-08-21 14:27:42 +02:00
Edouard Vanbelle
8cd25d7e0f
security(RUSTSEC-2026-0258): update h2 crate
...
and ignore alert for aws dependency, risk of DoS is null with AWS/S3)
2026-08-21 13:49:49 +02:00
Edouard Vanbelle
543a1a88eb
feat(admin > users): UI: correct oidc badge
2026-08-20 10:42:09 +02:00
Edouard Vanbelle
2049535516
feat(session): admin UI showing online sessions
2026-08-20 10:42:09 +02:00
Edouard Vanbelle
20e6e05bb4
feat(sessions): identify online sessions (connected users)
...
identify online session by writing the `last_seen_at`
information is stored in a map and flush each 30s to prevent performance impact on pgsql
2026-08-20 10:40:27 +02:00
Dionisio Pozo
9d69d9c7e7
Merge pull request #678 from Dessalines39394/fix/star-history-chart
...
fix(docs): restore the broken Star History chart
2026-08-16 22:18:14 +02:00
Dessalines39394
00e831ea83
fix(docs): restore Star History chart with a working provider
...
The Star History chart was broken because GitHub stargazer API restrictions disabled the previous service. Point the chart at a working alternative so the README graph renders again.
2026-08-16 11:12:08 +00:00
Dionisio Pozo
65e6026789
Merge pull request #676 from EdouardVanbelle/feat/explicit-login-failure-reason
...
feat(oidc): explicit login failure reason
2026-08-15 00:58:47 +02:00
Edouard Vanbelle
1a8306f3db
feat(login): prevent login form flash on OIDC callback
2026-08-14 13:38:24 +02:00
Edouard Vanbelle
0d5a726ef4
feat(oidc): explicit rejection reason
...
Show explicitly login rejection (for example when a user does not have a valid
email reported from OIDC but email verification is set)
2026-08-14 13:38:24 +02:00
Dionisio Pozo
5d44b0ea75
Merge pull request #674 from EdouardVanbelle/feat/ui-log-namespaced
...
Feat/UI log namespaced
2026-08-14 03:58:44 +02:00
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