ayn2op
19907d7889
feat(chat): forward Tab to textarea when mentions list is hidden ( #800 )
2026-05-27 15:57:38 -04:00
ayn2op
15f95fb617
refactor(chat): add isMe helper to dedupe self-author checks
2026-05-24 19:25:27 -04:00
ayn2op
83f9c049cf
refactor(chat): return comma-ok from selectedMessage and SelectedChannel
2026-05-24 19:10:19 -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
d3b5c21263
refactor(qr): match QR pixel pairs to half-block glyphs
2026-05-21 21:27:08 -04:00
ayn2op
2d027f54c3
refactor(chat): collapse forum-thread filtering with isThread
2026-05-21 21:21:25 -04:00
ayn2op
1760b13f3c
refactor(chat): drop redundant comments in onReady
2026-05-21 21:17:24 -04:00
ayn2op
fcf6c01c39
refactor(markdown): separate code-block header choice from rendering
2026-05-21 20:48:07 -04:00
ayn2op
7f34127560
refactor(chat): flatten open() into a switch
2026-05-21 20:42:01 -04:00
ayn2op
309f24e728
refactor(chat): extract isMentionChar predicate
2026-05-21 20:37:28 -04:00
ayn2op
bcac58c7cf
refactor(chat): extract pure cursorAfterDelete helper
2026-05-21 20:35:37 -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
6a0ab74411
refactor(chat): flatten event-handler guards with early returns
2026-05-21 20:34:12 -04:00
ayn2op
bd4b5f9866
fix(cache): avoid panic in Invalidate and collapse double lookup
2026-05-21 20:34:12 -04:00
ayn2op
fab3ae2812
perf(chat): render each message once, drop redundant embed parse
2026-05-17 22:38:16 -04:00
ayn2op
5fae84533d
refactor: dedupe attach-files check, drop redundant wrappers
2026-05-17 20:52:10 -04:00
ayn2op
4bc49c52c5
refactor: deduplicate guilds tree help, simplify date separator default
2026-05-17 19:58:17 -04:00
ayn2op
a02c541df3
refactor(chat): remove dead code
2026-05-17 19:37:48 -04:00
ayn2op
c1bf40184a
fix(chat): synchronize typing timer access
2026-05-17 19:26:27 -04:00
ayn2op
af65e21854
refactor(chat): route attachment open through command
2026-05-11 23:21:52 -04:00
ayn2op
308ce749ed
refactor(chat): route typing indicator through command
2026-05-11 23:17:16 -04:00
ayn2op
c4779f537f
refactor(chat): simplify input cancel path
2026-05-11 23:07:18 -04:00
ayn2op
1927b90e02
refactor(chat): route message send through command
2026-05-11 23:01:06 -04:00
ayn2op
8a6e8bc7be
refactor(chat): route file picker through command
2026-05-11 22:49:02 -04:00
ayn2op
0ce0022005
refactor(chat): route image paste through command
2026-05-11 22:37:42 -04:00
ayn2op
d9020d759d
refactor: rename tokenCommand to tokenCmd
2026-05-11 21:20:01 -04:00
ayn2op
e50ce446a3
fix(chat): use traversal-resistant file api
2026-05-04 17:36:17 -04:00
ayn2op
164795e39a
feat(config): add keybinds.guilds_tree.collapse_all keybind
2026-05-04 16:11:24 -04:00
ayn2op
00d259fc67
build(deps): upgrade tview to latest
2026-04-29 18:21:24 -04:00
ayn2op
7b8a3d0fd6
refactor(chat): remove gateway event wrapper
2026-04-29 12:15:46 -04:00
ayn2op
cfd7452f8d
fix(chat): avoid waiting for ready before processing events
2026-04-20 22:25:47 -04:00
ayn2op
bf77f67c5b
fix(chat): move state nil check outside Cmd func
2026-04-20 21:38:04 -04:00
ayn2op
99e9481a72
fix(ui): sequence state-sensitive command flows and bump tview
2026-04-20 20:39:26 -04:00
ayn2op
5f6d0296c3
fix(ui): use value messages instead of pointers
...
Closes #791
2026-04-20 13:53:51 -04:00
ayn2op
01fc26612a
refactor!: move indents config to sidebar table ( #793 )
2026-04-19 20:14:35 -04:00
ayn2op
3d03359078
fix(cmd): close the log file on shutdown
2026-04-18 14:02:05 -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
c998580e0e
refactor(ui): use value messages in models
2026-04-13 18:49:26 -04:00
ayn2op
cefc0cbf31
refactor(qr): replace fmt.Sprintf with concatenation
2026-04-09 00:14:02 -04:00
ayn2op
044430857d
refactor(chat): clarify local condition variables in UI flows
2026-04-09 00:04:51 -04:00
ayn2op
d804e0271c
fix(chat): avoid uint32 cast when setting embed color
2026-04-08 23:42:45 -04:00
ayn2op
68d8aea6e7
refactor(chat): rename chat view references for consistency
2026-04-08 23:39:15 -04:00
ayn2op
086798b639
refactor(chat): use tview.SetFocus command instead of (*tview.Application).SetFocus
2026-04-06 12:22:02 -04:00
ayn2op
bd045c1ac2
fix(chat): keep input focus when closing mentions
...
Make stopTabCompletion return a Cmd and remove closeLayer message indirection so Esc/close paths keep focus on message input consistently.
2026-04-05 22:43:58 -04:00
ayn2op
7202d95907
refactor(chat): replace QueueUpdateDraw with Cmd/Msg tab completion flow
2026-04-05 21:35:19 -04:00
ayn2op
6807e194c4
refactor(internal): rename Event to Msg
2026-04-05 18:11:34 -04:00
ayn2op
f342768d3d
build(deps): upgrade tview to latest
2026-04-05 15:37:04 -04:00
ayn2op
51beca67e9
build(deps): upgrade deps to latest
2026-04-03 00:18:50 -04:00
ayn2op
adda09d1ca
fix(chat): only hide mentions list layer if it is visible in removeMentionsList ( #787 )
2026-04-01 18:27:00 -04:00