Commit graph

1,951 commits

Author SHA1 Message Date
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
a9aa17f2d0 jp: fixed shebang python call 2016-06-19 22:22:08 +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
eff7ec3ded minor doc fixes 2016-04-18 18:35:19 +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
e8783b42df quick app (contact list): when a new profile is plugged, updates are locked until the end of the process, this avoid many useless refreshes 2016-04-18 18:33:55 +02:00
Goffi
8851addc20 quick frontend, primitivus: quickContactList refactored to handle several profiles at once 2016-04-18 18:31:13 +02:00
Goffi
0b52799489 core (installation): minor comment in setup.py 2016-04-17 18:07:55 +02:00
Goffi
59f7689c5a removed pyfeed and xe from README4PACKAGERS 2016-04-17 17:32:52 +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
souliane
4408147e2d jp (cmd/roster): fixes division by zero exceptions
fix bug 135
2016-04-17 13:00:44 +02:00
Goffi
046fb62a52 core (memory/params): fixed exception when setting an empty password 2016-03-26 18:43:54 +01:00
Goffi
74409e5e64 quick frontend (QuickApp): added ui_show_cb in actionManager, so frontend can handle the display of the XMLUI itself 2016-03-26 16:15:23 +01:00
Goffi
f600da971e jp (blog/edit): use utf-8-sig to decode content file to avoid BOM being propaged to content 2016-03-25 15:32:43 +01:00
Goffi
b6be98a193 setup: added sat.tools.common in packages 2016-03-25 14:37:49 +01:00
Goffi
24be8976ef jp (blog/edit): added forgotten O_TRUNC while opening metadata file 2016-03-25 12:06:50 +01:00
Goffi
c951dea64b jp (blog/edit): do not remove files if they are not in the temporary dir hierarchy 2016-03-25 11:45:57 +01:00
Goffi
c3ae32be42 jp (blog/edit): HTTP(S) and XMPP URLs can now be directly used in blog/edit command 2016-03-24 18:38:04 +01:00
Goffi
e3623e67ef jp (blog): force deletion (without backup) when content is empty 2016-03-22 23:33:55 +01:00
Goffi
9d304eec88 jp (blog): avoid conflict error when command line tags are already present in metadata 2016-03-22 23:33:31 +01:00
Goffi
3d20c6e059 tool (common): added forgotten __init__.py 2016-03-22 22:49:00 +01:00
Goffi
2fd6fa663c jp (blog): drafts are now put in a sub dir per profile + added a security which keep the last 10 drafts before removing them (all profiles included). 2016-03-22 22:46:05 +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
d0fb849398 jp: fixed traceback shown on a normal quit when a progression is finished 2016-03-21 19:44:16 +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
souliane
ed403ebe9f test (plugin radiocol): fixes the test to also handle MP3 files 2016-03-18 10:25:38 +01:00
souliane
f3f5fa82a1 tmp/wokkel (rsm): fixes elements count (items retrieval with RSM max = 0) 2016-03-18 09:14:00 +01:00
souliane
a336975a7a plugin XEP-0277, test: set keys of data dict as unicode + fix the tests 2016-03-18 08:58:22 +01:00
Goffi
9782588177 jp (blog): added "updated" to keys to keys to remove from tmp metadata 2016-03-15 16:25:42 +01:00
souliane
e2a807bdbc tmp (wokkel/mam): restore MAMPrefs being callable without argument when constructing a query:
- change occured in revision 1770 (f525c272fd6d)
2016-03-11 16:39:39 +01:00
souliane
27f74af7b0 test: update some tests 2016-03-11 17:42:56 +01:00
souliane
8bc634d4c2 test: add helpers methods muteLogging and unmuteLogging 2016-03-11 16:41:44 +01:00
souliane
cdff2852b4 plugin room_game: decrease the level of two logging messages from warning to info 2016-03-11 16:38:23 +01:00
souliane
ba1e8079ed plugin misc account: separate profile creation and sending emails, so we can wait and send the emails at the right time (when we know that no error occured) 2016-03-11 12:31:33 +01:00
Goffi
7ebae7c89a jp (blog/edit): removed meta_file_path non existence check, as it is now re-used if it exists 2016-03-10 19:13:42 +01:00
Goffi
3ab15a6aee jp (blog/edit): a draft file can be directly specified 2016-03-10 18:05:37 +01:00
Goffi
27cd8412d5 plugin XEP-0060: fixed traceback if service was None 2016-03-10 17:50:17 +01:00
Goffi
c4ac825c8f plugin XEP-0060: service, node and uri are added to metadata when doing a getItems 2016-03-09 16:59:29 +01:00
Goffi
3890a108f4 plugin XEP-0277: removed mbGetAtom which has not reason to be in the backend, as it is highly dependant of (web) frontend elements. The code will be moved to Libervia:
/!\ this break Libervia static blog temporarily, the time to commit the changes
2016-03-09 14:33:54 +01:00