`--public` option is documented for `subscribe`, `subscriptions` and `node subscriptions
get`, with examples. A warning has been added to show explicitely the privacy implication
of using `--public` with `subscribe`.
rel 365
the caching is triggered by `li.blog.get`, but it is done in parallel without blocking the
command, thus there is a possibility that the data is not yet in cache when the following
test is done.
A loop with delay is done, to be sure that cache is filled before doing the assertion.
Due to mod_privilege and PAM implementation in Libervia Pubsub, permissions have been
udpated in `prosody.cfg.lua`, with the new `iq` permission and namespace delegation needed
for PAM.
`"urn:xmpp:delegation:2:bare:disco#info:*"` namespace delegation was also missing.
rel 365
there seem to be a regression with Docker: the volume is not propagated anymore with
pre-existing files when a unix socket is inside.
This is the case in `backend-dev` with the D-Bus unix socket put in
`/home/libervia/.local/share/libervia/dbus_socket`, when the volume is mounted at
`/home/libervia/.local/share/libervia/`, resulting in hard to debug failures.
To work around that, the socket is not put in the volume mount point anymore, and has been
moved to `/home/libervia/.local/share/`
this patch implements those major features:
- `publish` is implemented on virtual pubsub service, thus XMPP entities can now publish
to AP using this service
- replies to XMPP items are managed
- `inReplyTo` is filled when converting XMPP items to AP objects
- `follow` and `unfollow` (actually an `undo` activity) are implemented and mapped to
XMPP's (un)subscribe. On subscription, AP actor's `outbox` collection is converted to
XMPP and put in cache. Subscriptions are always public.
- `following` and `followers` collections are mapped to XMPP's Public Pubsub Subscription
(which should be XEP-0465, but the XEP is not yet published at the time of commit), in
both directions.
- new helper methods to check if an URL is local and to get JID from actor ID
doc will follow to explain behaviour
rel 365
- cache only latest 20 items when disco infos are hidden and thus we can't discover
feature/RSM implementation
- better handling of args when calling `storage.getItems`
rel 365
- update psSubscriptionsGet to use serialised return value
- implement XEP-0376 Pubsub Account Management
- implement XEP-0465 Public Pubsub Subscriptions
- CLI `pubsub` commands updated accordingly, and added `--public` flags to `subscribe`,
`Subscriptions` and `node Subscriptions get`
⚠ `XEP-0465` is speculative, the XEP has been accepted by council but not published yet.
As is should be the next one, and current latest one is `XEP-0464`, `XEP-0465` has been
anticipated.
rel 365
- HTTP signature is checked for incoming messages
- AP actor can now be followed using pubsub subscription. When following is accepted, the
node is cached
- replies to posts are put in cached pubsub comment nodes, with a `comments_max_depth`
option to limit the number of comment nodes for a root message (documentation will come
to explain this).
ticket 364
SQLite Full-Text Search stable are not associated to Python object and can't be detected
by Alembic. To avoid the generation of unwanted drop commands, they are now ignored when
autogenerating migration scripts.
rel 364
this is necessary to do a subscription with a component managing a virtual JID (i.e. not
the JID of the component itself, but the one linked to a account, see
`SatXMPPComponent.getVirtualClient`).
rel 364
this method is used to make a client with a given JID instead of component's JID. This is
needed when a JID managed by the component (e.g. associated to a legacy service account)
must be used.
rel 364
- add `configuration` section
- update instructions on AP actor handle <=> JID/node conversion
- explain how to get AP messages from XMPP
- explain how to get XMPP items for AP
- notes to explain tricks and implementations details
fix 363
are covered:
- AP actor handle to XMPP JID/pubsub node
- XMPP JID/pubsub node to AP actor handle
- AP request to JID/pubsub node (AP collection to items/RSM metadata conversion)
- pubsub request to AP actor (pubsub request with RSM to AP collection/pagination requests
conversion)
ticket 363
in `textbox` widget, the first arg was modified with all values, lettings other ones
unchanger, resulting in invalid number of arguments. This has been fixed by replacing all
args with the new value.
items are stored in chronological order in Pubsub, and as we want the more recent one, we
need to set `before=''`. Otherwise, we can get a wrong item from a previous test.
- convert a combination of JID and optional pubsub node to AP actor handle (see
`getJIDAndNode` for details) and vice versa
- the gateway now provides a Pubsub service
- retrieve pubsub node and convert it to AP collection, AP pagination is converted to RSM
- do the opposite: convert AP collection to pubsub and handle RSM request. Due to
ActivityStream collection pagination limitations, some RSM request produce inefficient
requests, but caching should be used most of the time in the future and avoid the
problem.
- set specific name to HTTP Server
- new `local_only` setting (`True` by default) to indicate if the gateway can request or
not XMPP Pubsub nodes from other servers
- disco info now specifies important features such as Pubsub RSM, and nodes metadata
ticket 363
- `NS_ATOM` is now set at class level, so it can be accessed by other plugins
- set `author` to `None` when no `name` element is found
- make `data2entry` a corountine
- fix incorrect use of yield in `trigger.point`