ayn2op
|
d13ce0ea4a
|
fix(ui): use dedicated modal model (#821)
|
2026-07-30 14:32:05 -04:00 |
|
ayn2op
|
226936310d
|
feat(chat): render message reactions (#819)
|
2026-07-30 02:22:21 -04:00 |
|
RedSlime.
|
2501deac82
|
feat(chat): update dm node on presence update (#814)
|
2026-07-19 04:08:31 -04:00 |
|
ayn2op
|
84c6615956
|
fix(login): forward token submit
|
2026-07-09 15:38:28 -04:00 |
|
ayn2op
|
391f3b974c
|
refactor(ui): replace tview modal usage
|
2026-07-09 04:12:33 -04:00 |
|
ayn2op
|
c1af115e27
|
refactor(chat): inline clipboard callbacks
|
2026-07-08 20:24:38 -04:00 |
|
ayn2op
|
8d8e855777
|
fix(chat): hide redundant help actions
|
2026-07-08 20:23:51 -04:00 |
|
ayn2op
|
235cecb3eb
|
clipboard: ignore Write return value
|
2026-07-08 05:13:17 -04:00 |
|
ayn2op
|
37a6394826
|
refactor(chat): extract mentions list
|
2026-07-08 01:48:19 -04:00 |
|
ayn2op
|
6c3727cb7c
|
refactor(chat): avoid blocking member chunks
|
2026-07-03 18:31:49 -04:00 |
|
ayn2op
|
bb3ee02edc
|
refactor(cache): remove exists lookup
|
2026-07-02 21:37:15 -04:00 |
|
ayn2op
|
e6c7f26fcd
|
refactor: use forked arikawa and ningen
|
2026-06-19 18:00:39 -04:00 |
|
ayn2op
|
695576c5b1
|
refactor: switch to upstream clipboard
|
2026-06-19 12:34:59 -04:00 |
|
ayn2op
|
6a930ac2ac
|
refactor(chat): use gateway identifier constructor
|
2026-06-16 03:53:20 -04:00 |
|
ayn2op
|
a8e9aa92f8
|
fix(chat): omit large threshold
|
2026-06-16 02:35:54 -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
|
30ee90a8ef
|
refactor(ui): match tview getter api
|
2026-06-13 18:29:52 -04:00 |
|
ayn2op
|
85ce6cae34
|
refactor(ui): match tview.InputField api
|
2026-06-12 21:07:42 -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
|
c96474bc9c
|
refactor(ui,chat,markdown): use tview.MergeStyle and uniseg.StringWidth
|
2026-06-04 19:48:46 -04:00 |
|
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 |
|