Commit Graph

37 Enmetoj

Author SHA1 Message Date
Jaidyn Ann a697afbbd8 (irc) Unban command 2021-08-16 18:18:22 -05:00
Jaidyn Ann f69d07e2f7 (irc) Ban/kick support 2021-08-16 18:04:50 -05:00
Jaidyn Ann 7be306e20e (irc) User-role support 2021-08-16 16:18:57 -05:00
Jaidyn Ann 60ad595d5d (irc) Command support
Now raw IRC commands can be sent with a "//" command, like this:
	// HELP
… to print the server's HELP message to system buffer.
So on and so forth.
2021-08-16 01:25:30 -05:00
Jaidyn Ann 03556d674e (irc) Contact support 2021-08-16 00:42:39 -05:00
Jaidyn Ann 8d62ecca01 (irc) More reliable user-list population, IM_ROOM_GET_PARTICIPANTS 2021-08-15 21:55:10 -05:00
Jaidyn Ann e8e78eeae4 (irc) Support creating one-on-one chats/PMs 2021-08-15 20:44:34 -05:00
Jaidyn Ann b380b6115c Fix chat creation with non-contact users 2021-08-15 20:34:30 -05:00
Jaidyn Ann ed7fe730cb Load protocols from any system add-on directory
… rather than soley "$APPDIR/protocols/".
The vague "protocols/" leaf was also renamed to "cardie/".
2021-08-15 00:55:16 -05:00
Jaidyn Ann a712d89c76 (irc) Don't connect until status set to 'online' 2021-08-13 14:32:46 -05:00
Jaidyn Ann 6258b2f2f3 (irc) Support formatting with implicit end 2021-08-13 13:00:32 -05:00
Jaidyn Ann ad869c8972 (irc) Parse basic formatting bytes (sans color) 2021-08-12 20:16:22 -05:00
Jaidyn Ann a26c33e5f3 (irc) Send MOTD and other system messages to account buffer 2021-08-12 15:47:06 -05:00
Jaidyn Ann d16f397fe6 (irc) Proper newline use, sending unicode messages 2021-08-12 13:55:32 -05:00
Jaidyn Ann c3994e4a73 (irc) Fix debug output 2021-08-12 10:14:46 -05:00
Jaidyn Ann 5fb7d5268c (irc) Report errors, use WELCOME-given nick 2021-08-11 20:47:40 -05:00
Jaidyn Ann 3f754bd79d (irc) Handling of QUIT 2021-08-11 18:51:41 -05:00
Jaidyn Ann ca704cb7b8 (irc) Add protocol icon
This one borrowed from the Haiku tree― /data/artwork/icons/App_Chat
2021-08-11 17:40:03 -05:00
Jaidyn Ann 6b8823d213 (irc) Better param parsing 2021-08-11 10:22:32 -05:00
Jaidyn Ann 35cd5cbc8f (irc) Write-lock and responding to pings 2021-08-10 12:53:20 -05:00
Jaidyn Ann 340aa405f3 (irc) Setting own/other nicks 2021-08-10 10:54:36 -05:00
Jaidyn Ann 8ac73ca50e (irc) Faster readying of protocol 2021-08-10 10:00:26 -05:00
Jaidyn Ann 723d6c1950 (irc) Add numerics file 2021-08-10 09:33:00 -05:00
Jaidyn Ann d0367db0bb (irc) Sending/receiving invites 2021-08-10 00:03:28 -05:00
Jaidyn Ann adee8d6181 (irc) Sending/receiving messages (PRIVMSG) 2021-08-09 23:08:40 -05:00
Jaidyn Ann 31ad5abf81 (irc) Leaving rooms 2021-08-09 22:33:56 -05:00
Jaidyn Ann e05d14dc95 (irc) Joining rooms, subject, user-list 2021-08-09 22:08:50 -05:00
Jaidyn Ann d692c34fea (irc) Handle NOTICE and better joining 2021-08-09 19:03:37 -05:00
Jaidyn Ann c202ef33ac (irc) Start add-on rewrite
The IRC add-on previously used libircclient, which is becoming inactive,
and newer versions don't compile on Haiku easily. A fresh rewrite seems
to be a better option.

So far it only supports basic connection and receiving the MOTD. :p
2021-08-09 14:07:50 -05:00
Jaidyn Ann 373dcb4a58 Protocol message tweaks, bump API version
Some chat protocol messages' names have been changed to more fitting or
consistent names― e.g., "IM_AVATAR_SET" to "IM_USER_AVATAR_SET", or
"IM_CONTACT_LIST_*" to "IM_ROSTER_*" (to agree with Cardie's usage of
the word).

The API version has been bumped― for the forseeable future (at least
several months, I promise!) no compatibility-breaking changes will be
introduced. Until then, any new feautures or message slots will be
additive and optional.
2021-08-08 21:01:42 -05:00
Jaidyn Ann 4905dbbe6c Redesign add-on disconnection
Currently, add-ons are disconnected when ChatProtocol::Shutdown() is
called, which the add-on can do by itself― but there is no standard way
for add-ons to notify the app about their Shutdown. Because of this,
they tend to not call Shutdown()― instead (as in the case of the Jabber
add-on), they display a BAlert (IM_ERROR) notifying the user of the
connection error, but the account is considered active by Cardie (and
its threads are still existant, including its ProtocolLooper).

Zombies are bad, so this is redesigned somewhat with this commit:
Protocols should no longer call ChatProtocol::Shutdown() themselves,
they must send an IM_MESSAGE of IM_PROTOCOL_DISABLE to the app.

This will delete its ProtocolLooper, which in turn will send a
notification to the user and delete the ChatProtocol, and so
calling ChatProtocol::Shutdown().

In the included protocols, an IM_ERROR is sent right before
IM_PROTOCOL_DISABLE is sent if due to a connection error. This is not
required, but it is courteous to inform your user about the "why." :)
2021-07-18 17:52:36 -05:00
Jaidyn Ann c0f126206a Include default templates, split "room"
The "room" template has been split into two seperate
templates― "join_room" and "create_room". Before, "room" was used in the
room creation window, but now that's delegated to "create_room".

"join_room" is used with the join window― so now, the add-on has total
control over the slots used to join/create rooms generally, if they
specify the templates. Even a "/join" command could be overriden by the
add-on.

Also, default templates are now in use. Rather than add-ons being
required to specify templates, there are sensible defaults included with
Cardie for each one.
2021-07-05 13:48:33 -05:00
Jaidyn Ann b5b24939ea Set IRC/Purple passwords as 'secret' fields 2021-07-02 09:19:58 -05:00
Jaidyn Ann de28bc8673 Match up nick with own user_id 2021-06-21 03:22:35 -05:00
Jaidyn Ann 31bc304c0b Enable IRC protocol 2021-06-21 03:06:15 -05:00
Jaidyn Ann 0c615b01fd Basic IRC connection/messaging/joining, etc. 2021-06-21 01:54:42 -05:00
Jaidyn Ann 57ecbd1cb3 Init IRC add-on 2021-06-20 22:17:24 -05:00