Code Monkey home page Code Monkey logo

Comments (4)

poljar avatar poljar commented on August 30, 2024

Hi there.

Some fixes for this landed in the olm-command branch. Please check that out before doing any fixes since that branch became the main development branch for quite some time. Note that you'll need nio for that branch to work. Once I sufficiently document nio the olm-command branch will be merged with master.

The best way to do development with nio is to symlink the cloned nio repository into your ~/.weechat/python folder. That way changes to the lib are immediately picked up by weechat after a script reload.

As for nick handling stuff is still missing, for example display names aren't really used, and any help is welcome.

from weechat-matrix.

craftyguy avatar craftyguy commented on August 30, 2024

Nice, thanks. After stumbling for a bit to get your nio and python-olm packages built/installed on Arch, I am now successfully running your olm-command branch and the nicks appear sane now :)

from weechat-matrix.

craftyguy avatar craftyguy commented on August 30, 2024

This isn't really related to the original thing I reported, but since I don't think it warrants a new 'issue' (and I know of no other way to get ahold of you to ask):

What is your workflow developing this script for weechat? Can you run a debugger (e.g. pdb)? (being able to do that would help me to pick apart the code and figure out what changes I might need to make for, e.g., the display name thing)

from weechat-matrix.

poljar avatar poljar commented on August 30, 2024

Sadly pdb can't be run inside of weechat (or at least I don't know how). Changes to nio ideally include logging and tests, those can be done non-interactively and offline quite easily.

For weechat it's a little bit harder, I included settings to enable debugging, those messages can be helpful. If I'm doing some protocol changes i set up a proxy for the connection and use mitmproxy to check the traffic. Proxies work for the matrix script in the same way as for the irc plugin.

Utilizing display names has two problems for now:

  • Display names can change and nick changes aren't implemented yet
  • Display can be maliciously set up, to e.g. collide, be annoyingly long

The first one is relatively easy to solve the second one needs to be figured out how to deal with them. Note collisions are already somewhat handled since i don't use the full mxid for nicks. If a collision happens the second nick gets a full mxid.

Anyways the code that handles user adding is here.

If you have further questions feel free to ask here or via mail. There is also a room set up for development: #weechat-matrix:termina.org.uk

from weechat-matrix.

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.