Skip to content

television Crash Report #820

@macklinu

Description

@macklinu

Description
When opening the built-in Zed terminal and then resizing the Zed application window, I notice a television crash. Please let me know if you need more info.

Example

  • open zed
  • press ctrl+`
  • use fish shell (perhaps related since that's what i'm using)
  • resize the zed window
  • see crash

Expected behavior
No crash

Environment

  • OS: Mac OS 26.1.0
  • TV version: 0.14.1
  • shell: fish
  • terminal: Zed terminal
  • Your configuration file (~/.config/television/config.toml)
# CONFIGURATION FILE LOCATION ON YOUR SYSTEM:
# -------------------------------------------
# Defaults:
# ---------
#  Linux:   `$HOME/.config/television/config.toml`
#  macOS:   `$HOME/.config/television/config.toml`
#  Windows: `%LocalAppData%\television\config.toml`
#
# XDG dirs:
# ---------
# You may use XDG_CONFIG_HOME if set on your system.
# In that case, television will expect the configuration file to be in:
# `$XDG_CONFIG_HOME/television/config.toml`
#

# General settings
# ----------------------------------------------------------------------------
tick_rate = 50
default_channel = "files"
# History settings
# ---------------
# Maximum number of entries to keep in the global history (default: 100)
# The history tracks search queries across all channels and sessions
# Set to 0 to disable history functionality entirely
history_size = 200
# Whether to use global history (default: false)
# When true: history navigation shows entries from all channels
# When false: history navigation is scoped to the current channel
global_history = false

[ui]
# How much space to allocate for the UI (in percentage of the screen)
# ┌─────────────────────────┐
# │     Terminal screen     │
# │  ┌───────────────────┐  │
# │  │                   │  │
# │  │  Television UI    │  │
# │  │                   │  │
# │  └───────────────────┘  │
# │                         │
# └─────────────────────────┘
ui_scale = 100
# What orientation should tv be (landscape or portrait)
orientation = "landscape"
# The theme to use for the UI
# A list of builtin themes can be found in the `themes` directory of the television
# repository. You may also create your own theme by creating a new file in a `themes`
# directory in your configuration directory (see the `config.toml` location above).
theme = "catppuccin"

# Feature-specific configurations
# Each feature can have its own configuration section
[ui.input_bar]
# Where to place the input bar in the UI (top or bottom)
position = "top"
# The input prompt string (defaults to ">" if not specified)
prompt = ">"
# header = "{}"
# padding = {"left": 0, "right": 0, "top": 0, "bottom": 0}
border_type = "rounded" # https://docs.rs/ratatui/latest/ratatui/widgets/block/enum.BorderType.html#variants

[ui.status_bar]
# Status bar separators (bubble):
#separator_open = ""
#separator_close = ""
# Status bar separators (box):
separator_open = ""
separator_close = ""
hidden = false

[ui.results_panel]
border_type = "rounded"
# padding = {"left": 0, "right": 0, "top": 0, "bottom": 0}

[ui.preview_panel]
# Preview panel size (percentage of screen width/height)
size = 50
#header = ""
#footer = ""
scrollbar = true
border_type = "rounded"
# padding = {"left": 0, "right": 0, "top": 0, "bottom": 0}
hidden = false

[ui.help_panel]
# Whether to split the help panel by categories
show_categories = true
hidden = true

[ui.remote_control]
# Whether to show channel descriptions in remote control mode
show_channel_descriptions = true
# Whether to sort channels alphabetically
sort_alphabetically = true
# disabled = false

# Theme color overrides
# ---------------------
# You can override specific colors from the selected theme by adding them here.
# This allows you to customize the appearance without creating a full theme file.
# Colors can be specified as ANSI color names (e.g., "red", "bright-blue") or
# as hex values (e.g., "#ff0000", "#1e1e2e").
#
# Example overrides:
# [ui.theme_overrides]
# background = "#000000"
# text_fg = "#ffffff"
# selection_bg = "#444444"
# match_fg = "#ff0000"

# Keybindings and Events
# ----------------------------------------------------------------------------
#
[keybindings]
# Application control
# ------------------
esc = "quit"
ctrl-c = "quit"

# Navigation and selection
# -----------------------
down = "select_next_entry"
ctrl-n = "select_next_entry"
ctrl-j = "select_next_entry"
up = "select_prev_entry"
ctrl-p = "select_prev_entry"
ctrl-k = "select_prev_entry"

# History navigation
# -----------------
ctrl-up = "select_prev_history"
ctrl-down = "select_next_history"

# Multi-selection
# --------------
tab = "toggle_selection_down"
backtab = "toggle_selection_up"
enter = "confirm_selection"

# Preview panel control
# --------------------
pagedown = "scroll_preview_half_page_down"
pageup = "scroll_preview_half_page_up"
ctrl-f = "cycle_previews"

# Data operations
# --------------
ctrl-y = "copy_entry_to_clipboard"
ctrl-r = "reload_source"
ctrl-s = "cycle_sources"

# UI Features
# ----------
ctrl-t = "toggle_remote_control"
ctrl-o = "toggle_preview"
ctrl-h = "toggle_help"
f12 = "toggle_status_bar"
ctrl-l = "toggle_layout"

# Input field actions
# ----------------------------------------
backspace = "delete_prev_char"
ctrl-w = "delete_prev_word"
ctrl-u = "delete_line"
delete = "delete_next_char"
left = "go_to_prev_char"
right = "go_to_next_char"
home = "go_to_input_start"
ctrl-a = "go_to_input_start"
end = "go_to_input_end"
ctrl-e = "go_to_input_end"

# Shell integration
# ----------------------------------------------------------------------------
#
# The shell integration feature allows you to use television as a picker for
# your shell commands (as well as your shell history with <CTRL-R>).
# E.g. typing `git checkout <CTRL-T>` will open television with a list of
# branches to choose from.

[shell_integration]
# This specifies the default fallback channel if no other channel is matched.
fallback_channel = "files"

[shell_integration.channel_triggers]
# Add your channel triggers here. Each key is a channel that will be triggered
# by the corresponding commands.
# Example: say you want the following commands to trigger the following channels
# when pressing <CTRL-T>:
#          `git checkout`  should trigger the `git-branches` channel
#          `ls`            should trigger the `dirs` channel
#          `cat` and `cp`  should trigger the `files` channel
#
# You would add the following to your configuration file:
# ```
# [shell_integration.channel_triggers]
# "git-branches" = ["git checkout"]
# "dirs" = ["ls"]
# "files" = ["cat", "cp"]
# ```
"alias" = ["alias", "unalias"]
"env" = ["export", "unset"]
"dirs" = ["cd", "ls", "rmdir", "z"]
"files" = [
  "cat",
  "less",
  "head",
  "tail",
  "vim",
  "nano",
  "bat",
  "cp",
  "mv",
  "rm",
  "touch",
  "chmod",
  "chown",
  "ln",
  "tar",
  "zip",
  "unzip",
  "gzip",
  "gunzip",
  "xz",
]
"git-diff" = ["git add", "git restore"]
"git-branch" = [
  "git checkout",
  "git branch",
  "git merge",
  "git rebase",
  "git pull",
  "git push",
]
"git-log" = ["git log", "git show"]
"docker-images" = ["docker run"]
"git-repos" = ["nvim", "code", "hx", "git clone"]


[shell_integration.keybindings]
# controls which key binding should trigger tv
# for shell autocomplete
"smart_autocomplete" = "ctrl-t"
# controls which keybinding should trigger tv
# for command history
"command_history" = "ctrl-r"
  • The channel you are using (if applicable and different from the default): N/A?

Additional context

name = "television"
operating_system = "Mac OS 26.1.0 [64-bit]"
crate_version = "0.14.1"
explanation = """
Panic occurred in file 'library/std/src/io/stdio.rs' at line 1165
"""
cause = "failed printing to stdout: Broken pipe (os error 32)"
method = "Panic"
backtrace = """
   0:        0x101052fe0 - backtrace::capture::Backtrace::new::h6b77efdb15f16e01
   1:        0x1010d5f18 - human_panic::report::Report::new::h4cbdf54f4f2dd407
   2:        0x1013b1ca4 - television::errors::init::{{closure}}::h47784c380ce284b9
   3:        0x10124d3c0 - std::panicking::panic_with_hook::h8aad6dd2389d8f59
   4:        0x10124d168 - std::panicking::panic_handler::{{closure}}::h3bd15449212d5b6e
   5:        0x10124d0d8 - std::sys::backtrace::__rust_end_short_backtrace::h3b25181b9f11fe05
   6:        0x10124d0cc - __rustc[18f9140b322fd06e]::rust_begin_unwind
   7:        0x101472cec - core::panicking::panic_fmt::h900188084d4e95b5
   8:        0x10124e87c - std::io::stdio::_print::he7e29e8d46f201cf
   9:        0x100fd8a14 - tv::handle_subcommand::h1072f76ee7576541
  10:        0x100fe14b4 - tv::main::{{closure}}::h6ba8520886abd455
  11:        0x100fda75c - tv::main::ha3b56be0b2eb724e
  12:        0x100fe3a78 - std::sys::backtrace::__rust_begin_short_backtrace::h0e054b64c3fae9d3
  13:        0x10102c610 - _main
"""

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwaitingwaiting for a reproducible example or more information from the issuer

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions