1
00:00:00,300 --> 00:00:01,040
Hey, everybody.

2
00:00:01,720 --> 00:00:06,860
Before anything else, thanks to Jellypod
for helping make this daily show a reality.

3
00:00:07,920 --> 00:00:13,100
Today we're looking at the 0.164.0 alpha
series.

4
00:00:13,840 --> 00:00:20,580
Stable 0.163.0 landed on October 15, and
alpha 1 through alpha 3

5
00:00:20,640 --> 00:00:22,960
followed on October 16 to 17.

6
00:00:23,960 --> 00:00:28,700
The release pages for the alphas are just
bare tags, so everything we cover comes

7
00:00:28,720 --> 00:00:35,480
from the commit list, roughly pull
requests 54378 through 54388.

8
00:00:36,160 --> 00:00:37,820
That matters for the caveats later.

9
00:00:38,588 --> 00:00:42,548
Last episode we covered the leader key in
/keymap, Ctrl+X by default.

10
00:00:42,968 --> 00:00:45,228
This is the first real thing built on top
of it.

11
00:00:45,688 --> 00:00:49,948
It's a presets system for the TUI, plus
inline flags that let you change settings

12
00:00:49,988 --> 00:00:52,628
for one session without touching
config.toml.

13
00:00:53,532 --> 00:00:54,432
Start with presets.

14
00:00:55,112 --> 00:00:59,592
There's a new /presets command with ten
numbered slots, zero through nine.

15
00:01:00,272 --> 00:01:04,872
Each slot holds a saved piece of composer
input, and you can open the picker with

16
00:01:04,911 --> 00:01:06,432
the command or with a shortcut.

17
00:01:07,132 --> 00:01:08,772
The shortcut is leader p.

18
00:01:09,392 --> 00:01:12,212
With the default leader, that's Ctrl+X,
then p.

19
00:01:13,172 --> 00:01:19,232
The binding name is
tui.keymap.chat.open_presets, so you can presumably rebind it.

20
00:01:20,052 --> 00:01:22,752
A responsive menu pops up right above the
composer.

21
00:01:23,352 --> 00:01:26,252
And inside that menu it's all single keys.

22
00:01:26,692 --> 00:01:30,332
Press a digit, zero to nine, and it runs
the preset in that slot.

23
00:01:30,832 --> 00:01:33,812
If the slot is empty, the same key starts
creating one.

24
00:01:34,292 --> 00:01:39,012
Press n to create a preset from whatever
text is currently in your composer.

25
00:01:39,512 --> 00:01:43,632
Press s to snapshot your current session
settings, meaning model,

26
00:01:43,852 --> 00:01:47,472
reasoning effort, speed tier, and
permission profile, into a preset.

27
00:01:48,132 --> 00:01:52,512
Press e to edit, and d to delete, which
asks for confirmation first.

28
00:01:53,263 --> 00:01:58,143
One detail I like: if you've half typed a
prompt and you fire a preset,

29
00:01:58,723 --> 00:01:59,783
your draft is preserved.

30
00:02:00,523 --> 00:02:04,483
The preset goes through normal queued
submission, so it doesn't stomp what you were

31
00:02:04,503 --> 00:02:04,803
writing.

32
00:02:05,343 --> 00:02:09,582
Storage is in config, under tui.presets
and then the slot number.

33
00:02:10,703 --> 00:02:14,063
Each entry takes an input string and an
optional label string.

34
00:02:14,363 --> 00:02:19,183
So a slot could be a standing instruction
like run the tests and summarize failures,

35
00:02:19,563 --> 00:02:20,363
labeled tests.

36
00:02:20,885 --> 00:02:24,585
There are validation rules, and they're
the part to read before you build a library

37
00:02:24,625 --> 00:02:24,965
of these.

38
00:02:25,445 --> 00:02:27,005
Blank input is rejected.

39
00:02:27,605 --> 00:02:30,865
Input over 8,000 UTF 8 bytes is rejected.

40
00:02:31,405 --> 00:02:35,225
And any input that starts with an
exclamation mark, after leading whitespace,

41
00:02:35,565 --> 00:02:38,465
is rejected, because that's the shell
command prefix.

42
00:02:38,905 --> 00:02:42,485
So a preset can't be a way to run a shell
command without you typing it.

43
00:02:43,028 --> 00:02:44,348
That's a sensible line.

44
00:02:45,168 --> 00:02:51,068
A saved slot that quietly runs shell on a
keypress would be a bad surprise in a

45
00:02:51,128 --> 00:02:52,628
shared dotfiles repo.

