@chojs23/concord 2.3.0 → 2.3.2

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 CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.3.2] - 2026-07-08
6
+
7
+ ### Bug Fixes
8
+
9
+ - Fix gateway backoff reset, atomic private-file writes, and remove duplicate by @chojs23
10
+
11
+ ### Features
12
+
13
+ - Promote guild/channel/member action menus to standalone modal popups by @chojs23
14
+
15
+ ### Miscellaneous Tasks
16
+
17
+ - Remove redundant sccache from CI and release workflows by @chojs23
18
+
19
+ ### Refactor
20
+
21
+ - Extract render_modal_frame helper to deduplicate popup modal boilerplate by @chojs23
22
+ - Remove legacy keymap actions by @chojs23
23
+ - Extract OnDemandRequests and CursorRequests primitives to dedupe request trackers by @chojs23
24
+ - Split message format.rs into wrap, markdown, polls, and system submodules by @chojs23
25
+ - Unify discord module layout, dedupe extra_fields by @chojs23
26
+
27
+ ## [2.3.1] - 2026-07-07
28
+
29
+ ### Features
30
+
31
+ - Add delete line composer key (#246) in [#246](https://github.com/chojs23/concord/pull/246) by @chojs23
32
+ - Support CONCORD_TOKEN env var in Auto credential mode (#243) in [#243](https://github.com/chojs23/concord/pull/243) by @yilisharcs
33
+ - Collapse avatar gutter and move selected-message time to border (#247) in [#247](https://github.com/chojs23/concord/pull/247) by @chojs23
34
+
35
+ ### Refactor
36
+
37
+ - Generalize composer input actions by @chojs23
38
+
39
+ ### New Contributors
40
+
41
+ - @yilisharcs made their first contribution in [#243](https://github.com/chojs23/concord/pull/243)
42
+
5
43
  ## [2.3.0] - 2026-07-06
6
44
 
7
45
  ### Bug Fixes
package/README.md CHANGED
@@ -173,6 +173,7 @@ aplay -D pulse /usr/share/sounds/alsa/Front_Center.wav
173
173
  - **Token** : paste an existing Discord token.
174
174
  - **Email / Password** : login with credentials. MFA (TOTP, SMS) is fully supported.
175
175
  - **QR Code** : scan the code from the Discord mobile app.
176
+ - **CONCORD_TOKEN env var** : set `CONCORD_TOKEN=your-token` before launching Concord. It overrides every `credentials.store` mode (`auto`, `keychain`, `plain`).
176
177
 
177
178
  Email and QR code logins may trigger a CAPTCHA challenge on Discord's side. We cannot solve that, so I strongly recommend using token authentication.
178
179
 
@@ -334,10 +335,9 @@ Press `Space` to open the leader shortcut window.
334
335
 
335
336
  #### Action menus
336
337
 
337
- Focus a pane, then press `Space`, `a` to open actions for that pane. Action
338
- shortcuts are shown inside the leader popup and only run when the action is
339
- enabled. In the Messages pane, the selected message also supports these direct
340
- shortcuts:
338
+ Focus a pane, then press `Space`, `a` to open actions for that pane. Actions
339
+ that do not apply to the current selection are shown dimmed and disabled. In
340
+ the Messages pane, the selected message also supports these direct shortcuts:
341
341
 
342
342
  Message shortcuts:
343
343
 
@@ -388,7 +388,7 @@ Channel actions:
388
388
 
389
389
  | Shortcut | Action | Description |
390
390
  | -------- | -------------------- | -------------------------------------------- |
391
- | `j` | Join voice | Join the selected voice channel or DM call |
391
+ | `e` | Join voice | Join the selected voice channel or DM call |
392
392
  | `l` | Leave voice | Leave the current voice channel or DM call |
393
393
  | `p` | Show pinned messages | Open the selected channel's pinned messages |
394
394
  | `t` | Show threads | List threads for the selected channel |
@@ -434,6 +434,7 @@ overlay.
434
434
  | `Ctrl+c` | clear | Clear current draft |
435
435
  | `Ctrl+Left`/ `Ctrl+Right` | Jump word | Jump the cursor by word |
436
436
  | `Alt+Backspace`, `Ctrl+Backspace` / `Ctrl+w` | Delete word | Delete the word before the cursor |
437
+ | `Ctrl+u` / `Ctrl+k` | Delete line text | Delete from cursor to start/end of the current line |
437
438
  | `Delete` | Detach attachment | Removes the last pending attachment |
438
439
  | `Alt+p` | Toggle reply ping | Toggle whether replying pings the original author |
439
440
 
@@ -639,7 +640,7 @@ LeaveServer = "l"
639
640
  FolderSettings = "r"
640
641
 
641
642
  [keymap.channel_actions]
642
- JoinVoice = "j"
643
+ JoinVoice = "e"
643
644
  LeaveVoice = "l"
644
645
  ShowPinnedMessages = "p"
645
646
  ShowThreads = "t"
@@ -689,6 +690,8 @@ ClearInput = "<C-c>"
689
690
  RemoveLastAttachment = "delete"
690
691
  DeletePreviousChar = "backspace"
691
692
  DeletePreviousWord = { keys = ["<A-backspace>", "<C-backspace>", "<C-w>"] }
693
+ DeleteToLineStart = "<C-u>"
694
+ DeleteToLineEnd = "<C-k>"
692
695
  MoveCursorUp = "up"
693
696
  MoveCursorDown = "down"
694
697
  MoveCursorWordLeft = "<C-left>"
@@ -751,6 +754,7 @@ No. If Discord requires a CAPTCHA during login, use token login instead.
751
754
 
752
755
  - By default, tokens are stored in the system keychain when available.
753
756
  - On Linux, keychain storage uses Secret Service when a compatible service is available.
757
+ - The `CONCORD_TOKEN` environment variable lets you provide a token without writing it to disk. This avoids leaving plaintext on disk, but the token is visible in `/proc/<pid>/environ` and in process listings while Concord is running.
754
758
  - In `credentials.store = "auto"`, Concord falls back to **plain text** credentials under Concord's state directory when keychain storage is unavailable. In `keychain` mode, Concord does not fall back to plain storage. Keep fallback credential files secure and do not share them. You can use a token from that file to log in to the official Discord client, so treat it like a password.
755
759
  - On Unix, the fallback credential's parent directory is created with `0700` and the credential file with `0600` permissions.
756
760
 
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "GPL-3.0-only",
25
25
  "name": "@chojs23/concord",
26
- "version": "2.3.0"
26
+ "version": "2.3.2"
27
27
  },
28
28
  "node_modules/@isaacs/cliui": {
29
29
  "engines": {
@@ -542,5 +542,5 @@
542
542
  }
543
543
  },
544
544
  "requires": true,
545
- "version": "2.3.0"
545
+ "version": "2.3.2"
546
546
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/chojs23/concord/releases/download/v2.3.0"
3
+ "https://github.com/chojs23/concord/releases/download/v2.3.2"
4
4
  ],
5
5
  "bin": {
6
6
  "concord": "run-concord.js"
@@ -93,7 +93,7 @@
93
93
  "zipExt": ".tar.xz"
94
94
  }
95
95
  },
96
- "version": "2.3.0",
96
+ "version": "2.3.2",
97
97
  "volta": {
98
98
  "node": "18.14.1",
99
99
  "npm": "9.5.0"