Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
* [Galene] Some minor protocol changes
@ 2024-08-13 11:28 Juliusz Chroboczek
  0 siblings, 0 replies; only message in thread
From: Juliusz Chroboczek @ 2024-08-13 11:28 UTC (permalink / raw)
  To: galene

Hi,

I'm making some minor tweaks to the Galene protocol.  The new features are
on the branch "protocol-tweaks", which I'm planning to merge when I've
cleaned them up and checked them carefully.  The plan is to *not* bump the
major version of the protocol, since the changes are, to a great extent,
backwards compatible.

At this stage, I'm very much open to changes.


Already done:

1. Simplified peer-to-peer transfer.  This is an incompatible change, but
   it's fairly harmless, it's just file transfer that will fail if you use
   an old client.

2. Added an "id" field to chat messages.  The (source-id, id) pair should
   in principle be globally unique, but this is not enforced.  This is
   a backwards compatible change.

3. Added parameters "userId" and "id" to the clearchat groupaction and the
   clearchat usermessage.  This allows removing a single message from the
   chat (when userId≠null and id≠null) and removing all messages from
   a given user (when userId≠null and id=null).  This is not strictly
   backwards compatible, but the failure mode is fairly harmless, an old
   client will clear the whole chat whenever it is asked to clear a single
   message.

4. Added commands "Remove this message" and "remove all messages from this
   user" to the context menu on chat messages.  (Did you know there's
   a context menu for ops on chat messages?  It's bound to double-click,
   in order to avoid interfering with copy-paste.  Help from a competent
   UI person gratefully accepted.)


Not done yet:

5. Add captions support.  I'm hesitating between a new kind of message,
   and making it a new "kind" of chat message.  The former breaks
   compatibility with existing clients, the latter is less elegant, since
   it means we'd need to special-case some kinds of chat messages
   (captions should not be stored in the chat history, and they require an
   explicit permission, you don't want random users to be able to
   interfere with closed captions).  This is in support of

     https://github.com/jech/galene-stt

   After some experimentation, I've settled for a global caption at the
   bottom of the Galene window instead of captions in individual windows.
   I don't have a good sulution for full-screen and pip videos yet, I'm
   considering using the WebVTT APIs in that case.


Where you can help if you're bored:

1. If you have a GPU with support for CUDA, work out how to compile
   galene-stt for the GPU and add the instructions to the README file in
   galene-stt.  This is required to make galene-stt useful, since on the
   CPU it's pretty much limited to the "base" model, which is not very
   useful.  (The implementation of whisper that I'm using does not
   currently scale beyond 4 CPU cores.)

2. If you have an ARM-based Mac, same as above, but replace CUDA with
   Core ML.

3. Improve the context menus.  I think that having a menu icon that
   appears upon hover would be the nice thing to do.


— Juliusz

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-08-13 11:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-13 11:28 [Galene] Some minor protocol changes Juliusz Chroboczek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox