feat(ios): declare publish cancellation to swift, and unshadow Platform

Seven `@Throws` on the publish path now name
`kotlin.coroutines.cancellation.CancellationException` alongside
`NostrPublishException`. Without it a publish cancelled by the screen
navigating away crosses the ObjC boundary as an unexpected throw rather
than as the cancellation it is, and swift has no way to tell the two
apart. Six of the seven already existed; `EventPublishTransport` had
none, so the interface the group-signed path publishes through said less
about itself than the implementation behind it.

`Platform.ios.kt` also imported `kotlin.native.Platform`, which shadows
the app's own `Platform` interface the file is there to implement. It was
unused and nothing on this host compiles iosMain, so the compiler never
said so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kgothatso Ngako
2026-10-02 23:51:13 +02:00
parent 73b2c8ae9a
commit fc19583225
5 changed files with 7 additions and 7 deletions

View File

@@ -1,7 +1,6 @@
package press.mantra.compose
import platform.UIKit.UIDevice
import kotlin.native.Platform
class IOSPlatform: Platform {
override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion