Do you know these spaghetti monsters? 🤔
They provide a very well explanation of how to terminate a Live Activity when the app is terminated in iOS concurrently here:
Do you know these spaghetti monsters? 🤔
They provide a very well explanation of how to terminate a Live Activity when the app is terminated in iOS concurrently here:
Swift's concurrency model has fundamentally changed how we write asynchronous code — and the gap between "I've read the proposals" and "I can ship this in production without data races" is wider than most engineers admit. Murali's workshop is hands-on with the actual mental model: actors, async/await, sendability, structured concurrency, and the failure modes you only learn by hitting them. Bring a Mac with Xcode.
@muralidharan_k leads iOS at Bally's Interactive in London and writes weekly at SwiftPublished.in. He's also part of the @SwiftLeeds team.
🗓 Monday 18 May · 09:00 · Option room · Leas Cliff Hall, Folkestone
🎟 https://swiftcraft.uk
#SwiftCraft2026 #iOSDev #Swift #SwiftCommunity #SwiftConcurrency
@muralidharan_k is teaching a Monday morning workshop at SwiftCraft 2026: Mastering Swift Concurrency.
He's also giving a Tuesday afternoon talk that's earned its title: What Really Happens When You Press Command+B (And Why It Takes Forever).
Workshops are now included with every SwiftCraft ticket — one ticket gets you both.
🗓 Monday 18 May · 09:00 · Option room · Leas Cliff Hall, Folkestone
🎟 https://swiftcraft.uk
#SwiftCraft2026 #iOSDev #Swift #SwiftCommunity #SwiftConcurrency
@mattiem @DaylishApp next will be @zenitizer but that’s a little more ambitious as the code base is older … but I’m motivated to do this now.
I think the “post Swift 6.2 world” is a good time for folks who were curious about #SwiftConcurrency but haven’t embraced it yet to give it a go 🤓
“… we can entirely eliminate suspension points and make everything synchronous when dealing with an actor …”
Only a MONSTER can leave me waiting for another week with this cliffhanger!!! 🥲
On a serious note, I’ve been really enjoying this series from @pointfreeco and cannot wait for the rest of videos!
Really quickly this morning, I pulled out some swift async helpers I've been using in some personal apps into a separate repo, mostly to make it easier to keep them all in sync. I published it at https://forge.younata.com/you/AsyncExtensions
Probably the most interesting thing there is AsyncMultiChannel. Which is like https://github.com/apple/swift-async-algorithms/blob/main/Sources/AsyncAlgorithms/AsyncAlgorithms.docc/Guides/Channel.md, but it supports multiple subscribers. I should rename it, because it's intended to be used in more of a pub-sub architecture than as 1-1 communication.
🚀 I just released Swift Streamable Actors v1.0!
If you’ve ever wanted to observe changes to a Swift Actor's state as an AsyncStream without writing 30 lines of boilerplate for every property, this macro is for you.
Key highlights: ✅ 100% Type-safe (no type-erasure/AnyKeyPath) ✅ Memory safe (static factories avoid strong reference cycles) ✅ Clean API: @Streamable does it all.
Check out the code: https://github.com/malhal/swift-streamable-actors
Looked at code using Swift Concurrency:
Immediately found a bug:
state = .working(progress: 0)
await doSomething() { percent in
state = .working(progress: percent)
}
state = .done
What’s the value of `state` now?
(“Surely `.done`” is the wrong answer)