Commit graph

3,502 commits

Author SHA1 Message Date
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
2596f7ae77 tools (common/regex): move code to make user friendly URLs from web frontend 2021-04-16 18:32:44 +02:00
Goffi
618917e0ef plugin XEP-0329: check files conflict also for root files 2021-04-16 18:32:40 +02:00
Goffi
18cbbee1a5 memory: new getFilesOwner method:
this method is used by `getFiles` and `setFile` and fill `owner` when it's missing to
avoid getting accidentally files from other users.

`owner` is not filled in some case (no client, `file_id` or `parent` specified) and an
exception is raised if a component has neither `owner` nor `peer_jid` specified.
2021-04-16 18:32:37 +02:00
Goffi
adb09a719f tests: update following names change 2021-04-16 18:32:34 +02:00
Goffi
363788de7d docker: update following name changes:
`backend_e2e` now print properly backend logs
2021-04-16 18:32:16 +02:00
Goffi
19da80743b core: remove print which may provoke undesired side effects 2021-04-14 15:54:26 +02:00
Goffi
b186f74b17 core: apply wokkel patches if they are not already:
this case may happen if a sat module is used without the backend being launched (e.g. in
tests)
2021-04-14 14:09:50 +02:00
Goffi
1ab5488e0d frontends (primitivus): SECTION_NAME is now CONFIG_SECTION 2021-04-01 13:57:20 +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
839aea4e2b tools (xml_tools): new findAncestor method:
this methods help to find a `domish.Element` ancestor with specific name/namespace
2021-03-27 14:35:07 +01:00
Goffi
24a4b12ac4 frontends: use new EXIT_BACKEND_NOT_FOUND exit code:
- new EXIT_BACKEND_NOT_FOUND (5) is used when frontend can't find backend with the bridge.
  It differs from EXIT_BRIDGE_ERROR (3) which is used when something went wrong when
  connecting to backend.
- use this exit code in quick app and in jp
2021-03-23 21:21:00 +01:00
Goffi
881a638821 bridge (pb): connection can be set to used either UNIX socket or TCP socket:
all settings are to be put in `[DEFAULT]` section
- `bridge_pb_connection_type` can be set to `unix_socket` or `socket`
- for `socket`, `bridge_pb_host` and `bridge_pb_port` can be specified
2021-03-21 22:00:55 +01:00
Goffi
6d15e23a31 doc: updated doc following global renaming 2021-03-21 18:23:58 +01:00
Goffi
8768429efc primivitus: updated constants following global renaming, config section is now tui instead of primitivus 2021-03-21 18:16:52 +01:00
Goffi
686ea30b22 jp: config section is now cli instead of jp following global renaming 2021-03-21 18:16:09 +01:00
Goffi
3cee3eca89 misc: update names for D-Bus service file and zsh autocompletion:
- using `li` as main shortcut for `libervia-cli` instead of `jp`
- fix outdated Python version in `_li` zsh completion shell
- following global name change, D-Bus service file is no `org.libervia.Libervia.service`
  and it launches `libervia-backend`
2021-03-21 18:14:41 +01:00
Goffi
33df18f2f6 CHANGELOG: update (including renaming of project) 2021-03-20 20:42:07 +01:00
Goffi
6da9c27ac9 install: added requirements.txt 2021-03-20 20:42:07 +01:00
Goffi
e39783de7f tools (config): show a warning when no config file has been found + don't use hardcoded filename in fixConfigOption 2021-03-20 20:42:07 +01:00
Goffi
1955c94725 core (setup), jp, primitivus: update console scripts + classifiers:
- console scripts have been updated following the renaming with:
    - "libervia-cli" and "libervia-tui" for "jp" and "primitivus"
    - "li" alias as a shortcut for libervia-cli
    - "jp" and "primitivus" are kept as alias
- updated classifiers to reflect Python 3.9 support
2021-03-20 20:42:07 +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
591b9fe8bc tools (common/template): new fallback settings:
`fallback` can be used to change fallback behaviour. By default, fallback is done on
`default` theme, this can be set to an other theme with a string, or to a list of
fallback. The list can also be empty is no fallback is desired (notably usefull for "main"
themes, on which other themes may fallback).

This setting replaces `css_default_fallback`.
2021-03-19 14:01:52 +01:00
Goffi
bd779e8ddd tools (image): fix bad method name used when fix_orientation is set in resize 2021-03-19 14:01:51 +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
7df670c8d0 core: removed sat_tmp.twisted patches + update minimum Twisted version:
- `sat_tmp` patches are not needed anymore and cause trouble with latest Twisted (21.02)
- update minimum to `20.3.0` which is the first one to support Python 3.8
2021-03-18 20:46:18 +01:00
Goffi
c7cb216f95 frontends (tools/xmui): implement ValueGetter.items and XMLUIPanel.values to get a map from widget name to values 2021-02-27 18:39:25 +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
843928bf02 tools (xml_tools): fix pFmtElt:
default URI was not handled correctly, and attributes were missing, this patch fixes
those bugs.
2021-02-19 15:53:25 +01:00
Goffi
32899b71e2 tools (common/email): try to guess sender domain when necessary:
when `DNSNAME` is `localhost.localdomain` and is `mail_sender_domain` is not set, a guess
is done to find a proper domain, using `email_from`.
2021-02-19 15:53:24 +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
7f9a9cd268 doc (jp/message): typo 2021-01-02 17:08:11 +01:00
Goffi
3d112ec965 jp (pubsub/node/schema): handle not-found conditions properly 2020-12-11 17:58:36 +01:00