GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — v0.0.15-beta.2 by Obed0101 · Pull Request #147 · MendCode/MendCode

Conversation

@Obed0101

@Obed0101 Obed0101 commented Nov 11, 2026 •
edited by blacksmith-sh Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Fixes found by the review of #146, on top of v0.0.15-beta.1.

Fixed

  • A message sent from Telegram while a turn from the computer runs is answered with a note to wait or /stop, instead of leaving the chat unable to send more, and a chat that joins a session as a turn starts follows that turn.

Weight: two checks in the opt-in Telegram bridge (loaded only when remote control is on); nothing at start-up, per turn or per frame.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Obed0101
remote control: a phone message waits for a turn from the computer in…
8346c30
…stead of leaving the chat stuck, and a joining chat reads the log's end before the running turn so a turn that just started replays; release v0.0.15-beta.2
@Obed0101

Obed0101 commented Nov 11, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

MendCode: @Obed0101's MendCode worked on this pull request on one of its devices; released 2026-11-11 08:34 UTC.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Obed0101
Obed0101 commented Nov 11, 2026
View reviewed changes

@Obed0101 Obed0101 left a comment

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MendCode review

No findings · nothing in this change was confirmed as a problem
head 8346c308c7e1

Merge risk: 🟡 Medium · The scope is limited to the opt-in Telegram bridge, but it changes timing-sensitive subscription and turn-state behavior. A regression could omit mirrored output or incorrectly block phone prompts; the added tests cover the guard and cursor arithmetic, not the actual socket-level interleavings.
Change: Bug fix · Review effort: 1/5, about 5 minutes

This stacked patch rejects Telegram prompts while a mirrored computer turn is running and adjusts subscription setup to capture turns that start during attachment. No introduced defects were verified; risk is medium because the changes affect asynchronous turn tracking and event replay. Review was read-only, so tests were inspected but not executed.
Readers: 6 code files no reader could read went to the review pass whole (the diff is small: one reader call costs more than the readers' share of this review's cap, so the review pass reads it).
Stacked on #146: only this pull request's own commits since #146's head b3a2066.

Walkthrough

The bridge now checks for an active mirrored turn both before and after ensuring the chat's session, returning a wait-or-stop notice instead of submitting another prompt. Subscription setup reads the event-log boundary before checking running-turn history, then chooses the earlier replay cursor. The patch also adds focused regression tests and updates release notes, channel documentation, and the generated card revision; daemon submission, history, and replay contracts remain unchanged.

Changes

Layer / files Summary
Telegram turn coordination
packages/daemon/src/channels-bridge.ts, packages/daemon/src/channels.ts
Guard phone submissions against mirrored turns and reorder watch initialization to preserve events emitted while the chat attaches.
Regression coverage
packages/daemon/test/channels-bridge.test.ts
Add tests for refusing a prompt during a mirrored turn, accepting a later retry, and selecting replay cursors.
Release and user documentation
CHANGELOG.md, docs/channels.md, packages/daemon/cards/cards.generated.json
Document the beta.2 remote-control fixes and refresh the generated card revision without changing card content.

Sequence diagram

sequenceDiagram
    participant Chat as Telegram chat
    participant Bridge as Channel bridge
    participant Client as Daemon client
    participant Daemon
    Bridge->>Client: loadWindow(sessionId, 1)
    Client->>Daemon: session.events
    Daemon-->>Client: Event-log boundary
    Bridge->>Client: session.history(limit: 1)
    Client->>Daemon: Read latest turn
    Daemon-->>Client: Turn history
    Bridge->>Client: subscribe(min(boundary, running start - 1))
    Client->>Daemon: client.subscribe
    Daemon-->>Bridge: Replay followed by live events
    Chat->>Bridge: Prompt during mirrored turn
    Bridge-->>Chat: Wait for the answer or /stop
Loading
Pre-merge checks: ⚠️ 2 warning · ✅ 1 passed
Check Status Explanation
Title ⚠️ Warning The version-only title identifies the release but does not describe the Telegram coordination fixes.
Description ⚠️ Warning The description explains what changes and why, but does not state how the fixes were tested. The channel documentation also says a phone message waits, whereas the implementation refuses it and requires resubmission.
Out of scope ✅ Passed The runtime changes, regression tests, release notes, documentation, and generated revision are consistent with the stated follow-up fixes. No unrelated implementation changes appear in this stacked diff.
Review details
  • Files reviewed: 6 · 50 changed lines · estimated review effort 1/5, about 5 minutes
  • Profile: normal · at most 8 inline comments
  • Verification: the review pass raised no candidate findings, so no separate pass was needed
  • Cost: 291,560 tokens in (253,312 from the provider's cache) · 2,349 out
  • Readers: 6 code files no reader could read went to the review pass whole (the diff is small: one reader call costs more than the readers' share of this review's cap, so the review pass reads it).
  • Stacked on #146: only this pull request's own commits since #146's head b3a2066.

Performance (perf-attrib, base 1aed947 against head 8346c30)

perf-attrib: igual: nothing above the measured noise

base 1aed947efa71e3694ca6a5175cd0cb796b421fc6 (1aed947e) vs cand 8346c308c7e1e22a7da32d1986b40b86aaf71e16 (8346c308), median of 2 faux-engine session(s) per side; flagged = beyond the noise measured on 18 base-vs-base runs (x1.5).

metric base cand diff
tui.after.fp_mb 56.9 56.7 -0.2
tui.after.peak_mb 73 73.1 +0.1
tui.ready.fp_mb 54.7 54.9 +0.2
tui.ready.peak_mb 73 73.1 +0.1
tui.rest.fp_mb 56.7 56.2 -0.5
tui.rest.peak_mb 73 73.1 +0.1
tui.after.rss_mb 135.9 135.8 -0.1
tui.ready.rss_mb 114.2 114.1 -0.1
tui.rest.rss_mb 136.2 136.1 -0.1
tui.after.heap.extra_b 7371759 6665479 -706280
tui.after.heap.objects 243021 241363 -1658
tui.after.heap.protected 20 20 0
tui.after.heap.size_b 25238840 24337943 -900897
tui.ready.heap.extra_b 2895377 2894900 -477
tui.ready.heap.objects 217209 217222 +13
tui.ready.heap.protected 18 18 0
tui.ready.heap.size_b 19330234 19330820 +586
tui.rest.heap.extra_b 4624911 4669930 +45019
tui.rest.heap.objects 238452 238414 -38
tui.rest.heap.protected 18 18 0
tui.rest.heap.size_b 22074655 22118956 +44301
tui.rest.js_code_b 5839156 5884794 +45638
tui.rest.js_live_b 19292699 19290413 -2286
tui.cpu_ms.after 5494 5482 -12
tui.cpu_ms.ready 341 338 -3
tui.cpu_ms.rest 480 493 +13
binary.bytes 72306944 72306944 0
disk.bytes 4074 4076 +2
disk.bytes_per_session 2037 2038 +1

JS object types that rose (count):

  • tui.after.heap.type.Function: 44528 -> 44529 (+1)
  • tui.rest.heap.type.Function: 44524 -> 44525 (+1)

JS heap bytes by constructor that rose:

  • tui.rest.ctor.native:Blob.bytes: 1743266 -> 1743695 (+429)
  • tui.rest.ctor.object:ModuleRecord.bytes: 5504809 -> 5504845 (+36)

Modules loaded at start: 230 -> 230, 4633288 -> 4633324 bytes of chunks; chunk sizes only in cand: [1009178], only in base: [1009142] (chunk names are hashes: the list says which changed in size, not by what name)

Reference (skill, 2026-11-03, real model): footprint 64 ready / 66 after / peak 80 MB, 2.6 KB per session. This run (faux engine, whole process tree): 54.9 / 56.7 / peak 73.1 MB, 2038 B per session.

Files (6)
  • CHANGELOG.md
  • docs/channels.md
  • packages/daemon/cards/cards.generated.json
  • packages/daemon/src/channels-bridge.ts
  • packages/daemon/src/channels.ts
  • packages/daemon/test/channels-bridge.test.ts

Comment @mendcode review to review again · @mendcode pause / resume · reply to a finding with explain, fix or learn · settings in .mendcode/review.yaml

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Obed0101
Obed0101 merged commit a71641f into beta Nov 11, 2026
6 checks passed

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@Obed0101
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.