<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catgirl, branch 2.0a</title>
<subtitle>IRC client
</subtitle>
<id>https://git.causal.agency/catgirl/atom?h=2.0a</id>
<link rel='self' href='https://git.causal.agency/catgirl/atom?h=2.0a'/>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/'/>
<updated>2022-01-16T19:17:46+00:00</updated>
<entry>
<title>Avoid sending null byte in SASL PLAIN</title>
<updated>2022-01-16T19:17:46+00:00</updated>
<author>
<name>June McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2022-01-16T19:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=605f889ab57c3465523104812fbf3edeb1e513d9'/>
<id>urn:sha1:605f889ab57c3465523104812fbf3edeb1e513d9</id>
<content type='text'>
Woops! BASE64_SIZE is the size of the string buffer. Somehow ergo
is the only server software (that I know of) to reject the accidental
null byte.

Reported by smlavine.
</content>
</entry>
<entry>
<title>Use Cold for away notices in queries</title>
<updated>2022-01-16T19:17:03+00:00</updated>
<author>
<name>June McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2022-01-16T19:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=e7cec137239be76c7777b4e6406a0cb089d7a634'/>
<id>urn:sha1:e7cec137239be76c7777b4e6406a0cb089d7a634</id>
<content type='text'>
So that they can be hidden with M-+.
</content>
</entry>
<entry>
<title>Refer to long option names, prefix commands with $</title>
<updated>2021-12-12T01:55:42+00:00</updated>
<author>
<name>June McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-12-12T01:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=adff312570d63996283c02ce4250acc28f2eb5a0'/>
<id>urn:sha1:adff312570d63996283c02ce4250acc28f2eb5a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support custom pkg-config executable names</title>
<updated>2021-11-22T17:30:31+00:00</updated>
<author>
<name>Alyssa Ross</name>
<email>hi@alyssa.is</email>
</author>
<published>2021-11-19T21:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=431230e0ea834d611d5302921b843f0afcaed391'/>
<id>urn:sha1:431230e0ea834d611d5302921b843f0afcaed391</id>
<content type='text'>
When cross-compiling, it's common to have executables prefixed with
the name of the architecture you're building for,
e.g. aarch64-unknown-linux-musl-cc or x86_64-unknown-freebsd-pkg-config.
Lots of build tools support a PKG_CONFIG environment variable to
enable this use case.

With this change, I was able to successfully cross-compile and run
catgirl.
</content>
</entry>
<entry>
<title>Cycle between adding colon suffix and not in tab complete</title>
<updated>2021-11-19T19:44:16+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-11-19T19:44:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=9c1b241c17ac867a49b4bf48ae6537ebe37d6a11'/>
<id>urn:sha1:9c1b241c17ac867a49b4bf48ae6537ebe37d6a11</id>
<content type='text'>
Allows completing a nick at the beginning of a message without a
colon by continuing to press tab, as well as after another nick
already followed by a colon without turning it into a comma-separated
list of nicks all followed by a colon. For example, tab can be used
to cycle between the following pairs:

    nick1: |
	nick1 |

	nick1, nick2: |
	nick1: nick2 |
</content>
</entry>
<entry>
<title>Make the /ops response more flavourful</title>
<updated>2021-11-16T19:16:43+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-11-16T19:16:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=bd3e0ac76b3bf8da1ae785f7af7355748b1f2656'/>
<id>urn:sha1:bd3e0ac76b3bf8da1ae785f7af7355748b1f2656</id>
<content type='text'>
How did this normal sounding format string get in there!
</content>
</entry>
<entry>
<title>Handle RPL_WHOISSPECIAL</title>
<updated>2021-11-11T01:31:27+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-11-11T01:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=d06ac675c6d70482a4e2c76f32068c3e8774569c'/>
<id>urn:sha1:d06ac675c6d70482a4e2c76f32068c3e8774569c</id>
<content type='text'>
&lt;https://modern.ircdocs.horse/index.html#rplwhoisspecial-320&gt;
</content>
</entry>
<entry>
<title>Parse IRC formatting in timestamp string</title>
<updated>2021-10-28T21:56:16+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-10-28T21:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=4363d4b53505708608b1a82f8bff45d7aefe18dc'/>
<id>urn:sha1:4363d4b53505708608b1a82f8bff45d7aefe18dc</id>
<content type='text'>
Strip formatting when calculating the timestamp width to avoid
moving a bunch of code around. Use styleAdd (now with an initial
style parameter) to show timestamps.

This allows changing the style of the timestamps from the default
gray using literal IRC formatting codes in the string. Not ideal,
but no new options needed.

Suggested by Hoël Bézier and Sebastian LaVine.
</content>
</entry>
<entry>
<title>Fix strptime decode for musl libc</title>
<updated>2021-10-26T16:27:54+00:00</updated>
<author>
<name>psykose</name>
<email>alice@ayaya.dev</email>
</author>
<published>2021-10-26T08:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=27b5fd0251276fce156ef066f11086cfba941804'/>
<id>urn:sha1:27b5fd0251276fce156ef066f11086cfba941804</id>
<content type='text'>
POSIX does not define a %F for strptime[1], but does define %F for
strftime[2]. Afaik most libc's implement %F for both, but musl is very
standards-compliant and does not have %F on strptime, leading to
unparsed message tag times, which causes all backlog sent from bouncer
on startup to have a timestamp of the current time, instead of the
actual timestamp sent.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html
[2] https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html
</content>
</entry>
<entry>
<title>Increment replies for list modes with /mode</title>
<updated>2021-10-17T15:55:43+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2021-10-17T15:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/catgirl/commit/?id=fca48fd05dadc3c77da32a31ed9e5148d5f0ac27'/>
<id>urn:sha1:fca48fd05dadc3c77da32a31ed9e5148d5f0ac27</id>
<content type='text'>
Otherwise only /ban can be used to list bans and /mode b or /mode
+b won't show the listing.
</content>
</entry>
</feed>
