posit-dev / posit-dev/positron
Console duplicates executions and lacks busy indicator during background tasks
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.3k
- Forks
- 184
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 206
Description
System details:
Positron and OS details:
Positron Version: 2025.07.0 build 170
Code - OSS Version: 1.100.0
Commit: cbe897b1dd265d94ddf90fcbd9661f2a816fdff9
Date: 2025-06-23T03:40:06.483Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.5.0
Interpreter details:
Any.
Describe the issue:
When an interpreter is busy with a "background" task (not an execution) such as rendering a plot or viewing a dataframe, the console has no indication, and silently accepts and queues duplicate executions which are added when the interpreter is free.
Steps to reproduce the issue:
- Create a complex plot e.g. run this Python code:
import numpy as np
import matplotlib.pyplot as plt
# Generate a large number of random points
n_points = 500000
np.random.seed(42) # For reproducibility
# Create random coordinates with some structure
x = np.random.normal(0, 1, n_points)
y = x + np.random.normal(0, 0.5, n_points)
# Create scatter plot with small points and some transparency
plt.figure(figsize=(10, 8), dpi=150)
plt.scatter(x, y,
s=1, # Small point size
alpha=0.1, # High transparency
c=np.sqrt(x*x + y*y), # Color based on distance from origin
cmap='viridis')
plt.colorbar(label='Distance from origin')
plt.title(f'Scatter Plot with {n_points:,} Points')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True, alpha=0.2)
plt.tight_layout()
plt.show()
- Try to execute code in the console.
Note that the console goes through a few different phases here, and that execution attempts seem to be handled differently in each.
https://github.com/user-attachments/assets/6a106139-d31e-42fa-8d0c-5167abd83d42
Expected or desired behavior:
The console should show some indication that the interpreter is busy, and attempted executions should be handled similarly to when the console is busy with an execution e.g. import time; time.sleep(10).
Were there any error messages in the UI, Output panel, or Developer Tools console?
No.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file, test, or entry point is named in the issue. Reproduce the provided Python plot and compare console behavior with import time; time.sleep(10); done means the console shows an interpreter busy state and handles attempted executions consistently in both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100