Commit graph libervia-backend/frontends/src/primitivus
Author SHA1 Message Date
Goffi
be443a043f primitivus (chat): fixed filters clearing when changing filter while one already exists 2016-06-20 23:07:53 +02:00
Goffi
e784c1694c primitivus: basic handling of filter, only language can filtered for now 2016-06-20 19:19:16 +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
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
8851addc20 quick frontend, primitivus: quickContactList refactored to handle several profiles at once 2016-04-18 18:31:13 +02:00
Goffi
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02:00
Goffi
bc371c5569 primivitus: Primivitus doesn't handle microblog yet, configure QuickApp accordingly 2016-01-13 18:55:30 +01:00
souliane
923dcc593d primitivus (chat): since dialog refresh is done in message notification, print the message first and then notify 2016-01-13 08:50:40 +01:00
souliane
f16e277e8f quick_frontend, primitivus: mechanism to signal a new message reception when the window is hidden (even if the message is actually displayed):
- for now this is only used by Libervia
2016-01-12 17:54:38 +01:00
souliane
a08a073503 quick_frontend, primitivus (chat): move notification command to quick_frontend 2016-01-12 17:52:17 +01:00
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
souliane
f153fd885d quick_frontend, primitivus (chat): printing the history is left to quick_frontend 2015-12-22 11:39:45 +01:00
souliane
8aec15cecf primitivus (chat): duplicate message check is actually not needed when retrieving local MUC history is disabled 2015-12-16 13:29:24 +01:00
souliane
77c0656c85 frontends: small message refactorisation:
- factorize some treatments that were done both in Primitivus and Libervia
    - the way it was done, especially with QuickChat.printMessage returning a tuple, was quite disturbing
    - FIXME: we can probably remove some arguments and do a deeper factorization e.g with QuickChatText
2015-12-12 12:18:54 +01:00
souliane
8a1e54b194 primitivus and plugins: renamed a few menus:
- display all menu with the first letter in upper case
    - moved Search directory from Service to Contacts
    - moved "Join room" from Communication to Groups
    - moved Bookmarks from Communication to Groups
2015-12-01 12:45:14 +01:00
Goffi
a03b45c7f6 primitivus (profile manager): session is started for newly create profiles 2015-11-27 16:58:16 +01:00
Goffi
42b64871a8 primitivus: a warning is loggued when trying to remove an unknown popup, instead of an error raised 2015-11-25 13:03:44 +01:00
souliane
b68d6ec6e9 primitivus: fixes joining a MUC room 2015-11-24 14:43:49 +01:00
souliane
54e9afe5a3 quick_frontend, primitivus: display the number of alerts for each contact and not only a symbol (*) 2015-11-24 13:31:28 +01:00
Goffi
435a3fcb90 primivitus: fixed crash when self.target is a full jid 2015-11-20 11:46:26 +01:00
Goffi
4ffbce51c3 primitivus: fixed progress panel 2015-11-20 01:57:18 +01:00
Goffi
fc9b4fb02c primitivus: removed all file menu + temporary workaround to send full jid on C.MENU_SINGLE menu action. 2015-11-20 01:57:18 +01:00
Goffi
1c86c2b9b4 primitivus: fixed showDialog 2015-11-19 22:31:06 +01:00
Goffi
e847a9f001 primitivus: fixed showDialog and XMLUI message dialog 2015-11-17 12:28:45 +01:00
Goffi
fd271b69ba primitivus (xmlui): fixed closing on popup panel "OK" button press 2015-11-16 09:25:05 +01:00
Goffi
909a54995e primitivus: fixed alert case + alert in profileManager 2015-11-16 08:57:36 +01:00
Goffi
2a3b5ad8e3 primitivus: partly reverted commit 641cfd2faefe :
- showDialog is actually still used and useful
    - updated the code to use the widget argument in removePopup
2015-11-13 16:45:56 +01:00
Goffi
73139e59ba Primitivus: better popups handling:
- widget to remove can now be specified in removePopUp: if it is not the current one, it will be removed from queue
    - Primitivus.Alert method is a shortcut to display an Alert which will be removed on "OK" press
    - showDialog is now obsolete and removed, if generic dialog creation is needed, XMLUI can be used
2015-11-11 18:32:59 +01:00
Goffi
719a624892 quick_frontend, primitivus (xmlui): removed _xmluiClose from workflow were submit is triggered, as submit launch the callback which close the dialog itself + fixed dialogs _xmluiClose 2015-11-11 18:29:32 +01:00
Goffi
db35bfb674 primitivus (XMLUI): manage message in FileDialog /!\ Urwid SàText need to be updated /!\ 2015-09-25 19:19:12 +02:00
Goffi
dd8462f07a frontends: callback are now always used in QuickApp launchAction (before it was only used if validated is present):
- actionManager is used by default (no callback provided)
    - in XMLUI, the dialog is closed before calling actionManager
    - if keys are not managed in resuling data, an exceptions is raised
2015-08-25 14:41:42 +02:00
Goffi
fcb658ff2d primitivus (ProfileManager): fixed profile change event callback 2015-08-25 14:22:21 +02:00
souliane
a90bcacfe9 tools, frontends (xmlui): allow to select a tab when adding it 2015-08-21 14:17:41 +02:00
Goffi
1fde823a9c primivitus: fixed profile manager exception when nothing is focused 2015-08-20 18:41:06 +02:00
Goffi
9df7cd6d33 frontends, primitivus: JidsList XMLUI widget management /!\ urwid SàText must be updated 2015-08-20 18:36:53 +02:00
Goffi
7f14e1865d core , privmitivus (xmlui): add jidInput handling, with a simple String for now 2015-08-18 10:35:44 +02:00
Goffi
3312c3bf97 quick_frontend, primitivus: handling of actionNew signal 2015-08-18 09:01:18 +02:00
souliane
e10070f923 primitivus: fix setting the presence and status 2015-06-10 09:18:34 +02:00
souliane
41b549f7ae core, plugin XEP-0045, frontends: change frontend method "setStatusOnline" for "setPresenceStatus":
- remove parameter "online" (can be guess from "presence" value)
    - process "statuses" dict in quick_frontend, so this method can get a simple unicode "status"
    - add C.PRESENCE_STATUSES_DEFAULT to define the key to use for fallback status
2015-04-20 16:39:38 +02:00
souliane
2203e6aa52 quick_frontend, primitivus: fixes a couple of issues:
- chat: notification was raising an error when you just entered the room and self.nick is None
    - quick_widget: deleting a widget was modifying a dict while looping on it + unselect widget when it's being deleted
2015-04-16 17:17:28 +02:00
souliane
67ff77e5de massive (preventive) addition of 'u' (unicode) before the strings passed to logging functions 2015-04-16 14:57:57 +02:00
souliane
cc829beac7 quick_frontend, primitivus: move code to remove a new message alert from primitivus to quick_frontend 2015-04-16 13:31:14 +02:00
souliane
bf04fcf780 plugin XEP-0045, quick_frontend, primitivus: replace C.DEFAULT_MUC by bridge method getDefaultMUC (value is defined in plugin XEP-0045 and can be overriden with the config file) 2015-04-09 11:27:13 +02:00
souliane
de9c656e3b primitivus: fixes :search command 2015-04-09 11:24:25 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
souliane
ff0166e95f quick_frontend, primitivus: various fixes (MUC and cached signals):
- actually call the cached signals, everything was there but the call was not done
    - display '[]' instead of '[None]' when group message coming from the room (no resource)
    - catch the exception when trying to delete an occupant who's not in the room
    - do not cache a "main resource" for MUC entities
2015-03-25 15:25:51 +01:00
souliane
30f1169e22 primitivus (Chat): fixes updating the occupant list when someone leaves, changes his nick or is added in last position 2015-03-25 10:09:59 +01:00
souliane
e81c92c549 quick_frontend, primivitus: revert changes made in rev 1386 (1f3513cfb246) concerning ChatText.nick: was mixing MUC occupant nick and roster contact nick/node 2015-03-25 09:42:05 +01:00
souliane
78f14091b1 quick_frontend, primitivus: remove QuickChat.updateEntityState and QuickChat.setContactStates, use more general QuickChat.update (also called when joining the room to initialise the occupants list) 2015-03-24 17:31:08 +01:00
souliane
1a03845539 primitivus (contact_list): fixes hide/show disconnected contacts via keyboard shortcut 2015-03-24 10:46:42 +01:00