Commit graph libervia-backend/sat_frontends
Author SHA1 Message Date
Goffi
09020b7108 core (memory/encryption), plugin OTR: finished OTR integration in encryption:
- messageEncryptionStart and messageEncryptionStop are now async
- an encryption plugin can now have a startEncryption and endEncryption method, which are called automatically when suitable
- trust is now put in "trusted" key of message_data, and markAsTrusted has been added, it is used in OTR
- getTrustUI implemented for OTR, using legacy authenticate code
- catch potr.crypt.InvalidParameterError on decryption
- fixed some service OTR messages which were not correctly marked as not for storing, and thus were added to MAM archive/carbon copied
- other bug fixes
2019-01-03 21:00:00 +01:00
Goffi
c059645abf jp (message/send, encryption): encryption handling:
- encryption algorithm can now be requested when sending a message (using --encrypt option)
- new encryption commands to (de)activate encryption session, check available algorithms, or manage trust.
2019-01-02 18:50:57 +01:00
Goffi
bd9cec8b47 jp (xmlui): JidWidget + small improvments:
- JidWidget is now handled basically using TextWidget.
- EmptyWidget display an empty line.
- BoolWidget display current value with an asterisk when write is allowed.
- fixed an bug in LabelContainer when for_name was not specified.
2019-01-02 18:50:47 +01:00
Goffi
24c4cc0487 frontends (XMLUI): TabsContainer can now be the main container (Primitivus keep the old behaviour and always use VerticalContainer as main container) 2019-01-02 18:32:16 +01:00
Goffi
c2a1ba3793 core (xmpp): don't send message without message or subject to bridge (and log a warning in frontends if such a message is received) 2019-01-02 18:28:30 +01:00
Goffi
24468a9138 core (memory/encryption): new encryptionNamespaceGet and encryptionTrustUIGet methods:
- encryptionNamespaceGet retrieves algorithm namespace from its short name
- encryptionTrustUIGet retrieves trust mangement XMLUI from encryption plugin
- new markAsUntrusted internal helper method, to add untrusted flag to message data
2019-01-02 18:22:30 +01:00
Goffi
575b5dd126 quick frontend(chat): use unicode on jid.JID instance in self.host.bridge.messageEncryptionGet:
jid.JID is causing trouble when going trough bridge (with pb bridge), this patch avoid it by using unicode.
2018-12-27 11:40:04 +01:00
Goffi
1a9e8d8cb1 jp (message/mam): display metadata when verbose 2018-12-10 20:34:45 +01:00
Goffi
bd7ae59674 jp (info/disco): better default output for extensions 2018-12-01 14:35:28 +01:00
Goffi
51fef1d271 jp (message): new mam subcommand:
this subcommand allow to retrieve message history from MAM archive.
Note that the name may change in the future, it can be integrated to a "message/get" or "message/log" command.
2018-12-01 10:48:01 +01:00
Goffi
c4997f690c jp (output): new OUTPUT_MESS output to handle data containing chat messages 2018-12-01 10:48:01 +01:00
Goffi
93b23f1cc8 jp (base): pubsub legacy --max option renamed to --max-item to prepare the use of --max for RSM. 2018-12-01 10:47:59 +01:00
Goffi
32af40e098 jp (base): new own_jid host attribute:
this attribute is None by default and must be filled at runtime if needed by a command.
2018-12-01 10:42:25 +01:00
Goffi
31eae6db71 jp (base): new date_decoder to specify dates in arguments 2018-12-01 10:41:37 +01:00
Goffi
cee59f42ae jp (base): fixed connection when start_session arg exists but is False 2018-11-18 15:49:55 +01:00
Goffi
604238e035 jp: new command "ping" 2018-11-10 10:16:38 +01:00
Goffi
867f58cd4e quick frontend (contact list): use property to retrieve "whoami" in ProfileContactList:
this avoid a crash introduced by early creation of contact list during profile plugging, and avoid desynchronisation risk.
2018-11-09 16:17:45 +01:00
Goffi
154ba0d349 quick frontend (app): create the contact list immediatly on plug
This avoid crash when contact list is used while connexion is not done yet or not possible (e.g. server unavailable).
2018-11-05 09:13:05 +01:00
Goffi
86a52e58a6 jp (info): replaced "Client" by the more generic "Software" 2018-09-27 08:51:01 +02:00
Goffi
6d3e396d01 jp (blog/import): removed now useless generation of url_redirections_profile config key 2018-09-14 16:45:11 +02:00
Goffi
aa10a033b9 jp: fixed bad call to quit 2018-09-14 16:44:34 +02:00
Goffi
e70405cfc2 tools (common/template), jp: refactoring to handle multiple sites:
- site can now be specified in template header before theme, for instance: (some_site/some_theme)path/to/template.ext
- absolute template paths are now implemented, but Renderer must be instanciated with trusted to True for security reason (it's the case for jp)
- a new "front_url_filter" callable can be given to Renderer, which will convert template path to URL seen by end-user (default to real path).
- the "front_url_filter" can be used in templates with… "front_url" filter
- template_data is a new named tuple available in templates, which give site, theme and template relative URL
- search order is site/theme, site/default_theme, and default/default_theme where default link to sat_pubsub templates
- when loading CSS files, files with _noscript suffixes are now loaded, and used when javascript is not available
- "styles_extra.css" is also loaded before "styles.css", useful when a theme want to reuse default style, and just override some rules
- new site can be specified in sat.conf [DEFAULT] section, using sites_path_public_dict or sites_path_private_dict (where sites_path_private_dict won't be used in public frontends, like Libervia)
- "private" argument of Renderer tells the renderer to load private sites or not
- templates are now loaded from "templates" subdirectory, to differenciate them from other data like i18n
- jp template output has been updated to handle those changes, and to manage absolute templates
2018-09-10 08:58:18 +02:00
Goffi
5d6321ec9f frontends (xmlui): class_map is now an arg of create function:
class_map was so far used as a global value, but in some cases, several XMLUI managers may be used (it's the case in Cagou's remote controllers plugins, template_xmlui is used to manage remotes).
This patch set class_map as a create argument, this way it can be set with partial, and several XMLUI managers can be instanced at the same time.
2018-08-31 16:03:12 +02:00
Goffi
14fd4252eb core, frontends (xmlui): added "hidden" widget, to specify a value to be returned unmodified 2018-08-31 15:57:11 +02:00
Goffi
1cb7461f99 quick frontend (app, chat): encryption handling:
- new QuickApp.ENCRYPTION_HANDLERS class attribute, if True (default), encryption handlers are set
- encryption plugins are retrieved on startup and cached in QuickApp.encryption_plugins list
- QuickChat's encrypted boolean attribute indicate if a session is currently encrypted. This is updated
  automatically if ENCRYPTION_HANDLERS is set
- if ENCRYPTION_HANDLERS is set, messageEncryptionStarted and messageEncryptionStopped are called when
  suitable.
2018-08-11 18:24:55 +02:00
Goffi
3fc6de121a jp (message): new encryption/algorithms command to retrieve available encryptions algorithms. 2018-08-11 18:24:55 +02:00
Goffi
e4bda681b8 core (memore/encryption): new methods and checks:
Following methods are now available though bridge:
    - messageEncryptionStop
    - messageEncryptionGet: retrieve encryption data for a message session
    - encryptionPluginsGet: retrieve all registered encryption plugin

Following methods are available for internal use:
    - getPlugins: retrieve registerd plugins
    - getNSFromName: retrieve namespace from plugin name
    - getBridgeData: serialise session data (to be used with bridge)
    - markAsEncrypted: mark message data as encrypted (to be set by encryption plugin in MessageReceived trigger)

Behaviours improvments:
    - start and stop send messageEncryptionStarted and messageEncryptionStopped signals, and a message feedback
    - new "replace" arguments in start allows to replace a plugin if one is already running (instead of raising a ConflictError)
    - plugins declare themselves as "directed" (i.e. working with only one device at a time) or not.
      This is checked while dealing with jids, an exception is raised when a full jid is received for a non directed encryption.
    - use of new data_format (de)serialise
2018-08-11 18:24:55 +02:00
Goffi
32b4db60c9 core: new EncryptionHandler class which manage encrypted session as a core feature:
Plugin handling encryption can now register using host.registerEncryptionPlugin, and an encryption session can now be started using messageEncryptionStart bridge method.

This will make encryption handling more easy, as we now know if a session is clear or e2e encrypted, and which plugin handle it.
2018-07-29 19:22:56 +02:00
Goffi
9e03d02f18 jp (blog): fixed path encoding for inotify 2018-07-08 11:15:22 +02:00
Goffi
c1defc005d quick_frontend (chat): create target in cache if it is not found, avoiding an exception 2018-07-02 08:54:57 +02:00
Goffi
f2b1398a9f core, frontends: replaced org\.goffi namespaces by org.salutatoi + fixed generation:
generation of D-Bus bridge has been broken by black formatting tool, this patch fixes this.
2018-07-01 20:37:58 +02:00
Goffi
1a74cdce28 quick_frontend (QuickApp): fixed getCache handling after changes in QuickContactList 2018-06-27 22:50:32 +02:00
Goffi
744cb0c503 code style reformatting using black 2018-06-27 20:14:46 +02:00
Goffi
cf0d3af803 quick app: added missing docstring in showDialog 2018-06-26 07:09:49 +02:00
Goffi
519451bd84 quick_frontend(contact list): refactored update:
update is now called with appropriate constant value (C.UPDATE_ADD, C.UPDATE_DELETE, C.UPDATE_MODIFY and so on) when a widget change visibility according to current options.
Before it was linked to cache only (C.UPDATE_ADD was only called when contact was first added to cache).
This make widget handling in frontends more easy.

Renamed entityToShow to entityVisible, which seems to correspond better.

Started reducing lines lenght to 90 chars as a test. May become the new coding style soon.
2018-06-24 21:59:29 +02:00
Goffi
a365c2b797 plugin events: invitations improvments + personal list
- added invitation by <message> mechanism
- added a personal list in PEP which keep events created by user, or in which she has been invited
- new bridge methods: eventsList, and eventInviteByEmail. eventInvite is now used to invite a entity by jid (not email like before)
- on invite, an invitation message is send to invitee's jid
- when an invitation message is received, event is automatically linked in personal list
- when creating a new event, event is automatically linked in personal list
2018-06-21 01:21:44 +02:00
Goffi
e92971ff09 tools (misc): do not remove flags while using them anymore, instead added "all_used" and "unused" properties in FlagsHandler 2018-06-21 01:21:44 +02:00
Goffi
485dfdf705 jp (event): fixed crash on missing item in get and inviteeGet by making it mandatory. 2018-06-21 01:21:44 +02:00
Goffi
28f15f222d jp (common): allow tables filters callbacks to have only one argument 2018-06-21 01:21:34 +02:00
Goffi
edff42a743 jp (base): do not crash when item is specified (e.g. in URL) but not needed in command, but display a message on stderr. 2018-06-06 19:24:15 +02:00
Goffi
38597f81cf jp (forums/edit): fixed unicode when dumping in json 2018-06-03 18:05:01 +02:00
Goffi
7878dcfde9 jp (info/session): show short + relative date by default for "started" 2018-06-01 18:27:49 +02:00
Goffi
219232761f jp (ticket): new "get" subcommand, to retrieve ticket(s) 2018-06-01 12:17:06 +02:00
Goffi
0cbcd566ce jp (output): new OUPUT_XMLUI and OUTPUT_LIST_XMLUI outputs 2018-06-01 12:15:38 +02:00
Goffi
c47ea6fa3b jp (info/session): by default, display started as human readable date instead of Unix time 2018-06-01 12:06:33 +02:00
Goffi
720d23cd1c jp (blog/preview): fixed guessSyntaxFromPath call 2018-06-01 12:02:09 +02:00
Goffi
4d4d594c60 core: discoFindByFeatures now return only available resources 2018-05-25 10:52:01 +02:00
Goffi
b0a63edd9c core: added local_device argument to discoFindByFeatures 2018-05-25 10:52:01 +02:00
Goffi
0840442c2a jp (file/share/list): fixed default value for jid 2018-05-25 10:52:01 +02:00
Goffi
212b4fe88a quick frontends (app): retrieve namespaces on startup 2018-05-22 10:07:33 +02:00