You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,17 @@ Narrative notes by release. Per-file binaries and assets: [GitHub releases](http
6
6
7
7
On **`main`** only; not part of the latest tagged release until you tag and publish. Compare against the current tag on [GitHub releases](https://github.com/Cod-e-Codes/marchat/releases).
-**Client**: ANSI-aware word-wrap for chat bodies; reaction aliases `thumbsup` / `thumbsdown` and `:unreact`, `:thumbsup`, `:thumbsdown`; when E2E is on and server search returns no matches, a `System` line notes ciphertext-only matching. **Charm v2:** Bubble Tea, Bubbles, and Lip Gloss on `charm.land/*/v2` (`tea.View`, `KeyPressMsg`, bubbles setters). Long URLs wrap at path boundaries; wrapped segments keep hyperlink style and OSC 8 `Style.Hyperlink` hrefs (ASCII hyphens); mouse click-to-open fallback ([#103](https://github.com/Cod-e-Codes/marchat/issues/103)). **Fix:** composer chrome, multiline keys, placeholder cursor, and scroll-to-tail follow; mouse wheel routes to the active viewport; help/DB overlays suppress typing, URL clicks, and read-receipt flush until closed; ephemeral `System` feedback uses the banner; reconnect backoff advances on failure; transcript notices, reactions, and read receipts stay channel-scoped; E2E paths do not log plaintext.
10
14
-**Server**: Replay up to 50 visible messages on every handshake (including reconnect). **Fix:** Postgres boolean SQL for search, pin toggle, and pinned listing; MySQL `parseTime=true` when unset; outbound messages stamped to the sender's channel; typing, reactions, and read receipts channel-scoped; `:backup` SQLite-only; admin TUI mouse scroll on tabs and tables; `:cleardb` clears `user_message_state`.
11
15
-**Plugins**: **Fix:** serialized plugin stdin writes so chat fan-out and command RPC cannot corrupt IPC lines.
12
16
-**Docs**: **README**, **TESTING**, **ARCHITECTURE**, and **PROTOCOL** for channel stamping, reconnect, wrapped URL limitation ([#103](https://github.com/Cod-e-Codes/marchat/issues/103)), SQLite-only `:backup`, and plugin IPC; agent skills under `.cursor/skills/`.
13
17
-**Tooling**: Project Agent skills and `.cursor/rules/marchat.mdc`; `.gitignore` tracks shared rules and skills.
-**Packaging**: Version strings and URLs for **v1.3.0** in **install.ps1**, **install.sh**, **build-release.ps1**, **scripts/build-*.ps1/sh**, **README**, **SECURITY.md**, **.github/workflows/release.yml**, and **packaging/** (Homebrew, Scoop, winget **1.3.0** manifest set, Chocolatey, AUR). **SHA256** fields are **placeholders** (`000000...`) until replaced from published release zips (**PACKAGING.md**, **packaging/ci/render-release-manifests.sh**).
Copy file name to clipboardExpand all lines: PACKAGING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ Published tap: [homebrew-marchat](https://github.com/Cod-e-Codes/homebrew-marcha
58
58
59
59
Upstream is [microsoft/winget-pkgs](https://github.com/microsoft/winget-pkgs). Maintainers use a fork, add `manifests/c/Cod-e-Codes/Marchat/<PackageVersion>/`, run `winget validate` on that folder, and open a PR. Package identifier: `Cod-e-Codes.Marchat`. The installer is a zip with `NestedInstallerType: portable` and two `PortableCommandAlias` entries for client and server. Microsoft may prompt first-time contributors to accept the CLA on the PR; follow the bot instructions there.
60
60
61
-
Example template path in this repo: `packaging/winget/manifests/c/Cod-e-Codes/Marchat/1.2.0/` (duplicate the folder layout for new versions). Older **`1.0.0/`**and **`1.1.0/`** manifests may remain for reference; the current release templates target **v1.2.0** until the next bump.
61
+
Example template path in this repo: `packaging/winget/manifests/c/Cod-e-Codes/Marchat/1.3.0/` (duplicate the folder layout for new versions). Older **`1.0.0/`**, **`1.1.0/`**, and **`1.2.0/`** manifests may remain for reference; the current release templates target **v1.3.0** until the next bump.
62
62
63
63
**Checksums vs GitHub release timing:** Portable zip manifests embed SHA256. After you publish a release and the five platform zips exist on GitHub, run [`packaging/ci/render-release-manifests.sh`](packaging/ci/render-release-manifests.sh) with `RELEASE_TAG` set and copy `packaging-out/` into `packaging/` (and into your tap, bucket, winget fork, or AUR clone as needed) so local `winget validate`, `brew audit`, and `choco pack` match real bytes. The committed templates may carry placeholder hashes until that sync step.
[](https://github.com/Cod-e-Codes/marchat/releases)
A lightweight terminal chat with real-time messaging over WebSockets, optional E2E encryption, and a flexible plugin ecosystem. Built for developers who prefer the command line.
13
13
@@ -37,7 +37,7 @@ Both clients follow the same wire format documented in [PROTOCOL.md](PROTOCOL.md
**`main` branch:** may include changes not yet in that tag (for example items under **Unreleased** in [CHANGELOG.md](CHANGELOG.md)). Feature descriptions elsewhere in this README match the tree you build from source; compare your binary’s `-doctor` / `-version` output to the release page when in doubt.
43
43
@@ -153,12 +153,12 @@ Tables created by the server (dialect-aware DDL for SQLite, PostgreSQL, and MySQ
0 commit comments