posit-dev / posit-dev/vip

fix(workbench): Positron git-ops readback times out (console proven in isolation)

Open
#390 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug team: workbench
Dominant language
Python
Stars
8
Forks
1
Avg merge
18h 23m
Merged PRs (30d)
63

Description

The Positron console readback mechanism is proven in isolation: a probe wrote a file via the terminal and read it back through the console (.console-instance[style*="z-index: auto"] / .console-input / div span, after the interpreter is input-ready) — PASS. But the git-ops clone_positron/push_positron flow times out:

ExecError: terminal_run timed out after 840000ms waiting for done marker in '/tmp/vip_term_*.txt'

The DONE marker never appears in the temp file within the poll window.

Likely causes to investigate (live, ~20 min/iteration)

  • The git clone may not actually execute in Positron's terminal (so the temp file / DONE marker is never written).
  • The poll loop's repeated Console-tab activation + re-typing of cat(readLines(...)) may interfere with the running terminal command.
  • The clone may fail (auth/token/path), so && echo DONE short-circuits and DONE is never appended.

Launch gate

launch_positron currently gates on .positron-console being visible, which spuriously SKIPS whenever the Terminal tab is active (Positron loaded, console hidden). A Console-tab gate (PositronSession.CONSOLE_TAB = 'a.action-label[aria-label="Console"]') is more correct, but it exposes the readback timeout above (turns a graceful skip into a failure). Reintroduce the Console-tab gate together with the integration fix.

Context

  • Sibling fix #386 reworked the readback: RStudio (R console), Positron (console eval — proven here in isolation), VS Code (editor-open — validated end-to-end in git-ops).
  • positron_eval_r/positron_eval_python already activate the Console tab (exec._activate_positron_console); the remaining gap is the end-to-end clone+readback integration.
  • Related: slow Positron session/console cold-start (#388).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with launch_positron, clone_positron, and push_positron, then trace positron_eval_r/positron_eval_python and exec._activate_positron_console. Reproduce the timeout while checking terminal execution, the DONE marker, and repeated Console-tab activation. Done means the Console-tab gate is restored and the end-to-end Positron clone and push readback completes without timing out.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
devtools, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.