Commit graph libervia-backend/src
Author SHA1 Message Date
Goffi
4f26367e7a plugin XEP-0054: fix use of full jid for room occupants 2016-09-09 23:54:33 +02:00
Goffi
b97038f281 plugin XEP-0054: renamed isInRoom to isRoom as the method only tell if the entity belong to a MUC 2016-09-09 23:54:33 +02:00
Goffi
d80d9ae0d4 plugin XEP-0045: minor docstring fix 2016-09-09 23:54:32 +02:00
Goffi
eb1dd1d177 plugin XEP-0245: removed plugin XEP-0245:
at the end it adds complications to handle XEP-0245 in backend (because edge cases must be handled: info type with group chat, history when message is info but for a group chat, etc) while it's trivial to handle it in frontend.
    So /me detection is handled in QuickFrontend and cmd_me is back into plugin_misc_text_commands, it is the choice of the frontend to display or not the "/me" (for frontends based on QuickFrontend it remains automatic).
2016-08-28 21:00:53 +02:00
Goffi
f378675f78 bridge (bridge_template.ini): minor doc fix 2016-08-28 20:24:25 +02:00
Goffi
7ad14f2252 core: line feed (\n) are now forbidden in profile names 2016-08-28 20:09:09 +02:00
Goffi
55357178ef core, bridge, frontends: removed deprecated bridge method askConfirmation, confirmationAnswer, actionResult, actionResultExt and getWaitingConf 2016-08-28 19:23:58 +02:00
Goffi
0de4df1051 plugin XEP-0045, XEP-0054, XEP-0096: deprecated bridge method are not used anymore 2016-08-28 18:20:55 +02:00
Goffi
faf645d589 plugin XEP-0249: some modernisation, don't use anymore deprecated methods, invite bridge method use a single param for room jid 2016-08-28 18:18:10 +02:00
Goffi
527e561a3e core (xmlui): added a quickNote method to easily send notes 2016-08-28 18:16:03 +02:00
Goffi
3142e4fee6 plugin debug: first draft:
this plugin implement some helper tools/bridge method to make development and debugging easier.
The first implemented bridge method, debugFakeSignal, allow to send a signal from the backend, simulating some events in the frontends.
2016-08-21 12:23:09 +02:00
Goffi
a1d5ee167c core (constants): added XMLUI_DATA_LVLS constants which group all available levels 2016-08-21 12:03:34 +02:00
Goffi
ae50946479 plugin XEP-0045: fixed options parameter handling in bridge callback 2016-08-08 00:50:01 +02:00
Geoffrey POUZET
3f5a26f273 plugin XEP-0184: Implementation of XEP-0184 (Message Delivery Receipts) 2016-07-28 19:11:31 +02:00
Goffi
b148722b4d plugin XEP-0045: added bridge method to change subject 2016-07-24 18:59:02 +02:00
Goffi
60c8f2fc3d quick_frontend(chat): better handling of cached signals when initialising widget 2016-07-24 18:02:34 +02:00
Geoffrey POUZET
7eb6d363d9 plugin XEP-0070: change message popup to be more user-friendly 2016-07-19 21:25:22 +02:00
Goffi
9647e90943 backend (memory), frontends: improved history filtering:
a "filters" dictionnary is now use to filter, it can have, for now, filtering on:
        - "body": filter only on the body (equivalent to former "search" parameter, but not case sensitive)
        - "search": fitler on body + source resource
        - "types": allowed types
        - "not_types": forbidden types

    primitivus now do searching using "search", i.e. source resource is now taken into account (and search is now case insensitive)
2016-07-18 00:52:02 +02:00
Goffi
90f8473b99 plugin lang detect: added a parameter to (de)activate the detection 2016-07-17 19:43:30 +02:00
Goffi
cc160e03d7 plugin XEP-0085, quick_frontends, primitivus: chat states are working again 2016-07-17 16:47:33 +02:00
Geoffrey POUZET
9ed4c1787e plugin XEP-0070: implementation of XEP-0070 (verifying HTTP request via XMPP) 2016-07-11 20:01:05 +02:00
Goffi
93f2d8d948 plugin XEP_0249: fixed bad use of namespace in addElement 2016-07-10 12:26:42 +02:00
Goffi
79f1179723 plugin XEP-0045: fixed typo in text commands 2016-07-02 20:55:31 +02:00
Goffi
286ee2a5e2 plugin XEP-0045: added /list text command:
/list display a basic (for now) listing of available rooms in current or specified MUC service
2016-07-01 00:00:36 +02:00
Goffi
3b49db2892 plugin XEP-0045: various fixes/improvments:
- use self.txt_cmds instead of self.host.plugins["XEP-0045"]
    - nick and options in join have now default values
    - directly raise ConflictError when room is already joined instead of using defer.fail
    - removed self.host.getClient where it's now useless because client is used instead of profile
2016-07-01 00:00:23 +02:00
Goffi
71a2fe4599 plugin xep-0045: ask for password when getting a "not-allowed" error 2016-07-01 00:00:09 +02:00
Goffi
a0fb3b451f xep-0045: ignore non standard presence received between own presence and room subject 2016-06-29 13:46:14 +02:00
Goffi
96afcb28d3 plugin XEP-0054: fixed getCard calls 2016-06-28 18:27:02 +02:00
Goffi
8b425a2e44 plugin XEP-0045: fixed calls to join, nick, kick, ban and affiliate 2016-06-28 18:26:21 +02:00
Goffi
04515e5013 plugin XEP-0045, quick_frontend + primitivus (chat): cleaning of XEP-0045 (first pass):
- bridge methods/signals now all start with "muc" to follow new convention
    - internal method use client instead of profile to follow new convention
    - removed excetpions from plugin XEP-0045 in favor of core.exceptions, NotReady added
    - cleaned/simplified several part of the code. checkClient removed as it is not needed anymore
    - self.clients map removed, muc data are now stored directly in client
    - getRoomEntityNick and getRoomNicksOfUsers are removed as they don't look sane.
        /!\ This break all room game plugins for the moment
    - use of uuid4 instead of uuid1 for getUniqueName, as host ID and current time are used for uuid1
2016-06-27 21:45:11 +02:00
Goffi
a28bb7be8f merged main branch 2016-06-24 22:41:28 +02:00
Goffi
d3e2bef0cd plugin exp_lang_detect: language detection plugin, first draft
This plugin try to autodetect outgoing and ingoing messages language when it is not specified by sender
2016-06-20 18:44:27 +02:00
Goffi
b3c7a45ba5 plugin XEP-0245: implementation of XEP-0245 /me syntax 2016-06-20 18:42:00 +02:00
Goffi
a7de473107 backend, frontends: message refactoring (huge commit):
/!\ several features are temporarily disabled, like notifications in frontends

next step in refactoring, with the following changes:
    - jp: updated jp message to follow changes in backend/bridge
    - jp: added --lang, --subject, --subject_lang, and --type options to jp message + fixed unicode handling for jid
    - quick_frontend (QuickApp, QuickChat):
        - follow backend changes
        - refactored chat, message are now handled in OrderedDict and uid are kept so they can be updated
        - Message and Occupant classes handle metadata, so frontend just have to display them
    - Primitivus (Chat):
        - follow backend/QuickFrontend changes
        - info & standard messages are handled in the same MessageWidget class
        - improved/simplified handling of messages, removed update() method
        - user joined/left messages are merged when next to each other
        - a separator is shown when message is received while widget is out of focus, so user can quickly see the new messages
        - affiliation/role are shown (in a basic way for now) in occupants panel
        - removed "/me" messages handling, as it will be done by a backend plugin
        - message language is displayed when available (only one language per message for now)
        - fixed :history and :search commands
    - core (constants): new constants for messages type, XML namespace, entity type
    - core: *Message methods renamed to follow new code sytle (e.g. sendMessageToBridge => messageSendToBridge)
    - core (messages handling): fixed handling of language
    - core (messages handling): mes_data['from'] and ['to'] are now jid.JID
    - core (core.xmpp): reorganised message methods, added getNick() method to client.roster
    - plugin text commands: fixed plugin and adapted to new messages behaviour. client is now used in arguments instead of profile
    - plugins: added information for cancellation reason in CancelError calls
    - plugin XEP-0045: various improvments, but this plugin still need work:
        - trigger is used to avoid message already handled by the plugin to be handled a second time
        - changed the way to handle history, the last message from DB is checked and we request only messages since this one, in seconds (thanks Poezio folks :))
        - subject reception is waited before sending the roomJoined signal, this way we are sure that everything including history is ready
        - cmd_* method now follow the new convention with client instead of profile
        - roomUserJoined and roomUserLeft messages are removed, the events are now handled with info message with a "ROOM_USER_JOINED" info subtype
    - probably other forgotten stuffs :p
2016-06-20 18:41:53 +02:00
Goffi
feadc8c89e memory (sqlite): fixed handling of extra (pickled data) by using sqlite3.Binary 2016-06-19 22:22:13 +02:00
Goffi
74ebd4cb66 memory (sqlite): better handling of IntegrityError 2016-06-19 22:22:12 +02:00
Goffi
6d67db84ea core: changed versioning schema:
before the "D" was meaning "version + modifications", so 0.6.0D was meaning "after the version 0.6.0".
    Now SàT will follow a more traditional way, so it move to 0.7.0D to say "it's the preparation of the version 0.7.0".
2016-06-19 22:22:04 +02:00
Goffi
f12803fa65 backend, frontend: messages refactoring (huge commit, not finished):
/!\ database schema has been modified, do a backup before updating

    message have been refactored, here are the main changes:

    - languages are now handled
    - all messages have an uid (internal to SàT)
    - message updating is anticipated
    - subject is now first class
    - new naming scheme is used newMessage => messageNew, getHistory => historyGet, sendMessage => messageSend
    - minimal compatibility refactoring in quick_frontend/Primitivus, better refactoring should follow
    - threads handling
    - delayed messages are saved into history
    - info messages may also be saved in history (e.g. to keep track of people joining/leaving a room)
    - duplicate messages should be avoided
    - historyGet return messages in right order, no need to sort again
    - plugins have been updated to follow new features, some of them need to be reworked (e.g. OTR)
    - XEP-0203 (Delayed Delivery) is now fully handled in core, the plugin just handle disco and creation of a delay element
    - /!\ jp and Libervia are currently broken, as some features of Primitivus

    It has been put in one huge commit to avoid breaking messaging between changes.
    This is the main part of message refactoring, other commits will follow to take profit of the new features/behaviour.
2016-05-24 22:11:04 +02:00
Goffi
1e05785e83 core (logs): taints:
log taints can be specified using log_levels_taints_dict in sat.conf, where key is a level name, and value is a list of color or code names. For instance, the following conf would taint INFO level in bold/green and DEBUG in default color:

    log_levels_taints_dict = {"debug": [], "info": ["green", "bold"]}

Unknown names are copied as raw strings.
2016-04-18 18:35:17 +02:00
Goffi
864520086a core (logs): use tools.config to handle sat.conf 2016-04-18 18:33:59 +02:00
Goffi
304b1eb34b core (logs): log color location can now be specified with %(color_start)s and %(color_end)s 2016-04-18 18:33:59 +02:00
Goffi
06663b9571 core: removed pyfeed and xe dependencies:
pyfeed and xe where still used only for date format handling, and there is already dateutil which is a dependency of Wokkel.
    Furthermore pyfeed and xe are still not on pypi, causing troubles for installation with pip
2016-04-17 17:08:12 +02:00
Goffi
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02:00
souliane
edb31e2d74 plugin adhoc_dbus, jp (cmd/adhoc): fixes adHocDBusAddAuto when no bus is found
fix bug 134
2016-04-17 13:37:40 +02:00
Goffi
046fb62a52 core (memory/params): fixed exception when setting an empty password 2016-03-26 18:43:54 +01:00
Goffi
3d20c6e059 tool (common): added forgotten __init__.py 2016-03-22 22:49:00 +01:00
Goffi
787a84c29d tools (common): added regex module with path (un)escaping methods 2016-03-22 22:46:04 +01:00
Goffi
2d1d286be2 core (tools): moved common to a separate package, and put data method in a data_format module 2016-03-22 22:46:04 +01:00
Goffi
d02c466ddd bridge (frontend): raise a BridgeExceptionNoService on org.freedesktop.DBus.Error.Spawn.ExecFailed D-Bus error 2016-03-21 19:44:16 +01:00
souliane
30e4e3559f plugin misc_account: fixes two bugs introduced by revision 1907 (0b748ad46ede):
- the email sent to the user was not displaying its his/her JID
    - creating an account from an external JID was not returning a bool
2016-03-21 17:00:39 +01:00