Commit graph libervia-backend/src/plugins
Author SHA1 Message Date
Goffi
60043be6b4 plugin merge-requests, mercurial merge-requests: merge request import implementation 2018-03-30 17:53:11 +02:00
Goffi
2422d0a1d7 plugin XEP-0115: fixed caps initial check 2018-03-30 17:51:32 +02:00
Goffi
5fbe44e849 jp (xmlui): added whitelist, read_only and values_only options:
- whitelist is set on XMLUI creation, it's the same as for other frontends
- read_only is set on XMLUI display, it indicates that input are not expected
- values_only is set on XMLUI display, it indicates that only values are to be displayed (it implies read_only)
2018-03-29 09:09:32 +02:00
Goffi
afb4dcd6bb plugin XEP-0234: fixed regex import 2018-03-25 20:51:02 +02:00
Goffi
7ffb8efb92 core (disco), plugin XEP-0115: client use + capabilities hash improvment:
- modified a couple of method from memory to use client instead of profile
- XEP-0115: don't use unique hash for all clients anymore, as disco can be different between clients/components, and even between clients (different identity for instance).
    hash is now generated per client on each new session.
2018-03-24 10:44:37 +01:00
Goffi
a1f953f825 component file sharing: changed pubsub identity:
pubsub service disco identity has been changed to non standard "virtual" type, to avoid it to be used as main pubsub service by the client.
2018-03-18 11:26:01 +01:00
Goffi
76f39ca0c4 component file sharing: comments metadata:
new <comments> element is added to file metadata, it contains the URL to the comments virtual node and the count of comments (this way client knows if it make sense to request comments or not).
Fixed triggers in plugin XEP-0264 (return value was missing).
New trigger in plugin XEP-0329 to allow component to add metadata (used here for comments url).
2018-03-16 18:43:11 +01:00
Goffi
07fa89be84 component file sharing: comments handling first draft:
comments use a minimal pubsub service which create virtual nodes for each files. A pubsub request to org.salut-a-toi.file_comments/[FILE_ID] allow to handle comments in classic way.
Permissions are the same as for files (i.e. if an entity can see a file, she can comment it).
2018-03-16 17:06:35 +01:00
Goffi
c6cac9d6bd component file sharing, plugin XEP-0231: thumbnail are now returned by component using Bits of Binary:
thumbnails are saved in common cache, and sent blindly on request.
There is no access check for thumbnails yet, which is a security/privacy issue, but mitigated by the fact that content id must be known to retrieve the file.
Proper access check is planed.
2018-03-14 08:14:32 +01:00
Goffi
2560c9d3f2 plugin XEP-0264: handle truncated files 2018-03-14 08:11:20 +01:00
Goffi
2e18724e7b plugin XEP-0329: fixed extra key serialisation before sending to bridge 2018-03-14 08:10:31 +01:00
Goffi
efd3c8d0b4 component file sharing: fixed hash handling (key has been renamed to "file_hash") 2018-03-14 08:08:42 +01:00
Goffi
261e3b3099 file sharing component: thumbnails integration first draft:
if an uploaded file is detected as an image, 2 thumbnails (small and medium size) are generated automatically.
2018-03-02 17:53:31 +01:00
Goffi
24fba151c4 plugin XEP-0264: thumbnails handling implementation 2018-03-02 17:53:31 +01:00
Goffi
29d9713462 plugin XEP-0234: some cleaning + added triggers to allow plugins to change parsing/generation of <file> element 2018-03-02 17:53:19 +01:00
Goffi
7faccbd03b plugin XEP-0231: separated the requestData code in a method which can called independantly + some minor improvments 2018-03-02 17:45:23 +01:00
Goffi
97b3929405 plugin XEP-0054: use .jpg instead of .jpe for jpeg files 2018-03-02 17:43:41 +01:00
Goffi
ee7ad2bafe plugin XEP-0054: removed Image.ANTIALIAS filter:
Image.ANTIALIAS filter is not needed anymore in Pillow: http://pillow.readthedocs.io/en/3.0.x/releasenotes/2.7.0.html#default-filter-for-thumbnails
2018-03-01 09:04:36 +01:00
Goffi
7ea8c79dbd plugin file sharing component: first draft:
this component act as an endpoint where a user can store and retrieve its files using Jingle.
2018-02-28 18:28:39 +01:00
Goffi
9a87d5c355 XEP-0329: implementation of File Information Sharing:
the plugin do an implementation for client and component.
For client, any directory from local file can be shared.
For component file are stored using new file handling mechanism from SàT.
Permission is handled, using "public" and "whitelist" for now.
2018-02-28 18:28:39 +01:00
Goffi
2e5991575f XEP-0065,XEP-0096,XEP-0166,XEP-0235,XEP-0300: file transfer improvments:
huge patch sorry :)

many things are improved by this patch, notably:
- updated to last protocol changes (urn:xmpp:jingle:apps:file-transfer:5 and urn:xmpp:hashes:2)
- XEP-0234: file request implementation
- XEP-0234: methods to parse and generate <file> element (can be used by other plugins easily)
- XEP-0234: range data is now in a namedtuple
- path and namespace can be specified when sending/requesting a file (not standard, but needed for file sharing)
- better error/termination handling
- trigger points to handle file requests by other plugins
- preparation to use file plugins with components
2018-02-28 18:28:39 +01:00
Goffi
60b8c8fa73 plugin pipe/stream, file transfert: refactoring and improvments:
this is a big patch as things had to be changed at the same time.

- changed methods using profile argument to use client instead
- move SatFile in a new tools.stream module, has it should be part of core, not a plugin
- new IStreamProducer interface, to handler starting a pull producer
- new FileStreamObject which create a stream producer/consumer from a SatFile
- plugin pipe is no more using unix named pipe, as it complicate the thing,
  special care need to be taken to not block, and it's generally not necessary.
  Instead a socket is now used, so the plugin has been renomed to jingle stream.
- bad connection/error should be better handler in jingle stream plugin, and code should not block anymore
- jp pipe commands have been updated accordingly

fix bug 237
2018-02-08 00:37:42 +01:00
Goffi
ece10e8cd2 plugin NAT-port: raise MappingError if something get wrong during "addportmapping" + log unexpected errors (i.e. everything else than MappingError) 2018-02-01 07:24:34 +01:00
Goffi
aec189c087 plugin XEP-0166: added errback to terminate, which only logs issues 2018-02-01 07:21:41 +01:00
Goffi
cfcc673826 plugin forums: first draft:
this plugin handle forums hierarchy, where forums link to topics which themselves link to blog nodes.
2018-01-30 08:17:08 +01:00
Goffi
387c10cc0d dates update 2018-01-26 11:14:13 +01:00
Goffi
f857a86740 plugin blog import dotclear: use a smaller and lower case prefix to generate ids 2018-01-24 09:10:12 +01:00
Goffi
80efb4b121 plugin XEP-0277: use shortuuid instead of uuid + use item's XMPP URI for atom ID 2018-01-22 22:00:46 +01:00
Goffi
c09a5feb3c plugin blog static: added background parameter, to set an image 2018-01-22 08:36:36 +01:00
Goffi
d4cfd510c8 plugin XEP-0277: microblog namespace is now registered 2018-01-19 17:40:06 +01:00
Goffi
e963a0077a plugin merge-requests: fixed "set" method 2018-01-13 10:12:15 +01:00
Goffi
78b16b9bff plugins tickets, merge-requests: fixed call of prepareBridgeSet 2018-01-13 10:03:32 +01:00
Goffi
3e76e826d0 plugins schema, merge_requests, tickets*: factorisation
Dode common in plugins using schema have been factorised in pubsub schema plugin, and filters users in tickets handling have been renamed in a more generic way and put there too.
"reporter*" fields in tickets have been renamed to "author*" as it is a more generic term which can be used elsewhere.
The use of new utils.partial function make easy the creation of simple plugins using schema.
2018-01-12 15:58:54 +01:00
Goffi
a22c1a7fd8 plugin XEP-0045: new mucGetService bridge method to retrieve MUC service of the server. 2018-01-05 12:59:52 +01:00
Goffi
cf4ba7b9e4 plugin identity: if we get an empty avatar, don't feel avatar_basename and remove avatar key. 2018-01-05 12:58:54 +01:00
Goffi
a9e8a79445 plugin identity: return resource for MUC room occupants' nicks + added avatar and avatar_basename. 2018-01-03 00:20:21 +01:00
Goffi
284b2e2ca7 plugin XEP-0054: return always False in isRoom is plugin XEP-0045 is not available + raise NotFound if avatar is requested for a MUC room (not the occupants, the room itself) 2018-01-03 00:18:31 +01:00
Goffi
9e243b3a8a plugin XEP-0045: added mucNickGet to retrieve our nickname in a MUC room 2018-01-03 00:16:23 +01:00
Goffi
adca9c455d plugin XEP-0060: added an config option to set pubsub service
"pubsub_service" can now be used in [DEFAULT] section. If not found or invalid, first pubsub service found will be used

fix 216
2017-12-12 01:07:25 +01:00
Goffi
6de330925f plugin merge requests Mercurial: first draft:
this plugin handle Mercurial VCS. It send merge requests using export command, and parse it to retrieve individual patches and metadata.
2017-11-30 20:49:20 +01:00
Goffi
104b34b6c4 plugin merge requests: first draft:
this plugin allows to handle merge requests (i.e. requests to include a contribution in a project) by extendings tickets management.
This plugin is made to be generic, independent from end user tools and from the kind of project where the contribution is requested to be merged.
2017-11-30 20:44:25 +01:00
Goffi
6d1d17e0cc plugin tickets: handle "update" flag + various improvments:
- ticketsSet renamed to ticketSet as only one ticket is set at a time
- dateFilter is not crashing anymore if value can't be parsed: the value is then return unmodified
- form_ns can be specified in get, so the method can be used by other plugins
- new "update" flag: if set in extra, an previous ticket of the same id will be retrieved, and used as a basis for an update
2017-11-30 20:34:41 +01:00
Goffi
fbd9737b9a plugin XEP-0060: added node watching methods to bridge:
new methods psNodeWatchAdd and psNodeWatchRemove allows to set a watch for the time of the session on one node, to have a signal called when something change on this node.
This signal (psEventRaw) send raw data (raw XML), in opposition to psEvent which is there to send high level data (e.g. parsed blog data).
Those method are primarely there to let frontends manage local cache for pubsub nodes.
2017-11-19 16:51:39 +01:00
Goffi
da077485d2 core: added a mechanism to associate short names to namespaces:
- new internal registerNamespace can be used by a plugin to associate a short name to a namespace
- new NamespacesGet bridge method retrieve those associations
2017-11-19 16:46:07 +01:00
Goffi
4df7673f64 plugin XEP-0060: added "options" argument to psSubscribe, and return subscription id if present 2017-11-19 16:41:59 +01:00
Goffi
3042d42bc4 plugin XML Log: Monkey patch is done on the whole XmlStream class, making it available as soon as the stream start + long received message are sent once fully parsed (not cut anymore) 2017-11-18 18:49:57 +01:00
Goffi
a014e6a873 plugins blog import, tickets import, XEP-0277: fixed call to getCommentsService (it is now returning a Deferred) 2017-11-16 07:31:00 +01:00
Goffi
a6e55a6c56 plugin import: fixed deserialisation of pubsub service 2017-11-15 21:15:42 +01:00
Goffi
5522aed007 plugin tickets: specify parent service when using getCommentsService + fill reporter_jid is missing (will be discarded later if not in the schema) 2017-11-15 08:58:38 +01:00
Goffi
bf91404351 plugin XEP-0277: better getCommentsService:
getCommentsService now checks if the parent service is on a third party server and if it's PEP, and return the service to use accordingly.
2017-11-15 08:57:19 +01:00