spearzificial
|
9e5b7e7906
|
chore(dev): merge message reactions with emoji and command features
|
2026-10-19 14:18:22 +05:30 |
|
spearzificial
|
7b435ce937
|
feat(messageslist): add emoji reaction picker and toggle (#827)
|
2026-10-19 14:16:20 +05:30 |
|
spearzificial
|
c27c4d903c
|
chore(dev): merge emoji autocomplete and command preview
|
2026-10-19 13:56:04 +05:30 |
|
spearzificial
|
778c3c4423
|
feat(composer): add command preview and autocomplete
|
2026-10-19 13:46:17 +05:30 |
|
spearzificial
|
af615e4724
|
feat(composer): add emoji autocomplete and preview
|
2026-10-19 13:14:07 +05:30 |
|
ayn2op
|
eb4028957d
|
feat(messageslist): draw kitty images in Rio (#851)
|
2026-10-19 00:55:37 -04:00 |
|
ayn2op
|
cb4c82d3e1
|
perf(messageslist): keep each message's built view instead of rebuilding it on every draw (#850)
|
2026-10-18 22:40:59 -04:00 |
|
ayn2op
|
1bcd7650c8
|
build(markdown): add no_syntax_highlighting tag to build without chroma (#849)
|
2026-10-18 20:27:14 -04:00 |
|
ayn2op
|
cfb31cf2f3
|
build: bump tview to latest and use tcell fork (#848)
|
2026-10-18 20:06:31 -04:00 |
|
ayn2op
|
bee05cbb25
|
refactor(ui): rename keybind funcs to *Keybind and move them to keymap.go
|
2026-10-18 19:15:49 -04:00 |
|
ayn2op
|
b46624796d
|
refactor(messageslist): draw embeds and the date separator as boxes
|
2026-10-18 19:11:30 -04:00 |
|
ayn2op
|
68ee346501
|
refactor(ui): drop custom widgets where tview's do the job, for the mentions, the login field labels and the composer
|
2026-10-18 19:11:30 -04:00 |
|
ayn2op
|
f25149a05e
|
build: update tview and tcell, with titles and footers as widgets styled by ui.Label
|
2026-10-18 19:11:30 -04:00 |
|
ayn2op
|
23b45b9c16
|
refactor(qr): draw the code centered with the image widget in a white margin, encoded once
|
2026-10-18 19:11:30 -04:00 |
|
ayn2op
|
b860df0a25
|
feat(messageslist): show custom emoji images in messages, with options to show their names
|
2026-10-17 17:52:12 -04:00 |
|
ayn2op
|
997a77c033
|
feat(messageslist): show custom emoji images in reactions, wrapped with a separator
|
2026-10-17 16:00:54 -04:00 |
|
ayn2op
|
805621bc2e
|
refactor: move to the tview text widget and go-uucode
|
2026-10-16 22:13:15 -04:00 |
|
ayn2op
|
03d1ef13d2
|
test(chat): set message fields directly on the create event
|
2026-10-16 19:04:04 -04:00 |
|
ayn2op
|
78c26e88fb
|
refactor: drop unused receivers and exports
|
2026-10-16 19:04:04 -04:00 |
|
ayn2op
|
f7bd6ef441
|
refactor: replace magic numbers with named constants
|
2026-10-16 18:52:34 -04:00 |
|
ayn2op
|
e38b7490ad
|
refactor(messageslist): split model into files by concern
|
2026-10-16 18:52:27 -04:00 |
|
ayn2op
|
25957fd3fd
|
refactor(ui): alias the keybinds config in key switches
|
2026-10-16 18:52:15 -04:00 |
|
ayn2op
|
12a4a6af48
|
refactor(ui): share one clipboard write command
|
2026-10-16 18:52:15 -04:00 |
|
ayn2op
|
b9e310e7fa
|
fix(markdown): fix nested lists and simplify the renderer
|
2026-10-16 18:52:15 -04:00 |
|
ayn2op
|
f8141b8f8d
|
refactor: break up long inline expressions
|
2026-10-16 18:52:15 -04:00 |
|
ayn2op
|
f9f53a0f55
|
build: regenerate config docs and build number
|
2026-10-16 18:15:44 -04:00 |
|
ayn2op
|
8c87531e75
|
refactor(voice): split nested expressions when seeking
|
2026-10-16 18:13:41 -04:00 |
|
ayn2op
|
9c1a39ca76
|
fix(voice): bound header slice when seeking truncated audio
|
2026-10-16 17:59:55 -04:00 |
|
ayn2op
|
f647d96fab
|
feat(config): allow audio attachments by default
|
2026-10-16 16:22:13 -04:00 |
|
ayn2op
|
3b28429a37
|
build(deps): migrate to goldmark v2
|
2026-10-16 00:32:26 -04:00 |
|
ayn2op
|
2d698f0c7e
|
refactor(http): drop custom transport and let the client set Accept-Encoding (#847)
|
2026-10-15 23:31:09 -04:00 |
|
ayn2op
|
f2e837a758
|
ci: remove newline
|
2026-10-15 21:42:34 -04:00 |
|
ayn2op
|
39222f1073
|
ci: add golangci-lint
|
2026-10-15 21:00:02 -04:00 |
|
ayn2op
|
9320e20983
|
refactor(config)!: move the image protocol to the messages list for avatars and attachments
|
2026-10-15 19:58:45 -04:00 |
|
ayn2op
|
b03d757299
|
build: bump client build number
|
2026-10-15 19:52:09 -04:00 |
|
ayn2op
|
22d5af012e
|
feat(root): confirm before quitting
|
2026-10-15 19:52:09 -04:00 |
|
ayn2op
|
871f36759c
|
perf(messageslist): stop copying the model and message to the heap per item build
|
2026-10-15 19:38:27 -04:00 |
|
ayn2op
|
60aa5f52f1
|
feat(messageslist)!: group consecutive messages by the same author
|
2026-10-15 18:02:59 -04:00 |
|
ayn2op
|
3562b4d546
|
fix(messageslist): fetch older messages once on scrolling to the top
|
2026-10-15 16:50:37 -04:00 |
|
ayn2op
|
fa82fad291
|
docs(README): update previews
|
2026-10-14 23:48:51 -04:00 |
|
ayn2op
|
b042d6f6b8
|
build(deps): bump arikawa and ningen
|
2026-10-14 13:32:54 -04:00 |
|
ayn2op
|
91c954df27
|
build(deps): fix the arikawa and ningen versions
|
2026-10-13 22:13:02 -04:00 |
|
ayn2op
|
4b3e457e7c
|
fix(composer): check the thread send permission in a thread
|
2026-10-13 21:22:24 -04:00 |
|
ayn2op
|
d54c2eb23f
|
build(deps): bump arikawa and ningen
|
2026-10-13 21:20:28 -04:00 |
|
ayn2op
|
95f5fb91a1
|
refactor(ui): hold widget state as plain values in the models
|
2026-10-13 19:03:59 -04:00 |
|
ayn2op
|
7e5c3dc62c
|
feat(messageslist): play voice messages by click and seek by dragging
|
2026-10-13 18:10:59 -04:00 |
|
ayn2op
|
bba502cba8
|
feat(messageslist): show avatar preview
|
2026-10-12 22:21:50 -04:00 |
|
ayn2op
|
5d518d7521
|
feat(messageslist): add compact and gap layout options
Closes #735
|
2026-10-12 19:38:49 -04:00 |
|
ayn2op
|
d9e9339bf6
|
feat(chat): confirm before logging out
|
2026-10-12 13:05:29 -04:00 |
|
ayn2op
|
71f2928ecd
|
fix(messageslist): focus No first when confirming a delete
|
2026-10-12 13:00:30 -04:00 |
|