···130130- `CommitMessage` (`#commit`) - represents a change in a user's repo; most messages are of this type
131131- `IdentityMessage` (`#identity`) - notifies about a change in user's DID document, e.g. a handle change or a migration to a new PDS
132132- `AccountMessage` (`#account`) - notifies about a change of an account's status (de/activation, suspension, deletion)
133133-- `HandleMessage` (`#handle` - deprecated) - when a different handle is assigned to a user's DID
134134-- `TombstoneMessage` (`#tombstone` - deprecated) - when an account is deleted
135133- `LabelsMessage` (`#labels`) - only used in `subscribe_labels` endpoint
136134- `InfoMessage` (`#info`) - a protocol error message, e.g. about an invalid cursor parameter
137135- `UnknownMessage` is used for other unrecognized message types
138138-139139-`#handle` and `#tombstone` events are considered deprecated, replaced by `#identity` and `#account` respectively. They are still being emitted at the moment (in parallel with the newer event types), but they might stop being sent at any moment, so it's recommended that you don't rely on those.
140136141137`Skyfall::Firehose::Message` and `Skyfall::Jetstream::Message` variants of message classes should have more or less the same interface, except when a given field is not included in one of the formats.
142138
-14
lib/skyfall/firehose/handle_message.rb
···11-require_relative '../firehose'
22-33-module Skyfall
44-55- #
66- # Note: this event type is deprecated and will stop being emitted at some point.
77- # You should instead listen for 'identity' events (Skyfall::Firehose::IdentityMessage).
88- #
99- class Firehose::HandleMessage < Firehose::Message
1010- def handle
1111- @data_object['handle']
1212- end
1313- end
1414-end
-4
lib/skyfall/firehose/message.rb
···11111212 require_relative 'account_message'
1313 require_relative 'commit_message'
1414- require_relative 'handle_message'
1514 require_relative 'identity_message'
1615 require_relative 'info_message'
1716 require_relative 'labels_message'
1817 require_relative 'sync_message'
1919- require_relative 'tombstone_message'
2018 require_relative 'unknown_message'
21192220 attr_reader :type, :did, :seq
···3129 message_class = case type_object['t']
3230 when '#account' then Firehose::AccountMessage
3331 when '#commit' then Firehose::CommitMessage
3434- when '#handle' then Firehose::HandleMessage
3532 when '#identity' then Firehose::IdentityMessage
3633 when '#info' then Firehose::InfoMessage
3734 when '#labels' then Firehose::LabelsMessage
3835 when '#sync' then Firehose::SyncMessage
3939- when '#tombstone' then Firehose::TombstoneMessage
4036 else Firehose::UnknownMessage
4137 end
4238
-11
lib/skyfall/firehose/tombstone_message.rb
···11-require_relative '../firehose'
22-33-module Skyfall
44-55- #
66- # Note: this event type is deprecated and will stop being emitted at some point.
77- # You should instead listen for 'account' events (Skyfall::Firehose::AccountMessage).
88- #
99- class Firehose::TombstoneMessage < Firehose::Message
1010- end
1111-end