Make Network.Nick optional, default to the user's username. This
will allow adding a global setting to set the nickname in the
future, just like we have for the real name.
References: https://todo.sr.ht/~emersion/soju/110
git-svn-id: file:///srv/svn/repo/suika/trunk@664 f0ae65fe-ee39-954e-97ec-027ff2717ef4
VARCHAR(n) is pointless in SQLite and is the same as TEXT. Don't
bother with a migration since they're equivalent.
Also remove some unnecessary DEFAULT NULL statements.
git-svn-id: file:///srv/svn/repo/suika/trunk@663 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This adds support for WHOX, without bothering about flags and mask2
because Solanum and Ergo [1] don't support it either.
The motivation is to allow clients to reliably query account names.
It's not possible to use WHOX tokens to route replies to the right
client, because RPL_ENDOFWHO doesn't contain it.
[1]: https://github.com/ergochat/ergo/pull/1184
Closes: https://todo.sr.ht/~emersion/soju/135
git-svn-id: file:///srv/svn/repo/suika/trunk@660 f0ae65fe-ee39-954e-97ec-027ff2717ef4
@ and + indicate channel privileges. * indicates that the user is
a server operator.
git-svn-id: file:///srv/svn/repo/suika/trunk@659 f0ae65fe-ee39-954e-97ec-027ff2717ef4
That's what some widely used IRC servers do for their own services
(e.g. NickServ and ChanServ). This adds an additional level of
trust to make sure BouncerServ isn't typo'ed or impersonated.
git-svn-id: file:///srv/svn/repo/suika/trunk@657 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Some clients (Hexchat) always expect AUTHENTICATE * to succeed with
ERR_SASLABORTED even if SASL hasn't been started.
git-svn-id: file:///srv/svn/repo/suika/trunk@653 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This is a mecanical change, which just lifts up the context.TODO()
calls from inside the DB implementations to the callers.
Future work involves properly wiring up the contexts when it makes
sense.
git-svn-id: file:///srv/svn/repo/suika/trunk@652 f0ae65fe-ee39-954e-97ec-027ff2717ef4
downstreamConn.handleMessageUnregistered is only called when the
user isn't registered.
git-svn-id: file:///srv/svn/repo/suika/trunk@647 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This breaks ASCII art. Instead, just drop the final newline if any.
git-svn-id: file:///srv/svn/repo/suika/trunk@637 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Stop using ON CONFLICT DO UPDATE.
Closes: https://todo.sr.ht/~emersion/soju/138
git-svn-id: file:///srv/svn/repo/suika/trunk@635 f0ae65fe-ee39-954e-97ec-027ff2717ef4
There's no point in sending this numeric if it doesn't contain any
useful info.
git-svn-id: file:///srv/svn/repo/suika/trunk@629 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Initially, before connecting to the network, the log dir will be
empty. Return an empty list of chat history targets in this case.
git-svn-id: file:///srv/svn/repo/suika/trunk@628 f0ae65fe-ee39-954e-97ec-027ff2717ef4