mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.26k stars 1.1k forks source link

View the server log from the client (when having appropriate permissions) #5370

Open promi opened 2 years ago

promi commented 2 years ago

Context

Sometimes you have to access the server log, because some info might not be availabe in the client (i.e. #3540).

Description

A menu entry to access the server log would be great. It could of course be reserved for highly privileged users (i.e. users that have modify permissions in the root channel).

Mumble component

Both

OS-specific?

No

Additional information

No response

Krzmbrzl commented 2 years ago

I agree that this would be a nice feature to have.

Given that we are storing the server log in the server's DB anyways, I think implementing this should be quite simple. Thus, I am marking this as good-first-issue. If someone wants to work on this, hit me up and I can give a few more details on how this could be implemented.

victoriadealba commented 2 years ago

Hello! This is my first time contributing to an open source project but would like to help @Krzmbrzl

Krzmbrzl commented 2 years ago

@victoriadealba awesome! Do you have experience with programming in general? And do you already have an idea on how to tackle this or would you like me to give you a general overview of how I would implement this feature?

victoriadealba commented 2 years ago

I have some experience programming I'm a computer science student. I would love a general overview and how you would implement the feature to understand your vision with the code

Krzmbrzl commented 2 years ago

Alright, I'll write something up in the upcoming days. It might take me until this weekend though. If I haven't written anything beyond that, feel free to poke me again - with everything that is going on atm, I might forget (though I'll try not to :D)

Krzmbrzl commented 2 years ago

First off: there is a new PR of mine that aims at providing a general introduction to the Mumble source code: https://github.com/mumble-voip/mumble/pull/5500 <- that might be helpful to get started

In terms of this specific feature, I think you'll have to know the following

Now the way I would implement this is the following:

The general idea would then be that the client sends this query-message to the server, which reads the log from its DB and writes the log entries into the query message and then sending it back to the client. Once received, the client will render the log entries in the new dialog. Very importantly, the server has to verify that the requesting client actually has the permissions to obtain the server log. I guess the most sensible thing to do here, would be to introduce a new ACL for this purpose :thinking:

Is that enough to get you started or do you need more details on any of that? Also feel free to join us on Matrix for more discussions: https://matrix.to/#/#mumble-dev:matrix.org