* [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