Commit Graph

23 Enmetoj

Author SHA1 Message Date
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