<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>
0400'>2018-08-27</span></td><td class='logsubject'><a href='/src/commit/txt/music.md?id=e31da4ca14b7af4816405dbe86aed9d8b35f8fe4&amp;follow=1'>Add New Order — Temptation</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-26 02:05:55 -0400'>2018-08-26</span></td><td class='logsubject'><a href='/src/commit/install.sh?id=dd3b42bc1365d16b9e4306e2639d49a3617797af&amp;follow=1'>Add NetBSD to install.sh</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-24 15:37:51 -0400'>2018-08-24</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=f8675036b10983e97c1266786f6c9f13213c766b&amp;follow=1'>Show hostname in title over SSH</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-23 00:15:02 -0400'>2018-08-23</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=50e36b4b909af44827ff8d233720683054af8f79&amp;follow=1'>Alias bc='bc -l'</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-20 23:29:10 -0400'>2018-08-20</span></td><td class='logsubject'><a href='/src/commit/bin/README?id=10d4188fd4d8682874089a16efe57fee7462f530&amp;follow=1'>Update usage of scheme in README</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-20 23:24:39 -0400'>2018-08-20</span></td><td class='logsubject'><a href='/src/commit/bin/fbclock.c?id=911274a7a166585dc4dcf052c0504eabb33df76e&amp;follow=1'>Use scheme.h in fbatt and fbclock</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-20 23:03:54 -0400'>2018-08-20</span></td><td class='logsubject'><a href='/src/commit/bin/scheme.c?id=fb92a2f9abfcd7e64687a19d9846521795063fb3&amp;follow=1'>Generate scheme.h</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-20 22:34:02 -0400'>2018-08-20</span></td><td class='logsubject'><a href='/src/commit/gfx/Makefile?id=1ab513b832c5060b4fb2d3f9382b52951fd8ecf3&amp;follow=1'>Add dependencies on gfx.h</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-18 18:51:29 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/txt/music.md?id=fe783b1fa8fcefdfb61df742a4902f7363554173&amp;follow=1'>Add Blondie — Heart of Glass</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Why didn't I know about this song? I love it.


</td></tr>
<tr class='logheader'><td><span title='2018-08-18 16:51:49 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=4e5ddc0b13ec267aac7e277ba067da4b30ba2615&amp;follow=1'>Set FCEDIT=$EDITOR</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-18 16:34:23 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/etc/gitea2mastodon.rb?id=ad54e6c3564992748192054e479b9cec7d35a841&amp;follow=1'>Only post commits with bodies to Mastodon</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-18 16:24:25 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/etc/tf/link.sh?id=34f82a21c530733393e3878ba6a4881b34a91884&amp;follow=1'>Run tf/cfg link script with /bin/sh</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-18 16:24:25 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/home/.local/bin/up?id=df5b8b987e8dd3e54df56d5e5569fabad5cb9eba&amp;follow=1'>Run {,s,t}up with /bin/sh</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-08-18 01:27:16 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=500195d6f1d13fc988bba60d6b35a7bdb5bb3a49&amp;follow=1'>Use whence instead of type</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
type is an alias for whence -v and is more for human consumption.


</td></tr>
<tr class='logheader'><td><span title='2018-08-18 01:07:05 -0400'>2018-08-18</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=43a0a0f04ed97d59b6994ba880e6ce31cf368724&amp;follow=1'>Cut off path components until right prompt fits</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Keeps paths valid (from somehwere) rather than abrupt truncation.


</td></tr>
<tr class='logheader'><td><span title='2018-08-17 22:42:37 -0400'>2018-08-17</span></td><td class='logsubject'><a href='/src/commit/home/.kshrc?id=ac18126e8205bad1db6665b0550f3543e3da71b8&amp;follow=1'>Add "private" alias to source encrypted file</a></td><td>June McEnroe</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Why is there no easy way to *edit* an encrypted file?


</td></tr>
<tr class='logheader'><td><span title='2018-08-17 21:54:53 -0400'>2018-08-17</span></td><td class='logsubject'><a href='/src/commit/home/.config/nvim/init.vim?id=d2e8e98b244f778f650684e0984197b5da513b46&amp;follow=1'>Add vim mapping to add a #include</a></td><td>June McEnroe