Repository navigation
chore(android-client): remove the unused Kotlin event bus - #354
Merged
Merged
Conversation
VoltraEventBus and VoltraEvent no longer have callers and never sent or received an event: VoltraEvent has no subclasses and fromMap always returned null, so nothing could ever be queued or delivered.
V3RON
force-pushed
the
chore/android-remove-dead-event-code
branch
from
October 15, 2026 11:47
ad6c0c5 to
052058c
Compare
V3RON
marked this pull request as ready for review
October 15, 2026 11:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this?
The Android client ships a Kotlin event bus (
voltra.events.VoltraEventBusandVoltraEvent) that nothing uses. No code sends, reads, or listens to its events,VoltraEventis a sealed class with no subclasses, andVoltraEvent.fromMapalways returnsnull, so the bus can never hold or deliver an event. Itsvoltra_event_queuepreferences file is never written. This removes both files.How does it work?
The two files under
packages/android-client/android/src/main/java/voltra/events/are deleted. Nothing else referenced them: no Kotlin caller, manifest entry, ProGuard rule, or test. No behavior changes, so there is no changeset. The classes were public Kotlin, so a host app's native code could in principle import them; any such call can simply be deleted, because the bus never delivered an event.Some neighbouring code looks related but stays, because a host app can see it and removing it would be a breaking change. It can go in a separate, versioned change:
addVoltraListenerand the event types in@use-voltra/android-client. They are public exports. On Android the function only warns and returns a no-op subscription.VoltraView'sonInteractionprop on Android. It still callsaddVoltraListener, so passing the prop logs that warning. The warning is currently the only sign that the callback never fires on Android, so this change leaves it alone.widgetIdandcomponentIdextras thatRenderCommon.ktputs on the widget launch intent. Voltra never reads them, but a host app can read them from its own activity intent.Why is this useful?
Anyone working on Android events now finds no event system rather than one that looks wired up. That matters now: native-to-JavaScript events for Android are being designed, and this bus would be an easy wrong place to start.