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>