Commit graph

2,846 commits

Author SHA1 Message Date
Goffi
465d9ad62e quick frontend (app): added AUTO_RESYNC attribute in QuickApp, when set (default) the resync method is called on all widgets automatically:
if AUTO_RESYNC is False, frontend must call itself the resync method.
This is useful to improve performance, resynchronising all widgets at once may be resource intensive, and it may be more efficient to resync a widget only when it is visible.
2019-03-10 18:02:42 +01:00
Goffi
fe4a6abfae quick frontend (app): new synchronisation mechanism:
on some frontend (notably on mobiles) frontend can be paused and lose synchronisation with backend, this can also happen if backend restart a connexion without resuming using stream management. To manage that, QuickApp now has a sync attribute which is True when the backend is in sync with frontend.
When synchronisation has been lost and is possible again, all widget will have their "resync" method called, which can be used to do necessary calls to update the status.
It's the responsability of each widget to then reset the "sync" attribute, once everything has been resynchronised.
2019-03-09 16:33:31 +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
38783d2c1b quick frontend(chat): use bare jid for getEncryptionState, and skip if for group chat 2019-03-03 20:59:29 +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
df7d9f2324 Added tag 0.7.0a4 for changeset 1798d4ace296 2019-03-01 19:48:25 +01:00
Goffi
14699b8e8d 0.7.0a4 release 2019-03-01 19:45:26 +01:00
Goffi
446f6bc02a misc (CHANGELOG): cap hash disco extensions update 2019-03-01 19:36:51 +01:00
Goffi
8ae596600d core (disco): added missing disco extensions when generating the cap hash. 2019-03-01 19:28:11 +01:00
Goffi
3f1412f677 quick frontend(app): avoid sending empty messages 2019-03-01 17:42:28 +01:00
Goffi
472a43597e primitivus(contact list): fixed room not always appearing correctly in contact list 2019-03-01 17:33:15 +01:00
Goffi
cf914b58eb plugin XEP-0045: fixed item-not-found exception when creating a room:
MAM was checked on the room itself, this patch changes it by checking the MUC service instead.
2019-03-01 17:32:15 +01:00
Goffi
079d04f6ca plugin XEP-0045: fixed message type filtering when getting last stanza_id to retrieve history with MAM 2019-03-01 16:17:00 +01:00
Goffi
309e5eebb9 tools(common/date_utils): fixed order on year first + set default date for date_parse 2019-03-01 15:35:55 +01:00
Goffi
b2ce9a8725 jp (message/mam): --start doesn't defaut anymore to "1 day ago", it is now unset by default 2019-03-01 14:45:50 +01:00
Goffi
c6d26678ae plugin XEP-0384: removed _purgeOldData temporary hack, it should not be useful anymore 2019-03-01 12:17:34 +01:00
Goffi
fe2e5dd8ce plugin XEP-0045: cache presences if they are received before the room is fully joined:
presences are then replayed (only the last one) once the room is fully joined.
2019-03-01 12:16:57 +01:00
Goffi
6b0847d6aa plugin OTR: ignore messages from sender without resource or from own jid 2019-03-01 12:13:55 +01:00
Goffi
6033a0a0cb core: renamed presenceReceived to presence_reveiced + use "client" as first arguments instead of "profile" 2019-03-01 12:12:50 +01:00
Goffi
f3a585aa94 jp (message/mam): added missing RSM options 2019-03-01 12:11:16 +01:00
Goffi
c90e0a7e6a bridge (pb): minor import order change 2019-02-28 18:57:28 +01:00
Goffi
e8e8881016 plugin XEP-0384: better bundle handling + misc improvments
- public bundles are now retrieved only when needed (i.e. on MissingBundleException when encrypting a message)
- a feedback is given to user when a message is received but it has not been encrypted for our device
- fixed feedback on decryption error if message come from an other device of the client (i.e. it's a carbon copy)
- setBundle if called in a "finally" if republish_bundle is set after decrypting a message
2019-02-28 18:57:26 +01:00
Goffi
fc007dae38 plugin XEP-0280: priority and "sent" fixes:
- carbon prioriy must be bigger than ones of encryption plugins, because the carbon copied messages must be unwrapped to be decrypted, this patch fixes it
- "sent" carbon elements was only stored and notified to frontends, it is now unwrapped and injected in normal traffic, this way other plugin can manage it, in particular encrypted elements can be decrypted
2019-02-28 18:57:06 +01:00
Goffi
409118f255 plugin XEP-0045: fixed issue with deepcopy by using new xml_tools.elementCopy method 2019-02-28 18:57:04 +01:00
Goffi
82bb99f88c core (xml_tools): new elementCopy method to shallow copy a domish.Element 2019-02-28 18:57:00 +01:00
Goffi
208dc38433 core: we are in dev version again 2019-02-28 18:56:48 +01:00
Goffi
a56c9dd845 plugin OTR: do profile session init in profileConnecting, so it is done before receiving any stanza 2019-02-25 08:07:00 +01:00
Goffi
f40b43dca5 plugin OTR: disabled menu as the new generic encryption menu allows to start/stop OTR or display the trust UI. 2019-02-24 14:12:06 +01:00
Goffi
d8f6620d00 core: added a base menu allowing to set encryption session or show the trust management UI. 2019-02-24 14:11:08 +01:00
Goffi
2e4f4069c5 core (patches): partially fixed jid caching:
jid caching in Twisted use a dict (__internJIDs) which associate a jid as string to its jid.JID instance.
But this caching doesn't handle mutability of the objects, resulting wrong jid returned when a modification is done (e.g. if resource is changed).
This is a temporary workaround until the patch is proposed and merged upstream.

note: this is a partial fix because the caching is also leaking memory (cf. https://twistedmatrix.com/trac/ticket/5122)
2019-02-24 14:09:44 +01:00
Goffi
39025b9f15 jp (blog/edit): changed comments handling:
"-C" now allow comment and "--no-comments" explicitly disable it. This way when none of this option is used, the current state of the item is kept without deleting accidentaly the comments node.
2019-02-23 19:00:25 +01:00
Goffi
512ae0b91e plugin XEP-0277: blog items data are now entirely serialised before going to bridge:
So far, and for historical reasons, blog items data where serialised using a unicode: unicode dict, which was causing trouble for many types of values (timestamps, booleans, lists).
This patch changes it by serialising the whole items before going to bridge, and deserialising it when going back. This way, complex data can be used easily in items.
This impact psEvent and serItemsData* methods which are renamed transItemsData* because there are not always serialising anymore (a new argument "serialise" allows to specify it).
When editing a blog post in jp, metadata are now more easy to manipulate, specially lists like tags.
2019-02-23 18:59:00 +01:00
Goffi
c89a771c06 misc (README): typo 2019-02-20 19:42:35 +01:00
Goffi
d8ab8b76f8 jp(pubsub): minor code style fixes 2019-02-15 22:24:57 +01:00
Goffi
bb5a2befc5 jp (pubsub/node): new "import" command, to publish many nodes from an XML file 2019-02-15 22:13:43 +01:00
Goffi
d747c46736 jp (pubsub/transform): use new psItemsSend method, it is not needed anymore to send items one by one when --admin is not used 2019-02-15 22:13:43 +01:00
Goffi
83f97b600c jp (pubsub/node): added purge command 2019-02-15 22:13:43 +01:00
Goffi
fc3598e660 plugin XEP-0060: added purgeNode/psNodePurge method to remove all items from a node 2019-02-15 22:13:43 +01:00
Goffi
d1e3821e5a plugin XEP-0060: added sendItems/psItemsSend method to publish several items at once 2019-02-15 22:13:20 +01:00
Goffi
0bef95130f Added tag 0.7.0a3 for changeset 7d2d28564b3e 2019-02-06 09:10:31 +01:00
Goffi
bdbee15da9 0.7.0a3 release 2019-02-06 09:10:27 +01:00
Goffi
5827849863 tools (common): fixed dateutil.parser import 2019-02-02 01:12:54 +01:00