freenode/#shirakumo - IRC Chatlog
Search
15:28:30
Shinmera
On the other hand, a quadtree can make far faster tests since the grid can be regular....
15:28:50
Shinmera
as in, you just do some integer arithmetic and a lookup, rather having to iterate and test.
18:11:16
SAL9000
Shinmera: next step would be refactoring I think, so we actually support multiple servers. Also, I'm not sure about that automatic imgur upload thing... maybe run a little httpd inside the script instead? there's other scripts that do similar things e.g. a localhost url shortener. We can keep the imgur thing, just not as default.
18:12:22
Shinmera
If there's another script that already does file upload to multiple services, integrating would be nice.
18:12:33
SAL9000
I also thought about making more annotations (ala @lichat_buffer_or_ignore) to make the command-registration code suck less
18:16:38
Shinmera
In other things, been trying to figure out how to set the topic of the buffer, but for the life of me can't figure it out.
18:17:01
SAL9000
It's all done through "bar items", which I suspect can't be interfered with by a script other than by creating new ones.
18:20:20
Shinmera
use hook_process to spawn a function that reads the file, then in the completion function send it.
18:21:27
Shinmera
Still wouldn't work drag&drop though, would it? You'd have to like, manually paste the binary content.
18:22:03
Shinmera
I think I'll instead work on the shirakumo-link extension, which would allow 'embedding' linked content.
18:22:45
SAL9000
we need a reasonable way to link updates -- for example, a send-message failure -- to the original message
18:23:37
SAL9000
you have the update-id thing in the update failure, but maybe send the channel -- or the whole original update -- instead?
18:29:32
Shinmera
The client shouldn't have to do anything for that extension, really. You already have to ensure proper order of updates by timestamp anyway.
18:31:14
Shinmera
Oh: how does editing messages work? You said it's possible, but I couldn't find anything in the docs
18:47:21
Shinmera
I wouldn't mind having a chat client that can talk irc and lichat that isn't weechat, personally, but eh. I don't want to start into alla that again.
18:54:43
Shinmera
Maiden was initially written with the intention of being able to do the distributed client thing
19:30:55
SAL9000
Heh, yeah. Also, do ping/pong messages have to have an update id? maybe special-case those?
19:47:57
Shinmera
Wonder if I should deactivate TCP keepalive in exlichat, since it already does the manual ping/pong with timeout.
20:35:40
SAL9000
Shinmera: good news, looks like we can get away with creating "new" bar items; they coexist with built-ins, at least.
20:39:47
SAL9000
and I tested connecting to an IRC server; that still shows the correct prompt, so we're not clobbering the bar item globally :-)
20:40:02
SAL9000
might help to spin up a separate config for testing this stuff, at least until it's more stable
20:43:58
SAL9000
also, maybe make the trailing = optional when loading files... at least mintty likes to copy those URLs leaving off the =
20:45:02
SAL9000
add a handler which tries to append =, I think the maximum number that you might encounter is 4?
20:46:10
Shinmera
I've been using xfce4-terminal for a long time and have never found a better terminal
21:25:24
Shinmera
SAL9000: To be clear about the update tracking thing: how exactly did you think this to work? Would a "call this function when you get a response for the update back" work, or...?
21:25:50
SAL9000
Shinmera: that's one way, but the minimum would be attaching extra info to Failure updates and similar
21:29:55
SAL9000
if you declare __slots__ on a class it's pre-declaring those members, and by default it forbids creating more members (within that class -- child classes are fair game)
21:35:18
SAL9000
awwww... "Multiple inheritance with multiple slotted parent classes can be used, but only one parent is allowed to have attributes created by slots (the other bases must have empty slot layouts) - violations raise TypeError."
21:43:57
Shinmera
New function, client.send_callback allows you to pass a callback function that'll be invoked with the old update and the response.
21:49:48
Shinmera
I suppose more convenient behaviours could be easily built atop like only callback if error or something.
22:23:55
SAL9000
Shinmera: you're not checking from on updates before doing the callback processing, though?
22:33:19
SAL9000
Shinmera: I just realised, if the backlog uses ids of messages as originally sent (by the user who requested the backlog), that will cause spurious callbacks...