Commit Graph

588 Enmetoj

Author SHA1 Message Date
Alexander von Gluck IV 4964605432 protocols/matrix: Add some basic room metadata for friendly room names 2023-12-22 12:26:54 -06:00
Alexander von Gluck IV 53a5c5ed1a protocols/matrix: Give the user notice on initial sync.
* This can be 30+ seconds of silence, so give user a little
  feedback that "stuff is happening"
2023-12-22 09:00:22 -06:00
Alexander von Gluck IV d4b934093d protocols/matrix: Add some needed dependencies for the latest matrix_client 2023-12-22 08:37:32 -06:00
Alexander von Gluck IV 8f5762219e application/windows: Guard from NULL dereference finding conversation
* Happens from the native matrix plugin on a large account
2023-12-22 08:37:19 -06:00
Jaidyn Ann 8e3c961c29
Merge pull request #24 from kallisti5/fix-gcc11
libsupport: Fix build on gcc 11.2
2023-04-01 03:37:51 +00:00
Jaidyn Ann 887d7d120d
Merge pull request #25 from kallisti5/fix-matrix
protocols/matrix: Fix quick build of early matrix protocol
2023-04-01 03:37:28 +00:00
Alexander von Gluck IV 4489f80507 protocols/matrix: Fix icon 2023-03-07 12:27:36 -06:00
Alexander von Gluck IV 3f7201038d protocols/matrix: Fix quick build of early matrix protocol 2023-03-07 10:22:20 -06:00
Alexander von Gluck IV 1168785a62 libsupport: Fix build on gcc 11.2 2023-03-07 09:36:07 -06:00
Jaidyn Ann dce82c2ba2 Use Server::Get(), clean up header usage
Instead of passing around pointers to the Server, Server::Get() returns
the server's pointer (simplifying some things a good bit).
As a result, headers have been cleaned up, and some redundant KeyMaps
have been placed in Maps.h.
2022-02-23 16:04:56 -06:00
Jaidyn Ann e092128200 Don't load multiple version of the same add-on
Now solely the one of highest priority is used (e.g.,
`non-packaged/add-ons/` over `system/add-ons/`).

Fixes #20
2022-02-23 12:11:17 -06:00
Jaidyn Ann b7b45a8db0 Add preference for hiding join/part messages 2022-02-21 18:33:46 -06:00
Jaidyn Ann ce4d3c2a26 Fix checking of ConversationView's visibility
Since ConversationViews were manually removed/added previously, now
that a BCardLayout is used, the visibility-detection/some actions
change (e.g., using BView::Show instead of BView::AttachedToWindow).
2022-02-21 18:09:54 -06:00
Jaidyn Ann 6f01818e8a Use BCardLayout instead of manual BView switching
Structures MainWindow around a Conversations→BLayoutItem map &
BCardLayout, instead of directly removing and adding ConversationViews
every time.
2022-02-20 21:00:56 -06:00
Jaidyn Ann eb60c94d68 Add user documentation (HTML)
… openable through menu-bar as Program→Help.

Following Humdinger's lead here, he did a bang-up job on Calendar's docs!
His code for opening documentation in Calendar is re-used here, too.
2022-02-20 10:58:59 -06:00
Jaidyn Ann dd5add390a Remove unused smileys
They're not currently used, and vectors might be preferable, anyhow.
2022-02-20 10:17:49 -06:00
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