-
Pl
chevron_right
Mathieu Pasquet: Poezio 0.18
news.movim.eu / PlanetJabber • 12:13 • 2 minutes
Poezio is a terminal-based XMPP client which aims to replicate the feeling of terminal-based IRC clients such as irssi or weechat; to this end, poezio originally only supported multi-user chats and anonymous authentication.
This new release has mostly internal improvements, but a few improvements and fixes as well.
Thanks to all contributors and users!
Features
- Implementation of Message Retraction ( XEP-0424 ) as the sending side.
- Various improvements to the react plugin, notably a way to convert :emoji: aliases to real emojis.
- Overhaul of the hide_exit_join option (more in the next section).
Updates to hide_exit_join
The hide_exit_join option is meant to avoid displaying all join/part presences since the MUC ( XEP-0045 ) behaviour is heavily presence-based for now.
It is an integer, which can be -1 (display all exit/joins), 0 (display none), and a positive value n (display anything inactive for more than n seconds).
How this worked previously is that poezio did not even add join/exit messages if they matched the criteria, making its a bit difficult if you both did not want to clutter your screen with mostly irrelevant information, while at the same time being able to view them – e.g. if you are moderating the room –.
Now the positive value’s quirky behavior stays the same, but in the case of -1 or 0 , the join/exit messages will be kept in the buffer at all times, but not displayed when the value is 0 . This option can be set at runtime, and the effects are instantaneous.
Since this is a special kind of value and not a boolean, /toggle will not work on it, therefore two new "aliased keys" have been added for users who want to bind keypresses to this toggling:
- _toggle_presences_local to show or hide presences in the current MUC.
- _toggle_presences_global to show or hide presences globally.
Fixes
- The API used internally for message retraction or moderation is no longer limited to the last 100 messagess.
- Fixed the config file handling on Guix or related distributions where the config file could actually be a symlink (in which case it produced undesired behavior).
- Custom plugin and theme load should keep working on python 3.15, which removes a number of deprecated APIs in python’s importlib .
- The /xhtml command had been broken for a while.
- Some coroutines in the admin or irc plugin were not awaited, which broke functionality and produced unwanted errors in the output.
- Fixed a traceback when receiving reactions from an unopened conversation.
- Fixed a display bug in semi-anonymous rooms showing the room jid ( room@server/nick ) for users when joining/leaving, which is useless.
- Fixed a case where self-ping would be disabled when the room disconnects us, instead of trying to rejoin later.
Packaging
- Link Mauve updated both the flatpak and the sticker-picker plugin.
- Goran updated the guix package.
Docs
- Missing plugins documentation has been added.
Internal
As hinted in my previous post , a large effort was made towards better typing and linting. This means there were a huge number of changes:
% git diff --stat v0.17...v0.18
…
157 files changed, 5366 insertions(+), 3158 deletions(-)
Which is risky, but at the same time since most of those changes added stricter type checking, there are few possible regressions (and a few were caught already, thanks to the kind people running the main branch).