Thu, 17 Jul 2025 20:28:54 -0500
IRCv3: Implement the /me command
This was kind of forgotten about, but it's here now.
Testing Done:
Watched a packet dump to verify it was sent correct and asked people in #pidgin on libera if it came through correctly.
Reviewed at https://reviews.imfreedom.org/r/4070/
|
43247
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
1 | feature = get_option('ircv3') |
|
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
2 | |
|
43266
19b9321a0177
Disable SIP by default and update the protocol summaries to reflect what will be built
Gary Kramlich <grim@reaperworld.com>
parents:
43247
diff
changeset
|
3 | summary({'IRCv3': feature.allowed()}, bool_yn : true, section : 'Protocols') |
|
43247
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
4 | |
|
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
5 | if not feature.allowed() |
|
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
6 | subdir_done() |
|
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
7 | endif |
|
197c541b3e7c
Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents:
43212
diff
changeset
|
8 | |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | IRCV3_SOURCES = [ |
|
43097
757575456cc2
IRCv3: Implement the query command
Gary Kramlich <grim@reaperworld.com>
parents:
43024
diff
changeset
|
10 | 'purpleircv3commands.c', |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
11 | 'purpleircv3connection.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
12 | 'purpleircv3core.c', |
|
42937
34ac8ac8c7b6
Implement CTCP VERSION response
Gary Kramlich <grim@reaperworld.com>
parents:
42925
diff
changeset
|
13 | 'purpleircv3ctcphandlers.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
14 | 'purpleircv3messagehandlers.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
15 | 'purpleircv3protocol.c', |
|
42320
21cab78fb7d2
IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
16 | 'purpleircv3protocolconversation.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
17 | ] |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
18 | |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
19 | IRCV3_HEADERS = [ |
|
43097
757575456cc2
IRCv3: Implement the query command
Gary Kramlich <grim@reaperworld.com>
parents:
43024
diff
changeset
|
20 | 'purpleircv3commands.h', |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
21 | 'purpleircv3connection.h', |
|
41774
170078e728c0
Implement a parser for ircv3 and add unit tests to it.
Gary Kramlich <grim@reaperworld.com>
parents:
41750
diff
changeset
|
22 | 'purpleircv3core.h', |
|
42937
34ac8ac8c7b6
Implement CTCP VERSION response
Gary Kramlich <grim@reaperworld.com>
parents:
42925
diff
changeset
|
23 | 'purpleircv3ctcphandlers.h', |
|
41796
ebe4ff278b02
Use the parser on ircv3 messages and handle pings
Gary Kramlich <grim@reaperworld.com>
parents:
41783
diff
changeset
|
24 | 'purpleircv3messagehandlers.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | 'purpleircv3protocol.h', |
|
42320
21cab78fb7d2
IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
26 | 'purpleircv3protocolconversation.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | ] |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | |
|
43276
2ffc42909b30
Update to ibis-0.14.0
Gary Kramlich <grim@reaperworld.com>
parents:
43266
diff
changeset
|
29 | ibis_dep = dependency('ibis', version : '>= 0.14.0') |
|
42769
c488d7af2923
Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents:
42652
diff
changeset
|
30 | |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
31 | ircv3_resources = gnome.compile_resources('ircv3resource', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
32 | 'resources/ircv3.gresource.xml', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
33 | source_dir : 'resources', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
34 | c_name : 'purple_ircv3') |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
35 | IRCV3_SOURCES += ircv3_resources |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
36 | |
|
42791
250ab0bca4e3
IRCv3: Remove all the development stuff
Gary Kramlich <grim@reaperworld.com>
parents:
42786
diff
changeset
|
37 | shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS, |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
38 | c_args : ['-DPURPLE_IRCV3_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'], |
|
42472
409148c5c5b7
Add symbol visibility on IRCv3 protocol plugin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42372
diff
changeset
|
39 | gnu_symbol_visibility : 'hidden', |
|
42769
c488d7af2923
Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents:
42652
diff
changeset
|
40 | dependencies : [birb_dep, libpurple_dep, glib, gio, hasl, ibis_dep], |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
41 | install : true, |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
42 | install_dir : PURPLE_PLUGINDIR) |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
44 | devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir()) |