Commit graph libervia-backend/sat
Author SHA1 Message Date
Goffi
1ccb54e571 tools (sat_defer), plugin XEP-0060: added a function "stanza2NotFound" to convert item-not-found StanzaError to exceptions.NotFound in an errback 2019-04-14 08:21:51 +02:00
Goffi
d85f1b364f jp, plugin merge-requests: used u'' as default for item id in pubsub arguments + fixed some required arguments:
u"" is now used as defaut item id instead of node, as it needs to be serialised anyway. This is temporary solution, as empty string can be used for item id (not forbidden by XEP-0060), but for now this is not handled correctly in jp/SàT (see https://bugs.goffi.org/bugs/view/289). Correct solution will probably need to use a special key in extra to mark empty string in id.
Added/removed some required values for node or item when it made sense.
2019-04-14 08:21:51 +02:00
Goffi
5e2426c065 core (memory), plugin XEP-0329, plugin invitation: minor style improvments 2019-04-14 08:21:51 +02:00
Goffi
6b83ef5c51 plugins: removed useless execute permission 2019-04-14 08:21:51 +02:00
Goffi
bc061ee885 template (filters): set locale when using "date_fmt" 2019-04-14 08:21:51 +02:00
Goffi
e1ff10bf77 template (i18n): activate ext.i18n.trimmed policy, to have clean translation strings. Set minimal jinja2 version to 2.10 2019-04-14 08:21:51 +02:00
Goffi
4ab939c46a template: added "locales" variables to templates:
"locales" contains an ordered tuple of locales of all available translations. This can be used by templates to diplay language/locale menu.
2019-04-10 21:04:51 +02:00
Goffi
1f7d5bfd94 constants: added KEY_LANG which is the key/name used in templates to change language/locale. 2019-04-10 21:04:51 +02:00
Goffi
4d64efcda9 code (xmpp): store version after roster item update + fix item removal:
roster version is now stored after roster item has been added or removed. This way if something interrupting the process happens, former item update will be received and roster should be updated correctly.

Roster item removal was crashing because `load()` is not used (local PersistentDict cache is then not updated, and the key to remove is missing there). The exception is now catched and ignored to avoid loading the data only to remove an item.
2019-04-10 21:04:41 +02:00
Goffi
4701027950 memory (sqlite): cast timestamp_start filter to float instead of int 2019-04-07 20:57:13 +02:00
Goffi
5a90f9d407 core, quick_frontend(app): fixed connected signal handling 2019-04-07 20:55:27 +02:00
Goffi
f51e924eb6 core: added a rosterResync method to bridge:
rosterResync do a full resynchronisation of roster with server. This should not be needed, but may be useful if user suspect a sync issue for whatever reason.
2019-04-07 18:49:41 +02:00
Goffi
5ceffc1491 core (xmpp): implemented roster versioning 2019-04-07 18:47:17 +02:00
Goffi
8adba38036 core (memory/persistent): added clear method + initialise with a dict:
A "clear" method has been added to delete all data for a specific namespace (and profile).
Internal cache (self._cache) is not initialised with an empty dict instead of None to allow using methods like __setitem__ or clear without having to do a potentially expansive `load()` before. The only counterpart is that we won't have an exception anymore if developer forget to load() data before using them, which can make debugging a bit more difficult.
2019-04-07 18:44:57 +02:00
Goffi
aac5e58ec6 core (memory/sqlite): display arguments in logs in case of too many db/interaction tries 2019-04-07 18:38:18 +02:00
Goffi
30bf1362bb plugin android: check connectivity
use Android API to retrieve connectivity informations (connection availability + kind of connection).
Register to connectivity change broadcast, new client.networkEnabled/client.networkDisabled are called when suitable.
2019-04-06 19:05:58 +02:00
Goffi
c2c7dbddfe core (xmpp): new networkEnabled() and networkDisabled() methods:
those methods can be called by platform specific plugins when network is known to be (un)available. This way, connection attempts can be cancelled when no network is available, saving resources (notably battery on mobile devices), or attempts can be restarted immediately when network is known to be available again.
2019-04-06 19:05:57 +02:00
Goffi
5b3aa5c60f core (xmpp): advanced handling of connection termination
factory's clientConnectionFailed and clientConnectionLost methods are monkey patched to allow client to tune termination:
    - a warning when connection is lost in an unclean way
    - connector is saved to allow to disable automatic reconnection and retry manually later
    - new triggers connection_failed and connection_lost allow plugins to tune connection termination workflow
2019-04-06 18:51:20 +02:00
Goffi
9186fd1a3c core (xmpp): use the cleaner stopTrying() instead of setting continueTrying = 0 when connection is not possible due to invalid certificate. 2019-04-05 21:22:05 +02:00
Goffi
7faaa9691b plugin android: fixed csi_timer reset in setActive + crash on call of isActive before session initialisation 2019-04-05 21:22:03 +02:00
Goffi
1a958d8744 core: minor style improvments 2019-03-27 21:15:25 +01:00
Goffi
8f702a5d07 plugin text syntaxes: activated useful markdown extensions:
- code can now be highlighted, fenced code block can be used.
- new lines are converted to hard breaks
- sane lists are used
- tables are available
2019-03-25 18:40:12 +01:00
Goffi
c83ac61e1d tools (common/template): always use highlight.css if present. 2019-03-25 18:40:11 +01:00
Goffi
fbb5442ff8 plugin text syntaxes: disable raw HTML parsing in mardown by default 2019-03-25 08:14:00 +01:00
Goffi
598f4e465e plugin android: use XEP-0352 to indicate (in)active state:
Client State Indication plugin is used to set state when pause/resume is called.
The state is changed on pause only after a delay (currently 30s), to avoid changing state if use is only checking something quickly on an other app.
2019-03-25 07:08:26 +01:00
Goffi
d637c4cc0e plugin XEP-0352: implementation of Client State Indication 2019-03-25 07:08:23 +01:00
Goffi
d4efb6dad1 plugin text syntaxes: fixed default syntax 2019-03-25 07:06:48 +01:00
Goffi
d58fbe6170 plugin android: workaround to seek() bug, fixing file upload:
seek() is bugged on current version of P4A, arguments are inverted.
More details can be found at https://github.com/kivy/python-for-android/issues/1768
2019-03-25 07:06:41 +01:00
Goffi
3c41ade548 plugin upload: minor fixes in some docstring length 2019-03-22 19:26:09 +01:00
Goffi
9335194f7b plugin XEP-0363: updated to namespace "urn:xmpp:http:upload:0", handle headers 2019-03-22 19:26:08 +01:00
Goffi
430649f58f plugin XEP-0198: reset req_timer on session.reset():
req_timer may not have been called when session.reset() is called (e.g. on resuming failed after computer has been suspended), so reset() must cancel it and set its value to None.
2019-03-21 08:54:59 +01:00
Goffi
985bc5efb7 plugin upload: fixed inversion of title and message body + better error message on failed upload 2019-03-20 09:08:47 +01:00
Goffi
0fbde67f2a plugin XEP-0384: handle NoEligibleDevicesException 2019-03-20 09:08:47 +01:00
Goffi
e89135b8ae plugin XEP-0384: give feedback to client when encryption failed 2019-03-20 09:08:47 +01:00
Goffi
71144d4581 plugin XEP-0384: small refactoring to encrypt messages + bugfix:
encryptMessage is now called in a loop, because problems may happen by steps (e.g. trust issue after getting missing bundles).
Fixed a mix between "if" and "elif" in problems handling,
2019-03-20 09:08:47 +01:00
Goffi
ace2f57027 plugin XEP-0384: removed version restriction, it is now compatible with (and require) last version of python-omemo (0.10.4) 2019-03-20 09:08:37 +01:00
Goffi
8ce1861529 plugin android: don't send notification if message comes from ourself (from an other device) 2019-03-16 14:39:02 +01:00
Goffi
3eeeb8040c core: added a "_debug" signal:
this signal is a generic debugging signal which can be implemented in frontends to do specific actions, like printing data dumps.
2019-03-10 18:04:01 +01:00
Goffi
89aa5e4079 plugin XEP-0045: added getRoomOccupants/mucOccupantsGet method to retrieve occupants of a joined room. 2019-03-09 16:24:17 +01:00
Goffi
8830a7c1d5 core (memory/sqlite): added a "timestamp_start" filter to retrieve history from a specific point in time 2019-03-09 16:24:15 +01:00
Goffi
d8eae5a05e plugin text commands: typo 2019-03-09 16:23:07 +01:00
Goffi
248d771176 plugin android: improved state handling:
state handling is not using mmap anymore but an unix socket instead.
State change can now be managed.
Bridge signals are disabled when frontend is paused.
2019-03-09 16:23:01 +01:00
Goffi
a9311c530f bridge (pb): added bridgeDeactivateSignals and bridgeReactivateSignals methods:
those methods stop and restart signals propagation, they are used on mobile OS when the frontend is paused.
2019-03-09 16:23:00 +01:00
Goffi
8e70237d20 plugin XEP-0077: correctly report invalid certificate + errback on unexpected stream close 2019-03-03 19:18:45 +01:00
Goffi
6d7e6185ff plugin manhole: added "jid" module to globals 2019-03-03 17:17:07 +01:00
Goffi
04f485057b core (log): add traceback when "exc_info" is set 2019-03-03 12:04:55 +01:00
Goffi
9a0218ea10 tools (config): log error message if config can't be read 2019-03-03 08:57:36 +01:00
Goffi
ef702b8a75 we are in dev version again 2019-03-02 18:43:09 +01:00
Goffi
14699b8e8d 0.7.0a4 release 2019-03-01 19:45:26 +01:00
Goffi
8ae596600d core (disco): added missing disco extensions when generating the cap hash. 2019-03-01 19:28:11 +01:00