Git Product home page Git Product logo

Comments (7)

Hartmnt avatar Hartmnt commented on June 6, 2024

Does it work when you create the channel first and then set the .temporary flag of the existing channel to true?

from mumo.

Foereaper avatar Foereaper commented on June 6, 2024

It does not, I tried the following:

cid = server.addChannel("test", 0)
state = server.getChannelState(cid)
state.temporary = True
server.setChannelState(state)

If I print the state after setting temporary to true, it shows the variable is set correctly, but if I fetch the channel state after setChannelState, it is back to false. It seems as if the temporary flag is not applied in setChannelState.

from mumo.

Kissaki avatar Kissaki commented on June 6, 2024

That's how I would expect it to work.

Is the Make temporary permission denied via ACL in that parent channel?

from mumo.

Kissaki avatar Kissaki commented on June 6, 2024

I guess this doesn't make much sense.

Temporary channels disappear when the last user leaves. So you can't make a channel temporary when no user is inside it.

from mumo.

Foereaper avatar Foereaper commented on June 6, 2024

I haven't gotten around to creating any permissions yet, so all permissions are default. I can manually create a temporary channel with no issues.

The idea at least is to create a temporary channel and automatically move a user to said channel based on context from a client plugin. I guess I could attempt to create the channel, move the user to the channel, then set the temporary context. I'll see if this works and report back.

from mumo.

Foereaper avatar Foereaper commented on June 6, 2024

Yeah, that doesn't work either. Seems like setChannelState just ignores the temporary variable.

        # set the states' channel ID to the new ID and update the player, to move them to the new channel
        pstate.channel = cid
        server.setState(pstate)
        
        # now that the users' state is set, we want to see if the channels' parent is the dungeon category
        # if it is, and the channels' state is not temporary, set it as temporary
        cstate = server.getChannelState(cid)
        if(cstate.parent == self.worldChannelStore.get(-2)):
            if(cstate.temporary == False):
                cstate.temporary = True
                server.setChannelState(cstate)

from mumo.

Kissaki avatar Kissaki commented on June 6, 2024

So this would be something for the Mumble Server to implement, not Mumo.

The Mumble client does not have a "Temporary" checkbox in the edit channel dialog. It only has it in the "Add Channel" dialog. So the Mumble Client UI is consistent to the behavior we see.

Do you have a clear, viable approach how it would make sense? I guess it would be Enable being able to change a channel to be temporary?
If you want, you can check for and create a feature request in the Mumble repository.

I will at least add a note to the slice source.

from mumo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.