GithubHelp home page GithubHelp logo

Comments (13)

jbelkins avatar jbelkins commented on August 21, 2024 2

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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

@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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

@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.

jbelkins avatar jbelkins commented on August 21, 2024

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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

Thanks. The ticket is implemented and is being reviewed. We will be publishing a fix soon.

from swift-sdk.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

@jbelkins We have the fix merged in master branch. Would you be able to try that?

from swift-sdk.

jbelkins avatar jbelkins commented on August 21, 2024

@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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

@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.

jbelkins avatar jbelkins commented on August 21, 2024

@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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

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.

jbelkins avatar jbelkins commented on August 21, 2024

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.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

@jbelkins That is great news. I will update when we ship this change.

from swift-sdk.

tapashmajumder avatar tapashmajumder commented on August 21, 2024

This issue is fixed in latest release 6.4.0. Closing.

from swift-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.