Giter Club home page Giter Club logo

matrix-appservice-mumble's People

Contributors

amalon avatar bziemons avatar deastiny avatar dependabot[bot] avatar mymindstorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

matrix-appservice-mumble's Issues

Sending recursively doesn't work

Messages sent recursively to a channel and all subchannels don't get relayed to matrix

Here's a normal message:

  array: [ [ 1 ], [ [Array], 113 ], [], [ [Array] ], [], 'asdf' ],

Here's a recursive message:

  array: [ [ 1 ], [ [Array], 113 ], [], [], [ [Array] ], 'asf' ],

If I'm reading that right, based on mumble's src/murmur/MurmurRPC.proto, I'm guessing there are no channels specified, just trees of channels, so we'd probably want to at some point query the bridged channel, following the parent links to the root, and listen for tree changes / reparenting, and do a lookup of all bridged channels below that point in the trees specified in the message

Bridge creation hangs after connecting to Murmur

Hi, I was hoping to get this cool-looking bridge up and running. To this end, I spun up a dev homeserver, and started up a newly-compiled 1.4.0 murmur server.

However, though it reports that it can successfully connect to the gRPC endpoint on murmur, the bot never appears in the room. It has been invited!

I've tried tracking through the code but I am not familiar enough with how bridges work. Perhaps it get hung up awaiting setupCallBacks:

await murmur.setupCallbacks(bridge, roomLinks, config);

or somewhere around there, given where the console messages halt and due to lack of error messages.

some pointers as where to look would be appreciated. Can the latest git HEAD be built simply by git clone-ing and running build.sh ? If so, I can give debugging it a shot myself- or at least add some more debug console.logs !

Config etc information included below.

Cheers :)


From the container running MAM:

bertieb@matrix-mumble-bridge-test:~$ matrix-appservice-mumble -c mumble-config.yaml -f mumble-registration.yaml 
Connecting to Murmur...
Connetion to Murmur established!
Matrix-side listening on port 8090

nothing more is printed.

mumble-config.yaml:

# Address where Murmur is listening for gRPC. This will be in Murmur's logs.
mumble_grpc_endpoint: '192.168.1.218:50051'
# Homeserver domain
domain: 'example.org'
# Homeserver URL
homeserverURL: 'https://matrix.example.org/'
# Internal ID of the Matrix room to use for bridge admin commands.
# Anyone in this room will be able to link Mumble channels to Matrix.
# Type "help" for commands, you should only use this room for bot admin tasks.
# On Riot this is under 'Room Settings' => 'Advanced' => 'Room information'.
matrixRoom: '!REDACTEDROOMID:example.org'

mumble-registration.yml:

id: REDACTED_ID
hs_token: REDACTED_HS_TOKEN
as_token: REDACTED_AS_TOKEN
namespaces:
  users:
    - exclusive: true
      regex: '@mumble_.*'
  aliases: []
  rooms: []
url: 'http://192.168.1.209:8090'
sender_localpart: mumblebot
rate_limited: true
protocols: null

I can curl MAM on port 8090 from the HS, though it gives an error:

curl 192.168.1.209:8090                                                                                 
<!DOCTYPE html>                                                                                                                         
<html lang="en">                                                    
<head>                                                                                                                                  
<meta charset="utf-8">                                                                                                                  
<title>Error</title>         
</head>                           
<body>                     
<pre>Cannot GET /</pre>                                             
</body>                    
</html>

and I can curl the homeserver URL from the container running MAM:

$ curl https://matrix.example.org/
<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

Bridging calls

Are there any chances getting mumble calls initiated through Matrix rooms?
Sound quality of mumble is quite better compared to matrix.
Thx!

Allow users to link accounts for puppeting

We can tell if a Matrix avatar changes easily since there is an event. I think you have the right event from Mumble's side.

Most of this would be authenticating and linking users. matrix-appservice-bridge lets us add data to a user context, so this would probably look like:

[Mumble] Authenticated User: !link @xxx:matrix.org
[Matrix] Bot DM to User: confirm Yes / No

http://matrix-org.github.io/matrix-appservice-bridge/1.11.1/MatrixUser.html

Originally posted by @mymindstorm in #11 (comment)

Add more room link configuration

Commands:

  • list all current room links
  • make the link command more intuitive

Channel links:

  • Option to send messages from every channel to a room
  • Mumble -> Matrix recursively (#17)

Presence:

  • Work in @amalon's commit as a presence option amalon@0be3729
  • Normal matrix online / offline presence option

Sync mumble avatar to fake matrix user

Sync the mumble avatar (I presume user.texture on a UserStateChanged event) to the fake matrix user's avatar.

I suppose we'd need some way to detect whether it has changed, and whether the matrix one is out of date.

[edited to change matrix puppet to fake matrix user]

Can't bridge by channel

When channels is set in mumble-config.yaml, no messages are relayed from mumble. It appears that the UserTextMessage event's message.channels[0] has the correct id etc but the name is just "", so it never matches the specified channel names. TBH I'm not sure whether this is a murmur issue (I'm using 1.3.0-7 on archlinux) or a bridge issue.

Compile docs out-of-date

The docs say to compile gRPC using make however according to gRPC's repo, this is deprecated.
From the compile docs:

After running make and sudo make install on the main directory, cd third_party/protobuf and do another sudo make install.

https://github.com/mymindstorm/matrix-appservice-mumble/blob/0.2.0-install-instructions/COMPILING_MURMUR.md

From the gRPC docs:

Building with make on UNIX systems (deprecated)
NOTE: make used to be gRPC's default build system, but we're no longer recommending it. You should use bazel or cmake instead. The Makefile is only intended for internal usage and is not meant for public consumption.

https://github.com/grpc/grpc/blob/master/BUILDING.md#building-with-make-on-unix-systems-deprecated

I am not sure if bazel or cmake will automatically compile protoc in third_party/. When I ran bazel it didn't seem like it but I could be mistaken.

Edit:
Output when trying to sudo make install:

~/grpc-make$ sudo make install

Installing via 'make' is no longer supported. Use cmake or bazel instead.

Please consult BUILDING.md to get more information.

make: *** [Makefile:707: stop] Error 1

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.