Files
profile/doc/known-bugs.md
T
2026-10-13 16:35:14 +02:00

56 lines
2.6 KiB
Markdown

# Known bugs
This document tracks currently known issues and limitations.
## Open issues
- None :-)
---
## Won't fix
These issues are caused by platform or environment limitations outside the scope of this
project and will not be addressed in Bash.
### Prompt execution time is inaccurate in Windows Terminal (WSL)
- **Description:** In Windows Terminal the displayed duration includes idle and typing time,
and is consistently higher than actual command execution time. In a native Linux terminal
(including WSL shells inside Konsole, QTerminal, etc.) timing correctly starts on Enter and
stops when the prompt reappears; in Windows Terminal, timer events appear tied to prompt
display rather than to the Enter keypress.
- **Cause:** Execution time is measured via a `DEBUG` trap and `PROMPT_COMMAND` using
`$EPOCHREALTIME` (or `date +%s%N` on bash < 5) deltas. WSL + Windows Terminal introduces scheduling jitter between Bash signal
events and the underlying Windows terminal layer that does not match wall-clock perception.
- **Impact:** Cosmetic / observability only — commands execute normally.
- **Status:** Not fixable in Bash; this is a limitation of the Windows Terminal / WSL
integration layer.
- **Workarounds:**
- Use a native Linux terminal under WSL (Konsole, QTerminal, Terminator, etc.) to
recover the expected Enter→prompt timing behavior.
- Use `/usr/bin/time -p <command>` or the shell built-in `time` when accurate timing
is required.
- Treat prompt timing as an inacurate indicator in this environment.
### Rain/Matrix rendering is slow on Windows
- **Description:** The rain, matrix and rainbow terminal effects are significantly slower
on Windows, especially with high density settings on every terminal software.
- **Cause:** This is due to the way Windows handles terminal display updates, which is
inherently less efficient than on Unix-like systems.
- **Status:** Not fixable in Bash; this is a limitation of Windows terminal design.
- **Workaround:** Lower the density parameter for better performance, or use a Unix-like
environment for optimal speed.
### The prompt timer replaces an existing `DEBUG` trap
- **Description:** The execution time shown in the prompt is measured with a `DEBUG` trap
installed when the profile is loaded. A `DEBUG` trap set earlier (bash-preexec and the
tools built on it) is replaced.
- **Cause:** bash hides the `DEBUG` trap from code run by `source`, so the profile cannot
read it to chain to it.
- **Workaround:** Load the profile before such tools. `PROMPT_COMMAND`, on the other hand,
is preserved: `set_prompt` is added to it.