# UploadBlob time out on iOS

**URL:** <https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009>\
**Category:** Support\
**Created:** [22 April 2025 18:48 UTC](https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009 "2025-04-22T18:48:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![apj68](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/apj68/32/16053_2.png) [@apj68](https://discourse.joplinapp.org/u/apj68)\
**Post date:** [22 April 2025 18:48 UTC](https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009/1 "2025-04-22T18:48:52Z")

</div>

### Operating system

iOS

### Joplin version

13.2.5

### Sync target

Joplin Server

### What issue do you have?

I'm back to getting an uploadBlob error. I previously [requested help on this](https://discourse.joplinapp.org/t/error-uploadblob-put-request-timed-out-w-ios-mobile-client/44172/3) but it suddenly resolved itself. It's doing the same thing now. I'm using self-hosted Joplin Server.

I don't have a problem at all with my MacOS desktop 3.2.11. My Android 3.2.7 version synch'ed initially but now it doesn't sync but doesn't error. I had started this forum post and started including various logs when suddenly my iOS decided to do a full sync!

Ok, so now I think we're getting somewhere. Are there settings either on the server or on the clients that would alleviate contention between multiple clients? Reason I ask, I'm beginning to suspect that if I only have one client connected then it works fine. Otherwise, for iOS, as an example, I'll get an uploadBlob timeout error, like this:

```auto
04-22T10:17:38: RevisionService: maintenance: Done in 106ms
04-22T10:17:38: RevisionService: collectRevisions: Created revisions for 0 notes
04-22T10:17:38: RevisionService: maintenance: Starting...
04-22T10:17:38: RevisionService: maintenance: Service is enabled
04-22T10:17:26: root: root.biometrics: shouldShowMainContent <true>
04-22T10:17:26: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-22T10:17:26: root: root.biometrics: biometricsDone <true>
04-22T10:17:26: root: root.biometrics: biometricsEnabled <false>
04-22T10:17:24: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-22T10:17:24: root: root.biometrics: biometricsDone <true>
04-22T10:17:24: root: root.biometrics: biometricsEnabled <false>
04-22T10:17:24: root: root.biometrics: shouldShowMainContent <true>
04-22T10:17:21: DecryptionWorker: cannot start because no master key is currently loaded.
04-22T10:17:20: root: root.biometrics: biometricsDone <true>
04-22T10:17:20: root: root.biometrics: biometricsEnabled <false>
04-22T10:17:20: root: root.biometrics: shouldShowMainContent <true>
04-22T10:17:20: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-22T10:17:20: checkDisabledSyncItemsNotification: No errors: Hiding notification
04-22T10:17:20: Synchronizer: Total folders: 1
04-22T10:17:20: Synchronizer: Total notes: 0
04-22T10:17:20: Synchronizer: Total resources: 3
04-22T10:17:20: Synchronizer: There was some errors:
04-22T10:17:20: Synchronizer: Error: uploadBlob: PUT https://joplin.mydomain.org/api/items/root:/.resource/4a288ebb5cd540339b6bf67b8b81eb73:/content: Error: The request timed out.
Error: uploadBlob: PUT https://joplin.mydomain.org/api/items/root:/.resource/4a288ebb5cd540339b6bf67b8b81eb73:/content: Error: The request timed out.
    at ?anon_0_ (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:405028:26)
    at throw (native)
    at asyncGeneratorStep (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:65318:19)
    at _throw (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:65335:29)
    at tryCallOne (address at InternalBytecode.js:1:1180)
    at anonymous (address at InternalBytecode.js:1:1874)
    at apply (native)
    at anonymous (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:14625:26)
    at _callTimer (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:14514:17)
    at _callReactNativeMicrotasksPass (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:14552:17)
    at callReactNativeMicrotasks (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:14755:44)
    at __callReactNativeMicrotasks (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:3583:48)
    at anonymous (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:3447:45)
    at __guard (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:3555:15)
    at flushedQueue (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:3446:21)
    at invokeCallbackAndReturnFlushedQueue (/Users/laurent/Library/Developer/Xcode/DerivedData/Joplin-ewsyxzklwwggmtdeyavpfmrkhqhv/Build/Intermediates.noindex/ArchiveIntermediates/Joplin/BuildProductsPath/Release-iphoneos/main.jsbundle:3440:33)

```

When iOS is working, Android is not and vice versa.

This has been been variously nagging and haunting me. I don't know if the multiple client theory has any merit but in brief the description of the problem is: intermittently when using multiple mobile clients one will stop synching. On Android, there's no error, it just minimizes the app (this part could be an Android thing) and stops synching. On iOS, when it's not working it gives an uploadBlob timeout error (above). The problem only seems to impact the mobile clients, not the desktop.

Any thoughts would be appreciated!

---

<div class="post-metadata">

**Author:** ![laurent](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@laurent](https://discourse.joplinapp.org/u/laurent)\
**Post date:** [22 April 2025 21:49 UTC](https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009/2 "2025-04-22T21:49:43Z")

</div>

Could you maybe search for this resource `4a288ebb5cd540339b6bf67b8b81eb73` to find out how large it is? If it's unusually large, like several GB, that may be the issue.

And is it always on that resource?

---

<div class="post-metadata">

**Author:** ![apj68](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/apj68/32/16053_2.png) [@apj68](https://discourse.joplinapp.org/u/apj68)\
**Post date:** [24 April 2025 14:22 UTC](https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009/3 "2025-04-24T14:22:02Z")

</div>

> [@laurent](#):
>
> 4a288ebb5cd540339b6bf67b8b81eb73

Thanks... I searched both desktop and mobile clients and couldn't find a note with that ID so.. I don't know. Anyhow, I don't believe I have any notes that are that large.

As of now, I just keep trying and eventually I can get one to start a sync.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex028/uploads/cozic/original/3X/1/c/1c948e33314e232a0927789508474d8624f4270b.png) [@system](https://discourse.joplinapp.org/u/system)\
**Post date:** [24 May 2025 14:22 UTC](https://discourse.joplinapp.org/t/uploadblob-time-out-on-ios/45009/4 "2025-05-24T14:22:54Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
