Skip to content

[BUG] Sharing files from iOS fails with server-side 500 error on Catalan language #67

Description

@crimoniv

Steps to reproduce

  1. Set "Catalan" language with high priority than "English" in "Settings > General > Language & Region". In my device I had "Spanish > Catalan > English"
  2. Open iOS share sheet an share any file to OpenCloud
  3. The upload fails immediately with a 500 error

Expected behavior

The file should be uploaded to OpenCloud with no errors

Actual behavior

The upload fails and the file is kept locally in OpenCloud app with a warning sign. Upload can be retried through the app, this works as expected.

Setting "English" with a higher priority than "Catalan" also fixes this issue (tested with "Spanish > English > Catalan"). Looks related with the User-Agent that is set when using the share sheet: OpenCloudApp\/1.2.3 (Extensió de compartició d'OpenCloud\/4; iOS\/26.6; iPhone)

Client

iOS version:
iOS 26.6

OpenCloud app version:
OpenCloud release version 1.2.3 build 4 (Thu Jun 4 18:41:46 CEST 2026)
(app: v1.2.2-6-g1ad6066b - v1.2.3@1ad6066b, sdk: v1.0.1_appstore-16-gd472a79e - markus/per-account-http-header@d472a79e)

Device model:
iPhone 17 Pro

Server configuration

OpenCloud version:
opencloudeu/opencloud-rolling@7.3.0 (docker)

Logs

OpenCloud server error log

{"level":"error","service":"frontend","host.name":"opencloud-69dd55d4bf-kb5pq","pkg":"rhttp","traceid":"4e429b33d9d9913790047a4aa4dce6fd","request-id":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","path":"/","spaceid":"a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697","error":"rpc error: code = Internal desc = header key \"x-user-agent\" contains value with non-printable ASCII characters","time":"2026-08-01T21:26:16Z","line":"github.com/opencloud-eu/reva/v2@v2.47.0/internal/http/services/owncloud/ocdav/propfind/propfind.go:369","message":"error getting grpc client"}
{"level":"error","service":"frontend","host.name":"opencloud-69dd55d4bf-kb5pq","pkg":"rhttp","traceid":"4e429b33d9d9913790047a4aa4dce6fd","host":"127.0.0.1","method":"PROPFIND","uri":"/dav/spaces/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697/","url":"/","proto":"HTTP/1.1","status":500,"size":0,"start":"01/Aug/2026:21:26:16 +0000","end":"01/Aug/2026:21:26:16 +0000","time_ns":447053,"time":"2026-08-01T21:26:16Z","line":"github.com/opencloud-eu/reva/v2@v2.47.0/internal/http/interceptors/log/log.go:112","message":"http"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","traceid":"b7f7d5add8f7eb8ea012c5d6cd605f92","remote-addr":"[REDACTED-IP]","method":"PROPFIND","status":500,"path":"/dav/spaces/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697/","duration":10.280026,"bytes":0,"time":"2026-08-01T21:26:16Z","line":"github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
{"level":"info","service":"auth-machine","host.name":"opencloud-69dd55d4bf-kb5pq","pkg":"rgrpc","traceid":"9fb75540b3591b6e100b71892ac81814","time":"2026-08-01T21:26:18Z","line":"github.com/opencloud-eu/reva/v2@v2.47.0/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"https://files.[REDACTED-DOMAIN]\"  opaque_id:\"[REDACTED-UID]\"  type:USER_TYPE_PRIMARY authenticated"}
{"level":"error","service":"frontend","host.name":"opencloud-69dd55d4bf-kb5pq","pkg":"rhttp","traceid":"910503e0939bd52bb6267456403d2ed7","request-id":"56AA2F33-28ED-4677-8993-D6799BD98FCE","spaceid":"a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697","path":"/","filename":"asig1.pdf","error":"rpc error: code = Internal desc = header key \"x-user-agent\" contains value with non-printable ASCII characters","time":"2026-08-01T21:26:18Z","line":"github.com/opencloud-eu/reva/v2@v2.47.0/internal/http/services/owncloud/ocdav/tus.go:144","message":"error sending grpc stat request"}
{"level":"error","service":"frontend","host.name":"opencloud-69dd55d4bf-kb5pq","pkg":"rhttp","traceid":"910503e0939bd52bb6267456403d2ed7","host":"127.0.0.1","method":"POST","uri":"/dav/spaces/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697/","url":"/","proto":"HTTP/1.1","status":500,"size":0,"start":"01/Aug/2026:21:26:18 +0000","end":"01/Aug/2026:21:26:18 +0000","time_ns":329002,"time":"2026-08-01T21:26:18Z","line":"github.com/opencloud-eu/reva/v2@v2.47.0/internal/http/interceptors/log/log.go:112","message":"http"}

App logs
2026-08-01 23:26:15.138000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Request, …] REQUEST 8E638017-A242-420A-BED5-CE22F4CD0DC2 {"request":{"body":{},"info":{"id":"8E638017-A242-420A-BED5-CE22F4CD0DC2","required-signals":["authAvailable"],"method":"GET","url-session-task-id":3,"url":"https:\/\/files.[REDACTED-DOMAIN]\/ocs\/v2.php\/cloud\/user?format=json"},"header":{"X-Request-ID":"8E638017-A242-420A-BED5-CE22F4CD0DC2","Original-Request-ID":"8E638017-A242-420A-BED5-CE22F4CD0DC2","Authorization":"Bearer [redacted:0]","Accept-Language":"ca","User-Agent":"OpenCloudApp\/1.2.3 (Extensió de compartició d'OpenCloud\/4; iOS\/26.6; iPhone)"}}} [… GET, RequestID:8E638017-A242-420A-BED5-CE22F4CD0DC2, URLSessionTaskID:3] [OCHTTPPipeline.m:1304|FULL]
2026-08-01 23:26:15.245000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Response, …] RESPONSE 8E638017-A242-420A-BED5-CE22F4CD0DC2 {"response":{"body":{"data":"{\"ocs\":{\"meta\":{\"status\":\"ok\",\"statuscode\":200,\"message\":\"OK\"},\"data\":{\"id\":\"[REDACTED-USER]\",\"display-name\":\"[REDACTED-NAME]\",\"email\":\"[REDACTED-EMAIL]\",\"user-type\":\"primary\"}}}","length":174},"info":{"id":"8E638017-A242-420A-BED5-CE22F4CD0DC2","required-signals":["authAvailable"],"method":"GET","url-session-task-id":3,"url":"https:\/\/files.[REDACTED-DOMAIN]\/ocs\/v2.php\/cloud\/user?format=json","reply":{"status":200,"metrics":"{ total: [2026-08-01 21:26:15 +0000 - 2026-08-01 21:26:15 +0000, 0.10 sec], startedAfter: 0.00, redirects: 0, transactions: [1: fetchStart: 0.00, request: 0.00..0.00 (0.00), cloud: 0.00..0.10 (0.10), response: 0.10..0.10 (0.00)] }","status-name":"OK"}},"header":{"ocs-api-version":"2","content-security-policy":"child-src 'self'; connect-src 'self' blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/ https:\/\/update.opencloud.eu\/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https:\/\/embed.diagrams.net\/; img-src 'self' data: blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'","Vary":"Origin","x-xss-protection":"1; mode=block","Content-Type":"application\/json; charset=utf-8","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","x-robots-tag":"none","x-request-id":"8E638017-A242-420A-BED5-CE22F4CD0DC2","x-content-type-options":"nosniff","Date":"Sat, 01 Aug 2026 21:26:15 GMT","x-frame-options":"SAMEORIGIN","Content-Length":"174"}}} [… GET, RequestID:8E638017-A242-420A-BED5-CE22F4CD0DC2, URLSessionTaskID:3] [OCHTTPPipeline.m:1499|FULL]
2026-08-01 23:26:15.261000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Request, …] REQUEST 12D4B120-7026-4025-B03F-706C3A2AAEE9 {"request":{"body":{},"info":{"id":"12D4B120-7026-4025-B03F-706C3A2AAEE9","required-signals":["authAvailable"],"method":"GET","url-session-task-id":4,"url":"https:\/\/files.[REDACTED-DOMAIN]\/graph\/v1.0\/me\/drives"},"header":{"X-Request-ID":"12D4B120-7026-4025-B03F-706C3A2AAEE9","Original-Request-ID":"12D4B120-7026-4025-B03F-706C3A2AAEE9","Authorization":"Bearer [redacted:0]","Accept-Language":"ca","User-Agent":"OpenCloudApp\/1.2.3 (Extensió de compartició d'OpenCloud\/4; iOS\/26.6; iPhone)"}}} [… GET, RequestID:12D4B120-7026-4025-B03F-706C3A2AAEE9, URLSessionTaskID:4] [OCHTTPPipeline.m:1304|FULL]
2026-08-01 23:26:15.360000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Response, …] RESPONSE 12D4B120-7026-4025-B03F-706C3A2AAEE9 {"response":{"body":{"data":"{\"value\":[{\"driveAlias\":\"virtual\/shares\",\"driveType\":\"virtual\",\"id\":\"a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668\",\"name\":\"Shares\",\"root\":{\"eTag\":\"DECAFC00FEE\",\"id\":\"a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668\",\"webDavUrl\":\"https:\/\/files.[REDACTED-DOMAIN]\/dav\/spaces\/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668\"},\"webUrl\":\"https:\/\/files.[REDACTED-DOMAIN]\/f\/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668\"},{\"driveAlias\":\"personal\/[REDACTED-USER]\",\"driveType\":\"personal\",\"id\":\"a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\",\"lastModifiedDateTime\":\"2026-08-01T16:52:58.455527853Z\",\"name\":\"[REDACTED-NAME]\",\"owner\":{\"user\":{\"displayName\":\"\",\"id\":\"bd09f336-6877-457f-bb34-0f396e1d9b3f\"}},\"quota\":{\"remaining\":9223372036854775807,\"state\":\"normal\",\"total\":0,\"used\":5669125831},\"root\":{\"eTag\":\"\\\"220009312c1cd9658b745be1359cb8c0\\\"\",\"id\":\"a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\",\"webDavUrl\":\"https:\/\/files.[REDACTED-DOMAIN]\/dav\/spaces\/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\"},\"webUrl\":\"https:\/\/files.[REDACTED-DOMAIN]\/f\/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\"}]}\n","length":1285},"info":{"id":"12D4B120-7026-4025-B03F-706C3A2AAEE9","required-signals":["authAvailable"],"method":"GET","url-session-task-id":4,"url":"https:\/\/files.[REDACTED-DOMAIN]\/graph\/v1.0\/me\/drives","reply":{"status":200,"metrics":"{ total: [2026-08-01 21:26:15 +0000 - 2026-08-01 21:26:15 +0000, 0.10 sec], startedAfter: 0.00, redirects: 0, transactions: [1: fetchStart: 0.00, request: 0.00..0.00 (0.00), cloud: 0.00..0.09 (0.09), response: 0.09..0.09 (0.00)] }","status-name":"OK"}},"header":{"content-security-policy":"child-src 'self'; connect-src 'self' blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/ https:\/\/update.opencloud.eu\/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https:\/\/embed.diagrams.net\/; img-src 'self' data: blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'","Vary":"Origin","x-xss-protection":"1; mode=block","Content-Type":"application\/json","x-permitted-cross-domain-policies":"none","referrer-policy":"strict-origin-when-cross-origin","x-robots-tag":"none","x-request-id":"12D4B120-7026-4025-B03F-706C3A2AAEE9","x-graph-version":"7.3.0","x-content-type-options":"nosniff","Date":"Sat, 01 Aug 2026 21:26:15 GMT","x-frame-options":"SAMEORIGIN","Content-Length":"1285"}}} [… GET, RequestID:12D4B120-7026-4025-B03F-706C3A2AAEE9, URLSessionTaskID:4] [OCHTTPPipeline.m:1499|FULL]
2026-08-01 23:26:15.372000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b1dc0, eventType: 7, driveID: (null), path: (null), uuid: 43EA5753-D47F-454A-9483-A67A4B5780BC, userInfo: {\n    actionTrackingID = "5069C7BB-45D0-4A17-AE96-C9CA1B6B35A6";\n    syncRecordID = 124;\n}, result: (null), file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.372000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b0fc0, eventType: 16, driveID: (null), path: (null), uuid: 2D095DB6-4862-479E-B24D-68A53C55CB87, userInfo: {\n    syncIssue = "<OCSyncIssue: 0x1095b1030, uuid: B6BBD601-FB7E-48B4-A9A9-ACAD9B11A8EE, syncRecordID: 754, templateIdentifier: upload.retry, level: 2, title: Couldn't upload descargarCertificadoObtenerCertificacion.action, description: No se ha podido completar la operaci\U00f3n. (Error de OCHTTPStatusErrorDomain 500.), choices: (\n    \"<OCSyncIssueChoice: 0x10963f040, identifier: _cancel, autoChoiceForError: (null), label: Cancelar>\",\n    \"<OCSyncIssueChoice: 0x10963dac0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 \\\"(null)\\\" UserInfo={OCErrorDate=2026-07-01 19:28:43 +0000}, label: Retry>\"\n)>";\n    syncRecordID = 754;\n    waitConditionUUID = "EBA0AF0D-1499-40AC-B0FB-AC515EA7587D";\n}, result: <OCSyncIssueChoice: 0x10963f0c0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 "(null)" UserInfo={OCErrorDate=2026-07-01 19:28:43 +0000}, label: Retry>, file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.373000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b1420, eventType: 16, driveID: (null), path: (null), uuid: 6B2FC099-3252-4DE8-8ECA-80E71D4CBF5F, userInfo: {\n    syncIssue = "<OCSyncIssue: 0x1095b1490, uuid: E8C9C350-3E1C-4DB2-A898-D58973B401C8, syncRecordID: 759, templateIdentifier: upload.retry, level: 2, title: Couldn't upload justificante.pdf, description: No se ha podido completar la operaci\U00f3n. (Error de OCHTTPStatusErrorDomain 500.), choices: (\n    \"<OCSyncIssueChoice: 0x10963cc80, identifier: _cancel, autoChoiceForError: (null), label: Cancelar>\",\n    \"<OCSyncIssueChoice: 0x10963f5c0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 \\\"(null)\\\" UserInfo={OCErrorDate=2026-07-02 09:12:15 +0000}, label: Retry>\"\n)>";\n    syncRecordID = 759;\n    waitConditionUUID = "0668A79C-B851-4934-A8CD-2C7F2B8B13BD";\n}, result: <OCSyncIssueChoice: 0x10963f640, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 "(null)" UserInfo={OCErrorDate=2026-07-02 09:12:15 +0000}, label: Retry>, file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.375000+0200 OpenCloud Share Extension[1975:165771] [info] | [CORE, SyncEngine] No more active sync lanes… [OCCore+SyncEngine.m:1038|FULL]
2026-08-01 23:26:15.376000+0200 OpenCloud Share Extension[1975:165762] [info] | [CORE, ScanChanges, …] Starting update scan [… ItemList] [OCCore+ItemList.m:1276|FULL]
2026-08-01 23:26:15.388000+0200 OpenCloud Share Extension[1975:165771] [WARN] | SQL query contains less parameters than were provided: query: SELECT maxWidth, maxHeight, data FROM thumb.resources WHERE identifier = :identifier AND type = :type   ORDER BY (maxWidth = :maxWidth AND maxHeight = :maxHeight) DESC, (maxWidth >= :maxWidth AND maxHeight >= :maxHeight) DESC, (((maxWidth < :maxWidth AND maxHeight < :maxHeight) * -1000 + 1) * ((maxWidth * maxHeight) - (:maxWidth * :maxHeight))) ASC LIMIT 0,1 - parameters: {\n    identifier = "[REDACTED-USER]:0";\n    maxHeight = 384;\n    maxWidth = 384;\n    structDesc = "<null>";\n    type = "image.avatar";\n    version = "<null>";\n} [OCSQLiteStatement.m:221|FULL]
2026-08-01 23:26:15.389000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Request, …] REQUEST 4534A5D0-F6F0-4AE2-B535-512A2C8B827B {"request":{"body":{},"info":{"id":"4534A5D0-F6F0-4AE2-B535-512A2C8B827B","required-signals":["authAvailable"],"method":"GET","url-session-task-id":5,"url":"https:\/\/files.[REDACTED-DOMAIN]\/remote.php\/dav\/avatars\/[REDACTED-USER]\/384.png"},"header":{"X-Request-ID":"4534A5D0-F6F0-4AE2-B535-512A2C8B827B","Original-Request-ID":"4534A5D0-F6F0-4AE2-B535-512A2C8B827B","Authorization":"Bearer [redacted:0]","Accept-Language":"ca","User-Agent":"OpenCloudApp\/1.2.3 (Extensió de compartició d'OpenCloud\/4; iOS\/26.6; iPhone)"}}} [… GET, RequestID:4534A5D0-F6F0-4AE2-B535-512A2C8B827B, URLSessionTaskID:5] [OCHTTPPipeline.m:1304|FULL]
2026-08-01 23:26:15.398000+0200 OpenCloud Share Extension[1975:165756] [ERRO] | [KeyValueStore] Error copying file after not making changes: Error Domain=NSCocoaErrorDomain Code=516 "“9411A98B-E45C-4614-8C89-D03BDC28D96A.ockvs” no se ha podido copiar en “9411A98B-E45C-4614-8C89-D03BDC28D96A” porque ya existe un ítem con el mismo nombre." UserInfo={NSSourceFilePathErrorKey=/var/mobile/Containers/Shared/AppGroup/C2F64860-B64F-42F4-8419-7F6B183D4024/Vaults/9411A98B-E45C-4614-8C89-D03BDC28D96A/9411A98B-E45C-4614-8C89-D03BDC28D96A.ockvs, NSUserStringVariant=(\n    Copy\n), NSDestinationFilePath=/private/var/mobile/Containers/Shared/AppGroup/C2F64860-B64F-42F4-8419-7F6B183D4024/Vaults/9411A98B-E45C-4614-8C89-D03BDC28D96A/9411A98B-E45C-4614-8C89-D03BDC28D96A.ockvs, NSFilePath=/var/mobile/Containers/Shared/AppGroup/C2F64860-B64F-42F4-8419-7F6B183D4024/Vaults/9411A98B-E45C-4614-8C89-D03BDC28D96A/9411A98B-E45C-4614-8C89-D03BDC28D96A.ockvs, NSURL=file:///var/mobile/Containers/Shared/AppGroup/C2F64860-B64F-42F4-8419-7F6B183D4024/Vaults/9411A98B-E45C-4614-8C89-D03BDC28D96A/9411A98B-E45C-4614-8C89-D03BDC28D96A.ockvs, NSUnderlyingError=0x10979f2a0 {Error Domain=NSPOSIXErrorDomain Code=17 "File exists"}} [OCKeyValueStore.m:802|FULL]
2026-08-01 23:26:15.410000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b1dc0, eventType: 7, driveID: (null), path: (null), uuid: 43EA5753-D47F-454A-9483-A67A4B5780BC, userInfo: {\n    actionTrackingID = "5069C7BB-45D0-4A17-AE96-C9CA1B6B35A6";\n    syncRecordID = 124;\n}, result: (null), file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.410000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b0fc0, eventType: 16, driveID: (null), path: (null), uuid: 2D095DB6-4862-479E-B24D-68A53C55CB87, userInfo: {\n    syncIssue = "<OCSyncIssue: 0x1095b1030, uuid: B6BBD601-FB7E-48B4-A9A9-ACAD9B11A8EE, syncRecordID: 754, templateIdentifier: upload.retry, level: 2, title: Couldn't upload descargarCertificadoObtenerCertificacion.action, description: No se ha podido completar la operaci\U00f3n. (Error de OCHTTPStatusErrorDomain 500.), choices: (\n    \"<OCSyncIssueChoice: 0x10963f040, identifier: _cancel, autoChoiceForError: (null), label: Cancelar>\",\n    \"<OCSyncIssueChoice: 0x10963dac0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 \\\"(null)\\\" UserInfo={OCErrorDate=2026-07-01 19:28:43 +0000}, label: Retry>\"\n)>";\n    syncRecordID = 754;\n    waitConditionUUID = "EBA0AF0D-1499-40AC-B0FB-AC515EA7587D";\n}, result: <OCSyncIssueChoice: 0x10963f0c0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 "(null)" UserInfo={OCErrorDate=2026-07-01 19:28:43 +0000}, label: Retry>, file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.410000+0200 OpenCloud Share Extension[1975:165771] [WARN] | [CORE, EventRecord, …] Skipping duplicate event - not inserting into the database: <OCEvent: 0x1095b1420, eventType: 16, driveID: (null), path: (null), uuid: 6B2FC099-3252-4DE8-8ECA-80E71D4CBF5F, userInfo: {\n    syncIssue = "<OCSyncIssue: 0x1095b1490, uuid: E8C9C350-3E1C-4DB2-A898-D58973B401C8, syncRecordID: 759, templateIdentifier: upload.retry, level: 2, title: Couldn't upload justificante.pdf, description: No se ha podido completar la operaci\U00f3n. (Error de OCHTTPStatusErrorDomain 500.), choices: (\n    \"<OCSyncIssueChoice: 0x10963cc80, identifier: _cancel, autoChoiceForError: (null), label: Cancelar>\",\n    \"<OCSyncIssueChoice: 0x10963f5c0, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 \\\"(null)\\\" UserInfo={OCErrorDate=2026-07-02 09:12:15 +0000}, label: Retry>\"\n)>";\n    syncRecordID = 759;\n    waitConditionUUID = "0668A79C-B851-4934-A8CD-2C7F2B8B13BD";\n}, result: <OCSyncIssueChoice: 0x10963f640, identifier: _retry, autoChoiceForError: Error Domain=OCHTTPStatusErrorDomain Code=500 "(null)" UserInfo={OCErrorDate=2026-07-02 09:12:15 +0000}, label: Retry>, file: (null)> [… SyncEngine] [OCCore+SyncEngine.m:772|FULL]
2026-08-01 23:26:15.411000+0200 OpenCloud Share Extension[1975:165771] [info] | [CORE, SyncEngine] No more active sync lanes… [OCCore+SyncEngine.m:1038|FULL]
2026-08-01 23:26:15.457000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Response, …] RESPONSE 4534A5D0-F6F0-4AE2-B535-512A2C8B827B {"response":{"body":{},"info":{"id":"4534A5D0-F6F0-4AE2-B535-512A2C8B827B","required-signals":["authAvailable"],"method":"GET","url-session-task-id":5,"url":"https:\/\/files.[REDACTED-DOMAIN]\/remote.php\/dav\/avatars\/[REDACTED-USER]\/384.png","reply":{"status":404,"metrics":"{ total: [2026-08-01 21:26:15 +0000 - 2026-08-01 21:26:15 +0000, 0.07 sec], startedAfter: 0.00, redirects: 0, transactions: [1: fetchStart: 0.00, request: 0.00..0.00 (0.00), cloud: 0.00..0.07 (0.07), response: 0.07..0.07 (0.00)] }","status-name":"NOT FOUND"}},"header":{"x-content-type-options":"nosniff","content-security-policy":"child-src 'self'; connect-src 'self' blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/ https:\/\/update.opencloud.eu\/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https:\/\/embed.diagrams.net\/; img-src 'self' data: blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'","x-permitted-cross-domain-policies":"none","Date":"Sat, 01 Aug 2026 21:26:15 GMT","Content-Length":"0","x-frame-options":"SAMEORIGIN","x-robots-tag":"none","x-request-id":"4534A5D0-F6F0-4AE2-B535-512A2C8B827B","Vary":"Origin","referrer-policy":"strict-origin-when-cross-origin","x-xss-protection":"1; mode=block"}}} [… GET, RequestID:4534A5D0-F6F0-4AE2-B535-512A2C8B827B, URLSessionTaskID:5] [OCHTTPPipeline.m:1499|FULL]
2026-08-01 23:26:16.592000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Request, …] REQUEST 314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D {"request":{"body":{"data":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<D:propfind xmlns:D=\"DAV:\" xmlns:oc=\"http:\/\/owncloud.org\/ns\">\n<D:prop>\n<D:resourcetype\/>\n<D:getlastmodified\/>\n<D:getcontentlength\/>\n<D:getcontenttype\/>\n<D:getetag\/>\n<oc:id\/>\n<oc:size\/>\n<oc:permissions\/>\n<oc:favorite\/>\n<oc:share-types\/>\n<oc:owner-id\/>\n<oc:owner-display-name\/>\n<\/D:prop>\n<\/D:propfind>\n","length":339},"info":{"id":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","required-signals":["authAvailable"],"method":"PROPFIND","url-session-task-id":6,"url":"https:\/\/files.[REDACTED-DOMAIN]\/dav\/spaces\/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\/"},"header":{"Prefer":"return=minimal","X-Request-ID":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","Original-Request-ID":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","Content-Type":"application\/xml","Depth":"1","User-Agent":"OpenCloudApp\/1.2.3 (Extensió de compartició d'OpenCloud\/4; iOS\/26.6; iPhone)","Authorization":"Bearer [redacted:0]","Accept-Language":"ca"}}} [… PROPFIND, RequestID:314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D, URLSessionTaskID:6] [OCHTTPPipeline.m:1304|FULL]
2026-08-01 23:26:16.727000+0200 OpenCloud Share Extension[1975:165765] [dbug] | [HTTP, Response, …] RESPONSE 314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D {"response":{"body":{"local-data-url":"file:\/\/\/private\/var\/mobile\/Containers\/Shared\/AppGroup\/C2F64860-B64F-42F4-8419-7F6B183D4024\/HTTPPipeline\/tmp\/ephermal\/9411A98B-E45C-4614-8C89-D03BDC28D96A\/314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","length":0},"info":{"id":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","required-signals":["authAvailable"],"method":"PROPFIND","url-session-task-id":6,"url":"https:\/\/files.[REDACTED-DOMAIN]\/dav\/spaces\/a16632a4-94a9-48b6-a82e-298269205767$d9cb14c1-4e11-4362-b872-1253dd49e697\/","reply":{"status":500,"metrics":"{ total: [2026-08-01 21:26:16 +0000 - 2026-08-01 21:26:16 +0000, 0.14 sec], startedAfter: 0.00, redirects: 0, transactions: [1: fetchStart: 0.00, DNS: 0.00..0.00 (0.00), connect: 0.00..0.07 (0.06), TLS: 0.03..0.07 (0.04), request: 0.07..0.07 (0.00), cloud: 0.07..0.13 (0.13), response: 0.13..0.13 (0.00)] }","status-name":"INTERNAL SERVER ERROR"}},"header":{"x-content-type-options":"nosniff","content-security-policy":"child-src 'self'; connect-src 'self' blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/ https:\/\/update.opencloud.eu\/; default-src 'none'; font-src 'self'; frame-ancestors 'self'; frame-src 'self' blob: https:\/\/embed.diagrams.net\/; img-src 'self' data: blob: https:\/\/raw.githubusercontent.com\/opencloud-eu\/awesome-apps\/; manifest-src 'self'; media-src 'self'; object-src 'self' blob:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'","x-permitted-cross-domain-policies":"none","Date":"Sat, 01 Aug 2026 21:26:16 GMT","Content-Length":"0","x-frame-options":"SAMEORIGIN","x-robots-tag":"none","x-request-id":"314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D","Vary":"Origin","referrer-policy":"strict-origin-when-cross-origin","x-xss-protection":"1; mode=block"}}} [… PROPFIND, RequestID:314F8FA0-AC87-4EAB-87B5-1A7843A6ED9D, URLSessionTaskID:6] [OCHTTPPipeline.m:1499|FULL]


Tell us what could be improved:

Accents should not leak to the User-Agent, or request will be rejected by the backend. The regression was most likely introduced in #55)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions