Commit graph

4,712 commits

Author SHA1 Message Date
Goffi
7365f67601 misc: update .hgignore 2021-06-11 09:19:43 +02:00
Goffi
6426103f12 plugin XEP-0313: on cold start (without known archive) we only request 50 last messages 2021-06-10 15:44:30 +02:00
Goffi
7e622ae5d1 plugin XEP-0054: fix call to JID serialisation method 2021-06-10 15:43:28 +02:00
Goffi
c1de4dfcc4 plugin nat port: rename file to plugin_misc_nat_port.py to make the name valid 2021-06-09 18:39:13 +02:00
Goffi
398bd91f03 doc (installation): update instruction to use requirements + fix name in a few places 2021-06-09 17:31:52 +02:00
Goffi
aedc7eaf23 install (requirements): update + add setuptools_scm 2021-06-09 17:30:52 +02:00
Goffi
5004e3465e install (setup): add setuptools_scm to install dependencies if in dev version 2021-06-09 17:30:27 +02:00
Goffi
8b3d900922 cli: update constants to use new name 2021-06-09 17:29:29 +02:00
Goffi
c32defe690 plugin XEP-0054: fix update call 2021-06-09 11:35:49 +02:00
Goffi
d5f0d7ec8e core (xmpp): show "Libervia" without the "(backend)" component in version 2021-06-09 11:27:22 +02:00
Goffi
bed5aa94a6 doc (cli/profile): add autoconnection in example 2021-06-09 10:04:10 +02:00
Goffi
d22bd6c96d memory(sqlite): fix encoding when loading pickled data 2021-06-09 10:01:56 +02:00
Goffi
510e3e9bdc plugin XEP-0277: "user" part of author jid is used for author name when later is missing 2021-06-06 22:06:28 +02:00
Goffi
2155acd45b plugin forums: use serialised data for extra in forumTopicsGet 2021-06-06 19:35:19 +02:00
Goffi
93e4021b86 plugin XEP-0277: don't wrap DataError in failure.Failure in parseCommentUrl as it is not catched correctly:
`failure.Failure` is subclass of `BaseException` but not of `Exception`, as a result
`except Exception` doesn't catch it correctly. This is fixed by not wrapping `DataError`
in `failure.Failure` anymore.
2021-06-04 17:18:44 +02:00
Goffi
9442835ddb jp: fix background guessing when stdin is redirected 2021-06-04 15:23:24 +02:00
Goffi
80ee158daa tools (common/template_xmlui: add multi and value propertied to OptionsWidget 2021-06-04 14:44:33 +02:00
Goffi
fd4f70ac6c memory (sqlite): work around encoding issues with pickle 2021-06-04 14:07:58 +02:00
Goffi
9d3f2be7b1 plugin XEP-0045: fix /join text command 2021-06-03 17:59:41 +02:00
Goffi
26875b8552 plugin XEP-0045: fix "reason" parsing for /ban and /kick text commands 2021-06-03 17:47:25 +02:00
Goffi
8d9d911497 core (xmpp): catch cancelError in pre_xml_treatments in message workflow 2021-06-03 15:40:57 +02:00
Goffi
97df5f8be3 core: various changes and fixes to work with new storage and D-Bus bridge:
- fixes coroutines handling in various places
- fixes types which are not serialised by Tx DBus
- XEP-0384: call storage methods in main thread in XEP: Python OMEMO's Promise use thread
  which prevent the use of AsyncIO loop. To work around that, callLater is used to launch
  storage method in main thread. This is a temporary workaround, as Python OMEMO should
  get rid of Promise implementation and threads soon.
2021-06-03 15:21:43 +02:00
Goffi
893e8e7a96 tools (utils): new ensure_deferred decorator 2021-06-03 15:21:43 +02:00
Goffi
6c853262e1 bridge (dbus): use Tx DBus for backend part of D-Bus bridge:
Due to recent SQLAlchemy integration, Libervia is now using AsyncIO loop exclusively as
main loop, thus GLib's one can't be used anymore (event if it could be in a separate
thread).
Furthermore Python-DBus is known to have design flaws mentioned even in the official
documentation.

Tx DBus is now used to replace Python-DBus, but only for the backend for now, as it will
need some work on the frontend before we can get completely rid of it.
2021-06-03 15:21:43 +02:00
Goffi
241fc0165f bridge (constructor/base_constructor): add args_no_default to completion 2021-06-03 15:21:43 +02:00
Goffi
a5f225e1ea core (memory/storage): backend storage is now based on SQLAlchemy 2021-06-03 15:20:47 +02:00
Goffi
1ad8de5726 doc: config file is now libervia.conf (even if sat.conf still works, for now) 2021-06-03 15:15:11 +02:00
Goffi
838b4a7947 core (memory/sqlite): return 0 instead of None when user has no file yet 2021-05-06 21:39:08 +02:00
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
7e6026e090 core (xmpp): fix typo in sendError 2021-05-06 18:10:09 +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
6e6bc64eab tools (async_trigger): new asyncReturnPoint method 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
06054ceeaf core (memory, sqlite): new fileGetUsedSpace method 2021-05-05 15:37:21 +02:00
Goffi
672d35d44f core (xmpp): added appCondition argument to sendError 2021-05-05 12:58:11 +02:00
Goffi
fb01bd4bcc jp (pubsub, blog): rename commands implementation 2021-05-01 18:39:34 +02:00
Goffi
8f7c74e3b3 jp (blog/get): fix comments node parsing 2021-05-01 18:38:58 +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
af053c5f34 tools (common/date_utils): fix date_only for short, long and full format 2021-05-01 18:36:13 +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