Commit graph libervia-backend/sat/plugins
Author SHA1 Message Date
Goffi
b6779cd0fd plugin upload: don't run available_cb if upload_jid is used in upload method 2021-05-06 18:11:33 +02:00
Goffi
76392e9377 component file sharing: forbid jingle upload by entities which are not in allowed hosts 2021-05-05 15:41:19 +02:00
Goffi
3c12c4f797 component file sharing (management): add values of quota and used size on result form 2021-05-05 15:37:33 +02:00
Goffi
3da29896df plugin XEP-0050: show notes when there is a data form on completed command:
Notes are now added on completed command, as text widgets.
2021-05-05 15:37:33 +02:00
Goffi
63875ae4f1 component file sharing (plugin management): new command to get available quota/used space. 2021-05-05 15:37:33 +02:00
Goffi
ac8f9f7817 component file sharing: quotas implementation:
quotas can now be specified using the `quotas_json` option of `component file_sharing`
section in settings. This must be a dict where:
    - `users` key contains default quotas for all users
    - `admins` key contains quotas for administrators (not implemented yet)
    - `jids` contain bare JID to quota mapping, to have user-specific quota

The value can be either a int for quota in bytes, or a case insensitive string with an
optional multiplier symbol (e.g. "500 Mio"). `None` can be used for explicit unlimited
quota (which is the default is `users` is not set).

When a file size is too big for quota, upload is refused with an error message indicating
allowed quota, used space, and the size of the file that user wants to upload.
2021-05-05 15:37:33 +02:00
Goffi
8ed9e310c5 plugin XEP-0166, XEP-0234: better management of terminate:
- new `text` argument to specify human readable reason of termination
- handling of `FirstError` (used when a error happens in a DeferredList)
- handling of `StanzaError`
- (XEP-0234): show human readable text of the reason if present
2021-05-05 15:37:33 +02:00
Goffi
3024ae2be0 plugin XEP-0363: allow async callbacks in handlers + method to generate file-too-large element 2021-05-05 15:37:33 +02:00
Goffi
4e36667134 tools (common/utils): new methods to parse and generate file size with symbols:
- `parseSize` lets parse a size which can be either a int, or a string with a symbol like
  `Mio`
- `getSizeMultiplier` returns a tuple of size with it's multiplier symbol
- `getHumanSize` returns a string with size and adapted multiplier.
2021-05-05 15:37:33 +02:00
Goffi
435027c1c9 plugin XEP-0060, XEP-0277: new rename methods (psItemRename, mbRename):
Those methods recreate an item to given new ID, and if successful, delete the former one.
2021-05-01 18:37:57 +02:00
Goffi
3ea9c6fdd9 plugin XEP-0353: don't use Jingle Message Initiation for components:
Jingle Message Initiation is currently not useful for components, and the message workflow
is different in Libervia between clients and components (as a result, `messageReceived`
trigger is never called, and the session proposal is never answered).
2021-05-01 18:30:01 +02:00
Goffi
f8eeeeaa0c plugin XEP-0329: fix root node retrieval and _fileSendingRequestTrigger return value 2021-05-01 18:25:42 +02:00
Goffi
6456df58fb plugin misc forums: use rich content in createTopic 2021-05-01 18:23:42 +02:00
Goffi
2cfffc5f6c component (file sharing): fix retrieving owner from jid when user part is not specified 2021-05-01 18:22:53 +02:00
Goffi
0af68b683a XEP-0277: new preview/mbPreview method:
This method does more or less the same thing as sending, but without actually sending the
item, and parse the generated element just after. This way, the triggers are run, and a
preview of the item can be made for the resulting microblog data.
2021-04-29 15:49:59 +02:00
Goffi
75a5716e17 plugin XEP-0346: bridge method to retrieve template, submitted, or application namespaces 2021-04-22 18:20:41 +02:00
Goffi
c96670e5f3 plugin list: delete implementation:
`delete` is similar to XEP-0060's retractItem, but node is set to default ticket one if
not specified.
2021-04-22 18:19:52 +02:00
Goffi
a7704f4da1 comp file sharing: fix port type:
when port was retrieved from config, it was a string instead of a int
2021-04-22 18:18:09 +02:00
Goffi
3768e8bb4d plugin misc account: fix missing arg 2021-04-22 18:17:15 +02:00
Goffi
3377136c62 plugin misc account: specify domain in new account email sent to admins 2021-04-21 11:36:26 +02:00
Goffi
9df77100c4 plugin XEP-0277: user friendly ID:
when publishing a blog post without `id` specified, instead of using uuid, a user friendly
ID based on title or content is used. This allow to have better URLs in web frontend.

There is a (very low) risk of name collision if several articles with the same title or
content are published on the same pubsub node, user friendly ID can be deactivated by
using `user_friendly_id=False` in blog data to avoid that.
2021-04-16 18:33:00 +02:00
Goffi
618917e0ef plugin XEP-0329: check files conflict also for root files 2021-04-16 18:32:40 +02:00
Goffi
a2e79b0c28 plugin XEP-0277: be sure to have an author_jid set 2021-03-27 14:59:50 +01:00
Goffi
69112bcd79 plugin XEP-0277: better resilience to broken items:
- if `author` element can't be found, `publisher` attribute, then `IQ`'s `from` attributes
  are used as fallback to find author jid
- fix categories (tags) parsing if `author` element is not found
- remove items which have failed parsing from `mbGet` results (instead of using `None`).
2021-03-27 14:38:27 +01:00
Goffi
018d09caaa Renamed the project from "Salut à Toi" to "Libervia":
This renaming follows the decision taken at the General Assemblee of January 27th 2021 (cf.
https://repos.goffi.org/sat_docs/raw-file/tip/association/2021-01-27%20-%20compte%20rendu%20de%20l%27AG%20extraordinaire.pdf)
2021-03-20 20:42:04 +01:00
Goffi
dc86957043 date update 2021-03-19 15:45:14 +01:00
Goffi
33cef53495 core: moved sat_tmp.wokkel install sat_plugin:
This patch need to be installed early so it's available before anything imports
`wokkel.data_form`.
2021-03-18 22:35:59 +01:00
Goffi
2819405d56 plugin XEP-0346: new psSchemaDictGet to get node schema as a serialisable dict 2021-02-27 18:37:43 +01:00
Goffi
026ac9db13 tools (xml_tools): new dataForm2dataDict and dataDict2dataForm:
those methods convert a serialisable dict format to `wokkel.data_form.Form` and vice versa
2021-02-27 18:36:38 +01:00
Goffi
e60d563d27 plugin list: set overwrite_policy to any_publisher for grocery list 2021-02-27 18:33:53 +01:00
Goffi
79bfb24a62 plugin list: rename shopping list to grocery list 2021-02-27 18:32:34 +01:00
Goffi
1193faccdb plugin lists: register tickets_type namespace 2021-02-27 18:31:47 +01:00
Goffi
b1d0905974 plugin XEP-0060: added constants for overwrite policy configuration option 2021-02-27 18:25:20 +01:00
Goffi
96d229abdb plugin XEP-0060: renamed psRetractItem(s) to psItem(s)Retract for consistency. 2021-02-19 15:53:27 +01:00
Goffi
60eab42b9e plugin lists: new listsList method to retrieve lists from personal interests 2021-02-19 15:53:20 +01:00
Goffi
fe5af39ab5 plugin misc list: register lists for pubsub invitations 2021-02-19 15:52:28 +01:00
Goffi
795931373a plugin invitation: pubsub invitations:
- new Pubsub invitation plugin, to have a generic way to manage invitation on Pubsub based
  features
- `invitePreflight` and `onInvitationPreflight` method can be implemented to customise
  invitation for a namespace
- refactored events invitations to use the new plugin
- a Pubsub invitation can now be for a whole node instead of a specific item
- if invitation is for a node, a namespace can be specified to indicate what this node is
  about. It is then added in `extra` data
- an element (domish.Element) can be added in `extra` data, it will then be added in the
  invitation
- some code modernisation
2021-02-19 15:50:22 +01:00
Goffi
eabf3d536a plugin misc lists: register app NS for "tickets" NS instead of XEP-0346 submitted one 2021-02-19 15:49:59 +01:00
Goffi
bdf4759d21 plugin misc lists: templates:
Templates are a way to create lists with pre-filled schemas.
2021-02-19 15:49:58 +01:00
Goffi
8aebf00194 plugin tickets, merge_requests: renamed "tickets" feature to "lists":
this feature is more generic than only "tickets" for technical stuff, thus the name
"lists" seems more appropriate.
2021-02-04 21:05:21 +01:00
Goffi
28798940d7 Backed out changeset 6deea0d8d0e7
This patch has been merged by mistake, it will be applied later.
2021-02-04 21:07:49 +01:00
Goffi
f15f09bb70 plugin XEP-0346: use submitted namespace for node:
the node was not always adapted to the submitted namespace now used with XEP-0346, this
patch fixes it by adding the prefix when it's missing.
2021-02-04 21:05:21 +01:00
Goffi
b6eb5a83f5 plugin tickets, merge_requests: renamed "tickets" feature to "lists":
this feature is more generic than only "tickets" for technical stuff, thus the name
"lists" seems more appropriate.
2021-02-04 21:05:21 +01:00
Goffi
505e93d833 plugin app manager docker: use default emails for weblate:
when `email_from` was not set in `sat.conf`, no value was set for `WEBLATE_SERVER_EMAIL`
and `WEBLATE_DEFAULT_FROM_EMAIL`. These environment variables are needed for Weblate to be
launched, so default value are now used (the same as the one from official Weblate Docker
image).
2021-01-15 11:27:15 +01:00
Goffi
968ee50d31 plugin XEP-0346: "Form Discovery and Publishing" implementation:
this implementation replaces the former non standard node schema, and works in a similar
way (the schema is put in a separated node instead of a special field, thus it will now
work with most/all PubSub services, and not only SàT PubSub).

The implementation has been done in a way that nothing should be changed in frontends
(bridge methods names and arguments stay the same). The nodes are modified, but if values
are taken from backend, it's automatically adapted.
2020-12-11 17:57:00 +01:00
Goffi
df6f87d69a plugin XEP-0060: add constants for common values of publish model 2020-12-11 17:50:53 +01:00
Goffi
fa21471766 plugin XEP-0106: log rejected value when escaping fails. 2020-12-11 17:49:44 +01:00
Goffi
510ab4d5aa plugin XEP-0096: fix plugin following changes in plugin_misc_file 2020-12-11 17:48:19 +01:00
Goffi
247589aedc plugin XEP-0431: Fulltext Search for MAM implementation 2020-12-10 10:32:54 +01:00
Goffi
02472de2c4 plugin XEP-0234: make fileJingleRequest async to fix call of initiate 2020-12-04 12:32:05 +01:00