Giter Club home page Giter Club logo

Comments (5)

aledebla03 avatar aledebla03 commented on July 28, 2024 1

Same issue here

from alerttoast.

neoighodaro avatar neoighodaro commented on July 28, 2024

Hey, any workarounds? Seems this is not getting fixed

from alerttoast.

kawaja avatar kawaja commented on July 28, 2024

I have been looking at this and believe I have a fix. I'll raise a PR with my modifications.

The issue relates to changing from one displayMode to another. It actually occurs not just on the first call, but any time a new AlertToast is created with a different displayMode. Since the initialiser defaults to .alert, and first call is actually the second call (the first being the initialisation), the task to take the toast down is never created.

So, the workaround (without my changes) is to create the first AlertToast with the displayMode you intend to use throughout the rest of the app:

In your example @pulpfree, change this:

    @Published var toaster = AlertToast(type: .regular) {

to this:

    @Published var toaster = AlertToast(displayMode: .hud, type: .regular) {

The workaround does not work if you want to use more than one displayMode in the same app.

from alerttoast.

elai950 avatar elai950 commented on July 28, 2024

Hey @pulpfree ,
I tried to reproduce this bug but with no success.
I guess that DispatchQueue you've put in the sink operator has to do something that causes this kind of problem.
It's always better in Combine to use the .recieve(on:) operator and not create a new thread inside the sink.
Also, check your custom operator to check for any problems there (resultPublisher).

If you strip down your ObservableObject and keep only the Published variable you will see that it works as it should.

from alerttoast.

pulpfree avatar pulpfree commented on July 28, 2024

Hey @elai950. Thanks for the info, appreciate it.

from alerttoast.

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.