Commit Graph

572 Enmetoj

Author SHA1 Message Date
Jaidyn Ann 8d50a6b9a4 Pass relevant cache paths directly to add-ons
Now, instead of using Utils.cpp's AccountCachePath and AddOnCachePath,
and add-on should implement ChatProtocol::SetAccountCachePath and
ChatProtocol::SetAddOnCachePath.

In addition, most path-related functions in Utils now return BPaths― and
some of interest to chat add-ons can accept the path given by
ChatProtocol::SetAccountCachePath as the main argument.
2022-02-18 15:42:06 -06:00
Jaidyn Ann 866899eaad Get app name & signature from Make.pre/Make.post
It's useful to change the name and signature when you want to test
changes while using another instance of Chat-O-Matic.
2022-01-08 16:50:34 -06:00
Jaidyn Ann 4ad75cd807 Use system AboutWindow instead of custom 2021-12-14 10:28:15 -06:00
Jaidyn Ann 06df963434 Update catkeys 2021-10-29 14:03:04 -05:00
Jaidyn Ann 8456e00bd8 (matrix) Fetch own displayname, use correct user ID 2021-09-04 21:17:50 -05:00
Jaidyn Ann 604082466e (matrix) Init Matrix protocol
Just the scaffolding of a Matrix protocol using mtxclient: Room-joins
and (unencrypted) messages can be received, but everything's read-only
as yet. More to come!
2021-09-03 03:43:28 -05:00
Jaidyn Ann 2f69f2fa04 No functional change; remove unused 'join' message
… also slight formatting tweaks, safer fetching of a Conversation's
list item in MainWindow, and an extra accessor for
ConversationListView.
2021-09-03 03:35:35 -05:00
Jaidyn Ann 3689f6cee3 Searching through chat with TextSearch 2021-08-31 22:04:19 -05:00
Jaidyn Ann e2d801b84b Save user name and color on message received
In Chat-O-Matic, text messages are enqueued by the ConversationView
and appended when the ConversationView becomes attached to the window
(editing a non-attached BTextView doesn't go well).

Previously, only the receive-time was added to the enqueued message― so
that if the view doesn't come into focus for a long while after message
receipt, the timestamp is still accurate. The user's nickname and color
weren't added as well, meaning that if the user left the room before the
message was appended, the ugly user-id and default user color would be
used instead.

This appends user_color and user_name.
2021-08-31 21:00:29 -05:00
Jaidyn Ann 6a160ced88 Sort room directory by account, 'Category' column
The room directory window now has an accounts menu, to allow the user to
filter rooms by account― and a "category" column has been added, which can
optionally be filled by the protocol for more semantic sorting of rooms
(Through "category" slot of IM_ROOM_DIRECTORY).
2021-08-31 20:31:39 -05:00
Jaidyn Ann 8cb98ccf4b (purple) Room directory support 2021-08-29 22:31:56 -05:00
Jaidyn Ann f19bcba62a Add Room Directory window
This window (Chat→Room directory) is to be used for either a list of
publicly available rooms (in most protocols), or for a list of
joined-but-hidden rooms (as it'll used with libpurple, to list its
ChatBuddies).

Each room is sent individually from protocols using IM_ROOM_DIRECTORY
messages sent in response to a IM_GET_ROOM_DIRECTORY message.
2021-08-27 11:00:04 -05:00
Jaidyn Ann 5dbbb3a8ad (irc) Public room directory/list support 2021-08-27 00:25:41 -05:00
Jaidyn Ann 10b63e4138 x86 fix for ItemWeight use 2021-08-22 11:44:03 -05:00
Jaidyn Ann bcb92de53c (SendTextView) Check for important keys in each received byte 2021-08-22 11:36:35 -05:00
Jaidyn Ann c24c3187ad
Merge pull request #1 from Begasus/purple
Makefile purple, fix search for libpurple's headers
2021-08-22 10:19:37 -05:00
begasus 115631a91d Makefile purple, fix search for libpurple's headers 2021-08-22 15:31:44 +00:00
Jaidyn Ann aaea63de1a Link XMPP to libsupport 2021-08-20 23:17:36 -05:00
Jaidyn Ann 6e67401018 Remove unnecessary lib from Makefiles 2021-08-19 17:48:14 -05:00
Jaidyn Ann 23f3cd5c30 Remove unused protocol Makefile 2021-08-19 17:32:12 -05:00
Jaidyn Ann 71ae10dfc1 Change timestamp color 2021-08-19 17:31:43 -05:00
Jaidyn Ann d510f1c294 Change all-asterisk color 2021-08-19 17:30:24 -05:00
Jaidyn Ann cad278205c Fix contact-editing 2021-08-19 17:25:18 -05:00
Jaidyn Ann 00ee662988 Update screenshot 2021-08-19 17:05:12 -05:00
Jaidyn Ann dd086dd455 Split AppConstants.h into UserStatus.h 2021-08-19 17:04:33 -05:00
Jaidyn Ann 8f159b7e8b Rename Cardie to Chat-O-Matic 2021-08-19 02:29:14 -05:00
Jaidyn Ann da8b0236c5 Add workspace-switching and window-raising options 2021-08-19 02:00:11 -05:00
Jaidyn Ann 38e9fca3be Prioritize native protocols in protocol list 2021-08-19 01:18:17 -05:00
Jaidyn Ann 9d760cd277 Added ROOM_NOTIFY_DM to protocols' room flags 2021-08-19 01:04:57 -05:00
Jaidyn Ann d8d89d245e Toggling of room flags through right-click menu
Room flags (e.g., whether or not to auto-join, whether notifications
should be sent on message receive) can now be toggled through a room's
right-click menu in the room-list.

Two new room flags were added for notifications as well― ROOM_NOTIFY_DM
and ROOM_NOTIFY_ALL. If ROOM_NOTIFY_DM is enabled, the user will receive
notifications if they are in a one-on-one chat. If ROOM_NOTIFY_ALL, they
will receive notifications on every message sent to the room.

The default menu items for the room's pop-up menu were moved from
Templates.rdef to be built into the app.

Everything else in Templates.rdef should follow suit― B_TRANSLATE
can't be used in rdef files!
2021-08-19 00:59:03 -05:00
Jaidyn Ann a9eeaa51fe (irc) Default room of #haiku for OFTC 2021-08-18 23:05:57 -05:00
Jaidyn Ann f486588c48 Add system beeps for message/mention receiving 2021-08-18 20:19:11 -05:00
Jaidyn Ann 901f7a8e05 Disable unusable settings, Notfications tab 2021-08-18 18:28:53 -05:00
Jaidyn Ann 6e89dbdab1 Better protocol status notifications
Now a notification is sent as soon as a protocol has been readied
(before connection established), and all status notifications use the
same message ID to avoid spamming the poor user.
2021-08-18 17:22:08 -05:00
Jaidyn Ann b2e17f57dc Fix avatar-loading 2021-08-18 17:00:11 -05:00
Jaidyn Ann 0637ee0401 Add 'Installation' section to README 2021-08-18 15:59:44 -05:00
Jaidyn Ann 32fbe59f01 (irc) Require real-name be defined 2021-08-18 15:30:20 -05:00
Jaidyn Ann f1464cb01c Search by user name and ID for chat commands 2021-08-18 15:15:56 -05:00
Jaidyn Ann 03c9cdb249 README.ADDON formatting 2021-08-18 14:49:25 -05:00
Jaidyn Ann 5e0782b553 Ensure implicit room-members are real
If a message/event is sent to a room that's tied to a user that hasn't
been formally declared (through IM_ROOM_PARTICIPANTS or
IM_ROOM_PARTICIPANT_JOINED), that user won't be unconditionally kept
anymore.

Now, after adding an implicit user, the participant list will be
requested again― upon receiving the list, all implicitly-defined users
will be removed. If they really existed to begin with, they should be
re-added quickly through this re-sending of IM_ROOM_PARTICIPANTS.

Ghosts should be treated as ghosts, not users.
2021-08-18 14:18:24 -05:00
Jaidyn Ann 0bab0a89a8 Add IRC to makefile, disallow purple on x86_gcc2 2021-08-18 13:34:10 -05:00
Jaidyn Ann 188b70d498 (irc) Own setting of room subject 2021-08-18 12:58:52 -05:00
Jaidyn Ann 2645a58955 ScrollView for roomlist, NO_BORDER for user scroll 2021-08-18 11:58:18 -05:00
Jaidyn Ann 42c52b324d (libinterface) Automatically clear text in EnterTextView 2021-08-18 11:27:14 -05:00
Jaidyn Ann b8de54d9bc Single Append() for sections with unchanged format
Also removes the newly-unused AppendMessage() of RenderView
2021-08-17 22:19:28 -05:00
Jaidyn Ann 8512e9ad03 New binary log format, with color/face support
Binary logs are no longer stored as a single message with a list of
strings and int64s ("body", "user_name", "user_id", "when"), but a
message with sub-messages (IM_MESSAGE_RECEIVED) verbatim saved.

This has the main benefit of preserving message formatting (coloring,
bold, italics, etc).
2021-08-17 13:27:14 -05:00
Jaidyn Ann 5aeaf9284f Formatting of README.ADDON.md 2021-08-17 10:08:39 -05:00
Jaidyn Ann 4bb6cfee7c (irc) Color-formatting support 2021-08-16 21:52:28 -05:00
Jaidyn Ann ab4881f2f0 Receiving multi-color messages
Chat messages can now be formatted with colors in addition to varying
faces with "color_start," "color_length," and "color" slots in
IM_MESSAGE_RECEIVED.
2021-08-16 21:50:43 -05:00
Jaidyn Ann a697afbbd8 (irc) Unban command 2021-08-16 18:18:22 -05:00