Skip to content

Commit ac47535

Browse files
committed
docs and patch version bump
Signed-off-by: Mark Rai <markraidc@gmail.com>
1 parent 6a81333 commit ac47535

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,25 @@
22

33
> **Upgrades:** No breaking changes in **3.7.x** / **3.8.x** / **3.9.x** / **3.10.x** / **3.11.x** / **3.12.x** / **3.13.x** / **3.14.x** unless noted below.
44
5+
## [3.14.4] - 2026-04-22
6+
7+
### Improvements
8+
9+
- **Wall (Scrumbaby)** - SSE `wall.refresh_needed` handling is debounced in `wall-realtime` so bursts coalesce into a single `refetchDoc`/apply within a short window. While a local drag is in progress, the debounce re-arms via `isDragActive` / `setDragActive` (`wall-state`, `wall-drag-controller`) so the client does not refetch mid-drag; `wall` teardown clears the drag flag if the dialog closes during a drag.
10+
11+
- **Wall (Scrumbaby)** - After a successful wall document fetch, simple single-note field updates against an unchanged note and edge id set apply incrementally via `updateNoteElement` instead of wiping `innerHTML` and rebuilding the whole surface. Reduces hitching and visible blink after text saves when the server echoes `refresh_needed`. Full rebuild remains the fallback for structural changes. Covered by `wall-incremental-apply.test.ts`.
12+
13+
### Fixes
14+
15+
- **Wall (Scrumbaby)** - Right-click on a note for delete confirmation no longer arms the delayed single-click color cycle (primary-button guard before `armNoteInteraction`, defensive `cancelColorTimer` on the note `contextmenu` path). Adds a gesture-matrix test that replays `pointerdown` and `pointerup` with button 2 around `contextmenu`.
16+
17+
---
18+
519
## [3.14.3] - 2026-04-22
620

721
### Improvements
822

9-
- **Wall (Scrumbaby)** Phase 1 drag transient coalescing: during multi-note drag, `wall-drag-controller` stores per-note positions each frame and drives a single group coalesce timer (`DRAG_TRANSIENT_COALESCE_MS`, 150ms) that flushes one `POST /wall/transient` per moved note when due, instead of per-participant per-`rAF` `scheduleTransient` calls. `TRANSIENT_COALESCE_MS` (100ms) is unchanged for drag-end and other callers (existing assertions preserved). Pointer-up clears any pending group timer before the existing drop-path `scheduleTransient` + flush so the final-position sequence stays the same.
23+
- **Wall (Scrumbaby)** - Phase 1 drag transient coalescing: during multi-note drag, `wall-drag-controller` stores per-note positions each frame and drives a single group coalesce timer (`DRAG_TRANSIENT_COALESCE_MS`, 150ms) that flushes one `POST /wall/transient` per moved note when due, instead of per-participant per-`rAF` `scheduleTransient` calls. `TRANSIENT_COALESCE_MS` (100ms) is unchanged for drag-end and other callers (existing assertions preserved). Pointer-up clears any pending group timer before the existing drop-path `scheduleTransient` + flush so the final-position sequence stays the same.
1024

1125
---
1226

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<p align="center">
22
<img width="372" src="internal/httpapi/web/githublogo.png" alt="scrumboy logo" />
33
<br />
4-
<img src="https://img.shields.io/badge/version-v3.14.3-blue" alt="version" />
4+
<img src="https://img.shields.io/badge/version-v3.14.4-blue" alt="version" />
55
<a href="LICENSE">
66
<img src="https://img.shields.io/badge/license-AGPL--v3-orange" alt="license" />
77
</a>

internal/version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package version
22

3-
const Version = "3.14.3"
3+
const Version = "3.14.4"
44

55
// ExportFormatVersion is the version of the backup/export data format.
66
// Only increment this when the ExportData structure changes in a breaking way.

0 commit comments

Comments
 (0)