LogoLogo
  • About Thunderbird
  • Contributing to Thunderbird
    • Getting Started Contributing
    • Setting Up A Build Environment
    • Building Thunderbird
      • Windows Build Prerequisites
      • Linux Build Prerequisites
      • macOS Build Prerequisites
      • Artifact Builds
    • Codebase Overview
      • Account Configuration
      • Address Book
      • Chat Core
        • Notifications
        • Message Styles
        • Keyboard shortcuts
        • Chat Core Protocols
        • Contacts
      • Mail Front-End
    • Tutorials and Examples
      • Hello World Example
      • Thunderbird Live Development Videos
    • Fixing a Bug
      • Bug Triaging 101
        • Bug Status Classicification
        • Bug Types
        • Garbage Collection
        • Narrow the Scope
      • Using Mercurial Bookmarks
      • Using Mercurial Queues
      • Lint and Format Code
      • Using ESLint to Format Javascript Code
      • Try Server
      • Landing a Patch
      • Care and Feeding of the Tree
    • Testing
      • Running Tests
      • Adding Tests
      • Writing Mochitest Tests
  • Planning
    • Roadmap
    • Android Roadmap
    • Supported Standards
  • Add-on Development
    • Introduction
    • What's new?
      • Manifest Version 3
    • A "Hello World" Extension Tutorial
      • Using WebExtension APIs
      • Using a Background Page
      • Using Content Scripts
    • A Guide to Extensions
      • Supported Manifest Keys
      • Supported UI Elements
      • Supported WebExtension APIs
      • Thunderbird's WebExtension API Documentation
      • Thunderbird WebExtension Examples
      • Introducing Experiments
    • A Guide to Themes
    • Developer Community
    • Documentation & Resources
      • Tips and Tricks
    • Add-on Update Guides
      • Update for Thunderbird 128
      • Update for Thunderbird 115
        • Adapt to Changes in Thunderbird 103-115
      • Update for Thunderbird 102
        • Adapt to Changes in Thunderbird 92-102
      • Update for Thunderbird 91
        • Adapt to Changes in Thunderbird 79-91
      • Update for Thunderbird 78
        • Adapt to Changes in Thunderbird 69-78
      • Update for Thunderbird 68
        • Adapt to Changes in Thunderbird 61-68
      • How to convert legacy extensions?
        • Convert wrapped WebExtensions to modern WebExtensions
        • Convert legacy WebExtensions to modern WebExtensions
        • Convert legacy overlay extension to legacy WebExtension
        • Convert legacy bootstrapped extension to legacy WebExtension
  • Releases
    • Thunderbird Channels
    • Release Cadence
    • Uplifting Fixes
    • Feature Flags
    • Tracking Fixes for Releases
    • Contributing to Release Notes
Powered by GitBook
On this page
  • nsIObserverService
  • imIBuddy
  • imIContact
  • imITag
  • prplIConversation
  • imIConversation
  • imIUserStatusInfo

Was this helpful?

Edit on GitHub
Export as PDF
  1. Contributing to Thunderbird
  2. Codebase Overview
  3. Chat Core

Notifications

This is a page for documenting the notifications from Chat Core in Thunderbird. This is likely out of date. Notifications are grouped by interface you need to attach the observer to.

Draft: This page is not complete.

nsIObserverService

Topic
Subject
Data
Added
Comment

account-added

null

<1.0

a new account has been created

account-connected

null

<1.0

the account has connected

account-connecting

null

<1.0

the account has started a connection attempt

account-connect-error

null

<1.0

the account has disconnecting with an error

account-connect-progress

null

<1.0

the account is attempting to connect

account-disconnected

null

<1.0

the account has disconnected

account-disconnecting

null

<1.0

the account is disconnecting without an error reason

account-list-updated

null

<1.0

the list of accounts has been updated

account-removed

null

<1.0

an account is about to be removed

account-updated

null

<1.0

app-handler-pane-loaded

null

<1.0

Applications pane in preferences window is loaded

autologin-processed

null

<1.0

imICoreService::processAutoLogin() is complete

browser-request

null

<1.0

Used by protocol plugins to bring up a browser window (e.g. for an OAuth request)

closing-conversation

null

<1.0

contact-moved

null

<1.0

when a contact has been moved (removed from one tag, added to another, or both)

contact-tag-added

imIContact

tag.id

<1.0

when a tag is added to a contact

contact-tag-removed

imIContact

tag.id

<1.0

when a tag is removed from a contact

conversation-closed

null

<1.0

conversation going away

conversation-left-chat

null

<1.0

the user has left the conversation (but it might remain visible)

conversation-loaded

null or details

<1.0

subject is a <browser type="content-conversation">, if fired because an existing conversation is moved from one window to another, the data parameter ("details") will contain the string "imported".

im-sent

message text

<1.0

on sending an IM (whether or not it succeeded)

new-conversation

null

<1.0

conversation created

new-ui-conversation

null

<1.0

prpl-quit

null

1.2

Core shutdown, was previously purple-quit

status-changed

status text

<1.0

user (not buddy) status change

tag-hidden

null

<1.0

fired when a tag is hidden

tag-shown

null

<1.0

fired when a tag is set to be shown (unhiding it)

ui-conversation-closed

null

<1.0

unread-im-count-changed

count of unread messages

<1.0

fired when the number of unread messages changes

new-text

null

1.5

New message is about to be displayed.

new-directed-incoming-message

null

1.5

New incoming message that is either a direct message or highlights the user.

ui-conversation-replaced

null

91

The subject UI conversation is about to be replaced by a new instance (with different interfaces but the same ID).

conversation-update-type

null

91

The type of the underlying prplIConversation has changed. Is always preceded by a ui-conversation-replaced notification that disposes of the old UIConversation instance, while this will have the new one as subject.

account-sessions-changed

null

91

The account session list has changed

account-encryption-status-changed

null

91

The account encryption status info has changed

imIBuddy

Topic
Subject
Data
Added
Notes

account-buddy-availability-changed

null

<1.0

Possibly fired on account buddy status change

account-buddy-display-name-changed

old serverAlias

<1.0

Fired when setting imIAccountBuddy::serverAlias

account-buddy-icon-changed

imIAccountBuddy

null

<1.0

Fired when setting imIAccountBuddy::buddyIconFilename

account-buddy-signed-off

imIAccountBuddy

null

<1.0

Possibly fired on account buddy status change

account-buddy-signed-on

imIAccountBuddy

null

<1.0

Possibly fired on account buddy status change

account-buddy-status-changed

imIAccountBuddy

null

<1.0

Possibly fired on account buddy status change

buddy-added

null

<1.0

In response to account-buddy-added if the buddy previously had no account buddies

buddy-availability-changed

null

<1.0

possibly fired on imIBuddy status updates

buddy-display-name-changed

old serverAlias

<1.0

possibly in response to account-buddy-display-name-changed on the preferred account

buddy-preferred-account-changed

null

<1.0

when setting imIBuddy::preferredAccountBuddy (internally)

buddy-removed

null

<1.0

In response to account-buddy-removed if the buddy no longer has any account buddies

buddy-signed-off

null

<1.0

possibly fired on imIBuddy status updates

buddy-signed-on

null

<1.0

possibly fired on imIBuddy status updates

buddy-status-changed

null

<1.0

possibly fired on imIBuddy status updates

imIContact

Note: all imIContact notifications also go to any imITag it belongs to, as well as nsIObserverService.

Topic
Subject
Data
Added
Notes

contact-added

imIContact

null

<1.0

When a new buddy is created with no other contact

contact-availability-changed

imIContact

null

<1.0

Possibly fired on contact status updates

contact-display-name-changed

imIContact

null

<1.0

Fired on setting imIContact::Alias or imIContact::preferredBuddy, or the preferred buddy's display name changed

contact-no-longer-dummy

imIContact

null

<1.0

Fired when a contact is being loaded?

contact-preferred-buddy-changed

imIContact

null

<1.0

Fired on setting imIContact::preferredBuddy

contact-removed

imIContact

null

<1.0

When the last buddy for the contact is removed

contact-signed-off

imIContact

null

<1.0

Possibly fired on contact status updates

contact-signed-on

imIContact

null

<1.0

Possibly fired on contact status updates

contact-status-changed

imIContact

null

<1.0

Possibly fired on contact status updates

imITag

Topic
Subject
Data
Added
Notes

contact-moved-in

imIContact

null

<1.0

When a contact has been moved into the tag

contact-moved-out

imIContact

null

<1.0

When a contact has been moved out of the tag

tag-hidden

imIContact

null

<1.0

fired when a tag is hidden

tag-shown

imIContact

null

<1.0

fired when a tag is set to be shown (unhiding it)

prplIConversation

Topic
Subject
Data
Added
Notes

chat-buddy-add

null

<1.0

When users join a chat. The enumerator elements are prplIConvChatBuddy.

chat-buddy-removed

null

<1.0

When chat buddies leave a chat. The enumerator elements are nsISupportsString of the user name.

chat-buddy-update

old name, if the chat buddy is being renamed

<1.0

data is null if this is not a rename

chat-buddy-topic

null

<1.0

The chat topic was updated

new-text

null

<1.0

A new message will be written to a conversation. This can be an incoming, outgoing or system message. Subject was purpleIMessage until 1.2.

update-text

null

91

An existing message is updated based on the remoteId of the message.

update-buddy-status

null

<1.0

away-ness or online/offline

update-conv-chatleft

null

<1.0

the user has left the chat (it might remain visible)

update-conv-title

null

<1.0

update-typing

null

<1.0

preparing-message

null

1.5

Outgoing message before it's been prepared for sending by the protocol

sending-message

null

1.5

Outgoing message was prepared (and potentially split into multiple messages) and will be sent by the protocol after this observer.

chat-update-type

null

null

91

Conversation changed between being a chat and a direct message conv (isChat toggled).

update-conv-icon

null

91

The convIconFilename of the conversation changed.

update-conv-encryption

null

91

The encryptionState of the conversation changed.

imIConversation

Topic
Subject
Data
Added
Notes

received-message

null

1.5

New message is about to be prepared for display.

new-text

null

1.5

New message is about to be displayed. (Before 1.5 probably just passed along the prplIMessage)

new-directed-incoming-message

null

1.5

New incoming message that is either a direct message or highlights the user.

imIUserStatusInfo

Topic
Subject
Data
Added
Notes

status-changed

Status Text (string)

?

user-icon-changed

New icon file name (string)

?

user-display-name-changed

New display name (string)

?

idle-time-changed

New idle time (number)

?

PreviousChat CoreNextMessage Styles

Last updated 3 years ago

Was this helpful?

imIContact

imIAccountBuddy

imIAccount
imIAccount
imIAccount
imIAccount
imIAccount
imIAccount
imIAccount
imIAccountsService
imIAccount
imIAccount
nsIDOMWindow
imICoreService
prplIRequestBrowser
prplIConversation
imIContactsService
prplIConversation
prplIConversation
nsISupports
prplIConversation
prplIConversation
imIConversation
imICoreService
imICoreService
imITag
imITag
imIMessage
imIMessage
imIConversation
imIConversation
imIAccount
imIAccount
prplIAccountBuddy
imIContactsService
imIBuddy
imIBuddy
imIBuddy
imIContactsService
imIBuddy
imIBuddy
imIBuddy
imIBuddy
imIBuddy
nsISimpleEnumerator
nsISimpleEnumerator
prplIConvChatBuddy
prplIMessage
prplIMessage
imIOutgoingMessage
imIOutgoingMessage
prplIConversation
prplIConversation
imIMessage
imIMessage
imIMessage
imIUserStatusInfo
imIUserStatusInfo
imIUserStatusInfo
imIUserStatusInfo