ayn2op
dd2e690c34
feat(login): configure tabs with [ui.tabs]
2026-09-30 20:08:20 -04:00
ayn2op
02ca5019c7
refactor(config): share the tree status style
2026-09-30 17:34:43 -04:00
ayn2op
151eb89a1a
feat(messageslist): draw previews with kitty graphics protocol
2026-09-29 20:22:46 -04:00
ayn2op
1e675f10cf
feat(messageslist): preview images
2026-09-29 16:59:34 -04:00
ayn2op
129ded84c0
refactor: drop tautological tls tests, password.ErrMsg, and go-cmp
2026-09-29 01:13:48 -04:00
ayn2op
08f27eb60d
feat(chat): add members tree
2026-09-28 18:51:38 -04:00
ayn2op
05e622e753
refactor(ui): share tree and picker widgets
2026-09-28 18:51:16 -04:00
ayn2op
9dc509e300
refactor(ui): adopt tview Change and Keybind APIs
2026-09-28 18:51:16 -04:00
ayn2op
30810afde2
refactor(ui): migrate to declarative tview
2026-09-27 18:12:18 -04:00
ayn2op
de2f2c94f0
test(config): use method call for applyDefaults in test
2026-09-21 20:14:43 -04:00
ayn2op
9d914c280e
refactor(config): move MIMETypes to top and make applyDefaults a method
2026-09-21 18:57:22 -04:00
ayn2op
7fb5e8fdf7
feat(config): add sidebar.visible field to hide sidebar (guilds tree) on startup ( #839 )
2026-09-20 11:34:15 -04:00
ayn2op
bbb8cf0d65
refactor(config): use shellwords to parse editor commands ( #838 )
2026-09-12 14:23:32 -07:00
ayn2op
8390e9773a
feat(chat): edit latest own message with configurable Up keybind ( #837 )
2026-09-05 01:56:23 -04:00
ayn2op
c5692cac29
style(config): improve theme option spacing
2026-09-02 21:30:53 -04:00
ayn2op
8f38996b8a
feat(chat): toggle reply mentions from composer
2026-09-02 20:03:49 -04:00
ayn2op
5e4018a742
refactor(config): simplify MIME type lookup
2026-08-31 18:57:21 -04:00
ayn2op
86c1fd6a77
feat(config): add attachment MIME allowlist and keybinds
2026-08-31 18:57:21 -04:00
ayn2op
fb39147eae
feat: toggle keybind help at runtime ( #833 )
2026-08-27 20:31:52 -04:00
ayn2op
e53354a738
feat: allow disabling keybind help ( #832 )
2026-08-27 15:06:10 -04:00
ayn2op
764a9b3775
refactor(ui,config): flatten embedded literals
2026-08-21 20:10:38 -04:00
ayn2op
89513df829
fix(config): reject invalid theme values
2026-08-07 01:06:33 -04:00
ayn2op
50850f5e13
feat(chat)!: use terminal notifications ( #823 )
2026-07-31 21:03:02 -04:00
ayn2op
ec0e68ef54
feat(markdown): mask spoilers ( #820 )
2026-07-30 14:32:26 -04:00
ayn2op
226936310d
feat(chat): render message reactions ( #819 )
2026-07-30 02:22:21 -04:00
ayn2op
aa27aea627
refactor(config): cache config directory
2026-07-20 21:19:10 -04:00
ayn2op
e6c7f26fcd
refactor: use forked arikawa and ningen
2026-06-19 18:00:39 -04:00
ayn2op
6a930ac2ac
refactor(chat): use gateway identifier constructor
2026-06-16 03:53:20 -04:00
Evan Genske
ab731f06fd
feat(chat): add sidebar.width_percent field for guilds tree width ( #805 )
...
Co-authored-by: ayn2op <ayn2op@gmail.com>
2026-06-15 21:46:25 -04:00
ayn2op
5f72acbfeb
refactor(config)!: replace NavigationKeybinds with SelectionKeybinds ( #802 )
2026-06-10 21:22:21 -04:00
ayn2op
6eb4b56122
refactor!: rename message input to composer ( #801 )
2026-06-08 22:45:51 -04:00
ayn2op
318bf731ec
feat(chat): auto-expanding message input with shift+enter newline ( #799 )
2026-05-27 16:03:25 -04:00
ayn2op
b9152f8b21
refactor(config): make config.toml the sole source of keybind keys
...
defaultKeybinds() now supplies only help descriptions; the actual keys
are read from the embedded config.toml at load time, eliminating the
duplicate key definitions that could drift out of sync.
Add a test that walks every keybind after loading the defaults and fails
if any is missing a key (config.toml) or description (defaultKeybinds).
2026-05-22 23:12:15 -04:00
ayn2op
5bcd124361
refactor(config): flatten config-file load into a switch
2026-05-21 20:34:32 -04:00
ayn2op
4d59013a71
refactor(config): collapse multi-line slog call
2026-05-21 20:34:12 -04:00
ayn2op
4bc49c52c5
refactor: deduplicate guilds tree help, simplify date separator default
2026-05-17 19:58:17 -04:00
ayn2op
164795e39a
feat(config): add keybinds.guilds_tree.collapse_all keybind
2026-05-04 16:11:24 -04:00
ayn2op
01fc26612a
refactor!: move indents config to sidebar table ( #793 )
2026-04-19 20:14:35 -04:00
ayn2op
73dbd1b315
fix(config): remove outdated keybinds.picker.toggle (use keybinds.toggle_channels_picker instead)
...
Closes #790
2026-04-14 16:45:07 -04:00
ayn2op
48f3b5316c
feat(chat): style DM channel nodes based on recipients presence ( #784 )
2026-03-29 21:53:38 -04:00
ayn2op
8d31a80d0c
feat(config): increase default picker height
2026-03-15 20:56:41 -04:00
ayn2op
9ec330ba38
build(deps): upgrade tview to latest
2026-03-15 03:14:31 -04:00
ayn2op
082c018f53
style: run golangci-lint run --fix
2026-03-08 18:40:59 -04:00
ayn2op
1ce19eccc9
fix(config): sync help key labels with remapped keybinds
2026-03-04 15:25:29 -05:00
ayn2op
9dcd43475b
feat(ui/chat): render embeds ( #766 )
2026-03-03 19:17:02 -05:00
xqrs
bab0ee8856
feat(ui/chat): add configurable indentation for guilds tree ( #617 )
...
Signed-off-by: xqrs <3bd3bdr@gmail.com>
Co-authored-by: ayn2op <ayn2op@gmail.com>
2026-03-01 04:31:28 -05:00
xqrs
66b81b765d
fix(config): reset style instead of merging for StyleWrapper ( #759 )
...
Co-authored-by: ayn2op <ayn2op@gmail.com>
2026-03-01 09:28:43 +03:00
xqrs
745706b5d5
feat(config/StyleWrapper): Add underline support ( #763 )
2026-03-01 09:23:50 +03:00
Ayyan
7b585d7548
feat(ui/chat): add tree markers ( #752 )
2026-02-23 18:20:04 -05:00
Ayyan
76532a9dba
feat: add suspend keybind ( #751 )
2026-02-23 17:51:22 -05:00