Commit graph libervia-backend/sat/plugins/plugin_xep_0215.py
Author SHA1 Message Date
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
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
9b47e8c890 core (plugins): implementation of XEP-0215 "External Service Discovery":
rel 418
2023-04-07 15:16:39 +02:00