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
{{ message }}
Repository navigation
Feature request: opt-in, lightweight memory diagnostics in Labs #1797
I'm seeing repeated memory issues in Hex. It is hard to include useful evidence in bug reports without running an external profiler. This request is for diagnostics, not a claim that a specific leak has been confirmed.
Request
Add a Memory diagnostics Labs feature, off by default, that records lightweight memory usage over time during normal use. It should be non-invasive so people can leave it on while reproducing a problem and attach the log to a bug report.
Proposed behavior
Sample Hex's process memory at a low frequency using inexpensive OS counters. Include timestamps, uptime, current and peak memory where available, with clearly named metrics and units.
Include enough non-sensitive context to interpret changes: Hex version/build, OS/architecture, selected speech model and CPU/GPU backend, and coarse states such as idle, recording, transcribing, or loading/unloading a model.
Use bounded, rotating, local-only logs with a clear size/retention limit. Make the diagnostic log easy to find or export for a bug report.
Keep sampling and disk writes off the audio and UI threads. Bound queues and allocations; diagnostics must not interrupt dictation or change model behavior.
Turning the Labs feature off stops sampling and writing. No diagnostic worker runs while it is off.
Privacy and scope
No audio, transcript text, clipboard content, page URLs, window titles, secrets, or memory dumps.
No automatic upload or telemetry. Sharing is an explicit user action.
No allocation tracing, stack capture, or forced garbage collection in this lightweight mode.
Aim for macOS, Windows, and Linux support. Report unavailable counters explicitly rather than treating unlike OS metrics as equivalent.
Acceptance criteria
Off by default and available through the normal Labs/settings paths.
Produces a bounded timeline that helps distinguish model-load spikes from sustained growth during repeated use or idle time.
The exported log contains version/platform context and is safe to review before sharing.
Verify disabled behavior, log bounds, privacy-safe fields, and failure handling. Measure and report sampling overhead during idle and dictation; logging failures must not affect Hex's core work.
Activity