Commit graph libervia-backend/sat
Author SHA1 Message Date
Goffi
25a429fa1b plugin list for interest: build ID using URI or file path metadata:
by using those metadata, we get the same ID for 2 interests linking to the same location.
This has been done to avoid duplicated interests.
2020-08-01 16:17:19 +02:00
Goffi
7dd1873adf plugin XEP-0329: added way to change access_model using PubSub-like configuration:
Those methods are not standard, but have been done in a PubSub-like way to prepare the
move to a PubSub based file sharing system.
2020-08-01 16:14:37 +02:00
Goffi
3b5d2313a2 plugin XEP-0329: implemented ways to get/set affiliations:
PubSub-like affiliations can now be get/set using non standard methods. This has been done
to prepare the move to a pubsub based file sharing system.
2020-08-01 16:12:44 +02:00
Goffi
ea5e0a46f5 core (memory): setFileAccessModel implementation:
this method let change read permission using access model similar to what is used with
Pubsub.
2020-08-01 16:07:39 +02:00
Goffi
97375ee1db core (memory): getFileAffiliations and setFileAffiliations implementations:
those methods allow to change files permissions using affiliations similar to the ones
used with PubSub.
2020-08-01 16:06:12 +02:00
Goffi
800fbd3f7c core (memory): files are now public by default except for those in root directory:
using public permissions by default makes permissions change more easy as we don't have to
recursively change all permissions of sub files when changing directory. Root directories
are private by default.
2020-08-01 16:02:41 +02:00
Goffi
edd33a126d core (xmpp): text can now be specified in sendError 2020-08-01 15:59:49 +02:00
Goffi
ef23eca7cd plugin XEP-0050: typo 2020-08-01 15:58:20 +02:00
Goffi
d7844a98b4 component file sharing: add/parse affiliation when possible 2020-07-17 13:00:10 +02:00
Goffi
cb49365811 memory: new "affiliation" metadata for files:
this affiliation is similar to pubsub affiliation, for now only `owner` is used.
Affiliation is set when possible (peer_jid is set notably).
2020-07-17 12:58:57 +02:00
Goffi
f8b346e115 plugin XEP-0060: serialise psItemsGet result with data_format 2020-07-17 12:57:23 +02:00
Goffi
820fa05d49 tools (common/template): use to_json instead of json + added missing args to date_fmt 2020-07-16 09:07:26 +02:00
Goffi
9aa7b1b7f2 tools (common/data_objects): removed deprecated code:
`BlogItem`, `BlogItems` and `parsePubSubMetadata` are not needed anymore with the new blog
data serialisation.
2020-07-16 09:07:26 +02:00
Goffi
95096df52f plugins tickets, merge-requests: ticketsGet and mergeRequestsGet serialisation:
those methods now return data serialised with `data_format.serialise`
2020-07-16 09:07:26 +02:00
Goffi
e03eb5bfcc plugins XEP-0059, XEP-0060, XEP-0277, XEP-0313: better serialisation:
`data_format.serialise` is now used for `mbGet`, and RSM/MAM values are not transtyped to
strings anymore. A serialised dict is now used, items are put in the `items` key.

Comments handling has been refactored to use a list for the potentially multiple comments
nodes.

`rsm` data are now in a `rsm` key of the dict, and `mam` data are merged with other
metadata.
2020-07-16 09:07:20 +02:00
Goffi
282d2a93d9 tools (common/data_objects): implemented json dumping for BlogItems/BlogItem 2020-06-19 15:47:16 +02:00
Goffi
4b0d91cb2e common (template): better json dumping:
default method is set for json dumping (the `tojson` filter), if the object has a `json`
attribute, it will be called, otherwise it is replaced by None, this avoids crash when
rendering the template.
2020-06-19 15:45:57 +02:00
Goffi
c68eb151ec plugin file sharing management: added a fileSharingDelete method 2020-06-19 15:39:32 +02:00
Goffi
348ca4d2cb plugin list of interests: added id to data + fixed key conflict:
fixed conflict between interest namespace and files namespace.
2020-06-19 15:38:17 +02:00
Goffi
c2788fea50 plugin list of interest: new "interestRetract" method 2020-06-19 15:37:02 +02:00
Goffi
762f96acb2 plugin XEP-0050: some modernisation + adHocSequence:
improved code by reordering imports, adding some type hints, using standard dict instead
of OrderedDict, etc.

New sequence method/adHocSequence bridge method allow to easily send a sequence of data to
a well known ad-hoc node.
2020-06-19 15:35:45 +02:00
Goffi
86aaf35b60 comp file sharing: file paths are now quoted on upload to allow unicode 2020-06-19 14:56:45 +02:00
Goffi
4e48a889c0 core (memory): fixed recursive file deletion + log an error and continue when deleting a missing file 2020-06-19 14:55:30 +02:00
Goffi
9f9a6a5a2b plugin list of interest: expose interestsRegisterFileSharing to bridge + use coroutines 2020-06-09 06:25:20 +02:00
Goffi
47edb01bd3 comp file sharing management: fixed confirmation check 2020-06-09 06:23:37 +02:00
Goffi
87298f8a19 comp file sharing: handle upload with headers:
`Xmpp-File-Path` can now be used to specify file path, and `Xmpp-File-No-Http` when file
must not be served publicly by HTTP.
2020-06-09 06:23:01 +02:00
Goffi
4ecdb41695 comp file sharing: CORS:
- added CORS headers to allow using the HTTP server from an other domain
- added `Content-Security-Policy`
2020-06-09 06:21:23 +02:00
Goffi
bdf8f38aa2 core: findByFeatures type hints 2020-06-09 06:16:52 +02:00
Goffi
43466029ab plugin XEP-0363: register namespace 2020-06-09 05:59:14 +02:00
Goffi
e712981938 plugin XEP-0363: fixed fileHTTPUploadGetSlot 2020-06-09 05:58:57 +02:00
Goffi
9ba6df5503 tools (common/utils): new OrderedSet class 2020-06-08 08:54:53 +02:00
Goffi
ca655f01a8 component file sharing: don't initialise the plugin if not component use it 2020-06-01 11:15:16 +02:00
Goffi
7000fcda34 tools (common/dynamic_import): log a warning if bridge can't be imported 2020-06-01 11:14:20 +02:00
Goffi
5a14c5aebd plugin comp file sharing: files can now be uploaded/downloaded via HTTP:
plugin XEP-0363 can now be used by components, and file sharing uses it.
The new `public_id` file metadata is used to serve files.
Files uploaded are put in the `/uploads` path.
2020-05-29 21:55:45 +02:00
Goffi
d1521dde4b core (memory/sqlite): new database schema (v9):
this new schema brings the new `public_id` column, which will be used to serve files via
HTTP, splits `mime_type` in 2 (`media_type` and `media_subtype`) to make indexing/media
filtering easier, and fixes indexes for `files` table.
2020-05-29 21:50:49 +02:00
Goffi
d09be4ba42 tools/common (tls): moved re-usable Twisted TLS code from Libervia to tools/common 2020-05-29 21:07:10 +02:00
Goffi
8da309e51e plugin XEP-0300; fixed use of calculateHash with getHasher 2020-05-29 21:06:10 +02:00
Goffi
b9fa21ab47 core: getLocalPath now returns a Path 2020-05-29 21:02:20 +02:00
Goffi
f48ad8179c core (launcher): fixed launching of twistd when no subparsed is specified 2020-05-29 20:57:23 +02:00
Goffi
d3b7510c0e core (launcher): extra arguments can now be passed the service with bg, fg and dbg:
- `dbg` is an alias for `debug`
- extra arguments can be passed to the service, use `-- --help` to see them`
2020-05-25 16:15:05 +02:00
Goffi
a1eb68c1e7 core: replaced sat shell script by a python script:
the backend is now launched by `sat.core.launcher`, and the script is generated during
installation with a new entry point in `setup.py`.
2020-05-25 15:50:01 +02:00
Goffi
c0a3f8d141 core (log): logging with Twisted now uses the new twisted.logger 2020-05-25 15:46:21 +02:00
Goffi
4fdf49f4cb plugin XEP-0054: don't use cache anymore in getAvatar:
caching is now handled by plugin identity.
2020-05-19 18:34:06 +02:00
Goffi
771e40dad5 plugin identity: fixed update in avatarSetPostTreatment 2020-05-19 18:34:05 +02:00
Goffi
7438f4218e plugin identity: fixed infinite loop on nicknames update 2020-05-18 23:52:34 +02:00
Goffi
205bd5cdb4 tools (common/template): new icon_from_client method:
this method is available from template, and returns the name of the icon to use according
to disco client data.
2020-05-18 23:41:36 +02:00
Goffi
234bbcbdd5 plugin XEP-0231, XEP-0264: fixed some remaining encoding issue following Python 3 port 2020-05-18 23:39:41 +02:00
Goffi
abbd14484b plugin XEP-0060: fixed payload parsing in sendItem 2020-05-18 23:38:21 +02:00
Goffi
9780bd3480 plugin pubsub schema, tools (common/template xmlui): use a JID for publisher:
- a JidWidget is used instead of text for publisher, nothing is set if publisher attribute
  doesn't exist
- added missing JidWidget implementation in tools.common.template_xmlui
2020-05-18 23:37:04 +02:00
Goffi
a693f9f53e plugin list of interest: fixed wrong variable used in a log 2020-05-18 23:31:55 +02:00