Commit graph

4319 commits

Author SHA1 Message Date
mathieui
fbd3d0bcfd internal: remove unused get_text_window 2022-02-25 22:35:30 +01:00
mathieui
456c4c46a6 internal: make the other message handlers async 2022-02-25 22:35:30 +01:00
mathieui
101bab502f internal: move and split muc message handling 2022-02-25 22:35:30 +01:00
a3666c9a05
bookmark: Add logging on InvalidJid
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-02-25 20:14:05 +01:00
7eb99bb436
bookmark nick: Treat empty string as no nick
And prevent the JID() call from failing with InvalidJid because of the
empty resource.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-02-25 20:11:56 +01:00
06dbefebb7
Ensure /bookmark{,_local} and /join use the proper tab object
Now that _add_bookmark is async.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-02-25 19:05:54 +01:00
mathieui
a1af1355a9 fix #3553: muclisttab not joining 2022-02-15 23:38:37 +01:00
mathieui
1f95f25a87 fix default dataform field handling (#3554) 2022-02-11 21:46:15 +01:00
mathieui
c7711a8a61 internal: use async events where possible 2022-02-10 16:32:30 +01:00
mathieui
22093250ef internal: add a trigger_async method for events 2022-02-10 16:32:30 +01:00
Emmanuel Gil Peyrot
d35c0564b3 Add a /sticker plugin
This plugin currently uploads the selected sticker every time, to the
HTTP File Upload service of the server (see XEP-0363), a future
optimisation would be to use XEP-0231 instead, for better caching on the
recipient side.

It relies on a helper tool to select the wanted sticker inside the pack,
a sample one is provided in tools/sticker-picker/, but it is not built
by default.
2022-02-10 01:45:37 +01:00
mathieui
9735b6d6dc fix: remove fixes.has_identity which is now unused 2022-02-06 17:38:45 +01:00
mathieui
911cf335a1 internal: make most core.handlers async
add some typing annotations on inputs as well, most are not necessary
right now but the end goal is to make poezio internals much more
async-friendly than it currently is.
2022-02-06 17:37:13 +01:00
mathieui
8847f3e7de muc: clear the users buffer even if we do not think we are connected 2022-01-30 15:14:04 +01:00
5a7e237972 ChangeLog: Add impromptu pronouceable names
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-01-30 00:21:00 +01:00
28ccbb81bc Update changelog for ca_cert_path
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-01-30 00:07:03 +01:00
7e8fa46402 Try to guess CA bundle path
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-01-30 00:07:03 +01:00
mathieui
842d71abf9 ci: fix mypy job setup 2022-01-29 23:42:24 +01:00
mathieui
9cc861eeff ci: fix mypy analysis 2022-01-29 23:42:24 +01:00
Bastien Orivel
13c731dfe3 Fix /color completion
For some reason 3b5e396469 changed the
completion function for /color to be the one for recolor
2022-01-29 12:36:49 +01:00
ca3cb8fae0
impromptu: pronounceable MUC names
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-25 00:47:37 +01:00
db9b423000
Handle logging <destroy/> with no reason nor altroom
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-25 00:14:49 +01:00
7e3d9c0dcb
impromptu: add room jid in invite info message
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-24 23:12:17 +01:00
07f56779a8
impromptu: Wait for the self-presence to configure and invite
MucTab.join doesn't allow us to wait until we are fully joined to a MUC,
causing races between the MUC creation and configuration, making it
impossible for invited users to join the MUC.

This adds a disposable event (discarded after first use) that listens on
the self-presence on the generated JID.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-24 23:10:03 +01:00
49734de674
destroy_room: Allow empty altroom argument
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-24 23:05:36 +01:00
1b7c6a79b5 Log <destroy/> payload in the info buffer
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-22 18:20:12 +01:00
Emmanuel Gil Peyrot
01b9f37dac /disco plugin: Add error handling
It was missing.
2021-12-22 00:29:26 +01:00
4f6bc9073e
/upload to original tab and not current tab (thanks jonas)"
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-12-14 11:22:37 +01:00
Georg Lukas
88db537027 fix: do not crash on bookmarks without a nickname 2021-12-11 19:25:11 +01:00
Emmanuel Gil Peyrot
79bbbdb3e6 Replace asyncio.ensure_future() with asyncio.create_task()
The latter function got introduced in Python 3.7, which is conveniently
our MSPV, so let’s use that.
2021-12-11 19:16:33 +01:00
Georg Lukas
2c59fa067a Logger: consolidate a bit of file path creation 2021-12-11 19:06:09 +01:00
Georg Lukas
e1a75a5ced Logger: jidstr is not a valid JID with MUC-PMs
The logger often operates on filenames for log files and assumes that
jid == filename, but MUC-PM filenames are `muc@domain\nick` (jidstr)
instead of `muc@domain/nick` (jid) and the former is not a valid JID.

This patch fixes the places where jid and jidstr are mixed up.
2021-12-11 19:06:09 +01:00
mathieui
1d681fb04c ci: remove pylint job
it never works
2021-12-11 17:59:10 +01:00
Emmanuel Gil Peyrot
c96d94f498 Avoid calling get_theme() more than once
And avoid calling it altogether when no time is passed.
2021-11-16 17:36:55 +01:00
Emmanuel Gil Peyrot
f6a53e66c7 Make message format more configurable around nicks
Normal messages were previously hardcoded to 'nick> ', and /me messages
to '* nick ', this commit adds three new theme variables to make these
configurable.
2021-11-15 19:44:16 +01:00
Emmanuel Gil Peyrot
69f28e97f3 Documentation: Fix theming docs, the module is namespaced in poezio.
Thanks Hund for finding this issue!
2021-11-15 12:02:12 +01:00
Emmanuel Gil Peyrot
8947caae2e Add xmpp: URI support to the /join command 2021-11-15 11:31:54 +01:00
7f1e9b080c
plugin_e2ee: handle empty args in /foo_state commands
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-08-07 01:08:10 +02:00
00a91774fc
plugin_e2ee: correctly pass realjid to decrypt call in MUC
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-07-17 02:52:43 +02:00
90242b8243
doc: Increase emphasis on OMEMO location
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2021-07-14 10:55:47 +02:00
mathieui
9e0eccd1dd fix: remove extra imports in text buffer 2021-07-03 10:34:39 +02:00
mathieui
76963ed3ab fix: do not use raw xml access for slix elements 2021-07-03 10:33:25 +02:00
mathieui
e3b07d95f2 tests: fix expected get_by_tabname input type 2021-07-02 21:10:20 +02:00
mathieui
66c615fd94 ci: use mainline mypy
no need to run the custom-built version anymore
2021-07-02 21:00:17 +02:00
mathieui
2b3cde233f fix: improve typing
preliminary to more typing added to slixmpp, fix things in advance
2021-07-02 20:59:25 +02:00
mathieui
26505c32df fix: do not silently traceback on mucs without mam
in mucs, there is no "initial message"
2021-06-26 20:59:55 +02:00
mathieui
3698b20a47 fix: hack around the time limit for topic messages
we cannot have nice things
2021-06-26 20:59:55 +02:00
mathieui
ae3b747e94 fix: load less messages on startup/gap fill
gap filler was called on MUC joins, therefore loading 999 messages
instead of the 2 times the screen height
2021-06-26 20:36:08 +02:00
mathieui
e5b4f7ab0d fix: do not use re.match() on existing Pattern objects
this is duplicating effort and going through re._compile once more
approximately slows down the log parsing by 15%
2021-06-26 14:53:17 +02:00
mathieui
1456566f10 fix: race condition in history load 2021-06-26 13:37:40 +02:00