Mercurial > libervia-web
view libervia/web/pages/chat/select/_browser/__init__.py @ 1616:6bfeb9f0fb84
browser (calls): conferences implementation:
- Handle A/V conferences calls creation/joining by entering a conference room JID in the
search box.
- Group call box has been improved and is used both for group calls (small number of
participants) and A/V conferences (larger number of participants).
- Fullscreen button for group call is working.
- Avatar/user nickname are shown in group call on peer user, as an overlay on video
stream.
- Use `user` metadata when present to display the right user avatar/name when receiving a
stream from SFU (i.e. A/V conference).
- Peer user have a new 3 dots menu with a `pin` item to (un)pin it (i.e. display it on
full container with on top).
- Updated webrtc to handle unidirectional streams correctly and to adapt to A/V conference
specification.
rel 448
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 07 Aug 2024 00:01:57 +0200 |
parents | c6976c5b85a1 |
children |
line wrap: on
line source
from bridge import AsyncBridge as Bridge from browser import console as log, document from cache import cache from jid_search import JidSearch bridge = Bridge() log.warning = log.warn async def empty_search(jid_search): # FIXME: this is Q&D way to add bookmarks, a proper handling of joined room must be # done items = [ { "entity": jid_, "groups": data["groups"] } for jid_, data in cache.roster.items() ] bookmarks = await bridge.bookmarks_list("muc", "all") for bm_values in list(bookmarks.values()): for room_jid, room_data in bm_values.items(): items.append({"entity": room_jid}) jid_search.show_items(items) jid_search = JidSearch( document["search"], document["chat_items"], empty_cb = empty_search )