Coder Social home page Coder Social logo

remram44 / matrix-appservice-gitter-twisted Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 1.0 81 KB

Matrix-Gitter bridge using Twisted

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
matrix-protocol riot-web gitter gitter-bridge gitter-api chat chat-bridge twisted unmaintained-dont-use

matrix-appservice-gitter-twisted's People

Contributors

remram44 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

yanchris

matrix-appservice-gitter-twisted's Issues

Ordering messages is not enforced on Matrix

When forwarding from Gitter to Matrix, it is possible for the homeserver not to handle requests in order, which can mean the messages are posted out of order. Particularly possible since we do multiple API requests to post (invite, join, post).

Fix user join/leave on Matrix

Currently, no list of users is obtained from Gitter: a user shows up in the Matrix room when he first speaks, and is never removed.

  • Shouldn't invite/join users everytime they speak
  • The full list of users should be obtained when the room is created, and virtual users created then
  • We should react to the user join/leave events and add/remove virtual users then

Create virtual user for bot on first run

It seems that inviting the bot from a federated room doesn't work unless we register it properly with the homeserver beforehand.

This means:

  • The bot (usually @gitter) has to fall within the reserved user namespace in the registration file
  • The virtual user needs to be created via an API call

The appservice could really create that user itself on the first run. That will probably avoid a lot of headaches down the road.

$ curl -X POST -H 'accept: application/json' \
    -d '{"type": "m.login.application.service", "username": "gitter"}' \
    https://myhomeserver:8448/_matrix/client/r0/register?access_token=xxxxxxxx

Images from Gitter to Matrix

Markdown issue, follows on #7

Gitter allows the ![alt](http://image.png) syntax to insert images in messages. Even though I correctly render to <img> in HTML, Riot strips it, only rendering attachments and previews.

I don't know how to fix this. There is just no way to get Riot to render embedded images.

Sending a message yourself from Gitter doesn't make it appear in Matrix

If you are using this bridge but send a message directly from the Gitter website, this message won't appear in your Matrix room at all. This could be fixed by keeping track of the message the bot sends, and forwarding the message from your Gitter user that it didn't send.

That would mean that a gitter_yourname Matrix user would appear, which would be awkward once #1 is fixed.

Import history when creating bridged room

Right now the room is created empty, although Gitter supports retrieving old messages and Matrix supports injecting them.

Importing the full history is not a good idea, but a limited number of recent messages would be useful.

Markdown roundtrip

Markdown posted on Matrix gets posted on Gitter fine, but markdown in Gitter shows up as text in Matrix. I must have missed something in the message format.

Add support to hipchat

Hello,

Firstly, thanks for your work.

Please could you add support to connect to hipchat?

Thanks again.

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.