Commit graph libervia-backend/libervia/cli
Author SHA1 Message Date
Goffi
cab460152c plugin XEP-0277: Make MbData a Pydantic model:
- MbData is now a Pydantic based model.
- Bridge method has been updated to use `service` and `node` from MbData instead of using
  separate fields.
- Added `In-Reply-To` to MbData.
- Adapted code using XEP-0277 to work with the changes.

rel 462
2025-08-03 23:35:21 +02:00
Goffi
06a1eef720 plugin XEP-0048, XEP-0402; CLI (bookmarks): implement XEP-0402 (PEP Native Bookmarks):
- Former bookmarks implementation is now labeled as "legacy".
- XEP-0402 is now used for bookmarks when relevant namespaces are found, and it fallbacks
  to legacy XEP-0048/XEP-0049 bookmarks otherwise.
- CLI legacy bookmark commands have been moved to `bookmarks legacy`
- CLI bookmarks commands now use the new XEP-0402 (with fallback to legacy one
  automatically used if necessary).
2024-11-20 11:43:27 +01:00
Goffi
0c27fef2ac cli (output/std): use rich to output JSON. 2024-11-20 11:38:44 +01:00
Goffi
da51288c7a tools (common/template), cli (call/gui): use font-awesome instead of fontello:
following change in Libervia Media, code has been updated to use font-awesome now instead
of fontello.
2024-10-26 22:42:17 +02:00
Goffi
5ccec8f755 cli (message/send): add arguments to send keywords and headers:
rel 451
2024-09-28 15:57:31 +02:00
Goffi
ba8ba26636 cli (message/send): add arguments for message addressing:
commands have been added to add `to`, `cc` and `bcc` metadata for sending copy of the
message to several entities. Metadata such as `reply-to` `reply-room` and `no-reply` are
also supported.

rel 450
2024-09-26 16:12:01 +02:00
Goffi
057a8ebadf CLI: add commands to handle gateways:
rel 449
2024-09-06 18:03:01 +02:00
Goffi
0c785f0934 cli (list/set): add "--comments" argument. 2024-06-20 14:46:55 +02:00
Goffi
53fdaa9d09 Reformatted code base using black. 2024-06-19 18:44:57 +02:00
Goffi
3fc429a781 cli (base): catch all failure on plugin importing. 2024-05-31 11:22:10 +02:00
Goffi
425499398d cli (remote-control): new remote-control command:
2 subcommands are available: `send` to control remotely a device, and `receive` to be
controlled.

Documentation will follow.

rel 436
2024-05-11 13:52:43 +02:00
Goffi
de7260bfb9 backend, frontend: prepare remote control:
This is a series of changes necessary to prepare the implementation of remote control
feature:

- XEP-0166: add a `priority` attribute to `ApplicationData`: this is needed when several
  applications are working in a same session, to know which one must be handled first.
  Will be used to make Remote Control have precedence over Call content.
- XEP-0166: `_call_plugins` is now async and is not used with `DeferredList` anymore: the
  benefit to have methods called in parallels is very low, and it cause a lot of trouble
  as we can't predict order. Methods are now called sequentially so workflow can be
  predicted.
- XEP-0167: fix `senders` XMPP attribute <=> SDP mapping
- XEP-0234: preflight acceptance key is now `pre-accepted` instead of `file-accepted`, so
  the same key can be used with other jingle applications.
- XEP-0167, XEP-0343: move some method to XEP-0167
- XEP-0353: use new `priority` feature to call preflight methods of applications according
  to it.
- frontend (webrtc): refactor the sources/sink handling with a more flexible mechanism
  based on Pydantic models. It is now possible to have has many Data Channel as necessary,
  to have them in addition to A/V streams, to specify manually GStreamer sources and
  sinks, etc.
- frontend (webrtc): rework of the pipeline to reduce latency.
- frontend: new `portal_desktop` method. Screenshare portal handling has been moved there,
  and RemoteDesktop portal has been added.
- frontend (webrtc): fix `extract_ufrag_pwd` method.

rel 436
2024-05-11 13:52:41 +02:00
Goffi
728b01d236 cli (call, file), frontends: implement webRTC data channel transfer:
- file send/receive commands now supports webRTC transfer. In `send` command, the
  `--webrtc` flags is currenty used to activate it.

- WebRTC related code have been factorized and moved to `libervia.frontends.tools.webrtc*`
  modules.

rel 442
2024-04-06 13:43:09 +02:00
Goffi
fa55bc6fb9 cli (pubsub): use PEP when service is not specified in error message. 2024-03-05 17:31:56 +01:00
Goffi
dec2fa48bc cli (file/receive): handle CONFIRM dialog received in pre-flight. 2024-03-05 17:31:56 +01:00
Goffi
8db12deaff cli (base): fix exit code transmission when SystemExit is catched. 2024-03-05 17:31:56 +01:00
Goffi
430f2d9354 cli (call): tui output implementation:
- Moved original UI to a separated class, and use if with the `simple` output
- By default, best output is automatically selected. For now `gui` is selected if possible,
  and `simple` is used as fallback.
- The new `tui` output can be used to have the videos directly embedded in the terminal,
  either with real videos for compatible terminal emulators, or with Unicode blocks.
- Text contrôls are used for both `simple` and `tui` outputs
- several options can be used with `--oo` (will be documented in next commit).

rel 428
2024-02-16 18:46:06 +01:00
Goffi
3d38bbd155 cli (call): implement GUI output:
``call`` commands now handle various output. Beside the original one (now named
``simple``), a new ``gui`` one display a full featured GUI (make with Qt).

PyQt 6 or more needs to be installed.

rel 427
2024-02-11 23:20:24 +01:00
Goffi
e14dd9da8b core: add new init_script_path option:
`init_script_path` option can be used in `[DEFAULTS]` to run a script at the end of
backend initialisation. A new `init_pre_script` method is used to wait for backend to
reach this stage (designed to be used mostly by CLI frontend), then the usual `ready_get`
method is finished once the script is finished.
2023-12-13 22:00:22 +01:00
Goffi
b634e41ac0 core, doc, cli (forums): new forums set commands + doc:
- document the fact that if an empty `uri` is used, the forum node is created
  automatically
- new `forums/set` CLI commands and its documentation
2023-12-11 18:10:27 +01:00
Goffi
836c8bc896 cli (blog): new --alt-link option to specify alternate links 2023-12-05 13:14:33 +01:00
Goffi
2aecd646f0 cli (blog): add --no-id-suffix flag, to prevent adding random suffix to user-friendly IDs 2023-12-05 13:12:01 +01:00
Goffi
ec2a637847 plugin ad-hoc D-Bus: fix deprecated use of python-dbus:
the plugin was using python-dbus which is deprecated in the backend in the favor of
TxDBus. Methods calls have been updated, and the plugin works again, but there seems to be
still some issues (warnings in the logs). Those will be fixed later.
2023-12-01 15:22:55 +01:00
Goffi
934450168a cli: call command:
This command has 2 subcommands: `make` and `receive` to make a new call or wait for one.
When call is in progress, a window will be created to show incoming stream and local
feedback, and a text UI is available to (un)mute audio or video, and hang up.

rel 426
2023-11-01 14:10:00 +01:00
Goffi
b7d3afeabd cli (base): new a_quit method to run async cleaning methods:
it may be necessary to run some async cleaning method (e.g. if bridge is needed), this new
method handles async cleaning method, and will be called when `SystemExit` is used, or if
`a_quit` is called explicitely.

rel 426
2023-11-01 14:08:00 +01:00
Goffi
ef837273cd cli (loops): run GLib loop in same thread as asyncio:
use the new `install_glib_asyncio_iteration` to run GLib in the same thread as asyncio.

rel 426
2023-11-01 14:05:53 +01:00
Goffi
564ddf0be6 cli: add notification commands 2023-10-18 15:33:45 +02:00
Goffi
3e51dc187c cli (base): catch SystemExit to do a proper quit when Ctrl-C is pressed. 2023-10-18 15:33:38 +02:00
Goffi
bd2db73ee5 cli: rich initial integration 2023-10-18 15:30:07 +02:00
Goffi
264d1b8356 cli (debug): fix deprecated method call 2023-06-23 15:18:43 +02:00
Goffi
65a49a79e8 cli (event): minor typo 2023-06-08 21:28:40 +02:00
Goffi
fd16770c19 refactoring: rename libervia.frontends.jp to libervia.cli 2023-06-02 14:54:26 +02:00