Various fixes

This commit is contained in:
Ilya Laktyushin
2025-03-12 00:40:11 +04:00
parent 21c9965750
commit 5ee53ad996
46 changed files with 474 additions and 94 deletions

View File

@@ -568,6 +568,21 @@ private final class StarsContextImpl {
self._state = state
self._statePromise.set(.single(state))
}
var onUpdate: Signal<Void, NoError> {
return self._statePromise.get()
|> take(until: { value in
if let value {
if !value.flags.contains(.isPendingBalance) {
return SignalTakeAction(passthrough: true, complete: true)
}
}
return SignalTakeAction(passthrough: false, complete: false)
})
|> map { _ in
return Void()
}
}
}
private extension StarsContext.State.Transaction {
@@ -1011,6 +1026,17 @@ public final class StarsContext {
}
}
public var onUpdate: Signal<Void, NoError> {
return Signal { subscriber in
let disposable = MetaDisposable()
self.impl.with { impl in
disposable.set(impl.onUpdate.start(next: { value in
subscriber.putNext(value)
}))
}
return disposable
}
}
init(account: Account) {
self.impl = QueueLocalObject(queue: Queue.mainQueue(), generate: {