ayn2op
|
3cbbce6aeb
|
refactor(chat): drive guilds tree navigation through tree keybinds
|
2026-06-04 17:41:19 -04:00 |
|
ayn2op
|
3089000935
|
refactor(chat): migrate guilds tree to tview tree package
|
2026-06-02 23:53:44 -04:00 |
|
ayn2op
|
318bf731ec
|
feat(chat): auto-expanding message input with shift+enter newline (#799)
|
2026-05-27 16:03:25 -04:00 |
|
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
|
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
|
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
|
6a0ab74411
|
refactor(chat): flatten event-handler guards with early returns
|
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
|
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 |
|
ayn2op
|
48f3b5316c
|
feat(chat): style DM channel nodes based on recipients presence (#784)
|
2026-03-29 21:53:38 -04:00 |
|
ayn2op
|
e5a137c018
|
fix(chat): allow typing with mentions popup and prevent autocomplete deadlock (#782)
|
2026-03-26 14:04:57 -04:00 |
|
ayn2op
|
3397a4426d
|
refactor(ui/chat): migrate to command-based api for (*attachmentsPicker).close
|
2026-03-22 16:00:42 -04:00 |
|
ayn2op
|
b2f079b700
|
fix(ui/chat): preserve cursor behavior when loading older messages (#780)
|
2026-03-21 17:38:56 -04:00 |
|