Commit graph libervia-backend/sat
Author SHA1 Message Date
Goffi
39bdd34d60 db (schema): create virtual table for FTS + migration
rel 361
2021-09-08 17:58:48 +02:00
Goffi
50d7cb2a51 merge bookmark @ 2021-09-08 11:20:37 +02:00
Goffi
fb310c104c plugin misc file: fix getDestDir returning a Deferred in a coroutine 2021-09-08 11:17:19 +02:00
Goffi
47d258e841 plugin android: use callFromThread instead of callLater:
`callLater` is not made to be called outside of main thread, `callFromThread` is the
method to call in this case.
2021-09-08 11:17:13 +02:00
Goffi
5cf43b2e2e core (memory/persistent): implement __repr__ (via __str__) 2021-09-08 11:17:04 +02:00
Goffi
0c3910bafd plugin XEP-0353: fix jingle initiation on disco "Service Unavailable" error:
When requesting disco info on a bare jid which is not in our roster, server may return
"Service Unavailable" (to avoid leaking valid JIDs). In this case, the initiation was
failing, this is now fixed by using empty categories in this case.
2021-09-08 11:16:52 +02:00
Goffi
6bf40afe6a plugin XEP-0353: fix plugin modes 2021-09-08 11:16:48 +02:00
Goffi
12209c1bdc core (main): check plugin modes and skip pluggin/log an error if value is invalid 2021-09-08 11:16:35 +02:00
Goffi
f2988ea7be core (sat_main): fix the "Could not initialize backend" error logging 2021-09-08 11:16:29 +02:00
Goffi
f29a6bfa17 bridge (dbus/frontend): reintrospect signature in case of guess error:
When a "Unable to guess signature […]" `ValueError` is raised during a method call, the
signatures are re-introspected. This should fix this issue when a frontend is launched
just after to the backend (this happens notably with tests).
2021-09-08 11:16:21 +02:00
Goffi
dae3308751 plugin XEP-0277: use common.uri to parse comment URIs 2021-09-08 11:14:53 +02:00
Goffi
adad4494c3 tools (common/uri): fix uri parsing for Python 3.9+ 2021-09-08 11:14:47 +02:00
Goffi
a6267ac1fa core (memory/sql_mapping): remove autoincrement:
SQLite specific behaviour with autoincrement (https://sqlite.org/autoinc.html) is actually
already handled by SQLAlchemy, and unsetting autoincrement cause troubles when storing new
objects.
2021-09-01 15:25:02 +02:00
Goffi
efcd128062 core (memory/sqla): fix key/value inversion in self.profiles 2021-09-01 15:24:59 +02:00
Goffi
fe502fc0fc merge branche "@" 2021-08-28 15:32:58 +02:00
Goffi
547eb9feba bridge: bridge can now be set using environment variable:
The `LIBERVIA_BRIDGE_NAME` environment variable can now be used to specify the bridge to
use. If set and different from empty string, the environment has precedence over config
file value.

For `pb` bridge, the following environment variable can also be used:

- LIBERVIA_BRIDGE_PB_CONNECTION_TYPE
- LIBERVIA_BRIDGE_PB_HOST
- LIBERVIA_BRIDGE_PB_PORT
2021-08-28 15:26:02 +02:00
Goffi
436696f28c merge branche "@" 2021-08-27 14:51:40 +02:00
Goffi
506368275a tools (common/date_utils): parse now alone (when used without relative delta) 2021-08-27 14:48:38 +02:00
Goffi
cb0223b5ab core (memory/sqla): minor docstring line lenght fix 2021-08-02 21:52:17 +02:00
Goffi
972e96bf04 plugin text syntaxes: remove side effect on init:
When text syntaxes was initialised, `syntaxes` dict was filled, but it was a class
attribute. As a result, re-initialising it (which may happen for tests, and maybe in the
future dynamically), was not starting with an empty dict, but with an already-filled one,
resulting in conflicts.

This patch fixes it by moving `syntaxes` to an instance attribute.
2021-08-02 21:52:17 +02:00
Goffi
6fa6f7a1f8 plugin pubsub cache: use asDeferred with match_cb 2021-08-02 21:52:17 +02:00
Goffi
e6e77c7770 plugin XEP-0059: don't show warning message when <last> is missing if there is not message 2021-08-02 21:52:17 +02:00
Goffi
da5876c292 misc: update VERSION 2021-08-02 21:51:55 +02:00
Goffi
52f3532917 merge branch "@" 2021-08-02 21:49:51 +02:00
Goffi
cf5213d4fe plugin XEP-0346: fix deprecated import 2021-08-02 21:47:22 +02:00
Goffi
60fe49f883 tools (common/async_process): remove useless encoding + use full path for command:
- arguments don't need to be encoded anymore, `spawnProcess` handles str directly now
- use full path even for first argument: even if first argument should be only executable
  name, it appears that using full path only in `command` is not enough (seen with Python
  where system installation is used instead of the VirtualEnv one when full path is not
  used as first argument).
2021-07-29 22:51:01 +02:00
Goffi
aab8a38836 tools (common/date_utils): accept more units (shortcuts) + fix timezone when date with relative delta is used 2021-07-29 22:51:01 +02:00
Goffi
35bfb8b8b7 plugin XEP-0277: pubsub cache analyser implementation 2021-07-29 22:51:01 +02:00
Goffi
92c0c09eb2 plugin pubsub cache: Pubsub Caching implementation 2021-07-29 22:51:01 +02:00
Goffi
53a77a4c71 core (memory/sqla): generic methods to add and delete ORM objects directly 2021-07-29 22:51:01 +02:00
Goffi
85ea69c3c3 core (memory/sqla): methods to manipulate pubsub tables 2021-07-29 22:51:01 +02:00
Goffi
fdc44cdd49 migration: script to create pubsub caching tables 2021-07-29 22:50:57 +02:00
Goffi
4fb32ced31 core (memory/sqla_mapping): mapping for PubsubNode and PubsubItem (will be used for caching) 2021-07-29 21:38:37 +02:00
Goffi
577a81c936 plugin XEP-0059: new getNextRequest method to generate request to retrieve next page 2021-07-29 21:30:32 +02:00
Goffi
a7bae11831 plugin XEP-0277: ignore max_items if rsm_request is set 2021-07-29 21:28:48 +02:00
Goffi
91faf66b36 plugin XEP-0060: fix notification handling in retractItems 2021-07-29 17:28:02 +02:00
Goffi
5dcbd8eeef plugin XEP-0060: add trigger points 2021-07-29 17:26:59 +02:00
Goffi
9ef1f7a1f8 plugin XEP-0060: events callbacks can now be sync or async 2021-07-29 17:10:36 +02:00
Goffi
42979a7140 plugin XEP-0060: handle purge notifications 2021-07-29 15:54:54 +02:00
Goffi
f2a06bbcbf plugin XEP-0060: getItems extra is now serialised dict 2021-07-28 23:01:15 +02:00
Goffi
fcbbc2aeed core (xmpp): renamed SatRosterProtocol.presenceSubscribed to isSubscribedFrom (and added isSubscribedTo) 2021-07-28 22:15:31 +02:00
Goffi
bab851006f plugin XEP-0060: getItem(s), publish and (un)subscribe are now coroutines 2021-06-30 16:19:14 +02:00
Goffi
a3e6425eb2 core (memory/sqla_mapping): fix some technical debt:
a first Alembic revision file is joined to migrate existing databases to new mapping.

This patch:
    - set `nullable=False` in various places
    - drop legacy `message_types` table, and use `Enum` instead
    - use naming convention, and get rid of anonymous constraint (this is the main reason
      why the revision file is so long)
2021-06-27 00:15:40 +02:00
Goffi
8ae38a1131 core (memory/sqla): database migration using Alembic:
Alembic database migration tool, which is the recommended one for SQLAlchemy has been
integrated. When a database is created, it will be used to stamp to current (head)
revision, otherwise, DB will be checked to see if it needs to be updated, and upgrade will
be triggered if necessary.
2021-06-25 17:55:23 +02:00
Goffi
71db80fc4d memory (storage): adjustements to SQLAlchemy mapping to match current state of database 2021-06-25 10:17:34 +02:00
Goffi
846dbe478f v0.8.0b1 release 2021-06-18 15:10:33 +02:00
Goffi
4421eefbf3 merge changes from main branch 2021-06-17 13:05:58 +02:00
Goffi
211c9c8079 core (memory/cache): don't crash on EOFError in getMetadata 2021-06-17 10:35:42 +02:00
Goffi
7adbf3ead8 core, frontends: fix invalid translatable strings.
Some f-strings where used in translatable text, this has been fixed by using explicit
`format()` call (using a script based on `tokenize`).

As tokenize messes with spaces, a reformating tool (`black`) has been applied to some
files afterwards.
2021-06-14 18:35:12 +02:00
Goffi
8d8541015c app manager (docker/weblate): add WEBLATE_ENABLE_HTTPS:
The value can be set in `libervia.conf` with `weblate_enable_https`. It defaults to "1".
2021-06-14 12:19:21 +02:00