summaryrefslogtreecommitdiff
path: root/poezio/plugin.py
AgeCommit message (Collapse)Author
2020-01-01BasePlugin: Remove debug loggingMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-01-01E2EE MUC supportMaxime “pep” Buquet
This change transmits the original JID of the sender (in decrypt) or receiver(s) (in encrypt). Handling of MUC is not complete. It is possible that some participants have access to realjids while others don't (e.g., moderators in semi-anon MUCs). The code currently doesn't handle this and this will cause at least two issues: - Sending an encrypted message in a semi-anon MUC would reveal the sender's identity (public key) - Recipients wouldn't be able to decrypt this message as they don't have access to the sender's realjid. Unless they already have the bundle available and then they could associate the public key with a jid (another privacy issue/defeating the point of semi-anon rooms). TODO: Fix this ^ Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-12-27Add a "passthrough" parameter for calls through the safetymetaclassmathieui
So errors don’t get caught
2019-12-27Plugins: use import_module for module in poezio_pluginsmathieui
And do not rely on the "module name" to index the plugins, use the intended plugin name instead.
2019-08-22Adapt the plugin safety metaclass for async funcsmathieui
2019-06-22Rework priority handling for eventsMaxime “pep” Buquet
Introduce the concept of priority for event handlers, instead of the position parameter. The new `priority` parameter replacing `position` should be an integer between 0 and 100. It defaults to 50. The previous `position` parameter was only used to insert at a certain position in the list of handlers (for this particular event). No reference of it was kept, which means that it was not possible to ensure an event was called in the position is was supposed to be. I am now using per-event dicts, containing priority buckets (lists) of handlers. I am using OrderedDicts to make it easier to loop through all of the handlers, as insertion happens less often than reading. I was also suggested using bisect with a simple list of tuples (priority, handler) per event, but bisect tries to compare bound methods, which is obviously not possible. Maybe it would be interesting to find a way use this method instead of OrderedDict as that might be less resource consuming. This said, I don't think this part of poezio is a bottleneck at all, so maybe this is just fine as is. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-08-09Remove the GPG pluginmathieui
It’s broken and nobody is using it as far as I know.
2018-08-08timed_events, plugin: Remove some DeprecationWarning on invalid escapes in ↵Emmanuel Gil Peyrot
docstrings.
2018-07-21Update poezio for the new tabs modulemathieui
2018-07-14Stop making classes inherit from object.Emmanuel Gil Peyrot
2018-07-08Fix loading plugins.Emmanuel Gil Peyrot
2018-07-08plugin: Use the provided pathlib.Path.Emmanuel Gil Peyrot
2017-11-12yapf -irmathieui
2016-12-26Add missing message types (fix #3271)mathieui
Which were being filtered by the information popup filter
2016-06-30Absolute imports everywheremathieui
2016-06-27Make all relative imports explicit.Emmanuel Gil Peyrot
2016-06-11Move the src directory to poezio, for better cython compatibility.Emmanuel Gil Peyrot