A custom date format chrono can't render stops every recording from starting

Abierto
#3,912 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@patrickballard ya está trabajando en esto.

Desde el 6/11/2026.

  • #3913 de @patrickballard — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
rust
Área
backend, desktop

Línea de trabajo

Start by reading format_recording_project_name and cap_utils::moment_format_to_chrono, then inspect the existing recording_project_names_preserve_random_placeholder_in_window_title test for related behavior. Reproduce with {moment:YYYY 100%} and check how an unrenderable placeholder and placeholders in window titles are handled. Done means recording starts and the expected placeholder text is preserved; linked pull request #3913 is already open.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

The default project name template accepts custom formats such as {date:DD/MM/YYYY} and {moment:YYYYMMDD}, and Cap's support assistant lists {moment:...} among the placeholders. format_recording_project_name turns the format into a chrono one with cap_utils::moment_format_to_chrono and renders it with datetime.format(&format).to_string(). That passes a % straight through, so a format chrono can't render, such as one ending in % or containing %Q, makes to_string() panic. The panic lands in the recording start task, so no recording can start until the template is changed.

Window titles reach the same code. {target_name} is substituted before the date placeholders are expanded, so a window titled "Notes {date}" makes a project named "Notes 2026-11-06 …", and a title containing {time:100%} fails the start the same way. {random} in a window title is already kept as it reads (recording_project_names_preserve_random_placeholder_in_window_title).

Reproduction
  1. Set Settings → General → Default project name to {moment:YYYY 100%}.
  2. Start a Studio recording.
  3. The recording doesn't start. The log shows recording start task died: task … panicked with message "a Display implementation returned an error unexpectedly: Error".

Seen with a debug build of main (da2c85eed) on macOS.

Expected

The recording starts, and the placeholder that can't be rendered is left as typed, as an unknown placeholder is. Placeholders inside a window title stay as they read.

Lenguaje dominante
Rust
Estrellas
24.2k
Forks
2.2k
Merge medio
1 d 10 h
PR fusionados (30 d)
684

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CapSoftware/Cap

Todos los issues de CapSoftware/Cap

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.