Commit graph

4,056 commits

Author SHA1 Message Date
Goffi
a345f4f38e plugin XEP-0167: Jingle RTP Sessions implementation:
rel 420
2023-05-29 13:38:10 +02:00
Goffi
43a0621182 plugin XEP-0353: update according to XEP changes + <description> fix:
- `XEP-0166_initiate_elt_built` trigger is now used to have the `<description>` element
  built, so they can be used with there correct arguments in the jingle initiation message
- add message processing hint as it is now specified in the XEP
2023-05-29 13:32:40 +02:00
Goffi
391112a059 plugin XEP-0176: fix candidates data format when calling Bridge's ice_candidates_new 2023-05-29 13:32:32 +02:00
Goffi
e485a64198 plugin XEP-0166: set jingle_elt, desc_elt and transport_elt:
those values are set to corresponding domish.Element in session for session
init/confirmation/accept workflow.
2023-05-29 13:32:28 +02:00
Goffi
5c6578a1f6 plugin XEP-0166, 0176, 0234: minor renaming + type hints 2023-05-29 13:32:19 +02:00
Goffi
1781694141 core: renamed messageReceived trigger to message_received 2023-05-29 13:32:08 +02:00
Goffi
216b3246e8 frontends (tools/jid): remove old pyjamas code + type hints 2023-05-15 17:19:54 +02:00
Goffi
791544ec54 tests (unit): XEP-0320 tests:
fix 421
2023-05-15 17:02:41 +02:00
Goffi
6dd3348cc2 plugin XEP-0320: Use of DTLS-SRTP in Jingle Sessions:
rel 421
2023-05-15 17:02:40 +02:00
Goffi
6887005bd8 CHANGELOG: update 2023-05-15 16:26:22 +02:00
Goffi
bd675233cb tests (unit): tests for plugin XEP-0176:
fix 419
2023-05-15 16:23:50 +02:00
Goffi
5e6ca719ec plugin XEP-0176: Jingle ICE-UDP Transport Method implementation:
rel 419
2023-05-15 16:23:36 +02:00
Goffi
9141922d57 plugin XEP-0166: refactoring, and various improvments:
- add models for transport and applications handlers and linked data
- split models into separate file
- some type hints
- some documentation comments
- add actions to prepare confirmation, useful to do initial parsing of all contents
- application arg/kwargs and some transport data can be initialised during Jingle
  `initiate` call, this is notably useful when a call is made with transport data (this is
  the call for A/V calls where codecs and ICE candidate can be specified when starting a
  call)
- session data can be specified during Jingle `initiate` call
- new `store_in_session` argument in `_parse_elements`, which can be used to avoid
  race-condition when a context element (<decription> or <transport>) is being parsed for
  an action while an other action happens (like `transport-info`)
- don't sed `sid` in `transport_elt` during a `transport-info` action anymore in
  `build_action`: this is specific to Jingle File Transfer and has been moved there

rel 419
2023-05-15 16:23:11 +02:00
Goffi
45e15eb189 core (main): if keep_id is set in action_new, use it as action_id 2023-05-15 16:20:58 +02:00
Goffi
5ba4239fcc core: don't use meta_ prefix anymore for action_extra in action_new signal. 2023-05-15 16:20:50 +02:00
Goffi
1d0a1b66d9 core (bridge): action_new now use serialised dict for extra data. 2023-05-15 16:20:45 +02:00
Goffi
4ef719f592 CHANGELOG: typo 2023-05-15 16:20:38 +02:00
Goffi
be5c1074b0 changelog: udpate 2023-04-13 21:56:09 +02:00
Goffi
174e087c44 core (constants): fix URL, forgotten SàT reference + set new codename to "La Ruche" 2023-04-13 21:53:53 +02:00
Goffi
6a6f15707a massive refactoring to switch from camelCase to snake_case:
historically, Libervia (SàT before) was using camelCase as allowed by PEP8 when using a
pre-PEP8 code, to use the same coding style as in Twisted.

However, snake_case is more readable and it's better to follow PEP8 best practices, so it
has been decided to move on full snake_case. Because Libervia has a huge codebase, this
ended with a ugly mix of camelCase and snake_case.

To fix that, this patch does a big refactoring by renaming every function and method
(including bridge) that are not coming from Twisted or Wokkel, to use fully snake_case.

This is a massive change, and may result in some bugs.
2023-04-08 13:54:42 +02:00
Goffi
d50412c7f7 dpc (cli/info): update "disco" documentation to include new "external services":
fix 418
2023-04-07 15:18:39 +02:00
Goffi
ac229db809 cli (info/disco): Add external services in results:
rel 418
2023-04-07 15:18:05 +02:00
Goffi
378dfea0de tests (unit): Add test for plugin XEP-0215:
rel 418
2023-04-07 15:17:24 +02:00
Goffi
9b47e8c890 core (plugins): implementation of XEP-0215 "External Service Discovery":
rel 418
2023-04-07 15:16:39 +02:00
Goffi
ef70ccaedb tools (xml_tools): add fields's values when converting data form to dict 2023-04-07 14:59:01 +02:00
Goffi
f3dd4b8ddc tools (common/template): add 2 new filters: timestamp_to_hour and delta_to_human:
`timestamp_to_hour` give the hour corresponding to a timestamp, it will be used to display
calendar for this time window.
`delta_to_human` convert a delta of 2 timestamp to human readable time using
`tools.common.date_utils` corresponding function.
2023-03-30 16:57:11 +02:00
Goffi
92f669ca8b tools (common/template): let specify timezone name in date_fmt filter 2023-03-30 16:53:41 +02:00
Goffi
4a8635d4a2 tools (common/date_utils): new get_timezone_name to retrieve it from a tzinfo and a timestamp 2023-03-30 16:52:18 +02:00
Goffi
63d62f66f0 tools (common/date_utils): let use a timezone name as str in date_fmt 2023-03-30 16:51:09 +02:00
Goffi
6981f0e7c6 plugin XEP-0471: renamed "events" plugin to XEP-0471 now that there is a XEP 2023-03-30 16:47:41 +02:00
Goffi
66842072e3 core (memory/sqla): be sure to have a dict when serialising History.extra:
`extra` can be None, this patch avoid this value when serialising it by using an empty
dict.
2023-03-24 10:29:48 +01:00
Goffi
9a09f33d72 component AP gateway: revert forgotten verbose mode 2023-03-23 17:08:41 +01:00
Goffi
d52af77c44 jp (blog): new --attachment argument to attach files or external data to a blog post 2023-03-23 15:43:48 +01:00
Goffi
c3f97ec712 component AP gateway: handle attachments 2023-03-23 15:42:21 +01:00
Goffi
072f0cc723 plugin lang detect: don't detect the language if the body is empty 2023-03-23 15:39:48 +01:00
Goffi
cb2144bdf4 core (xmpp), component file sharing, plugin XEP-0363: enabled_features + HTTP Upload:
add a mechanism to explicitely enable some features in components, and use it to enable
HTTP Upload only if it's explicitely enabled.
2023-03-23 15:38:07 +01:00
Goffi
6a5de4440e plugin XEP-0277: handle "related" and "enclosure" links:
those links are used for attachments, "enclosure" for files, "related" when it's other
kind of data, such as an external website (in this case the `external` key is set in the
attchment).
2023-03-23 15:32:10 +01:00
Goffi
1a7c36a19c core: log a traceback if a plugin can't be loaded 2023-03-23 15:24:10 +01:00
Goffi
f11243bcee plugin XEP-0277: ensure that max-items is set to max when creating a node 2023-03-20 12:01:13 +01:00
Goffi
182fef1134 component AP gateway: add mention to direct messages:
when a direct (not public) message is sent to AP peer, a mention should be present
otherwise the peer won't receive a notification in most AP implementation (notably
Mastodon).
2023-03-20 11:47:13 +01:00
Goffi
7787676e4e component AP gateway (http): fix missing pformat module in verbose mode 2023-03-18 23:11:28 +01:00
Goffi
23514e8b37 component AP gateway (http): add verbose log when signature verification fails on POST request 2023-03-18 20:12:38 +01:00
Goffi
8e09c143e7 component AP gateway (http): handle properly NotFound error:
When an `exceptions.NotFound` is received, log a warning message and return the
appropriate HTTP code instead of raising the default `exceptions.InternalError`.
2023-03-18 16:53:21 +01:00
Goffi
614ccc3a6f component AP gateway: fix bad use of parseAPURL return data:
`parent_item_id` was not retrieved correctly, probably due to a missed update after code
change.
2023-03-18 16:20:30 +01:00
Goffi
f8387a7291 plugin AP gateway: fix exception on HEAD requests 2023-03-18 15:01:55 +01:00
Goffi
b6b2189433 plugin XEP-0277: when publisher is not found, check ancestor in both client and component namespaces 2023-03-16 16:43:47 +01:00
Goffi
108c41bf73 tools (xml_tools): accept several namespaces in findAncestor 2023-03-16 16:43:08 +01:00
Goffi
3994b8d40a component AP gateway (http/outbox): return data when no RSM is available 2023-03-16 15:56:11 +01:00
Goffi
3f6ef10bac plugin XEP-0465: log a warning and return empty list/dict when forbidden error is received:
this error probably means that the service doesn't support PPS.
2023-03-16 12:33:33 +01:00
Goffi
199f18366c plugin XEP-0384: skip MessageReceived trigger when in a component:
OMEMO is not used in components so far, but the trigger is trying to request OMEMO PEP
nodes, which causes an error with virtual pubsub service of AP component.
2023-03-16 12:31:24 +01:00