Skip to content

Commit ce35628

Browse files
johnsideserfclaude
andcommitted
Update docs for v1.3.2 release
- Add v1.3.1 and v1.3.2 changelog entries - Document proxy config field in README and docsite - Add proxy support to README feature list - Add fuzz testing section to dev guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 85a0b08 commit ce35628

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ inline_images = true
9090
mouse_enabled = true
9191
send_read_receipts = true
9292
theme = "Default"
93+
proxy = ""
9394
```
9495

9596
All fields are optional. `signal_cli_path` defaults to `"signal-cli"` (found via PATH), and `download_dir` defaults to `~/signal-downloads/`. On Windows, use the full path to `signal-cli.bat` if it isn't in your PATH.
@@ -125,6 +126,7 @@ All fields are optional. `signal_cli_path` defaults to `"signal-cli"` (found via
125126
- **Settings overlay** -- Toggle notifications, sidebar, inline images from within the app
126127
- **Responsive layout** -- Resizable sidebar that auto-hides on narrow terminals (<60 columns)
127128
- **Incognito mode** -- `--incognito` uses in-memory storage; nothing persists after exit
129+
- **Proxy support** -- Configure a Signal TLS proxy via the `proxy` config field for use in restricted networks
128130
- **Demo mode** -- Try the UI without signal-cli (`--demo`)
129131

130132
## Commands

docs/src/changelog.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# Changelog
22

3+
## v1.3.2
4+
5+
### Bug fixes
6+
7+
- **Cursor blink fix** -- the event loop was redrawing every 50ms regardless of
8+
state changes, resetting the terminal's cursor blink timer. Now frames are only
9+
drawn when state actually changes (#177)
10+
11+
### Enhancements
12+
13+
- **Proxy config** -- added a `proxy` field to `config.toml` for Signal TLS
14+
proxy URLs, passed through to signal-cli as `--proxy`. Useful for connecting
15+
in censored regions (#178)
16+
17+
### Developer
18+
19+
- **Fuzz testing** -- added `cargo-fuzz` harnesses for JSON-RPC parsing, UTF-8
20+
cursor operations, keybinding parsing, and slash command parsing (#179)
21+
22+
---
23+
24+
## v1.3.1
25+
26+
### Bug fixes
27+
28+
- **Image attachments** -- fixed image attachments not rendering after restart on
29+
Unix (#175)
30+
- **Quit aliases** -- added `:q` and `:quit` as aliases for `/quit` (#174)
31+
32+
---
33+
334
## v1.3.0
435

536
### Bug fixes

docs/src/dev-guide/testing.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,23 @@ cargo clippy --tests -- -D warnings
142142
```
143143

144144
CI runs this on every push and pull request. Fix all warnings before pushing.
145+
146+
## Fuzz testing
147+
148+
The `fuzz/` directory contains [cargo-fuzz](https://rust-fuzz.github.io/book/cargo-fuzz.html) harnesses for external input boundaries. Fuzz testing requires **nightly Rust** and **Linux or macOS** (libfuzzer does not support Windows).
149+
150+
```sh
151+
cargo install cargo-fuzz
152+
cargo +nightly fuzz run <target>
153+
```
154+
155+
### Fuzz targets
156+
157+
| Target | What it tests |
158+
|---|---|
159+
| `fuzz_json_rpc` | JSON-RPC deserialization and `parse_signal_event` / `parse_rpc_result` |
160+
| `fuzz_input_edit` | UTF-8 cursor navigation and string mutation at byte boundaries |
161+
| `fuzz_key_combo` | `parse_key_combo` with arbitrary strings from user TOML files |
162+
| `fuzz_command_parse` | `parse_input` with arbitrary slash commands |
163+
164+
Run `cargo fuzz list` to see all available targets. Any panic found by the fuzzer is a bug to fix.

docs/src/user-guide/configuration.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ send_read_receipts = true
3636
mouse_enabled = true
3737
theme = "Default"
3838
keybinding_profile = "Default"
39+
proxy = ""
3940
```
4041

4142
### Field reference
@@ -58,6 +59,7 @@ keybinding_profile = "Default"
5859
| `mouse_enabled` | bool | `true` | Enable mouse support (click sidebar, scroll, etc.) |
5960
| `theme` | string | `"Default"` | Color theme name |
6061
| `keybinding_profile` | string | `"Default"` | Keybinding profile (`Default`, `Emacs`, `Minimal`, or custom) |
62+
| `proxy` | string | `""` | Signal TLS proxy URL passed through to signal-cli |
6163

6264
## CLI flags
6365

0 commit comments

Comments
 (0)