torhve / weechat-matrix-protocol-script Goto Github PK
View Code? Open in Web Editor NEWA WeeChat script in Lua that implements the matrix.org chat protocol
A WeeChat script in Lua that implements the matrix.org chat protocol
Hi all!
For me, it takes forever to connect to matrix. In the past, I have connected a few times, but usually I grow impatient. Maybe something's wrong with my configuration? Is it usual for it to take too long to connect?
Weechat version: 1.9
13:11:37 weechat | matrix: Encryption loaded. To send encrypted messages in a room, use command /encrypt on with a room as active current buffer
13:11:37 weechat | matrix: Connecting to homeserver URL: https://matrix.org/
13:11:37 weechat =!= | lua: function "register" not found (or failed) in file "~/.weechat/lua/autoload/olm.lua"
13:11:37 weechat | lua scripts loaded: matrix
13:11:37 weechat | Plugins loaded: alias, aspell, charset, exec, fifo, guile, irc, javascript, logger, lua, perl, python, relay, ruby, script, tcl, trigger, xfer
13:11:43 matrix =!= | olm: Error: ~/.weechat/[STUFF].session.olm: No such file or directory, reading saved session device: [STUFF]
13:11:43 matrix =!= | olm: Downloading otk for user @crb:matrix.org, and device_id: [STUFF]
13:11:43 matrix =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
Any suggestions? Ubuntu 16.10 and I've compiled olm and luaffifb.
I can connect from my university wlan, and some of my friends APs. However, on some APs the following error occurs: Call to API errored in command url:https://matrix.org/_matrix/client/r0/login, maybe timeout?
. First of: I am relatively sure that this is not related to any kind of firewalling, since there have never been problems or a firewall itself in these networks (and the riot.org/app does work too). My assumption is, that the script might be overly sensitive about connections with a lot of jitter/slow dns resolving (which seems to be the case down here). It takes 6 to 7 seconds from issueing /lua reload matrix
until the error is detected, which seems a bit short IMO - It happens that it takes about 10 seconds until a connection is established when browsing some websites in these networks.
Here is the output of the plugin
18:31:11 | lua: unloading script "matrix"
18:31:11 | matrix: Unloading
18:31:11 | matrix: done cleaning up!
18:31:11 | lua: script "matrix" unloaded
18:31:11 | lua: loading script "/home/wucke13/.wucke_config/home/.weechat/lua/autoload/matrix.lua"
18:31:11 | lua: registered script "matrix", version 3 (Matrix.org chat plugin)
18:31:11 | matrix: Unable to load olm encryption library. Not enabling encryption. Please see documentation (README.md) for information on how to enable.
18:31:11 | matrix: Connecting to homeserver URL: https://matrix.org/
18:31:16 =!= | Call to API errored in command url:https://matrix.org/_matrix/client/r0/login, maybe timeout?
How can I increase the time until a connection attempt is assumed to be timed out?
Currently only rooms that receive messages after connecting are marked as unread, making it easy to miss messages. This seems to apply to both quitting weechat and relaunching it and losing network connection for a while.
Expected behaviour: like vector, mark rooms as unread if they have received messages while client was offline. (and they haven't been marked read by other clients)
Like Jabber, Matrix allows it and probably even assumes it =)
Hello,
I have weechat v 1.6 and Lua 5.3.4 on fedora 25.
When I attempt to run the matrix lua script, I get the error as
lua: loading script "/home/fedora/.weechat/lua/weechat-matrix-protocol-script/matrix.lua"
lua: unable to execute file "/home/fedora/.weechat/lua/weechat-matrix-protocol-script/matrix.lua"
lua: error: /home/fedora/.weechat/lua/weechat-matrix-protocol-script/matrix.lua:46: module 'cjson' not found:
no field package.preload['cjson']
no file '/usr/share/lua/5.3/cjson.lua'
no file '/usr/share/lua/5.3/cjson/init.lua'
no file '/usr/lib64/lua/5.3/cjson.lua'
no file '/usr/lib64/lua/5.3/cjson/init.lua'
no file './cjson.lua'
no file './cjson/init.lua'
no file '/usr/lib64/lua/5.3/cjson.so'
no file '/usr/lib64/lua/5.3/loadall.so'
no file './cjson.so'
But I have installed lua-cjson already.
Any help would be appreciated. Thanks.
When writing a message containing e.g. backticks or other markdown stuff using the Vector client it's rendered properly. When sending the same message through the weechat plugin it's not.
It seems to be up to the client to do this, but I think it would be a nice feature - not having it makes it pretty ugly for others to receive messages sent from weechat.
// from weecha
"content": {
"body": "test `from weechat`",
"msgtype": "m.text"
}
// from vector
"content": {
"msgtype": "m.text",
"format": "org.matrix.custom.html",
"body": "test `from vector`",
"formatted_body": "test <code>from vector</code>"
},
Hey, I was impressed that the file upload worked great! It just doesn't print the upload URL in the chat buffer to show that the upload was completed successfully. If I leave and then rejoin, it is visible, but it'd be nice to have that feedback when the upload completes.
Thanks!
Scott
This only happens on my laptop, and not on my desktop. Both are Arch linux, with weechat 1.4
.
Version of weechat-matrix-protocol-script
are identical.
If I remove weechat-matrix-protocol-script
, then /quit
works properly
lua.matrix.weechatlog.txt
weechat.log.txt
If I can provide any other logging information, let me know. I'm here to help :)
There is a short pause every 10 seconds or so when typing in any Weechat buffer while the matrix.lua script is active. I'm guessing it's a polling interval? Is there any way to background that poll so it doesn't affect the user's typing?
Hope I explained that right! Thanks,
Scott
Edit: sorry...Weechat version 1.5 (archlinux)
#ponydevs:matrix.org
assigns people a power level of 25 out of the gate, there's no +
prefixed to people's messages.
When connecting to a Matrix homeserver, Weechat sits after the "matrix: Connecting to homeserver..." output for some seconds and then crashes.
Crash Output
(written by WeeChat 1.0.1, compiled on Sep 28 2014 15:54:55)
001 ??:? [function weechat_backtrace]
002 ??:? [function debug_sigsegv]
003 ??:? [function __restore_rt]
004 /build/glibc-daoqzt/glibc-2.19/string/../sysdeps/x86_64/strlen.S:106 [function strlen]
addr2line: '0x397e6': No such file
addr2line: '0x39bb5': No such file
007 ??:? [function hook_info_get]
addr2line: '0x123b4': No such file
addr2line: '0xc1f0': No such file
addr2line: '0x16d42': No such file
addr2line: '0xc64d': No such file
addr2line: '0xb92e': No such file
addr2line: '0xc7bb': No such file
addr2line: '0x842c': No such file
addr2line: '0x19118': No such file
addr2line: '0xc1f0': No such file
addr2line: '0x16d42': No such file
addr2line: '0xc64d': No such file
addr2line: '0xb92e': No such file
addr2line: '0xc7bb': No such file
addr2line: '0x842c': No such file
addr2line: '0x7cd2': No such file
addr2line: '0x9a36': No such file
024 ??:? [function hook_process_send_buffers]
025 ??:? [function hook_process_timer_cb]
026 ??:? [function hook_timer_exec]
027 ??:? [function gui_main_loop]
028 ??:? [function main]
^[5029 /build/glibc-daoqzt/glibc-2.19/csu/libc-start.c:321 [function __libc_start_main]
030 ??:? [function _start]
I don't know much if anything about debugging Lua plugins, so let me know what other info I can provide.
WeeChat 1.2-rc1 (git: v1.2-rc1) [compiled on Apr 28 2015 02:31:04]
weechat-matrix-protocol-script 6e424a4
Lua 5.1.5
03:35 =!= Unknown chunk type org.matrix.neb.plugin.jira.issues.display in room #matrix
03:35 =!= Unknown chunk type m.room.config in room #matrix
03:35 =!= Unknown chunk type org.matrix.neb.plugin.jira.issues.expanding in room #matrix
03:35 ________
03:35 chunk:
03:35 type: m.room.member
03:35 event_id: $14301242335316CTmwd:matrix.org
03:35 age: 1226053239
03:35 user_id: @dave:matrix.org
03:35 state_key: @freenode_M-dave1:matrix.org
03:35 replaces_state: $14301241985314upUhM:matrix.org
03:35 origin_server_ts: 1430124233310
03:35 content:
03:35 membership: ban
03:35 room_id: !cURbafjkfsMDVwdRDQ:matrix.org
03:35 err: unknown membership type in parseChunk
At startup, and then more or less regularly while running (not necessarily while I'm interacting with weechat), the script floods my core weechat buffer with messages like
00:34:55 <=!=> Error: buffer not found
00:34:55 <=!=> Error: buffer not found
00:34:55 <=!=> Error: buffer not found
01:00:20 <=!=> Error: buffer not found
01:00:20 <=!=> Error: buffer not found
01:00:20 <=!=> Error: buffer not found
I'm using weechat 1.4, connected to my homeserver running synapse v0.12.0, and without the olm.lua script.
I can try to get more information about what's going on (it's sure these are not very informative error messages), but I don't know where to look.
lua: function "register" not found (or failed) in file "/home/****/.weechat/lua/autoload/olm.lua"
Weechat compiled with LuaJIT (although it still didn't find LuaFFI, so I had to compile it myself manually). LuaFFI seems to be loaded.
I have the smart irc filtering turned on, but it doesn't seem like joins/parts are tagged appropriately, so they show up in the channel buffer when people join/leave.
I don't think you can redact messages with this. I'm not sure how it would work, but a redact command would be nice.
The Riot (formerly Vector) web and mobile apps use little indicator bubbles to show how far each person has read in the conversation (aka read receipts). Would it be possible to implement this functionality in weechat in some form?
I'm not sure how that would work in weechat, but maybe a simpler implementation would be to just use an indicator in the nicklist to show if they're all caught up / have unread messages.
error: curl error 60 (SSL certificate problem: self signed certificate)
(URL: "https://domain.com:8448/_matrix/client/#/login")
After battling getting Lua5.3.3 and luarocks/jit operational, cjson and ffi installed, and matrix.lua wanting to operate from 5.1 folder, now working. I can log in using vector client. I have set username and password for olm.
Now getting:
Call to API error in connect:https://matrix.org/_matrix/client/r0/login , maybe timeout?
Using Debian latest, updated but do have slow internet connection
Any hints please
I installed the matrix script, and it crashed with:
Error in http_cb: matrix.lua 2529: bad argument #9 to 'format' (string expected, got nil)
I'm running a locally installed matrix-synapse server, which I am experimenting with, perhaps some of the rooms are in a weird state...
Anyway I applied this patch to fix it:
--- a/matrix.lua 2016-08-08 21:18:20.934727472 +0200
+++ b/matrix.lua 2016-08-08 21:31:59.798769463 +0200
@@ -2525,6 +2525,9 @@
if sender ~= chunk.state_key then -- Kick
tag{"irc_quit","irc_kick","irc_smart_filter"}
local reason = chunk.content.reason
+ if reason == nil then
+ reason = ""
+ end
local sender_nick = self.users[chunk.sender]
local data = ('%s%s\t%s%s%s has kicked %s%s%s (%s).'):format(
wcolor('weechat.color.chat_prefix_quit'),
Not sure if it's the right solution, but it works for me :)
The instructions are not correct.
sudo port install weechat +lua
will install Lua 5.3
But the script expects 5.2 it seems.
The result is that it will simply not load.
If you join a room that has an alias, then the alias is removed, the script fails with the following error message:
Error in http_cb: /home/her0/.weechat/lua/autoload/matrix.lua:1732: attempt to index a nil value (local 'alias')
stack traceback: /home/her0/.weechat/lua/autoload/matrix.lua:801: in function 'http_cb'
there are many bugs in this script.
the help command does not work
some join commands do not work and complain about api errors
everything is very laggy. matrix takes complete control over weechat and even heavily delays shutdown times
some joined channels do not appear to actually be working (such as over freenode bridge)
the plugin is not reliable at all :\
Sorry in case this is a noob question, I'm just trying weechat and Matrix for the first time ;-)
The script very smooth, thanks a lot for your efforts !
I wonder however whether it is possible to omit the suffix when using the Matrix IRC bridge.
Here the nick names indicate the origin (like " (IRC)") which is included when doing a tab completion to refer to somebody. This is quite confusing (as "bla (IRC)" is not the nickname but its "bla" for the IRC server).
would be awesome if this suffix could be avoided as e.g. in other Matric clients like Riot.
Any pointers?
It was difficult enough to get lua to compile... for those on a clean deb/ubuntu box;
sudo apt-get install lua5.2
sudo apt-get install liblua5.2-dev
Rapidly losing the will... lol
Can I send my matrix traffic through a socks proxy?
I'm using buffers.pl which supports indentation to show hierarchy:
1:weechat
2:freenode
3: #python
4: #weechat
5:matrix
6:#tmtest
However, as you can see this doesn't happen for Matrix channel. I think this is because there is no matrix.
prefix in the buffer name:
[1] core.weechat (notify: all)
[2] irc.server.freenode (notify: all)
[3] irc.freenode.#python (notify: all)
[4] irc.freenode.#weechat (notify: all)
[5] lua.matrix (notify: all)
[6] lua.#tmtest (notify: all)
Upgraded to latest version (about 1 hour ago) and now will not login - keep getting login timeout. But if I set
local DEBUG = true
after lots of messages (which I expect), I can login. I suspect this is the old problem I had with the delay between sending username and password being too short and thus returning error. With all the code changes and more brain fossilization, I can't find where to change.
I humbly suggest another variable near header to adjust this timeout for blokes on slow network connections like me.
The /upload
command doesn't seem to work. When executing
/upload /home/me/test
I get the following error:
No content_uri after upload. Stdout: {"errcode":"M_UNKNOWN","error":"Internal server error"}, stderr:
Could you tag your releases and make the changelog directly visible in your GitHub releases? This would increase transparency for potential users and distribution maintainers. Something like https://skywinder.github.io/github-changelog-generator/ could be used to generate the changelog based on merged PRs and closed issues since the last release tag.
The help for the matrix command suggests that /matrix help
should give more info on subcommands, but this does not seem to work. This uses a current git master (0635de0).
/help matrix
│ Plugin for matrix.org chat protocol │
│ │
│ Commands: │
│ help │
│ connect │
│ debug │
│ msg │
│ Use /matrix help [command] to find out more │
│ │
│ Supported slash commands (i.e. /commands): │
│ join, part, leave, me, topic, upload, query, list, op, voice, deop, devoice, kick, create, createalias, invite, nick, whois, notice, msg, encrypt, public, │
│ names, more, roominfo, name
/matrix help connect
│ Command not found: help connect │
/matrix help debug
│ Command not found: help debug │
/matrix help
│ Command not found: help │
http://matrix.org/docs/spec/r0.0.1/client_server.html#push-rules-api
Matrix protocol supports setting server side notification rules. WeeChat script could parse these and add highlight rules that would match those.
Curl rightly complains about the certificate if it is self-signed, but it would be nice if there were an option to override this:
matrix: Unable to load olm encryption library. Not enabling encryption. Please see documentation (README.md) for information on how to
matrix: Connecting to homeserver URL: https://anaproy.nl:8448
error: curl error 60 (server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none) (URL: "https://anaproy.nl:8448_matrix/client/r0/login")
Hej,
first of all, thx for this great plugin!
Everything seems to work so far, but I get this msg frequently in the matrix buffer:
matrix ⚠ API call returned error: Unrecognised access token.(M_UNKNOWN_TOKEN)
I using riot.im btw.
What is it complaining about given that I don't see an error from the ui.
22:13 =!= Error in http_cb: /home/irc/.weechat/lua/autoload/matrix.lua:2570: bad argument #4 to 'format' (string expected, got nil)
22:13 =!= stack traceback:
22:13 /home/irc/.weechat/lua/autoload/matrix.lua:793: in function </home/irc/.weechat/lua/autoload/matrix.lua:789>
Packages:
weechat-1.4 fast, light and extensible chat client
weechat-lua-1.4 Lua bindings for weechat
Looking in the ports tree, weechat is using lua-5.1. Perhaps this is the issue?
I've been getting this error since switching from Xubuntu to Gentoo. The strange thing is that this happened to me on my Arch Linux desktop before, but switching to Gentoo there actually fixed it.
I have no clue what causes this at all. Wiping existing Matrix settings and starting over doesn't help.
While this error happens, Weechat becomes unresponsive and spikes to 100% CPU load. I'm guessing the JSON is too long for it too handle or something... The ***
is actually a number, but it changes depending on the JSON it loads so I don't think it's really relevant here.
This script is now useless. If you're not going to update this repo anymore at least have the fucking courtesy to admit it so we can fork it.
Formatting like bold or italic text does not work. With strg+c b/i bold or italic text can be produced in weechat and is visible in e.g. riot but not displayed bold or italic in weechat itself.
Going through the process of getting encryption to work, got all the pieces into place, but running /encrypt on
is unsuccessful. My "matrix" buffer contains the following errors.
14:41:01 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
14:41:02 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
14:41:16 | Enabling encryption for outgoing messages in room !<redacted>:matrix.org
14:41:17 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
14:41:17 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
14:41:17 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
14:41:17 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
I enabled debugging and I see that matrix/olm is requested keys from the room's participants and the matrix.org homeserver is returning M_UNRECOGNIZED
, presumably (this is my guess) due to the use of the legacy v2_alpha
endpoint (https://matrix.org/docs/spec/legacy/#api-calls-using-the-user-interactive-authentication-mechanism).
Debugging output of one such request
14:46:58 =!= | olm: querying user_ids
14:46:58 | 1: @brycec:matrix.org
14:46:58 =!= | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
14:46:58 | request:
14:46:58 | post:
14:46:58 | postfields: {"device_keys":{"@brycec:matrix.org":[false]}}
14:46:58 | accept_encoding: application/json
14:46:58 | header: 1
14:46:58 | url: https://matrix.org/_matrix/client/v2_alpha/keys/query/?access_token=[redacted]
14:46:59 =!= | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
14:46:59 | reply:
14:46:59 | stderr:
14:46:59 | rc: 0
14:46:59 | command: url:https://matrix.org/_matrix/client/v2_alpha/keys/query/?access_token=[redacted]
14:46:59 | stdout: HTTP/1.1 400 Bad Request
14:46:59 | Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
14:46:59 | Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
14:46:59 | Access-Control-Allow-Origin: *
14:46:59 | Content-Length: 59
14:46:59 | Content-Type: application/json
14:46:59 | Date: Fri, 16 Dec 2016 22:46:59 GMT
14:46:59 | Server: Synapse/0.18.5-rc3 (b=release-v0.18.5,t=v0.18.5-rc3,bae1115,dirty)
14:46:59 |
14:46:59 | {"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}
14:46:59 | extra:
14:46:59 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
I found the encryption docs at http://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#post-matrix-client-unstable-keys-query and tried swapping v2_alpha
with unstable
as documented, but I get the same response and outcome. Digging through the debug logs, there are other failed calls regarding encryption.
15:13:19 =!= | Unknown event type m.room.encryption in room !<redacted>:matrix.org
15:13:19 =!= | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
15:13:19 | chunk:
15:13:19 | state_key:
15:13:19 | sender: @brycec:matrix.org
15:13:19 | event_id: $1479774869751664OSzEP:matrix.org
15:13:19 | unsigned:
15:13:19 | age: 2155128838
15:13:19 | origin_server_ts: 1479774869203
15:13:19 | content:
15:13:19 | algorithm: m.megolm.v1.aes-sha2
15:13:19 | type: m.room.encryption
15:13:20 =!= | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
15:13:20 | reply:
15:13:20 | stderr:
15:13:20 | rc: 0
15:13:20 | command: url:https://matrix.org/_matrix/client/unstable/keys/query/?access_token=[redacted]
15:13:20 | stdout: HTTP/1.1 400 Bad Request
15:13:20 | Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
15:13:20 | Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
15:13:20 | Access-Control-Allow-Origin: *
15:13:20 | Content-Length: 59
15:13:20 | Content-Type: application/json
15:13:20 | Date: Fri, 16 Dec 2016 23:13:20 GMT
15:13:20 | Server: Synapse/0.18.5-rc3 (b=release-v0.18.5,t=v0.18.5-rc3,bae1115,dirty)
15:13:20 |
15:13:20 | {"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}
15:13:20 | extra:
15:13:20 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
15:13:20 =!= | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
15:13:20 | reply:
15:13:20 | stderr:
15:13:20 | rc: 0
15:13:20 | command:
| url:https://matrix.org/_matrix/client/unstable/keys/upload/FWqxAmrp2rK7vNfjwHYIZP5j7jaWUWDPErUSfbrhEP4?access_token=[redacted]
15:13:20 | stdout: HTTP/1.1 400 Bad Request
15:13:20 | Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
15:13:20 | Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
15:13:20 | Access-Control-Allow-Origin: *
15:13:20 | Content-Length: 59
15:13:20 | Content-Type: application/json
15:13:20 | Date: Fri, 16 Dec 2016 23:13:20 GMT
15:13:20 | Server: Synapse/0.18.5-rc3 (b=release-v0.18.5,t=v0.18.5-rc3,bae1115,dirty)
15:13:20 |
15:13:20 | {"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}
15:13:20 | extra:
15:13:20 =!= | API call returned error: Unrecognized request(M_UNRECOGNIZED)
And after reading the docs, I can see that weechat-matrix-protocol-script isn't using the current API instances and parameters.
If I've done something wrong, let me know. But as far as I can tell, encryption is simply broken at this time.
For instance, MatrixServer:connect()
in matrix.lua
issues a POST request to /_matrix/client/r0/login with the Content-Type header set to application/x-www-form-urlencoded
. The correct value for this header would be application/json
.
Hi,
I've bee frustrated with the performance of weechat recently, and I've pinpointed it to matrix.lua. This script makes the UI laggy.
Are there any low-hanging optimisations or workarounds I can try?
Thanks
Hi! Thank you for this great project.
A question: is it possible to use the openmarket sms gateway from within weechat?
This is straightforward from the web client, and sms conversations begun on the web can be continued in weechat. But for example \query @+123456789:matrix.openmarket.com
, run in the matrix buffer, just produces the error
irc: command "query" must be executed on irc buffer (server or channel)
I suspect that this is due to the section here.
local data = urllib.urlencode({
access_token= SERVER.access_token,
--limit= w.config_get_plugin('backlog_lines'),
limit = 10,
})
(gdb) bt
#0 0x00007f89a692f107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f89a69304e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00000000004271b2 in weechat_shutdown (return_code=1, crash=1) at /home/flashcode/build/debian/weechat/src/core/weechat.c:489
#3 <signal handler called>
#4 gui_nicklist_search_nick (buffer=0x2b80fb0, from_group=0x0, name=0x2c5e8d8 "Lorenz") at /home/flashcode/build/debian/weechat/src/gui/gui-nicklist.c:392
#5 0x00007f89a0824843 in weechat_lua_api_nicklist_search_nick (L=0x2872490) at /home/flashcode/build/debian/weechat/src/plugins/lua/weechat-lua-api.c:3647
#6 0x00007f89a05eda28 in luaD_precall (L=L@entry=0x2872490, func=0x2b4af40, nresults=nresults@entry=1) at ldo.c:320
#7 0x00007f89a05f8328 in luaV_execute (L=L@entry=0x2872490, nexeccalls=3, nexeccalls@entry=1) at lvm.c:591
#8 0x00007f89a05ede7d in luaD_call (L=0x2872490, func=0x2b4adc0, nResults=<optimized out>) at ldo.c:378
#9 0x00007f89a05ed0ca in luaD_rawrunprotected (L=L@entry=0x2872490, f=f@entry=0x7f89a05e8730 <f_call>, ud=ud@entry=0x7fff303719c0) at ldo.c:116
#10 0x00007f89a05ee02f in luaD_pcall (L=L@entry=0x2872490, func=func@entry=0x7f89a05e8730 <f_call>, u=u@entry=0x7fff303719c0, old_top=<optimized out>, ef=<optimized out>) at ldo.c:464
#11 0x00007f89a05e9b41 in lua_pcall (L=0x2872490, nargs=nargs@entry=2, nresults=nresults@entry=1, errfunc=errfunc@entry=0) at lapi.c:821
#12 0x00007f89a0816382 in weechat_lua_exec (script=<optimized out>, ret_type=ret_type@entry=0, function=0x2b48240 "cleartyping", format=format@entry=0x7f89a0836a45 "ss",
argv=argv@entry=0x7fff30371a70) at /home/flashcode/build/debian/weechat/src/plugins/lua/weechat-lua.c:203
#13 0x00007f89a082f7c9 in weechat_lua_api_hook_timer_cb (data=0x2b2ca20, remaining_calls=<optimized out>) at /home/flashcode/build/debian/weechat/src/plugins/lua/weechat-lua-api.c:2092
#14 0x000000000044fe7f in hook_timer_exec () at /home/flashcode/build/debian/weechat/src/core/wee-hook.c:1173
#15 0x00000000004664a8 in gui_main_loop () at /home/flashcode/build/debian/weechat/src/gui/curses/gui-curses-main.c:390
#16 0x0000000000426bb5 in main (argc=<optimized out>, argv=<optimized out>) at /home/flashcode/build/debian/weechat/src/gui/curses/main.c:41
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.