| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
By sending in backlog as a separate argument to tag instead of as a
tagset, we can mark all types of messages as backlog messages.
|
| |
|
| |
|
|
|
|
|
|
| |
Mostly removes None as a second argument to .get(...), since that is the
default value. Also replaces get with brackets a few places where get is
not necessary.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Instead of setting tags on each message to prevent notify and
highlights, set variables on the buffer to prevent it.
|
| |
|
| |
|
|
|
|
|
| |
* This change makes sure the /topic command outputs
'Topic for #random is ""' instead of
'Topic for #random is "{'value': ''}"'.
|
|
|
|
|
|
|
|
|
|
|
| |
When removing pickle in commit 3639342 I broke record_events without
realizing it. record_events tries to json serialize the response dict,
and that failed because that dict includes some metadata which without
pickle is a class instead of a string.
Fix it by recording the event before adding the metadata. I don't think
there is much point in recording the metadata, and the serialized output
from pickle wasn't practical anyways.
|
| |
|
|
|
|
|
|
| |
Add a command to create the necessary directories, replace wget with
curl (since curl, but not wget, is available by default on macOS), and
add a note that you can skip autoload if you want.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I forgot to make some required changes in the tests after commit f3d880e
and commit 49d481c.
|
| |
|
|
|
|
|
|
|
|
| |
I included it in the script as well, since it is included in the script
in weechats repo.
I also removed the coding comment from wee_slack.py since the file is in
ascii.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Even after the last two changes, I have still experienced a disconnect
because of missing pong once where I think I possibly shouldn't have
been disconnected. Hopefully 30 seconds is a good compromise between not
disconnecting when it isn't necessary and not waiting too long before
disconnecting a dead connection.
|
|
|
|
|
|
|
|
| |
With large teams on a slow computer, wee-slack may unfortunately hang
for a while at times while processing data. When this happen, it doesn't
get a chance to send pings. When it's finished processing, it previously
might have disconnected if the pong checker runs before sending a ping,
since it's a long time since a ping has been sent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we receive many lines over the websocket, receive_ws_callback seems
to be called periodically (10 times per second or so) until all lines
have been read. Since we previously only read one line per invocation of
receive_ws_callback, it would take a long time to read all the lines.
In addition to making events processed slower than necessary, this
caused a problem for the pong watcher. Since the lines was processed so
slow, it might take a long time until we process the pong message when
the queue was large. This caused the script to disconnect the websocket
since it didn't see the pong messages in time.
To fix this, we run websocket receive in receive_ws_callback until there
are no more messages. The messages are just added to the eventrouter
queue, not processed right away, so this shouldn't cause performance
issues.
|
|
|
|
|
|
|
| |
12 seconds is a bit more than twice the amount of time between the pings
we send.
Fixes #238, fixes #480, fixes #561
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Instead of waiting for reconnect_if_disconnected to call connect.
|
|
|
|
|
|
| |
Also check that the team is connected before sending ping.
Fixes #687
|
|
|
|
|
| |
Changes send_to_websocket to handle the same errors as
receive_ws_callback.
|
| |
|
|
|
|
|
| |
Use Ubuntu Xenial (16.04), since the default (Trusty, 14.04) doesn't
have python 3.7.
|
|
|
|
| |
It can now be run with either python 2 or 3.
|
| |
|
| |
|
|
|
|
|
|
| |
This mainly adds team, channel_general and user_alice as fixtures, so we
can use those directly instead of picking arbitrary ones from the lists.
It also adds assertions to some tests which where missing it.
|
|
|
|
| |
These tests don't do any assertions, so they are not very useful.
|
| |
|
|
|
|
|
|
| |
Python 3 doesn't have these functions, but returns iterables and views
by default. For python 2 this may have a small performance impact, but
probably not much.
|
|
|
|
|
|
|
| |
Python 3 receives unicode strings as arguments in weechat callbacks,
websocet receive etc. and we can send unicode strings to weechat
functions, websocket etc., so we don't need to do any of this
converting.
|
|
|
|
|
|
| |
Python 3 no longer respects __cmp__, as it has more fine-grained hooks
for ordering/comparison. To minimize code changes, implement them in
terms of the existing __cmp__ method.
|
|
|
|
|
|
| |
__getattr__ is expected to raise AttributeError, not KeyError.
The removal of the call to hasattr() also speeds up fetch_setting().
|
|
|
|
|
|
| |
PluginConfig uses round-tripping through wee_slack.w to coerce
the its default values to the correct type. Without this, the normal
getters fail, as '' cannot be converted to an integer/boolean.
|
|
|
|
|
| |
Use sha1 from the hashlib module, and factor out a helper function that
makes sure the argument to sha1 is a bytestring.
|
|
|
|
| |
Try both the old and the new locations.
|
|
|
|
|
| |
This is compatible with python 3, which StringIO from StringIO or
cStringIO is not.
|