Commit graph

1723 commits

Author SHA1 Message Date
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
ayn2op
ac05d55da9 fix(chat): show a dialog when the token is rejected
Closes #685
2026-10-12 12:53:49 -04:00
ayn2op
817306b1ad fix(gateway): show the login when the token is rejected
Closes #843
2026-10-12 12:42:20 -04:00
ayn2op
4534f130b3 fix(messageslist): open only http and https links 2026-10-12 12:24:42 -04:00
ayn2op
6465a1c5f2 feat: play voice messages
Closes #493
2026-10-12 12:21:12 -04:00
ayn2op
95f247def8 feat(config): select up and down with the arrow keys 2026-10-11 18:58:34 -04:00
ayn2op
e57542c44c ci: install an arm64 C compiler on windows-11-arm and merge the test steps 2026-10-11 18:35:26 -04:00
ayn2op
d0f53d0722 feat: implement voice support
Closes #166
2026-10-11 18:16:53 -04:00
ayn2op
be53bfd21a build(deps): upgrade deps to latest 2026-10-11 13:36:41 -04:00
ayn2op
688cb05f67 refactor(ui): move help keybinds to keymap.go 2026-10-09 18:29:39 -04:00