Comments (4)
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.
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.
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.
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)
- 'RoomEncryptedImage' object has no attribute 'mimetype' HOT 1
- It says password is wrong even tho it's not. HOT 1
- Certificate verify failed HOT 1
- command weechat not found HOT 1
- Session verification on WeeChat client side seems not working HOT 4
- Cannot login on matrix HOT 5
- python: script "matrix.py" not found HOT 2
- Issue on alpine linux HOT 5
- script "matrix.py" not found HOT 2
- No module named 'matrix.utf'
- Add a Homebrew formula
- how to leave and forget room? HOT 1
- Eyy We needa fix sometthin .. Fr HOT 1
- nio.exceptions.LocalProtocolError: Matrix store and olm account is not loaded
- Create wiki to how to use matrix commands
- httpcore 0.13.7 requires h11
- Outdated nio dependency? HOT 1
- can't load matrix.py HOT 1
- future maintainership for this project HOT 2
- "Unhandled event of type ReactionEvent."
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weechat-matrix.