@chojs23/concord 2.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,1036 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [2.1.11] - 2026-06-07
6
+
7
+ ### Features
8
+
9
+ - Add version flag by @chojs23
10
+
11
+ ### Miscellaneous Tasks
12
+
13
+ - Add npm installer (#165) in [#165](https://github.com/chojs23/concord/pull/165) by @chojs23
14
+
15
+ ## [2.1.10] - 2026-06-06
16
+
17
+ ### Bug Fixes
18
+
19
+ - Show macOS notifications on terminals that don't set TERM_PROGRAM set (#160) in [#160](https://github.com/chojs23/concord/pull/160) by @cultlead3r
20
+ - Fix slash command invocation to preserve selected command identity (#162) in [#162](https://github.com/chojs23/concord/pull/162) by @chojs23
21
+ - Highlight TypeScript code fences as JavaScript by @chojs23
22
+
23
+ ### Features
24
+
25
+ - Add syntax highlighting (#158) in [#158](https://github.com/chojs23/concord/pull/158) by @ToborWinner
26
+ - Use pure rust syntect backend by @chojs23
27
+ - Add profile configuration (#163) in [#163](https://github.com/chojs23/concord/pull/163) by @chojs23
28
+
29
+ ### New Contributors
30
+
31
+ - @cultlead3r made their first contribution in [#160](https://github.com/chojs23/concord/pull/160)
32
+
33
+ ## [2.1.9] - 2026-06-03
34
+
35
+ ### Bug Fixes
36
+
37
+ - Force image protocol refresh after popup overlay changes (#154) in [#154](https://github.com/chojs23/concord/pull/154) by @chojs23
38
+ - Prevent half-page message scroll from skipping content (#155) in [#155](https://github.com/chojs23/concord/pull/155) by @chojs23
39
+
40
+ ### Documentation
41
+
42
+ - Update readme by @chojs23
43
+
44
+ ### Features
45
+
46
+ - Load newer message when message cache has gap (#153) in [#153](https://github.com/chojs23/concord/pull/153) by @chojs23
47
+ - Reconnect (#156) in [#156](https://github.com/chojs23/concord/pull/156) by @chojs23
48
+
49
+ ### Refactor
50
+
51
+ - Unify notification audio playback by @chojs23
52
+
53
+ ## [2.1.8] - 2026-06-01
54
+
55
+ ### Bug Fixes
56
+
57
+ - Remove macos notification fallback by @chojs23
58
+
59
+ ### Features
60
+
61
+ - Add emojis as links (#144) in [#144](https://github.com/chojs23/concord/pull/144) by @van-nessing
62
+ - Add Nitro-aware custom emoji handling by @chojs23
63
+ - Added option for notification icon (#148) in [#148](https://github.com/chojs23/concord/pull/148) by @ToborWinner
64
+ - Add composer option and move emoji_as_link to composer option by @chojs23
65
+
66
+ ### New Contributors
67
+
68
+ - @ToborWinner made their first contribution in [#148](https://github.com/chojs23/concord/pull/148)
69
+ - @van-nessing made their first contribution in [#144](https://github.com/chojs23/concord/pull/144)
70
+
71
+ ## [2.1.7] - 2026-05-29
72
+
73
+ ### Bug Fixes
74
+
75
+ - Fix fenced code block rendering for pasted multi-block messages by @chojs23
76
+ - Fix owner/admin delete permission being mistaken for unknown state by @chojs23
77
+
78
+ ### Features
79
+
80
+ - Add Discord message/member search (#141) in [#141](https://github.com/chojs23/concord/pull/141) by @chojs23
81
+
82
+ ## [2.1.6] - 2026-05-29
83
+
84
+ ### Bug Fixes
85
+
86
+ - _(voice)_ Isolate audio path on a dedicated runtime and pace sends off the mic clock (#138) in [#138](https://github.com/chojs23/concord/pull/138) by @ibarrick
87
+ - _(voice)_ Make audio transmit shutdown and pacing robust by @chojs23
88
+
89
+ ### Features
90
+
91
+ - Add configurable real voice join and leave notification sounds (#139) in [#139](https://github.com/chojs23/concord/pull/139) by @chojs23
92
+
93
+ ## [2.1.5] - 2026-05-28
94
+
95
+ ### Bug Fixes
96
+
97
+ - Schedule read ack when catching up to latest messages by @chojs23
98
+
99
+ ### Documentation
100
+
101
+ - Clarify keymap action names warning in README by @chojs23
102
+ - Document scoped pane action shortcuts as single-key only by @chojs23
103
+
104
+ ### Features
105
+
106
+ - Add zoom feature for images and adjust sizing logic for images in popout window (#133) in [#133](https://github.com/chojs23/concord/pull/133) by @ibarrick
107
+ - Allow leaving of server (#129) in [#129](https://github.com/chojs23/concord/pull/129) by @nexxai
108
+ - Add goto key group by @chojs23
109
+ - Message action keymap by @chojs23
110
+
111
+ ### Refactor
112
+
113
+ - Use generic popup by @chojs23
114
+ - Group tui runtime plumbing by @chojs23
115
+
116
+ ### New Contributors
117
+
118
+ - @ibarrick made their first contribution in [#133](https://github.com/chojs23/concord/pull/133)
119
+
120
+ ## [2.1.4] - 2026-05-26
121
+
122
+ ### Bug Fixes
123
+
124
+ - Add dependencies for cargo publish by @chojs23
125
+
126
+ ### Features
127
+
128
+ - Update keymaps by @chojs23
129
+ - Show keymap help with active shortcut labels by @chojs23
130
+
131
+ ## [2.1.3] - 2026-05-26
132
+
133
+ ### Bug Fixes
134
+
135
+ - Enable voice playback by default by @chojs23
136
+
137
+ ### Documentation
138
+
139
+ - Update README by @chojs23
140
+
141
+ ## [2.1.2] - 2026-05-25
142
+
143
+ ### Bug Fixes
144
+
145
+ - Mark threads created by the current user as joined by @chojs23
146
+
147
+ ### Features
148
+
149
+ - Support pane resize keybinding by @chojs23
150
+ - Guild role by @chojs23
151
+ - Handle chnnel pins update event by @chojs23
152
+ - Add reaction shortcut for selected messages (#127) in [#127](https://github.com/chojs23/concord/pull/127) by @chojs23
153
+ - Handle discord gateway connection error by @chojs23
154
+
155
+ ### Miscellaneous Tasks
156
+
157
+ - Add paths-ignore to ci workflow by @chojs23
158
+
159
+ ## [2.1.1] - 2026-05-25
160
+
161
+ ### Bug Fixes
162
+
163
+ - Fix expensive channel sidebar build by grouping joined threads once by @chojs23
164
+
165
+ ### Documentation
166
+
167
+ - Update readme for keymap example by @chojs23
168
+ - Update readme for powershell installer by @chojs23
169
+
170
+ ### Refactor
171
+
172
+ - Fixture builders by @chojs23
173
+
174
+ ## [2.1.0] - 2026-05-24
175
+
176
+ ### Bug Fixes
177
+
178
+ - Fix clippy build errors by @chojs23
179
+ - Fix non-Linux voice playback release builds by @chojs23
180
+ - URL picker from message action menu and preserve case-sensitive action shortcuts by @chojs23
181
+ - Allow key modifier for action shortcut by @chojs23
182
+ - Handle thread chnnel update events by @chojs23
183
+
184
+ ### Documentation
185
+
186
+ - Update readme by @chojs23
187
+
188
+ ### Features
189
+
190
+ - Keymap customization (#126) in [#126](https://github.com/chojs23/concord/pull/126) by @chojs23
191
+ - Support custom composer keymaps by @chojs23
192
+ - Subcommand picker by @chojs23
193
+ - Message pane actions by @chojs23
194
+ - Add quit command by @chojs23
195
+ - Add attachment viewer by @chojs23
196
+
197
+ ### Miscellaneous Tasks
198
+
199
+ - Release cache warm by @chojs23
200
+
201
+ ### Refactor
202
+
203
+ - Split Discord event payload types by @chojs23
204
+ - Move Discord module tests out of large files by @chojs23
205
+ - Move facade tests into child modules by @chojs23
206
+ - Split tui ui tests by @chojs23
207
+
208
+ ## [2.0.7] - 2026-05-22
209
+
210
+ ### Bug Fixes
211
+
212
+ - Avoid report all keys as escape code by @chojs23
213
+ - Improve clipboard paste priority by @chojs23
214
+ - Fix stale MESSAGE_ACK from reopening unread state (#119) in [#119](https://github.com/chojs23/concord/pull/119) by @chojs23
215
+ - _(tui)_ Keep guild filter pane width stable by @chojs23
216
+ - Fix forum preview message by @chojs23
217
+
218
+ ### Documentation
219
+
220
+ - Update keybinding docs by @chojs23
221
+
222
+ ### Features
223
+
224
+ - Add optional circular avatar masking (#121) in [#121](https://github.com/chojs23/concord/pull/121) by @StaszeKrk
225
+
226
+ ### Refactor
227
+
228
+ - Refactor repeated test DTO by @chojs23
229
+ - Move tui state to client backend by @chojs23
230
+ - Move TUI backend request handling into Discord client by @chojs23
231
+
232
+ ### New Contributors
233
+
234
+ - @StaszeKrk made their first contribution in [#121](https://github.com/chojs23/concord/pull/121)
235
+ - @CX330Blake made their first contribution in [#117](https://github.com/chojs23/concord/pull/117)
236
+
237
+ ## [2.0.6] - 2026-05-21
238
+
239
+ ### Bug Fixes
240
+
241
+ - Fix slash command guild scope payload by @chojs23
242
+
243
+ ### Features
244
+
245
+ - Better server/channel collapsing (#105) in [#105](https://github.com/chojs23/concord/pull/105) by @nexxai
246
+ - Support slash commands (#90) in [#90](https://github.com/chojs23/concord/pull/90) by @nexxai
247
+
248
+ ### Performance
249
+
250
+ - _(tui)_ Suppress image redraws for sidebar updates by @chojs23
251
+
252
+ ### Refactor
253
+
254
+ - Group DashboardState internals into substates by @chojs23
255
+ - Split tui state test module by @chojs23
256
+
257
+ ## [2.0.5] - 2026-05-20
258
+
259
+ ### Documentation
260
+
261
+ - Update composer keybinding docs by @chojs23
262
+
263
+ ### Features
264
+
265
+ - Handle MessageDeleteBulk event by @chojs23
266
+ - Add clipboard image paste (#114) in [#114](https://github.com/chojs23/concord/pull/114) by @chojs23
267
+ - Include embed URLs in open url picker (#115) in [#115](https://github.com/chojs23/concord/pull/115) by @chojs23
268
+
269
+ ## [2.0.4] - 2026-05-20
270
+
271
+ ### Bug Fixes
272
+
273
+ - _(tui)_ Detect URLs in reply quotes and forwarded messages (#107) in [#107](https://github.com/chojs23/concord/pull/107) by @SAY-5
274
+ - Use transient typing display names for TYPING_START by @chojs23
275
+ - Clear typing indicator when a typer sends a message by @chojs23
276
+ - Composer newline fallbacks (#112) in [#112](https://github.com/chojs23/concord/pull/112) by @chojs23
277
+ - Fix bold italic markdown rendering (#113) in [#113](https://github.com/chojs23/concord/pull/113) by @chojs23
278
+
279
+ ### Documentation
280
+
281
+ - Require related issues for pr by @chojs23
282
+ - Update readme by @chojs23
283
+
284
+ ### Features
285
+
286
+ - Add mute,deafen state on header by @chojs23
287
+ - Add ctrl+w composer word deletion by @chojs23
288
+
289
+ ### Performance
290
+
291
+ - _(tui)_ Improve member sidebar loading and rendering by @chojs23
292
+
293
+ ### New Contributors
294
+
295
+ - @SAY-5 made their first contribution in [#107](https://github.com/chojs23/concord/pull/107)
296
+
297
+ ## [2.0.3] - 2026-05-19
298
+
299
+ ### Bug Fixes
300
+
301
+ - Stop auto-fetching visible user profiles by @chojs23
302
+ - Use gateway for fetch message authors info by @chojs23
303
+ - Dedupe message author member hydration by @chojs23
304
+ - Load pinned messages on demand by @chojs23
305
+ - Debounce member list subscriptions by @chojs23
306
+ - Fix forum preview author hydration through gateway by @chojs23
307
+ - Dedupe gateway channel subscriptions by @chojs23
308
+ - Cap reaction user pagination by @chojs23
309
+ - Dedupe duplicate voice state updates by @chojs23
310
+ - Op37 subscription dedupe reset by @chojs23
311
+
312
+ ### Documentation
313
+
314
+ - Update changelog by @chojs23
315
+
316
+ ### Features
317
+
318
+ - Change composer Ctrl+Backspace to delete words and Delete to remove attachments by @chojs23
319
+
320
+ ### Miscellaneous Tasks
321
+
322
+ - Format by @chojs23
323
+
324
+ ## [2.0.2] - 2026-05-19
325
+
326
+ ### Bug Fixes
327
+
328
+ - Secure URL opening from messages by @chojs23
329
+ - Fix composer draft clearing on mouse focus change (#100) in [#100](https://github.com/chojs23/concord/pull/100) by @chojs23
330
+
331
+ ### Features
332
+
333
+ - Add support for detecting links in messages and opening them in the default browser (#86) in [#86](https://github.com/chojs23/concord/pull/86) by @nexxai
334
+ - Focus next pane after selection (#102) in [#102](https://github.com/chojs23/concord/pull/102) by @chojs23
335
+ - Add query-based guild member search for mention autocomplete (#103) in [#103](https://github.com/chojs23/concord/pull/103) by @chojs23
336
+ - Improve channel switcher ranking and recents by @chojs23
337
+
338
+ ### Performance
339
+
340
+ - Reduce Discord snapshot churn by @chojs23
341
+ - Reduce TUI redraw allocations by @chojs23
342
+ - Cache channel switcher items while open by @chojs23
343
+
344
+ ## [2.0.1] - 2026-05-18
345
+
346
+ ### Bug Fixes
347
+
348
+ - _(voice)_ Reduce microphone tearing during transmit (#96) in [#96](https://github.com/chojs23/concord/pull/96) by @chojs23
349
+
350
+ ### Features
351
+
352
+ - Centralize app key handling and shortcut labels (#89) in [#89](https://github.com/chojs23/concord/pull/89) by @chojs23
353
+
354
+ ### Miscellaneous Tasks
355
+
356
+ - Add system Opus to Nix build inputs by @chojs23
357
+ - Enable voice-playback for nix build by @chojs23
358
+ - Add Twilight attribution for Discord IDs (#95) by @chojs23
359
+
360
+ ## [2.0.0] - 2026-05-17
361
+
362
+ ### Bug Fixes
363
+
364
+ - Reconnect voice gateway after unexpected disconnect by @chojs23
365
+ - Mute voice playback while deafened by @chojs23
366
+ - Ignore silent RTP for remote speaking by @chojs23
367
+ - Show local speaking while alone in voice by @chojs23
368
+ - Keep local speaking visible during redraw debounce by @chojs23
369
+ - Show local mic activity before transmit confirmation by @chojs23
370
+ - Move composer cursor vertically (#82) in [#82](https://github.com/chojs23/concord/pull/82) by @chojs23
371
+ - Prefer text for native clipboard paste by @chojs23
372
+ - Stabilize voice sound (#84) in [#84](https://github.com/chojs23/concord/pull/84) by @chojs23
373
+ - Fix speaking state by @chojs23
374
+
375
+ ### Documentation
376
+
377
+ - Update readme by @chojs23
378
+
379
+ ### Features
380
+
381
+ - Join/Leave voice channel by @chojs23
382
+ - Add voice shutdown cleanup and active voice UI indicators by @chojs23
383
+ - Show voice connection status by @chojs23
384
+ - Add voice websocket connection by @chojs23
385
+ - Add DAVE signaling prototype using davey by @chojs23
386
+ - Add voice gateway lifecycle status reporting and cleanup hardening by @chojs23
387
+ - Add DAVE media-frame unwrap after RTP transport decrypt by @chojs23
388
+ - Add receive-only Opus decode worker by @chojs23
389
+ - Add optional feature-gated Discord voice playback backend by @chojs23
390
+ - Capture ALSA diagnostics into Concord logs by @chojs23
391
+ - Support u8 stream output by @chojs23
392
+ - Add local microphone transmit by @chojs23
393
+ - Gated capture-only microphone by @chojs23
394
+ - Resampling by @chojs23
395
+ - Highlight active voice speakers by @chojs23
396
+ - Active speaker state by @chojs23
397
+ - Add microphone sensitivity option by @chojs23
398
+ - Mic sensitivity by @chojs23
399
+ - Add voice channel join and leave sounds by @chojs23
400
+ - Add volume config and shortcut for voice action by @chojs23
401
+ - Voice chat (#78) in [#78](https://github.com/chojs23/concord/pull/78) by @chojs23
402
+ - Better clipboard (#81) by @chojs23
403
+
404
+ ### Miscellaneous Tasks
405
+
406
+ - Remove performance measurement logs by @chojs23
407
+ - Add debug log for voice websocket by @chojs23
408
+ - Treat DaveOutboundNotReady as transient DAVE setup log noise when microphone transmit works by @chojs23
409
+ - Clippy by @chojs23
410
+
411
+ ### Performance
412
+
413
+ - Reduce microphone transmit latency by dropping stale PCM frames by @chojs23
414
+
415
+ ### Revert
416
+
417
+ - Remove redundant local speaking fallback fixes by @chojs23
418
+ - Clipboard (#83) in [#83](https://github.com/chojs23/concord/pull/83) by @chojs23
419
+
420
+ ## [1.4.2] - 2026-05-16
421
+
422
+ ### Bug Fixes
423
+
424
+ - _(search)_ Improve fuzzy search logic (#74) in [#74](https://github.com/chojs23/concord/pull/74) by @80avin
425
+
426
+ ### Miscellaneous Tasks
427
+
428
+ - Remove temp diagnostic by @chojs23
429
+
430
+ ### Performance
431
+
432
+ - Cache avatar render protocols by clipping and size to avoid per-frame re-encoding by @chojs23
433
+ - Cache message content row metrics to reduce repeated per-frame formatting by @chojs23
434
+ - Reduce channel upsert UI repair work by @chojs23
435
+
436
+ ### New Contributors
437
+
438
+ - @80avin made their first contribution in [#74](https://github.com/chojs23/concord/pull/74)
439
+
440
+ ## [1.4.1] - 2026-05-15
441
+
442
+ ### Bug Fixes
443
+
444
+ - Hydrate new forum post previews and make forum unread/read behavior match normal channels by @chojs23
445
+
446
+ ### Documentation
447
+
448
+ - Update readme by @chojs23
449
+ - Add markdown example image by @chojs23
450
+
451
+ ### Features
452
+
453
+ - Add already reacted emojis to top of picker list (attempt #2) (#64) in [#64](https://github.com/chojs23/concord/pull/64) by @nexxai
454
+ - Minimal markdown support by @chojs23
455
+ - Render voice channel participations by @chojs23
456
+ - Show live indicator for streaming voice participants by @chojs23
457
+
458
+ ### Miscellaneous Tasks
459
+
460
+ - Add some comment for constants by @chojs23
461
+
462
+ ### Performance
463
+
464
+ - Bound discord caches and split snapshot into selective areas by @chojs23
465
+
466
+ ### Refactor
467
+
468
+ - Split DiscordState tests by @chojs23
469
+
470
+ ## [1.4.0] - 2026-05-14
471
+
472
+ ### Bug Fixes
473
+
474
+ - Update channel pane search and server header behavior by @chojs23
475
+ - Use XDG_CONFIG_HOME env for mac by @chojs23
476
+ - Usernames (#60) in [#60](https://github.com/chojs23/concord/pull/60) by @lisk77
477
+ - Fix visible member profile requests to follow rendered member rows by @chojs23
478
+ - Fix member pane emoji width overflow by @chojs23
479
+ - Keep timestamp-only embeds by @chojs23
480
+ - Preserve embed markdown details by @chojs23
481
+ - Remove r key reaction shortcut by @chojs23
482
+ - Modify image viewer size and allign image centered by @chojs23
483
+ - Clarify composer edit and reply modes by @chojs23
484
+ - Fix channel pane mouse row offset after guild header by @chojs23
485
+ - Align message action menu shortcuts with message pane shortcuts by @chojs23
486
+
487
+ ### Documentation
488
+
489
+ - Update readme for message shortcut by @chojs23
490
+
491
+ ### Features
492
+
493
+ - Expanding support for embedded content (#65) in [#65](https://github.com/chojs23/concord/pull/65) by @nexxai
494
+ - Add toast alarm by @chojs23
495
+
496
+ ### Refactor
497
+
498
+ - Centralize display-name by @chojs23
499
+ - Remove configurable keybindings (#71) in [#71](https://github.com/chojs23/concord/pull/71) by @chojs23
500
+ - Remove redundant preview preset by @chojs23
501
+ - Refactor keyboard shortcuts by @chojs23
502
+
503
+ ### New Contributors
504
+
505
+ - @SeniorMars made their first contribution in [#57](https://github.com/chojs23/concord/pull/57)
506
+
507
+ ## [1.3.3] - 2026-05-13
508
+
509
+ ### Bug Fixes
510
+
511
+ - Align composer cursor with manual text wrapping (#50) in [#50](https://github.com/chojs23/concord/pull/50) by @AnalogCyan
512
+ - Fix composer multiline height wrapping to match rendered prefixes by @chojs23
513
+ - Message action menu mouse hitbox geometry by @chojs23
514
+
515
+ ### Features
516
+
517
+ - Group messages based on sender (#56) in [#56](https://github.com/chojs23/concord/pull/56) by @nexxai
518
+ - Composer draft preservation (#61) in [#61](https://github.com/chojs23/concord/pull/61) by @chojs23
519
+ - Add Discord permission gates for message moderation actions (#62) in [#62](https://github.com/chojs23/concord/pull/62) by @chojs23
520
+ - Image viewer key helper by @chojs23
521
+ - Make message rows with larger avatars and stable selected grouped timestamps (#63) by @chojs23
522
+
523
+ ### Refactor
524
+
525
+ - Refactor message row layout into modules and shared metrics by @chojs23
526
+ - Move forum-post viewport helpers by @chojs23
527
+ - Split discord state domain by @chojs23
528
+ - Split tui modules by @chojs23
529
+ - Gateway parser and TUI popup modules by @chojs23
530
+
531
+ ### New Contributors
532
+
533
+ - @AnalogCyan made their first contribution in [#50](https://github.com/chojs23/concord/pull/50)
534
+
535
+ ## [1.3.2] - 2026-05-12
536
+
537
+ ### Bug Fixes
538
+
539
+ - Activity emojis (#28) in [#28](https://github.com/chojs23/concord/pull/28) by @lisk77
540
+ - Align cursor position with newline-aware composer display (#45) in [#45](https://github.com/chojs23/concord/pull/45) by @kimjune01
541
+ - Fix reply edit state and complete reply attachment actions by @chojs23
542
+ - Reuse member presence marker for DM channel status dots by @chojs23
543
+ - Decoupe per-user note fetch from profile warm up by @chojs23
544
+ - Remove cached Discord state persistence (#52) in [#52](https://github.com/chojs23/concord/pull/52) by @chojs23
545
+
546
+ ### Features
547
+
548
+ - Remove footer and last status by @chojs23
549
+ - Loading indicator by @chojs23
550
+ - Show offline members with an empty circle presence marker by @chojs23
551
+ - Surface unread channels and server-name search in channel switcher by @chojs23
552
+
553
+ ### Miscellaneous Tasks
554
+
555
+ - Use git-cliff for changelog by @chojs23
556
+ - Add clippy check by @chojs23
557
+ - Clean up comments and simplify required context by @chojs23
558
+
559
+ ### Refactor
560
+
561
+ - _(tui)_ Remove footer and popup hints (#43) in [#43](https://github.com/chojs23/concord/pull/43) by @chojs23
562
+ - Refactor activity rendering with typed ActivityRender struct (#44) in [#44](https://github.com/chojs23/concord/pull/44) by @chojs23
563
+ - Change broken dash by @chojs23
564
+
565
+ ### Refacotr
566
+
567
+ - Rename leader action state and add context-specific action titles by @chojs23
568
+
569
+ ### New Contributors
570
+
571
+ - @amiralimollaei made their first contribution in [#49](https://github.com/chojs23/concord/pull/49)
572
+ - @kimjune01 made their first contribution in [#45](https://github.com/chojs23/concord/pull/45)
573
+
574
+ ## [1.3.1] - 2026-05-11
575
+
576
+ ### Bug Fixes
577
+
578
+ - Fix test cache leakage (#31) in [#31](https://github.com/chojs23/concord/pull/31) by @chojs23
579
+ - Discord Gateway startup failure (#36) in [#36](https://github.com/chojs23/concord/pull/36) by @chojs23
580
+ - Fix muted channels contributing to server unread badges (#37) in [#37](https://github.com/chojs23/concord/pull/37) by @chojs23
581
+
582
+ ### Documentation
583
+
584
+ - Update readme by @chojs23
585
+
586
+ ### Features
587
+
588
+ - Add server mark-as-read & active channel ack debounce by @chojs23
589
+ - Display online and member count (#16) in [#16](https://github.com/chojs23/concord/pull/16) by @lisk77
590
+ - Prefs persistence (#25) in [#25](https://github.com/chojs23/concord/pull/25) by @TobyBridle
591
+ - Support muting channels and servers via actions (#26) in [#26](https://github.com/chojs23/concord/pull/26) by @nexxai
592
+ - Support all emojis for reactions (#30) in [#30](https://github.com/chojs23/concord/pull/30) by @nexxai
593
+ - Add emoji picker and autocomplete in composer (#34) in [#34](https://github.com/chojs23/concord/pull/34) by @chojs23
594
+
595
+ ### Miscellaneous Tasks
596
+
597
+ - Remove cache warm by @chojs23
598
+
599
+ ### Refactor
600
+
601
+ - Refactor quick reaction emoji labels to use emojis crate (#32) in [#32](https://github.com/chojs23/concord/pull/32) by @chojs23
602
+ - Remove dead test by @chojs23
603
+
604
+ ## [1.3.0] - 2026-05-10
605
+
606
+ ### Bug Fixes
607
+
608
+ - Prevent scrolling past last message (#12) in [#12](https://github.com/chojs23/concord/pull/12) by @lisk77
609
+ - Display of self mutuals (#14) in [#14](https://github.com/chojs23/concord/pull/14) by @lisk77
610
+
611
+ ### Documentation
612
+
613
+ - Update README.md by @chojs23
614
+
615
+ ### Features
616
+
617
+ - Support resizing panes (#18) in [#18](https://github.com/chojs23/concord/pull/18) by @nexxai
618
+ - _(composer)_ Add CTRL+Left, CTRL+Right word skip (#15) in [#15](https://github.com/chojs23/concord/pull/15) by @TobyBridle
619
+ - Add search to reaction picker + allow toggling of reactions (#19) in [#19](https://github.com/chojs23/concord/pull/19) by @nexxai
620
+ - Add fuzzy score helper (#21) in [#21](https://github.com/chojs23/concord/pull/21) by @chojs23
621
+ - Typo tolerant fuzzy (#22) in [#22](https://github.com/chojs23/concord/pull/22) by @chojs23
622
+
623
+ ### Refactor
624
+
625
+ - _(composer)_ Use char-safe word boundary helpers (#20) in [#20](https://github.com/chojs23/concord/pull/20) by @chojs23
626
+ - Store app files under $XDG_CONFIG_HOME/concord (#23) in [#23](https://github.com/chojs23/concord/pull/23) by @chojs23
627
+
628
+ ### New Contributors
629
+
630
+ - @lisk77 made their first contribution in [#14](https://github.com/chojs23/concord/pull/14)
631
+ - @nexxai made their first contribution in [#19](https://github.com/chojs23/concord/pull/19)
632
+ - @TobyBridle made their first contribution in [#15](https://github.com/chojs23/concord/pull/15)
633
+
634
+ ## [1.2.0] - 2026-05-09
635
+
636
+ ### Documentation
637
+
638
+ - Update readme for upload attachment by @chojs23
639
+ - Remove some composer key usage by @chojs23
640
+
641
+ ### Features
642
+
643
+ - Add leader by @chojs23
644
+ - Search channel with fuzzy by @chojs23
645
+ - Add new version available notice at header by @chojs23
646
+
647
+ ### Miscellaneous Tasks
648
+
649
+ - Allign Release build toolchain with CI chace warmer by @chojs23
650
+
651
+ ### Refactor
652
+
653
+ - Move options key to leader by @chojs23
654
+
655
+ ## [1.1.2] - 2026-05-09
656
+
657
+ ### Bug Fixes
658
+
659
+ - Redraw visible unread sidebar updates during image rendering by @chojs23
660
+ - Active-channel auto-ack by @chojs23
661
+
662
+ ### Features
663
+
664
+ - Multipart file upload (#8) in [#8](https://github.com/chojs23/concord/pull/8) by @chojs23
665
+
666
+ ### Miscellaneous Tasks
667
+
668
+ - Tighten dist profile with full LTO, single codegen unit, and strip by @chojs23
669
+
670
+ ### Tests
671
+
672
+ - Consolidate redundant split tests by @chojs23
673
+
674
+ ### Cd
675
+
676
+ - Protect release by @chojs23
677
+ - Improve build caching by @chojs23
678
+
679
+ ## [1.1.1] - 2026-05-09
680
+
681
+ ### Bug Fixes
682
+
683
+ - _(flake)_ Use crane (#4) in [#4](https://github.com/chojs23/concord/pull/4) by @M4jor-Tom
684
+ - Keep original image width:height ratio (#6) in [#6](https://github.com/chojs23/concord/pull/6) by @chojs23
685
+
686
+ ### Documentation
687
+
688
+ - Add CONTRIBUTING.md by @chojs23
689
+ - Update readme by @chojs23
690
+ - Update readme by @chojs23
691
+
692
+ ### Features
693
+
694
+ - Add terminal notification (#5) in [#5](https://github.com/chojs23/concord/pull/5) by @chojs23
695
+
696
+ ### Miscellaneous Tasks
697
+
698
+ - Enable generated github release notes by @chojs23
699
+
700
+ ### Cd
701
+
702
+ - Chain crates publish after release by @chojs23
703
+
704
+ ### New Contributors
705
+
706
+ - @M4jor-Tom made their first contribution in [#4](https://github.com/chojs23/concord/pull/4)
707
+
708
+ ## [1.0.3] - 2026-05-08
709
+
710
+ ### Bug Fixes
711
+
712
+ - Install rustls ring provider by @chojs23
713
+ - Surface user-account READY via raw JSON fallback and silence twilight deserialize errors by @chojs23
714
+ - Expand user-account fallback parser to cover guild, channel, message, and member events by @chojs23
715
+ - Make server folder toggles reliable by @chojs23
716
+ - Send raw user token for REST requests by @chojs23
717
+ - Start dashboard without message selection by @chojs23
718
+ - Wait for channel selection before showing messages by @chojs23
719
+ - Keep pane scrolling state-owned by @chojs23
720
+ - Align scroll height with pane content by @chojs23
721
+ - Keep startup channel pane inactive by @chojs23
722
+ - Preserve channel cursor across DM sorting by @chojs23
723
+ - Retry failed message history loads by @chojs23
724
+ - Require selected channel before composing by @chojs23
725
+ - Use text color for active selections by @chojs23
726
+ - Enable modified key reporting by @chojs23
727
+ - Keep proxy-only attachment URLs by @chojs23
728
+ - Disable attachment open shortcut by @chojs23
729
+ - Render image messages inline by @chojs23
730
+ - Render previews while scrolling by @chojs23
731
+ - Preview all visible images by @chojs23
732
+ - Keep image previews anchored by @chojs23
733
+ - Keep preview scrolling row-aware by @chojs23
734
+ - Dispatch image preview requests by @chojs23
735
+ - Scale image preview height by @chojs23
736
+ - Reduce wide preview spacing by @chojs23
737
+ - Avoid upscaling small previews by @chojs23
738
+ - Keep preview items within scroll bounds by @chojs23
739
+ - Preserve image previews in scrolloff by @chojs23
740
+ - Render clipped image previews by @chojs23
741
+ - Classify video attachments separately by @chojs23
742
+ - Skip videos in image preview layout by @chojs23
743
+ - Label video attachments in messages by @chojs23
744
+ - Handle QR captcha without browser fallback by @chojs23
745
+ - Align forwarded image preview targets by @chojs23
746
+ - Dim forwarded metadata line by @chojs23
747
+ - Separate reply preview author by @chojs23
748
+ - Label unsupported message types by @chojs23
749
+ - Filter message actions by subtype by @chojs23
750
+ - Remove poll results action by @chojs23
751
+ - Remove unavailable poll vote action by @chojs23
752
+ - Preserve newest messages during pagination by @chojs23
753
+ - Hide overflowing image previews by @chojs23
754
+ - Wrap message content lines by @chojs23
755
+ - Use display width for message wrapping by @chojs23
756
+ - Scroll messages by rendered line by @chojs23
757
+ - Clamp message scroll by rendered rows by @chojs23
758
+ - Separate message selection and viewport scroll by @chojs23
759
+ - Avoid message selection overflow by @chojs23
760
+ - Text clipping by @chojs23
761
+ - Use guild aliases for message authors by @chojs23
762
+ - Clip message rows by display width by @chojs23
763
+ - Remove some unnecessary env by @chojs23
764
+ - Use concord logging settings by @chojs23
765
+ - Use concord credential path by @chojs23
766
+ - Bottom align initial message viewport by @chojs23
767
+ - Hide avatar placeholder on message content rows by @chojs23
768
+ - Keep message highlight out of avatar column by @chojs23
769
+ - Remove bold from selection highlight by @chojs23
770
+ - Show message times in local timezone by @chojs23
771
+ - Align preview rows with rendered mentions by @chojs23
772
+ - Render mentions from message metadata by @chojs23
773
+ - Preserve mention metadata across merges by @chojs23
774
+ - Prefer guild aliases for mentions by @chojs23
775
+ - Normalize mention highlight ranges by @chojs23
776
+ - Add default app constructor by @chojs23
777
+ - Simplify mention highlight filtering by @chojs23
778
+ - Clear stale message update metadata by @chojs23
779
+ - Avoid download filename races by @chojs23
780
+ - Send real Discord replies by @chojs23
781
+ - Load custom guild emojis for reactions by @chojs23
782
+ - Bound image preview cache memory by @chojs23
783
+ - Move image preview decoding off tui loop by @chojs23
784
+ - Render user join messages by @chojs23
785
+ - Show known system message labels by @chojs23
786
+ - Cache Discord thread gateway channels by @chojs23
787
+ - Cache Discord member chunks by @chojs23
788
+ - Request members for active guilds by @chojs23
789
+ - Group members by Discord roles by @chojs23
790
+ - Truncate member names by display width by @chojs23
791
+ - Preserve DM recipient presence state by @chojs23
792
+ - Show DM recipients as members by @chojs23
793
+ - Color DM channels by recipient status by @chojs23
794
+ - Parse DM recipient presence updates by @chojs23
795
+ - Subscribe to active DM presence by @chojs23
796
+ - Hydrate active guild member lists by @chojs23
797
+ - Include self in group DM recipients by @chojs23
798
+ - Update poll vote state by @chojs23
799
+ - Submit poll votes together by @chojs23
800
+ - Process all member list sync ranges by @chojs23
801
+ - Receive unknown gateway events for member list updates by @chojs23
802
+ - Open member profile on enter or space by @chojs23
803
+ - Show loaded versus total guild members without full member loading by @chojs23
804
+ - Scope user profile cache by guild by @chojs23
805
+ - Show user profile load failures by @chojs23
806
+ - Update member totals on removal events by @chojs23
807
+ - Count fallback poll result votes by @chojs23
808
+ - Account for separators in image preview targets by @chojs23
809
+ - Hide channels that doesn't meet permission by @chojs23
810
+ - Guild user role by @chojs23
811
+ - Fix startup presense fallback by @chojs23
812
+ - Fix overflowing scrollbar by @chojs23
813
+ - Fix some ui by @chojs23
814
+ - Fall back when keyboard progressive enhancement unsupported by @chojs23
815
+ - Image blinking by @chojs23
816
+ - Message box by @chojs23
817
+ - Fix message viewport junmping with empty space by @chojs23
818
+ - Fix message viewport auto-follow by @chojs23
819
+ - Remove new dm by @chojs23
820
+ - Fix image flicker by suppressing redundant effect-driven redraws by @chojs23
821
+ - Clamp horizontal pane scrolling by @chojs23
822
+ - Remove inactive message scroll hint by @chojs23
823
+ - Preserve active guild mention style by @chojs23
824
+ - Prevent member activity row from overflowing panel by @chojs23
825
+ - Handle zero Discord snowflake parsing in gateway read state. by @chojs23
826
+ - Make qr code more scannable and fix partial paste issue by @chojs23
827
+ - Fix self-authored Discord messages being marked as unread by @chojs23
828
+
829
+ ### Documentation
830
+
831
+ - Add curl install instructions by @chojs23
832
+ - Clarify release installer path by @chojs23
833
+ - Add example image by @chojs23
834
+ - Update readme by @chojs23
835
+ - Update example by @chojs23
836
+
837
+ ### Features
838
+
839
+ - Add configuration and error foundation by @chojs23
840
+ - Add Discord gateway and messaging client by @chojs23
841
+ - Wire the app runtime to the Discord client by @chojs23
842
+ - Add credential-backed token config by @chojs23
843
+ - Add terminal dashboard and login UI by @chojs23
844
+ - Wire saved-token login into startup by @chojs23
845
+ - Store credentials in local file by @chojs23
846
+ - Add Discord state model by @chojs23
847
+ - Render Discord state panes by @chojs23
848
+ - Wire message composer commands by @chojs23
849
+ - Add QR code login flow with mode-select login screen by @chojs23
850
+ - Rebuild dashboard as Discord-style 4-pane layout with members and presence by @chojs23
851
+ - Extract guilds and DM channels from user-account READY and add gateway debug log by @chojs23
852
+ - Surface direct messages in the guild pane with @ channel prefix by @chojs23
853
+ - Group servers by Discord folders with collapsible headers by @chojs23
854
+ - Improve server folder tree rendering by @chojs23
855
+ - Store channel tree metadata by @chojs23
856
+ - Render collapsible channel tree by @chojs23
857
+ - Activate servers and channels on confirm by @chojs23
858
+ - Sort direct messages by latest message by @chojs23
859
+ - Add recent message history loading by @chojs23
860
+ - Add global file logging by @chojs23
861
+ - Sort direct messages by recent activity by @chojs23
862
+ - Add lazyagent-style message scrolling by @chojs23
863
+ - Use consistent scroll behavior across panes by @chojs23
864
+ - Clarify server and channel selection by @chojs23
865
+ - Mark active server in guild list by @chojs23
866
+ - Use four-pane dashboard layout by @chojs23
867
+ - Support multiline message input by @chojs23
868
+ - Preserve message attachment metadata by @chojs23
869
+ - Render message attachments in pane by @chojs23
870
+ - Open message attachments externally by @chojs23
871
+ - Load attachment preview data by @chojs23
872
+ - Render inline image previews by @chojs23
873
+ - Preserve forwarded message snapshots by @chojs23
874
+ - Preview forwarded attachments by @chojs23
875
+ - Render forwarded messages by @chojs23
876
+ - Add password login with MFA by @chojs23
877
+ - Preserve forwarded source metadata by @chojs23
878
+ - Render forwarded message cards by @chojs23
879
+ - Separate attachment summary lines by @chojs23
880
+ - Render Discord message types by @chojs23
881
+ - Render reply previews by @chojs23
882
+ - Render poll messages by @chojs23
883
+ - Add message actions for polls by @chojs23
884
+ - Paginate older message history by @chojs23
885
+ - Add partial clipping for inline image by @chojs23
886
+ - Render Discord-like message rows by @chojs23
887
+ - Render message avatars by @chojs23
888
+ - Render user mentions in messages by @chojs23
889
+ - Highlight current user mentions by @chojs23
890
+ - Add emoji reaction picker by @chojs23
891
+ - Support custom guild emoji reactions by @chojs23
892
+ - Show custom emoji images in picker by @chojs23
893
+ - Show reply target in composer by @chojs23
894
+ - Render Discord system message cards by @chojs23
895
+ - Queue guild member gateway requests by @chojs23
896
+ - Add guild member load command by @chojs23
897
+ - Cache Discord role metadata by @chojs23
898
+ - Store DM channel recipients by @chojs23
899
+ - Render DM recipients in member pane by @chojs23
900
+ - Add reaction pin and poll actions by @chojs23
901
+ - Render polls in boxed cards by @chojs23
902
+ - Render custom emoji on message by @chojs23
903
+ - List threads via channel actions menu by @chojs23
904
+ - Subscribe member list on guild switch by @chojs23
905
+ - Scroll member list subscription with viewport by @chojs23
906
+ - Split member sidebar into role online and offline groups by @chojs23
907
+ - Load and cache discord user profiles by @chojs23
908
+ - Capture friend relationships from ready by @chojs23
909
+ - Open user profile popup from message action menu by @chojs23
910
+ - Open user profile from member action menu by @chojs23
911
+ - Render profile avatar image inside the popup by @chojs23
912
+ - React to relationship add and remove dispatches by @chojs23
913
+ - Jump to mutual server from profile popup by @chojs23
914
+ - Change message author names to bold white and profile popup names to status-based color by @chojs23
915
+ - Add debug panel and youtube embed by @chojs23
916
+ - Gate sidebar with Discord's view-channel permission by @chojs23
917
+ - Add test log path by @chojs23
918
+ - Add scrollbar by @chojs23
919
+ - Thread box by @chojs23
920
+ - Improve forum by @chojs23
921
+ - Pane actions by @chojs23
922
+ - Add gateway reaction event handling by @chojs23
923
+ - Cd by @chojs23
924
+ - Mouse by @chojs23
925
+ - Handle large traffic event by @chojs23
926
+ - Migrated to use watch revision signal plus sequenced effect stream hybrid by @chojs23
927
+ - Selection with mouse by @chojs23
928
+ - Use iterm2 protocol for wezterm by @chojs23
929
+ - Fix some mouse interaction and optimize image redraw by @chojs23
930
+ - Render message inline emoji by @chojs23
931
+ - Multiple image viewer by @chojs23
932
+ - WIP message selection box by @chojs23
933
+ - Split forum posts by @chojs23
934
+ - Auto scroll by @chojs23
935
+ - Keep input mode by @chojs23
936
+ - Message update & delete by @chojs23
937
+ - New messages by @chojs23
938
+ - Download non-image attachments from message menu by @chojs23
939
+ - Render sticker-only messages instead of empty body by @chojs23
940
+ - Send DM from profile popup with m shortcut by @chojs23
941
+ - Render role mentions as @role-name with highlight by @chojs23
942
+ - Scroll-based profile popup with mouse wheel support by @chojs23
943
+ - Add client headers and cookie by @chojs23
944
+ - Channel tag by @chojs23
945
+ - Embed image resize + move emojj under image by @chojs23
946
+ - Unread/read channel by @chojs23
947
+ - Unread messages by @chojs23
948
+ - Add header by @chojs23
949
+ - Add option by @chojs23
950
+ - Add horizontal pane scrolling by @chojs23
951
+ - Highlight self reactions in yellow by @chojs23
952
+ - Show startup loading state by @chojs23
953
+ - Report startup token problems by @chojs23
954
+ - Show guild mention badges by @chojs23
955
+ - Add unread count for dm by @chojs23
956
+ - Action shortcuts by @chojs23
957
+ - User activity by @chojs23
958
+ - Add configurable image quality presets by @chojs23
959
+ - Nix flake by @chojs23
960
+
961
+ ### Miscellaneous Tasks
962
+
963
+ - Initialize Rust application scaffold by @chojs23
964
+ - Clarify message input wording by @chojs23
965
+ - Show temporary message type prefix by @chojs23
966
+ - Rename package to concord by @chojs23
967
+ - Remove twilight by @chojs23
968
+ - Split some states by @chojs23
969
+ - Bump dependencies to latest by @chojs23
970
+ - Ui split by @chojs23
971
+ - Split tui modules by @chojs23
972
+ - Split discord gateway and state by @chojs23
973
+ - Fix some issues by @chojs23
974
+ - Remove clippy validation by @chojs23
975
+ - Split parser and redraw modules by @chojs23
976
+
977
+ ### Performance
978
+
979
+ - Throttle inline image previews by @chojs23
980
+ - Bound attachment preview downloads by @chojs23
981
+ - Reduce retained media cache memory by @chojs23
982
+ - Bound older history retention by @chojs23
983
+ - Lower cache limits by @chojs23
984
+ - Resize discord cdn images by @chojs23
985
+ - Youtube embed thumbnail resizing by @chojs23
986
+
987
+ ### Refactor
988
+
989
+ - Remove unused Discord state fields by @chojs23
990
+ - Sync viewport heights before rendering by @chojs23
991
+ - Compose message preview rows by @chojs23
992
+ - Use message capabilities for actions by @chojs23
993
+ - Construct app without config by @chojs23
994
+ - Remove startup config module by @chojs23
995
+ - Group message update state fields by @chojs23
996
+ - Remove dead attachment helpers by @chojs23
997
+ - Reuse message viewport bottom alignment by @chojs23
998
+ - Extract tui message formatting by @chojs23
999
+ - Split tui media target discovery by @chojs23
1000
+ - Extract message viewport row scrolling by @chojs23
1001
+ - Derive message height from formatter by @chojs23
1002
+ - Unify message content span styling by @chojs23
1003
+ - Extract image preview media cache by @chojs23
1004
+ - Share emoji picker visible limit by @chojs23
1005
+ - Split poll state by @chojs23
1006
+ - Split message action state by @chojs23
1007
+ - Split reaction state by @chojs23
1008
+ - Split composer state by @chojs23
1009
+
1010
+ ### Revert
1011
+
1012
+ - Remove latest-message direct message sorting by @chojs23
1013
+
1014
+ ### Style
1015
+
1016
+ - Format mention highlight mapping by @chojs23
1017
+ - Dim reply target composer hint by @chojs23
1018
+ - Color role-grouped members by status by @chojs23
1019
+
1020
+ ### Tests
1021
+
1022
+ - Cover raw ready custom emojis by @chojs23
1023
+ - Cover cached thread channel deletion by @chojs23
1024
+ - Replace Korean UI test fixtures by @chojs23
1025
+ - Replace Korean TUI helper fixtures by @chojs23
1026
+ - Simplify tui test helpers by @chojs23
1027
+ - Reuse ui message content fixture by @chojs23
1028
+
1029
+ ### Build
1030
+
1031
+ - Add TUI and keychain dependencies by @chojs23
1032
+
1033
+ ### New Contributors
1034
+
1035
+ - @chojs23 made their first contribution
1036
+ - @vncsalencar made their first contribution