Commit graph

3,462 commits

Author SHA1 Message Date
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
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
81e9ebdf9a tools (xml_tools): add missing value property to JidWidget 2020-12-10 14:11:45 +01:00
Goffi
247589aedc plugin XEP-0431: Fulltext Search for MAM implementation 2020-12-10 10:32:54 +01:00
Goffi
f69eb56a02 docker (pubsub): install latest version of postgresql-client with PostgreSQL own Debian repos. 2020-12-10 10:28:05 +01:00
Goffi
a130048614 docker: use slim version of Debian as base for our images 2020-12-10 10:28:00 +01:00
Goffi
053a174139 contrat social: updated English translation's formulation about censorship:
the new formulation is a translation of the new formulation in original French version.

This has been requested at annual general meeting of 2019-11-23
2020-12-10 10:27:59 +01:00
Goffi
48cd6ca473 contrat social: replaced formulation about censorship:
The formulation "Nous ferons tout notre possible pour lutter contre toute tentative de
censure." as been replaced by "Nous ferons tout
notre possible pour lutter contre toute tentative de censure, y compris en protégeant la
parole des victimes de harcèlement, discours haineux, menaces, humiliations et tout ce
qui pourrait mener à de l'autocensure."

This as been requested in annual general meeting of 2019-11-23
2020-12-05 11:53:11 +01:00
Goffi
639a185b54 contrat social (en): replaced "Mankind" by "Humanity":
this was requested in annual general meeting of 2019-11-23
2020-12-05 11:45:36 +01:00
Goffi
50fd4f48d0 tests (e2e/libervia): more stable test_user_can_log_in + photos tests 2020-12-04 12:39:44 +01:00
Goffi
b034e46543 tests (e2e): new fixture to share data between tests:
this is usefull in some edge cases when tests are dependents of each other.
2020-12-04 12:38:38 +01:00
Goffi
ad3aea8ec0 tests, doc(testing): added pytest-dependency plugin to backend_e2e image + doc 2020-12-04 12:37:38 +01:00
Goffi
7527b54bd7 tests (e2e/libervia/conftest): new log_in_account1_s2 fixture 2020-12-04 12:36:06 +01:00
Goffi
0328129b98 tests (e2e/conftest): create a test account on server3.test 2020-12-04 12:35:00 +01:00
Goffi
736f91e557 tests (e2e/conftest): check new exit code for conflict to avoid crashing if test accounts already exist 2020-12-04 12:34:24 +01:00
Goffi
095ec0c71a jp (account): better exit code handling 2020-12-04 12:32:56 +01:00
Goffi
02472de2c4 plugin XEP-0234: make fileJingleRequest async to fix call of initiate 2020-12-04 12:32:05 +01:00
Goffi
3f9e61662c core (constants): added EXIT_CONFLICT 2020-12-04 12:30:46 +01:00
Goffi
b552e37a5b docker (e2e): use shared volume for SàT's local dir:
It is necessary to have a shared local dir to let libervia access files.
2020-12-04 12:30:00 +01:00
Goffi
be611f8a53 doc (testing): typos 2020-12-04 12:27:38 +01:00
Goffi
77e3f7a782 doc: documentation for testing in new contributing section 2020-11-27 16:40:26 +01:00
Goffi
fb216829c3 tests, docker(e2e): added e2e tests for Libervia:
- moved jp tests to `e2e/jp`
- new fixtures
- adapted docker-compose
- improved `run_e2e` with several flags + report on failure
- doc to come
2020-11-27 16:39:40 +01:00
Goffi
ac4a8aecc7 tests: added testing files (photos) 2020-11-27 16:32:40 +01:00
Goffi
a9614470aa docker (backend_e2e): added packages necessary to test Libervia + some debugging tools 2020-11-27 16:31:05 +01:00
Goffi
125addc542 plugin XEP-0077: use xmpp_domain when set for host 2020-11-27 16:29:06 +01:00
Goffi
36ec44730d docker (e2e): added libervia and libervia.test in certificates 2020-11-27 16:26:36 +01:00
Goffi
96bf65cb7a docker(libervia): build site in the image:
this will avoid a build each time the container starts fresh (notably with tests), as this
is time and resource consuming (notably with node modules which would need to be
downloaded each time).
2020-11-27 16:25:02 +01:00
Goffi
b2cf3efd8b docker: added libervia e2e image and include it in docker-compose_e2e:
The `libervia_e2e` image is based on main `libervia` one, and add, register and set the
same test certificates as the ones used in `backend_e2e`.
2020-11-16 14:51:15 +01:00
Goffi
670bea6e55 docker (backend_e2e): set xmpp_domain in conf. 2020-11-16 14:51:13 +01:00
Goffi
2df24ca3b1 docker (backend): fixed media_dir in conf. 2020-11-16 14:50:55 +01:00
Goffi
6ebc7da1f1 tools(utils): fixed error catching when getting repository data with pkg_resources 2020-11-16 14:44:43 +01:00
Goffi
2556a2c332 docker (libervia): expose HTTP and HTTPS ports 2020-11-15 17:05:47 +01:00
Goffi
18fc12222b docker (compose): name libervia image 2020-11-15 17:05:14 +01:00
Goffi
190f473cab plugin app manager: fixed public_url value check 2020-11-14 21:20:48 +01:00
Goffi
6f07157904 core (launcher): exit code can now specified
Exit code can now be specified by setting the `_exitCode` variable in
`twisted.application.app` module.
2020-11-14 21:19:40 +01:00
Goffi
fffc08be54 tests: end-2-end tests first draft:
- e2e tests are launched inside the new docker e2e test environment
- `run_e2e.py` launch the docker container, mount the current code base in it, launch the
  e2e tests and print report in real time
- `conftest.py` are pytest fixtures managing many things such as account creation, fake files
  management, JSON or Domish.Element parsing, fake editor, etc.
- `test_jp.py` are end-to-end test done with `jp`. `sh` library is used to make tests
  writting as user-friendly as possible. The `SAT_TEST_ENV_E2E` environment variable is
  checked, and tests will be skipped if it's not set.
2020-11-12 14:53:16 +01:00
Goffi
92e424e685 jp (roster): delete implementation 2020-11-12 14:53:16 +01:00
Goffi
df6428c14c jp (pubsub/node/info, pubsub/get): better exit code:
the correct exit code is now returned in case of NOT_FOUND or bridge exception. If the
exception is not a bridge exception, an internal error exit code is used.
2020-11-12 14:53:16 +01:00