Comments (13)
Apple's documentation for UNUSerNotificationCenter's getNotificationSettings(completion:)
method says the completion block "may execute [the completion] block on a background thread" (my emphasis on "may".)
I would read this to imply that the completion block may be called on the main thread under some circumstances, which would explain the deadlock that apparently is happening in my app.
In any case, it's poor practice to wait the main thread on a semaphore while stuff happens on other threads, and this code should be changed to not block the main thread that way.
from swift-sdk.
@jbelkins Thank you for brining this to our attention. We have not seen this issue locally.
We will greatly appreciate if you can try our solution and provide feedback once we commit this to a branch.
from swift-sdk.
@jbelkins Agreed. Our code earlier was non-blocking and this code was introduced via due to some other problems. We will be looking at this issue with high priority.
from swift-sdk.
Thanks for your prompt attention. Please tag me when you publish a fix and I'll ship it as soon as I can.
FYI I just filed an Iterable support ticket citing this Github issue as well.
from swift-sdk.
Thanks. The ticket is implemented and is being reviewed. We will be publishing a fix soon.
from swift-sdk.
@jbelkins We have the fix merged in master
branch. Would you be able to try that?
from swift-sdk.
@tapashmajumder Might be middle of next week before I can put up a new app release. If you can get this tested at your end, you should go ahead & release it.
And if I do ship this fix before it's published, rather than take everything in master, I'll lock to this commit: bccfb50 Would that work?
from swift-sdk.
@jbelkins Yes that is the right commit if you can release.
Master currently has a security fix which we would like to release together with other security tickets that we are currently working on. So it may take us some time (probably around 7-10 days or so) to publish our next release.
from swift-sdk.
@tapashmajumder Just shipped this fix today. I should be able to say whether this is fixed in about a week or so.
from swift-sdk.
Hi @jbelkins Thank you so much. Please keep us updated. We will be releasing a new version with this and a few other fixes in a week or two.
from swift-sdk.
I’ve had this fix in production for about 9 days now and no reoccurrences thus far. I think this can be closed now.
Please let me know when this ships in a stable release.
from swift-sdk.
@jbelkins That is great news. I will update when we ship this change.
from swift-sdk.
This issue is fixed in latest release 6.4.0. Closing.
from swift-sdk.
Related Issues (20)
- If initial JWT token request fails, SDK doesn't ever request a new one HOT 2
- In-app messages black background does not expand to full height of phone screen HOT 1
- 6.4.12 contains semver-breaking API change HOT 2
- Type 'ReactIterableAPI' does not conform to protocol 'IterableAuthDelegate' HOT 1
- If the in-app message's position not being set to "full", the in-app will auto disappear with animation and app freezes on some devices HOT 2
- SPM Integration HOT 1
- Crash in RequestHandler.swift with InternalIterableAPI Initialization HOT 11
- InAppDisplayer: We need a way to set the `topViewController`
- [Bug]: crash on NWPathMonitor HOT 1
- After updating Iterable to 6.4.17 Circle CI pipeline is failing - ❌ error: Build input file cannot be found: '/Users/distiller/project/Pods/Iterable-iOS-SDK/swift-sdk/Internal/DependencyContainerProtocol.swift'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'Iterable-iOS-SDK' from project 'Pods')
- Add Privacy Manifest HOT 6
- Image as Attachment in Push Notification payload doesn't get displayed
- Rename the package sdk something different than `swift-sdk` HOT 4
- Add OnSuccessHandler and OnFailureHandler to logoutUser() function HOT 1
- Swift access race in IterableSDK.Pending.onSuccess
- Making a `getMessages` once per day
- Thread Performance Checker failure
- Xcode 16 beta 2 throws error stating Type 'WKWebView' does not conform to protocol 'WebViewProtocol' HOT 9
- CodeQL - String length conflation
- type 'ReactIterableAPI' does not conform to protocol 'IterableAuthDelegate' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swift-sdk.