Commit Graph

1200 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 06b03d336e degesch: fix segfault on sent messages w/o buffer 2016-02-12 04:04:35 +01:00
Přemysl Eric Janouch 11519ee860 degesch: update screen size when terminal resumed
Apparently we don't receive the events when we give up the terminal.
2016-02-10 23:02:33 +01:00
Přemysl Eric Janouch 03d5b27398 degesch: use mkstemp() with a safe umask 2016-02-09 13:52:56 +01:00
Přemysl Eric Janouch 3315b16f79 degesch: log messages from /quote and plugins
That is, parse back all output messages and log based on that.
2016-02-09 05:10:41 +01:00
Přemysl Eric Janouch 0c19a384f1 Fix typos 2016-02-09 04:50:51 +01:00
Přemysl Eric Janouch 333ad2c981 degesch: allow changing the list of used CAPs
Bump liberty.
2016-02-01 21:57:43 +01:00
Přemysl Eric Janouch a850ee45f1 degesch: optimize buffer memory usage
We have approximately 5 formatter_items per buffer_line.  Let's assume
we're on a 64-bit machine.  Then there were (5 * 2) + 3 useless pointers
(104 bytes) as well as 5 * (4 + 4) = 40 bytes of wasted space because
of needless padding.  That's 144 bytes already.  Compared to that, this
change adds 16 bytes of overhead for an array sentinel, i.e. 128B less.

With a limit of 1000 lines per buffer, we've saved ~128kB per buffer
on completely useless data, and code complexity stays roughly the same.

All in all, memory usage for buffers should be about 50% lower.
2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch 10a264ec3d kike: add support for IRCv3.2 server-time 2016-01-31 21:43:23 +01:00
Přemysl Eric Janouch 2ec6258ff3 last-fm.lua: don't use empty album names 2016-01-18 01:28:53 +01:00
Přemysl Eric Janouch f57664ddd0 degesch: add an assertion
It should never fail with current code.
2016-01-18 00:59:43 +01:00
Přemysl Eric Janouch 773d14e740 degesch: disable TLS compression 2016-01-18 00:45:20 +01:00
Přemysl Eric Janouch 221ae03b5c degesch: Lua: fix memory leak on load failure 2016-01-17 22:57:16 +01:00
Přemysl Eric Janouch 588a696c68 degesch: lesser heap fragmentation 2016-01-17 22:15:48 +01:00
Přemysl Eric Janouch 6db40c4503 Bump liberty 2016-01-17 04:43:43 +01:00
Přemysl Eric Janouch f070523085 Bump liberty 2016-01-16 06:30:08 +01:00
Přemysl Eric Janouch dac5c9df6d kike: more cleanup 2016-01-16 06:30:08 +01:00
Přemysl Eric Janouch ced2a57cfc kike: allow messages before protocol establishment
We can just queue them.
2016-01-16 06:30:08 +01:00
Přemysl Eric Janouch f36d66b0cb kike: asynchronous address resolution
As well as some refactoring and cleanup.
2016-01-16 06:30:08 +01:00
Přemysl Eric Janouch fdeb550ee0 degesch: fix backlog limit
It was effectively infinite.
2016-01-15 22:11:05 +01:00
Přemysl Eric Janouch c4a18ec8a7 degesch: fix and simplify screen handling
Now with less madness.
2016-01-15 05:40:20 +01:00
Přemysl Eric Janouch d0db1a6cdc degesch: enforce fullscreen buffers
Probably long overdue.

Now we actually look like something resembling a regular IRC client.
2016-01-15 05:12:03 +01:00
Přemysl Eric Janouch 9333081178 degesch: option for fullscreen buffers 2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch b7c9e8ca23 degesch: make backlog limit configurable 2016-01-15 05:09:42 +01:00
Přemysl Eric Janouch f39e2a4bc8 degesch: Lua: add autocomplete hooks 2016-01-15 02:39:10 +01:00
Přemysl Eric Janouch 91f3bd60df degesch: Lua: finish the last-fm plugin 2016-01-14 04:13:03 +01:00
Přemysl Eric Janouch 56858a97dd degesch: Lua: allow simulating user input
Also added UTF-8 validation to buffer:log() while I'm at it.
2016-01-14 03:34:29 +01:00
Přemysl Eric Janouch 331d1842b9 Bump liberty, shuffle some code 2016-01-14 03:26:02 +01:00
Přemysl Eric Janouch 19b09a8cec degesch: add a last-fm "now playing" plugin 2016-01-09 10:27:01 +01:00
Přemysl Eric Janouch 32f719dec7 degesch: Lua: pass hostname to on_connected 2016-01-09 06:19:54 +01:00
Přemysl Eric Janouch 0b92e9210c degesch: Lua: set sockets to nonblocking 2016-01-09 05:47:24 +01:00
Přemysl Eric Janouch 092e9b5101 Bump liberty 2016-01-09 05:27:45 +01:00
Přemysl Eric Janouch faa0c989f8 degesch: Lua: actually allow filtering out input 2016-01-09 05:05:46 +01:00
Přemysl Eric Janouch 53e72dd12d degesch: Lua: provide a traceback on load error 2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch 83c14ba264 degesch: Lua: fix plugin configuration names 2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch 64143a5957 degesch: Lua: fix luaL_ref() usage 2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch aca153f575 degesch: Lua: fix configuration loading
Not the cleanest solution but it has to do for now.
2016-01-09 05:01:50 +01:00
Přemysl Eric Janouch 79f46752d4 degesch: make sure newlines are output correctly 2016-01-08 08:40:40 +01:00
Přemysl Eric Janouch 2a180ee084 degesch: Lua: finish implementation of connection 2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch 6754c59890 degesch: Lua: avoid resource leak
If a connector's on_success callback fails, we need to destroy the connection.
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch 376bbea249 Factor out socket_io_try_{read,write}()
To be reused in Lua connection API.
2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch a5ac0d24b8 degesch: fix handling of input editor death 2016-01-07 22:49:53 +01:00
Přemysl Eric Janouch cabab5f351 Fix a memory leak in SOCKS connector 2016-01-07 22:49:49 +01:00
Přemysl Eric Janouch 1d3910fd8e degesch: fix switching of buffers by command
Readline used to erase the new buffer's contents.

Defer processing.
2016-01-07 22:49:49 +01:00
Přemysl Eric Janouch a259e96405 degesch: Lua: fix a resource leak 2016-01-06 00:23:54 +01:00
Přemysl Eric Janouch a7be2bf160 degesch: refactor Lua
And fix handling of nil returns from filter callbacks.
2016-01-05 23:19:28 +01:00
Přemysl Eric Janouch e1c7b8dcaf degesch: Lua: halfplement a connector wrapper
You can't do anything reasonable with the socket now.
2016-01-05 22:12:22 +01:00
Přemysl Eric Janouch 00a1bdc707 Fix build of tests 2016-01-05 21:51:07 +01:00
Přemysl Eric Janouch e9b39a1ef7 degesch: Lua: allow arbitrary userdata properties 2016-01-04 23:14:38 +01:00
Přemysl Eric Janouch a227060383 degesch: Lua: use references for hook callbacks
Don't associate the callback with the full userdata object,
we'll need this for something else.
2016-01-04 22:24:05 +01:00
Přemysl Eric Janouch 4832a99461 degesch: add basic autocomplete for /topic 2016-01-04 22:06:29 +01:00