Commit graph

  • 3e62efe1ac chore(dev): merge user status on messages feature dev spearzificial 2026-10-19 14:31:46 +05:30
  • f68958f75c feat(messageslist): add option to show user status on messages (#454) feat/user-status-messages spearzificial 2026-10-19 14:29:40 +05:30
  • 9e5b7e7906 chore(dev): merge message reactions with emoji and command features spearzificial 2026-10-19 14:18:22 +05:30
  • 7b435ce937 feat(messageslist): add emoji reaction picker and toggle (#827) feat/message-reactions spearzificial 2026-10-19 14:16:20 +05:30
  • c27c4d903c chore(dev): merge emoji autocomplete and command preview spearzificial 2026-10-19 13:56:04 +05:30
  • 778c3c4423 feat(composer): add command preview and autocomplete feat/command-preview spearzificial 2026-10-19 13:46:17 +05:30
  • af615e4724 feat(composer): add emoji autocomplete and preview feat/emoji-autocomplete spearzificial 2026-10-19 13:14:07 +05:30
  • eb4028957d
    feat(messageslist): draw kitty images in Rio (#851) ayn2op 2026-10-19 00:55:37 -04:00
  • cb4c82d3e1
    perf(messageslist): keep each message's built view instead of rebuilding it on every draw (#850) ayn2op 2026-10-18 22:40:59 -04:00
  • 1bcd7650c8
    build(markdown): add no_syntax_highlighting tag to build without chroma (#849) ayn2op 2026-10-18 20:27:14 -04:00
  • cfb31cf2f3
    build: bump tview to latest and use tcell fork (#848) ayn2op 2026-10-18 20:06:31 -04:00
  • bee05cbb25 refactor(ui): rename keybind funcs to *Keybind and move them to keymap.go ayn2op 2026-10-18 16:37:38 -04:00
  • b46624796d refactor(messageslist): draw embeds and the date separator as boxes ayn2op 2026-10-18 16:25:03 -04:00
  • 68ee346501 refactor(ui): drop custom widgets where tview's do the job, for the mentions, the login field labels and the composer ayn2op 2026-10-18 16:25:03 -04:00
  • f25149a05e build: update tview and tcell, with titles and footers as widgets styled by ui.Label ayn2op 2026-10-18 16:25:03 -04:00
  • 23b45b9c16 refactor(qr): draw the code centered with the image widget in a white margin, encoded once ayn2op 2026-10-18 16:25:03 -04:00
  • b860df0a25 feat(messageslist): show custom emoji images in messages, with options to show their names ayn2op 2026-10-17 17:07:53 -04:00
  • 997a77c033 feat(messageslist): show custom emoji images in reactions, wrapped with a separator ayn2op 2026-10-17 13:50:18 -04:00
  • 805621bc2e refactor: move to the tview text widget and go-uucode ayn2op 2026-10-16 22:13:15 -04:00
  • 03d1ef13d2 test(chat): set message fields directly on the create event ayn2op 2026-10-16 18:46:15 -04:00
  • 78c26e88fb refactor: drop unused receivers and exports ayn2op 2026-10-16 18:37:26 -04:00
  • f7bd6ef441 refactor: replace magic numbers with named constants ayn2op 2026-10-16 18:52:34 -04:00
  • e38b7490ad refactor(messageslist): split model into files by concern ayn2op 2026-10-16 18:52:27 -04:00
  • 25957fd3fd refactor(ui): alias the keybinds config in key switches ayn2op 2026-10-16 18:52:15 -04:00
  • 12a4a6af48 refactor(ui): share one clipboard write command ayn2op 2026-10-16 18:31:39 -04:00
  • b9e310e7fa fix(markdown): fix nested lists and simplify the renderer ayn2op 2026-10-16 18:52:15 -04:00
  • f8141b8f8d refactor: break up long inline expressions ayn2op 2026-10-16 18:52:15 -04:00
  • f9f53a0f55 build: regenerate config docs and build number ayn2op 2026-10-16 18:14:26 -04:00
  • 8c87531e75 refactor(voice): split nested expressions when seeking ayn2op 2026-10-16 18:13:41 -04:00
  • 9c1a39ca76 fix(voice): bound header slice when seeking truncated audio ayn2op 2026-10-16 17:59:55 -04:00
  • f647d96fab feat(config): allow audio attachments by default ayn2op 2026-10-16 16:22:13 -04:00
  • 3b28429a37 build(deps): migrate to goldmark v2 ayn2op 2026-10-16 00:13:26 -04:00
  • 2d698f0c7e
    refactor(http): drop custom transport and let the client set Accept-Encoding (#847) ayn2op 2026-10-15 23:31:09 -04:00
  • f2e837a758 ci: remove newline ayn2op 2026-10-15 21:42:34 -04:00
  • 39222f1073 ci: add golangci-lint ayn2op 2026-10-15 20:50:49 -04:00
  • 9320e20983 refactor(config)!: move the image protocol to the messages list for avatars and attachments ayn2op 2026-10-15 19:58:45 -04:00
  • b03d757299 build: bump client build number ayn2op 2026-10-15 19:49:19 -04:00
  • 22d5af012e feat(root): confirm before quitting ayn2op 2026-10-15 19:39:37 -04:00
  • 871f36759c perf(messageslist): stop copying the model and message to the heap per item build ayn2op 2026-10-15 18:58:10 -04:00
  • 60aa5f52f1 feat(messageslist)!: group consecutive messages by the same author ayn2op 2026-10-15 17:59:24 -04:00
  • 3562b4d546 fix(messageslist): fetch older messages once on scrolling to the top ayn2op 2026-10-15 16:24:34 -04:00
  • fa82fad291 docs(README): update previews ayn2op 2026-10-14 23:48:06 -04:00
  • b042d6f6b8 build(deps): bump arikawa and ningen ayn2op 2026-10-13 23:27:36 -04:00
  • 91c954df27 build(deps): fix the arikawa and ningen versions ayn2op 2026-10-13 22:13:02 -04:00
  • 4b3e457e7c fix(composer): check the thread send permission in a thread ayn2op 2026-10-13 21:21:00 -04:00
  • d54c2eb23f build(deps): bump arikawa and ningen ayn2op 2026-10-13 21:20:28 -04:00
  • 95f5fb91a1 refactor(ui): hold widget state as plain values in the models ayn2op 2026-10-13 19:03:59 -04:00
  • 7e5c3dc62c feat(messageslist): play voice messages by click and seek by dragging ayn2op 2026-10-13 16:46:10 -04:00
  • bba502cba8 feat(messageslist): show avatar preview ayn2op 2026-10-12 20:07:54 -04:00
  • 5d518d7521 feat(messageslist): add compact and gap layout options ayn2op 2026-10-12 19:12:29 -04:00
  • d9e9339bf6 feat(chat): confirm before logging out ayn2op 2026-10-12 13:05:29 -04:00
  • 71f2928ecd fix(messageslist): focus No first when confirming a delete ayn2op 2026-10-12 13:00:30 -04:00
  • ac05d55da9 fix(chat): show a dialog when the token is rejected ayn2op 2026-10-12 12:53:27 -04:00
  • 817306b1ad fix(gateway): show the login when the token is rejected ayn2op 2026-10-12 12:37:43 -04:00
  • 4534f130b3 fix(messageslist): open only http and https links ayn2op 2026-10-12 12:24:42 -04:00
  • 6465a1c5f2 feat: play voice messages ayn2op 2026-10-11 23:47:04 -04:00
  • 95f247def8 feat(config): select up and down with the arrow keys ayn2op 2026-10-11 18:58:34 -04:00
  • e57542c44c ci: install an arm64 C compiler on windows-11-arm and merge the test steps ayn2op 2026-10-11 18:35:26 -04:00
  • d0f53d0722 feat: implement voice support ayn2op 2026-10-11 16:39:22 -04:00
  • be53bfd21a build(deps): upgrade deps to latest ayn2op 2026-10-11 13:36:41 -04:00
  • 688cb05f67 refactor(ui): move help keybinds to keymap.go ayn2op 2026-10-09 18:29:39 -04:00
  • 2e6fa88608 fix(ui): hide the tree's up and down keybinds at its ends ayn2op 2026-10-09 18:29:39 -04:00
  • 6449f7d470 refactor(ui): scroll the trees and lists with a viewport ayn2op 2026-10-08 19:01:30 -04:00
  • 715ed5aaeb feat(config): add keybinds to scroll the trees ayn2op 2026-10-08 15:03:48 -04:00
  • 84835018c9
    feat(config): generate docs/config.md from the config structs (#842) ayn2op 2026-10-07 18:06:07 -04:00
  • 534c4e3c64 refactor(config)!: move non-style theme options to [ui] ayn2op 2026-10-07 15:37:03 -04:00
  • 37cd42c811 build: bump client build number ayn2op 2026-10-06 18:45:05 -04:00
  • d7e1077392 refactor(composer): derive whether the mentions list is shown from its items and the focus ayn2op 2026-10-06 17:36:36 -04:00
  • 0dc3f21501 refactor(ui): give command methods value receivers ayn2op 2026-10-06 16:55:51 -04:00
  • c3cb114e22 refactor(ui): merge each model's update into Update ayn2op 2026-10-06 15:42:47 -04:00
  • c8b024eb0e fix(messageslist): fetch older messages once as the cursor reaches the top ayn2op 2026-10-06 15:30:32 -04:00
  • fca6ea5c1d test(qr): wait for the client to close after the gateway cancels ayn2op 2026-10-04 23:55:16 -04:00
  • c947abdf0e feat(messageslist): load previews at the terminal's cell size ayn2op 2026-10-04 18:50:20 -04:00
  • d1867ee14c refactor(messageslist): pass the render width as a parameter ayn2op 2026-10-04 15:43:48 -04:00
  • a94a791174 refactor(messageslist): read a separator's date from the next message ayn2op 2026-10-04 15:43:28 -04:00
  • 94ae1f277c refactor(qr): render the code in the view ayn2op 2026-10-04 15:43:10 -04:00
  • b41a7594ea refactor(composer): derive the placeholder in the view ayn2op 2026-10-04 15:42:54 -04:00
  • 757655ce3b refactor(messageslist): build the scroll bar in the view ayn2op 2026-10-04 15:42:33 -04:00
  • 39ef4c93cc refactor(messageslist): track end with the list builder ayn2op 2026-10-04 00:50:50 -04:00
  • f9bb10d846 refactor(ui): update to tview's Widget and help style builders ayn2op 2026-10-03 23:28:31 -04:00
  • f7180f8767 feat(guildstree): select the previous or next unread guild or channel ayn2op 2026-10-03 14:45:12 -04:00
  • 0b68476086 fix(messageslist): keep the scroll position when the selection is cleared ayn2op 2026-10-03 14:22:18 -04:00
  • 1e42e7783d feat(mentionslist): configure the selected style with [theme.mentions_list] ayn2op 2026-10-02 15:34:44 -04:00
  • 1604231f6d refactor(ui): update to tview's ActionNone keybinds ayn2op 2026-10-02 15:33:03 -04:00
  • dae8467a58 fix(messageslist): do not style the space after the author name ayn2op 2026-10-02 00:26:22 -04:00
  • 8acb19a2ff build: upgrade tview to latest ayn2op 2026-10-01 23:39:46 -04:00
  • 25c3aff301 refactor(ui): update to tview's scroll bar symbols ayn2op 2026-10-01 23:19:50 -04:00
  • 39c803eef9 refactor(config): drop the unicode scroll bar glyph set ayn2op 2026-10-01 22:58:48 -04:00
  • 31c5d185ca refactor(ui): update to tview's layout package and Element methods ayn2op 2026-10-01 22:45:52 -04:00
  • 5ee830bfaa build(deps): update to latest ayn2op 2026-10-01 15:00:13 -04:00
  • cf06327e01 perf(messageslist): append a new message without rebuilding the items ayn2op 2026-10-01 14:16:52 -04:00
  • dd2e690c34 feat(login): configure tabs with [ui.tabs] ayn2op 2026-09-30 19:39:58 -04:00
  • 837e615d1a fix(composer): expand every mention around code spans ayn2op 2026-09-30 18:05:11 -04:00
  • 91c0ee1a97 refactor(messageslist): write the pinned notice in one call ayn2op 2026-09-30 17:51:12 -04:00
  • 4d4b6289ee refactor(messageslist): drop redundant reply comments ayn2op 2026-09-30 17:51:03 -04:00
  • 54e7aabb68 refactor(messageslist): drop redundant empty check in selectedMessage ayn2op 2026-09-30 17:50:37 -04:00
  • a205c17854 refactor(messageslist): build prefixed embed lines inline ayn2op 2026-09-30 17:49:52 -04:00
  • 467af33b01 refactor(messageslist): add embed fields without a switch ayn2op 2026-09-30 17:49:45 -04:00
  • 02ca5019c7 refactor(config): share the tree status style ayn2op 2026-09-30 17:32:55 -04:00
  • 32aed22618 refactor(chat): log raw events inline ayn2op 2026-09-30 17:32:00 -04:00