Compare commits
8 Commits
53ba996ec9
...
v2.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
73cc8f448a
|
|||
|
4565afe294
|
|||
|
3ad8c79de8
|
|||
|
12fc3c228a
|
|||
|
175533a5e9
|
|||
|
a9b46141a9
|
|||
|
c38cca3b92
|
|||
|
aee7540faa
|
4
NEWS
4
NEWS
@@ -1,4 +1,4 @@
|
||||
2.0.0 (Unreleased)
|
||||
2.0.0 (2024-07-28) "Perfect Is the Enemy of Good"
|
||||
|
||||
* xD: now using SHA-256 for client certificate fingerprints
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
* xC: replaced behaviour.save_on_quit with general.autosave
|
||||
|
||||
* xC: the server *.command configuration option now supports multiple lines
|
||||
|
||||
* xC: improved pager integration capabilities
|
||||
|
||||
* xC: unsolicited JOINs will no longer automatically activate the buffer
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
xK
|
||||
==
|
||||
|
||||
'xK' (chat kit) is an IRC software suite consisting of a daemon, bot, terminal
|
||||
client, and web/Windows/macOS frontends for the client. It's all you're ever
|
||||
going to need for chatting, so long as you can make do with slightly minimalist
|
||||
software.
|
||||
'xK' (chat kit) is an IRC software suite consisting of a daemon, bot, notifier,
|
||||
terminal client, and web/Windows/macOS frontends for the client. It's all
|
||||
you're ever going to need for chatting, so long as you can make do with slightly
|
||||
minimalist software.
|
||||
|
||||
They're all lean on dependencies, and offer a maximally permissive licence.
|
||||
|
||||
|
||||
2
liberty
2
liberty
Submodule liberty updated: 969a4cfc3e...f04cc2c61e
7
xC.c
7
xC.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* xC.c: a terminal-based IRC client
|
||||
*
|
||||
* Copyright (c) 2015 - 2022, Přemysl Eric Janouch <p@janouch.name>
|
||||
* Copyright (c) 2015 - 2024, Přemysl Eric Janouch <p@janouch.name>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted.
|
||||
@@ -8317,6 +8317,8 @@ irc_try_parse_welcome_for_userhost (struct server *s, const char *m)
|
||||
strv_free (&v);
|
||||
}
|
||||
|
||||
static void process_input
|
||||
(struct app_context *, struct buffer *, const char *);
|
||||
static bool process_input_line
|
||||
(struct app_context *, struct buffer *, const char *, int);
|
||||
static void on_autoaway_timer (struct app_context *ctx);
|
||||
@@ -8345,7 +8347,7 @@ irc_on_registered (struct server *s, const char *nickname)
|
||||
if (command)
|
||||
{
|
||||
log_server_debug (s, "Executing \"#s\"", command);
|
||||
(void) process_input_line (s->ctx, s->buffer, command, 0);
|
||||
(void) process_input (s->ctx, s->buffer, command);
|
||||
}
|
||||
|
||||
int64_t command_delay = get_config_integer (s->config, "command_delay");
|
||||
@@ -15865,6 +15867,7 @@ relay_start (struct app_context *ctx, char *address, struct error **e)
|
||||
}
|
||||
|
||||
// Just try the first one, disregarding IPv4/IPv6 ordering.
|
||||
// Use 0.0.0.0 or [::] to request either one specifically.
|
||||
int fd = relay_listen_with_context (ctx, result, e);
|
||||
freeaddrinfo (result);
|
||||
if (fd == -1)
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.5.0
|
||||
2.0.0
|
||||
|
||||
@@ -15,5 +15,7 @@ xN: xN.go ../xK-version irc.go
|
||||
xN.1: ../xK-version ../liberty/tools/asciiman.awk xN.adoc
|
||||
env "asciidoc-release-version=$$(cat ../xK-version)" \
|
||||
$(AWK) -f ../liberty/tools/asciiman.awk xN.adoc > $@
|
||||
test: all
|
||||
go test
|
||||
clean:
|
||||
rm -f $(outputs)
|
||||
|
||||
2
xN/xN.go
2
xN/xN.go
@@ -243,7 +243,7 @@ func main() {
|
||||
|
||||
flag.Usage = func() {
|
||||
f := flag.CommandLine.Output()
|
||||
fmt.Fprintf(f, "Usage: %s URL...\n", os.Args[0])
|
||||
fmt.Fprintf(f, "Usage: %s [OPTION]... URL...\n", os.Args[0])
|
||||
flag.PrintDefaults()
|
||||
}
|
||||
flag.Parse()
|
||||
|
||||
@@ -693,6 +693,12 @@ let Buffer = {
|
||||
const dom = event.target
|
||||
bufferAutoscroll =
|
||||
dom.scrollTop + dom.clientHeight + 1 >= dom.scrollHeight
|
||||
|
||||
let b = buffers.get(bufferCurrent)
|
||||
if (b !== undefined && b.highlighted && !bufferAutoscroll) {
|
||||
b.highlighted = false
|
||||
m.redraw()
|
||||
}
|
||||
}}, lines)
|
||||
},
|
||||
}
|
||||
@@ -997,7 +1003,7 @@ let Input = {
|
||||
rpc.send({command: 'Active'})
|
||||
|
||||
let b = buffers.get(bufferCurrent)
|
||||
if (b === undefined)
|
||||
if (b === undefined || event.isComposing)
|
||||
return
|
||||
|
||||
let textarea = event.currentTarget
|
||||
|
||||
@@ -12,5 +12,7 @@ xS-replies.go: xS-gen-replies.awk xS-replies
|
||||
xS.1: ../xK-version ../liberty/tools/asciiman.awk xS.adoc
|
||||
env "asciidoc-release-version=$$(cat ../xK-version)" \
|
||||
$(AWK) -f ../liberty/tools/asciiman.awk xS.adoc > $@
|
||||
test: all
|
||||
go test
|
||||
clean:
|
||||
rm -f $(outputs)
|
||||
|
||||
Reference in New Issue
Block a user