Commit graph

4333 commits

Author SHA1 Message Date
ccf9c3e4e1 plugin_e2ee: check all encrypted tags in _decrypt and _encrypt
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-16 08:09:11 +01:00
2fd3a9ef48 plugin_e2ee: drop message if tab is None and doesn't contain encrypted tag
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-16 08:09:11 +01:00
c75573ddf8 plugin_e2ee: let already encrypted messages through
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-16 08:09:11 +01:00
Emmanuel Gil Peyrot
4dde022de8 xhtml: Add a newline after a blockquote
Thanks Maranda.
2022-03-11 13:43:27 +01:00
southerntofu
5d14094780 Don't silently traceback when trying to message someone privately in a MUC
Using jidstr with slashes "escaped" as backslashes is clever, but
_check_and_create_log_dir still expects a parsable JID to check config.
2022-03-07 14:07:05 -05:00
0676cec53e impromptu: types, fstrings, naming
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 22:38:03 +01:00
cdf38ace9f impromptu: wait for subject instead of self-presence
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 22:38:03 +01:00
ee82c6717d impromptu: Ensure a room is empty before joining
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 22:38:03 +01:00
1e6073e0ec plugin_e2ee: ignore mypy failures with passthrough metaclass param
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 20:44:07 +01:00
5d5d6b7ed0 plugin_e2ee: encrypt: also search tabs for barejids if not found
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 20:44:07 +01:00
72ec3cd73b plugin_e2ee: don't fail on tab.jid if tab is None
I doubt this is the proper fix, there are still paths that use tab below
that.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 20:44:07 +01:00
33555db0c1 plugin_e2ee: allow decrypt call to be async
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-03-01 20:44:07 +01:00
mathieui
8ca55b4442 fix: do not traceback on encrypted payloads without a tab open 2022-03-01 20:44:07 +01:00
mathieui
aaa6911a39 clean: remove unused imports 2022-02-25 22:35:30 +01:00
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