pub enum AppAction {
Show 68 variants
CreateAccount {
name: String,
},
UpdateProfileMetadata {
name: String,
picture_url: Option<String>,
},
RestoreSession {
owner_nsec: String,
},
RestoreAccountBundle {
owner_nsec: Option<String>,
owner_pubkey_hex: String,
device_nsec: String,
},
StartLinkedDevice {
owner_input: String,
},
AppForegrounded,
Logout,
CreateChat {
peer_input: String,
},
CreateGroup {
name: String,
member_inputs: Vec<String>,
},
CreateGroupWithPicture {
name: String,
member_inputs: Vec<String>,
picture_file_path: String,
picture_filename: String,
},
CreatePublicInvite,
AcceptInvite {
invite_input: String,
},
OpenChat {
chat_id: String,
},
SendMessage {
chat_id: String,
text: String,
},
SendDisappearingMessage {
chat_id: String,
text: String,
expires_at_secs: u64,
},
SetChatMessageTtl {
chat_id: String,
ttl_seconds: Option<u64>,
},
SetChatMuted {
chat_id: String,
muted: bool,
},
SetChatPinned {
chat_id: String,
pinned: bool,
},
SetChatUnread {
chat_id: String,
unread: bool,
},
SendAttachment {
chat_id: String,
file_path: String,
filename: String,
caption: String,
},
SendAttachments {
chat_id: String,
attachments: Vec<OutgoingAttachment>,
caption: String,
},
ToggleReaction {
chat_id: String,
message_id: String,
emoji: String,
},
SendTyping {
chat_id: String,
},
StopTyping {
chat_id: String,
},
SetTypingIndicatorsEnabled {
enabled: bool,
},
SetReadReceiptsEnabled {
enabled: bool,
},
SetDesktopNotificationsEnabled {
enabled: bool,
},
SetInviteAcceptanceNotificationsEnabled {
enabled: bool,
},
SetStartupAtLoginEnabled {
enabled: bool,
},
SetNearbyEnabled {
enabled: bool,
},
SetNearbyBluetoothEnabled {
enabled: bool,
},
SetNearbyLanEnabled {
enabled: bool,
},
SetDebugLoggingEnabled {
enabled: bool,
},
SetAcceptUnknownDirectMessages {
enabled: bool,
},
SetUserBlocked {
owner_pubkey_hex: String,
blocked: bool,
},
SetMessageRequestAccepted {
chat_id: String,
},
SetNearbyMailbagEnabled {
enabled: bool,
},
AddNostrRelay {
relay_url: String,
},
UpdateNostrRelay {
old_relay_url: String,
new_relay_url: String,
},
RemoveNostrRelay {
relay_url: String,
},
SetNostrRelays {
relay_urls: Vec<String>,
},
ResetNostrRelays,
SetImageProxyEnabled {
enabled: bool,
},
SetImageProxyUrl {
url: String,
},
SetImageProxyKeyHex {
key_hex: String,
},
SetImageProxySaltHex {
salt_hex: String,
},
ResetImageProxySettings,
SetMobilePushServerUrl {
url: String,
},
ResetMobilePushServerUrl,
IngestMobilePushPayload {
payload_json: String,
},
MarkMessagesSeen {
chat_id: String,
message_ids: Vec<String>,
},
SendReceipt {
chat_id: String,
receipt_type: String,
message_ids: Vec<String>,
},
DeleteLocalMessage {
chat_id: String,
message_id: String,
},
DeleteChat {
chat_id: String,
},
UpdateGroupName {
group_id: String,
name: String,
},
UpdateGroupPicture {
group_id: String,
file_path: String,
filename: String,
},
AddGroupMembers {
group_id: String,
member_inputs: Vec<String>,
},
SetGroupAdmin {
group_id: String,
owner_pubkey_hex: String,
is_admin: bool,
},
RemoveGroupMember {
group_id: String,
owner_pubkey_hex: String,
},
UploadProfilePicture {
file_path: String,
},
AddAuthorizedDevice {
device_input: String,
},
RemoveAuthorizedDevice {
device_pubkey_hex: String,
},
AcknowledgeRevokedDevice,
PushScreen {
screen: Screen,
},
UpdateScreenStack {
stack: Vec<Screen>,
},
NavigateBack,
SetChatDraft {
chat_id: String,
text: String,
},
DeleteProfileMetadata,
}Variants§
CreateAccount
UpdateProfileMetadata
RestoreSession
RestoreAccountBundle
StartLinkedDevice
AppForegrounded
Logout
CreateChat
CreateGroup
CreateGroupWithPicture
CreatePublicInvite
AcceptInvite
OpenChat
SendMessage
SendDisappearingMessage
SetChatMessageTtl
SetChatMuted
SetChatPinned
SetChatUnread
SendAttachment
SendAttachments
ToggleReaction
SendTyping
StopTyping
SetTypingIndicatorsEnabled
SetReadReceiptsEnabled
SetDesktopNotificationsEnabled
SetInviteAcceptanceNotificationsEnabled
SetStartupAtLoginEnabled
SetNearbyEnabled
SetNearbyBluetoothEnabled
SetNearbyLanEnabled
SetDebugLoggingEnabled
SetAcceptUnknownDirectMessages
SetUserBlocked
Block / unblock a peer owner (Signal-style global blocklist). When blocked, the core drops the peer from both the nostr relay subscription and the mobile push subscription, refuses outgoing sends, and hides their thread / discards their incoming messages.
SetMessageRequestAccepted
Mark a direct chat’s peer as accepted (Signal whitelist). The
projection’s is_request flag flips to false. Sending the
first outgoing message also implicitly accepts.
SetNearbyMailbagEnabled
Pause / resume the nearby mailbag’s store-and-forward writer and reader. The bag’s existing contents survive the toggle so the user can flip it back on without losing what was queued; wiping is a separate, shell-local “Empty mailbag” action that targets the platform’s nearby service directly.
AddNostrRelay
UpdateNostrRelay
RemoveNostrRelay
SetNostrRelays
ResetNostrRelays
SetImageProxyEnabled
SetImageProxyUrl
SetImageProxyKeyHex
SetImageProxySaltHex
ResetImageProxySettings
SetMobilePushServerUrl
ResetMobilePushServerUrl
IngestMobilePushPayload
MarkMessagesSeen
SendReceipt
DeleteLocalMessage
DeleteChat
UpdateGroupName
UpdateGroupPicture
AddGroupMembers
SetGroupAdmin
RemoveGroupMember
UploadProfilePicture
AddAuthorizedDevice
RemoveAuthorizedDevice
AcknowledgeRevokedDevice
PushScreen
UpdateScreenStack
SetChatDraft
Persist the unsent composer text for a chat. Shells dispatch
this on composer change (debounced) and on send-or-leave so
the draft survives navigation, app suspend, and relaunch —
same shape as Signal’s updateWithDraft. Empty string clears.
DeleteProfileMetadata
Publish a blank owner metadata event so public profile name/photo are cleared before the shell removes local keys and data.
Trait Implementations§
Source§impl<UT> ConvertError<UT> for AppAction
impl<UT> ConvertError<UT> for AppAction
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl<UT> FfiConverter<UT> for AppAction
impl<UT> FfiConverter<UT> for AppAction
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> LiftReturn<UT> for AppAction
impl<UT> LiftReturn<UT> for AppAction
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> LowerError<UT> for AppAction
impl<UT> LowerError<UT> for AppAction
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for AppAction
impl<UT> LowerReturn<UT> for AppAction
Source§type ReturnType = <AppAction as Lower<UT>>::FfiType
type ReturnType = <AppAction as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Auto Trait Implementations§
impl Freeze for AppAction
impl RefUnwindSafe for AppAction
impl Send for AppAction
impl Sync for AppAction
impl Unpin for AppAction
impl UnsafeUnpin for AppAction
impl UnwindSafe for AppAction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more