Commit graph libervia-backend/frontends/src/quick_frontend
Author SHA1 Message Date
Goffi
cc17c2869f quick frontend (chat): added a getlocale method and changed self.day_change calculation for pyjamas compatibility 2016-08-09 01:11:22 +02:00
Goffi
40b71e6f80 quick frontend (contact): fixed roster and roster_connected in handler + add a next function for pyjamas compatibility 2016-08-09 01:10:09 +02:00
Goffi
3f83911645 quick frontend (QuickApp): unicode string fix 2016-08-09 01:08:59 +02:00
Goffi
56211b33c6 primitivus, quick frontend (chat): moved time text generation to QuickChat 2016-08-08 21:05:04 +02:00
Goffi
21bdd2cbca quick frontend (widget): minor profiles check on widget creation 2016-08-08 00:49:17 +02:00
Goffi
c7e84506dd quick frontend(chat): fixed traceback in log message 2016-08-08 00:48:22 +02:00
Goffi
2d468f9e94 quick frontends, primitivus: messageState signal handling 2016-08-02 23:11:44 +02:00
Goffi
c0e4960c55 primitivus (chat): added :topic (and :subject and :title aliases) to change subject with a dialog (/!\ urwid SàText need to be updated) 2016-07-24 19:00:50 +02:00
Goffi
82a12186ea quick frontend, primitivus (chat, contact_list): fixed MUC private messages handling:
- occupants can be clicked again
    - QuickChat.Occupant now keep room jid and real jid if available
    - history messages are filtered correctly when requesting history for MUC room or private conversation
2016-07-24 18:07:45 +02:00
Goffi
60c8f2fc3d quick_frontend(chat): better handling of cached signals when initialising widget 2016-07-24 18:02:34 +02:00
Goffi
9f853cd774 quick_frontend, primitivus (chat): fixed widget bad locking + don't send notification when locked 2016-07-24 17:59:24 +02:00
Goffi
9456417949 quick_frontend, primitivus (contact_list): ContactList widget must now call postInit() when ready, to avoid being registered before being constructed 2016-07-24 17:56:18 +02:00
Goffi
e32bd443a3 quick_frontend, primitivus: better notifications handling 2016-07-24 17:56:14 +02:00
Goffi
57daef07a7 quick_frontend, primitivus (contact_list): improved and simplified handling of "special" entities:
- special_extras has been removed
    - specials handle all entities (bare + full) in a single set
2016-07-24 17:47:09 +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
73a8db4e64 primitivus, quick_frontends: show global notifications counter in contact_list + method to get these notifications in QuickApp 2016-07-17 17:32:46 +02:00
Goffi
cc160e03d7 plugin XEP-0085, quick_frontends, primitivus: chat states are working again 2016-07-17 16:47:33 +02:00
Goffi
becdbf205a quick_frontend (QuickWidget): keep on_new_widget argument when recreating a widget 2016-07-11 19:22:40 +02:00
Goffi
0a197cab88 quick_frontend, primitivus: moved main_message property to quick_frontend 2016-07-10 12:26:13 +02:00
Goffi
c1c7b0446c quick_frontend: allow presence of entities without resource 2016-06-29 13:42:35 +02:00
Goffi
aace5a2520 quick_frontend, primitivus (chat): mention detection in group chat + notification (mention and messages) 2016-06-27 22:37:51 +02:00
Goffi
b388d2b172 quick_frontend, primitivus: notifications refactoring
replaced old "alerts" system by a more generic one which use listeners and can activate callbacks on notification click.
2016-06-27 22:36:22 +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
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
eff7ec3ded minor doc fixes 2016-04-18 18:35:19 +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
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02: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
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
souliane
2a05b19bab quick_frontend (blog): correction for the previous patch:
- "comments_node" and "comments_service" are not needed when "comments" is already here
    - to set "allow_comments" to True when updating a main item was enough
2016-02-22 13:44:14 +01:00
souliane
e7c0368b13 quick_frontend (blog): fixes main item update (comment's data were lost) 2016-02-22 13:15:02 +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
2a99e4bc38 quick_frontend (chat): temporary fix for bug 12:
- avoid duplicate one2one message (before the history + as a part of it)
    - do not display "=> <nick> has joined the room" for each occupant when we have just joined a MUC
2015-12-22 11:44:51 +01:00
souliane
87bd260149 quick_frontend (chat): scroll down after having printed the history 2015-12-22 11:43:02 +01:00
souliane
f153fd885d quick_frontend, primitivus (chat): printing the history is left to quick_frontend 2015-12-22 11:39:45 +01:00
Goffi
6c8121324c quick_frontend (blog): replaced first argument in addEntry by edit_entry, so it can be managed separately from entries + handle it in Entry.delete 2015-12-18 19:36:00 +01:00
souliane
99785755e1 quick_frontend: restore printing the day change while displaying history 2015-12-15 20:05:27 +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
Goffi
26b892c622 reverted patch 58ecc0e2e6fc as it may hide an other issue 2015-12-15 14:25:26 +01:00
souliane
17476b420c quick_frontend: catch an exception that can occurs when using a concurrent client 2015-12-10 10:44:04 +01:00
souliane
fb6b1e5377 quick_frontend (quick_blog): remove tags2mbdata which is replaced by common.iter2dict 2015-11-24 23:42:49 +01:00
Goffi
44ad744c63 quick frontend (blog): replaced mbdata2tags and tags2mbdata by sat.tools.common.dict2iter and iter2dict 2015-11-24 23:28:11 +01:00
Goffi
da0c8ec0ba quick_frontend(blog): groups blog sending is handled 2015-11-24 16:21:18 +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
ba295f1429 quick_frontend: getFeatures is called on profile plug, and saved in host.features 2015-11-23 23:30:41 +01:00
Goffi
8e9ef84243 quick frontend (blog): fixed group blog panels (displaying only, sending is not working yet) 2015-11-23 16:21:32 +01:00