pub struct BehaviorFlags {Show 16 fields
pub broadcast: Option<bool>,
pub allow_unknown: Option<bool>,
pub ephemeral: Option<bool>,
pub approvable: Option<bool>,
pub requires_subscription: Option<bool>,
pub deliver_subject: Option<bool>,
pub subscribable: Option<bool>,
pub deliver_to_subject_owner: Option<bool>,
pub default_flags: Option<String>,
pub gated_by_parent_flag: Option<char>,
pub gated_by_subject_flag: Option<char>,
pub requires_acceptance: Option<bool>,
pub local_only: Option<bool>,
pub ttl: Option<u64>,
pub sync: Option<bool>,
pub federated: Option<bool>,
}Expand description
Behavior flags controlling action processing
§Implementation Status
§Fully Implemented
broadcast- Checked inschedule_delivery()for self-postingallow_unknown- Validated on both inbound (permission check) and outbound (create_action)ephemeral- Skips persistence, forwards to WebSocket onlyapprovable- Enables APRV flow, auto-approve for trusted sourcesrequires_subscription- Validated on both inbound and outbounddeliver_subject- Delivers subject action along with main actionsubscribable- Enables SUBS-based permissions and visibilitydeliver_to_subject_owner- Dual delivery to subject ownerdefault_flags- Applied during action creation
§Reserved (Not Implemented)
requires_acceptance- RESERVED: Would set initial status to CONFIRMATIONlocal_only- RESERVED: Would skip federation in schedule_deliveryttl- RESERVED: Time-to-live for action expirationsync- RESERVED: Synchronous processing modefederated- RESERVED: Cross-instance federation control
Fields§
§broadcast: Option<bool>Send to all followers when posting to own wall (no audience).
Checked in schedule_delivery() for self-posting.
allow_unknown: Option<bool>Accept actions from non-connected/non-following users. Validated on both inbound (permission check) and outbound (create_action).
ephemeral: Option<bool>Don’t persist to database, only forward to WebSocket. Used for real-time ephemeral actions like typing indicators.
approvable: Option<bool>Can this action receive APRV (approval) from audience? When true, accepting this action will generate an APRV federated signal. Also enables auto-approve for trusted sources.
requires_subscription: Option<bool>Child actions require SUBS (subscription) validation. Validated on both inbound and outbound flows.
deliver_subject: Option<bool>Deliver subject action along with this action to recipients. Used by APRV to include the approved POST when fanning out.
subscribable: Option<bool>This action type can have SUBS (subscriptions) pointing to it. When true, subscribers are included in visibility checks for Direct visibility. Also enables fan-out to subscribers in parent chain.
deliver_to_subject_owner: Option<bool>Also deliver to subject’s owner (in addition to audience). Used by INVT to deliver to both invitee and CONV home for validation.
default_flags: Option<String>Default flags for this action type (R/r=reactions, C/c=comments, O/o=open). Applied during action creation.
gated_by_parent_flag: Option<char>Flag character that gates this action on the PARENT action’s flags. If set and the parent has the lowercase version, this action is rejected. E.g., ‘C’ for CMNT: if parent has ‘c’ (comments disabled), reject.
gated_by_subject_flag: Option<char>Flag character that gates this action on the SUBJECT action’s flags. Same logic but checks the subject action. E.g., ‘R’ for REACT: if subject has ‘r’ (reactions disabled), reject.
requires_acceptance: Option<bool>RESERVED: Requires user confirmation before activation. When implemented, would set initial status to CONFIRMATION.
local_only: Option<bool>RESERVED: Never federate this action type. When implemented, would skip federation in schedule_delivery.
ttl: Option<u64>RESERVED: Time to live in seconds. When implemented, would enable automatic action expiration.
sync: Option<bool>RESERVED: Process synchronously. Currently only affects IDP:REG hook execution.
federated: Option<bool>RESERVED: Allow cross-instance federation. Default behavior is to federate; this flag is reserved for future use.
Trait Implementations§
Source§impl Clone for BehaviorFlags
impl Clone for BehaviorFlags
Source§fn clone(&self) -> BehaviorFlags
fn clone(&self) -> BehaviorFlags
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BehaviorFlags
impl Debug for BehaviorFlags
Source§impl Default for BehaviorFlags
impl Default for BehaviorFlags
Source§fn default() -> BehaviorFlags
fn default() -> BehaviorFlags
Source§impl<'de> Deserialize<'de> for BehaviorFlags
impl<'de> Deserialize<'de> for BehaviorFlags
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for BehaviorFlags
impl RefUnwindSafe for BehaviorFlags
impl Send for BehaviorFlags
impl Sync for BehaviorFlags
impl Unpin for BehaviorFlags
impl UnsafeUnpin for BehaviorFlags
impl UnwindSafe for BehaviorFlags
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().