Skip to main content
blink

Si se interrumpe una grabación, no se pierde nada

Qué sucede cuando se interrumpe una grabación

Mientras grabas un Blink, el audio se guarda en el servidor mientras avanzas. Así que si la grabación se detiene antes de que termines — bloqueas el teléfono, cierras la pestaña, atiendes una llamada, pierdes señal — la parte que ya habías hablado está a salvo.

La próxima vez que abras OrbitingFox, esa grabación aparece como un draft Blink con un título que dice lo que es:

Draft — grabación interrumpida #3, 4 de sep 8:25 AM

El número cuenta tus interrupciones en orden, y la fecha y hora te dicen cuál fue — útil cuando dos se interrumpen en la misma tarde.

Dónde encontrarlos

Los borradores aparecen en dos lugares, y son los mismos elementos de cualquier forma:

  • Tu lista de Blink ordinaria, mezclada con todo lo demás, cada una marcada con una pequeña etiqueta Draft para que puedas identificarla de un vistazo.
  • La página de grabaciones interrumpidas, que muestra solo los borradores, con una explicación en la parte superior y las opciones al lado de cada uno.

Tus tres opciones

  • Conservar — se convierte en un Blink ordinario. La grabación está vinculada a él, y puedes renombrarlo cuando quieras; el título del borrador es solo un punto de partida.
  • Editar — ábrelo primero y cambia el título o el texto, luego guárdalo como de costumbre.
  • Eliminar — no lo querías. Va a tu Papelera como cualquier otra cosa que elimines, así que un toque accidental es recuperable.

No hay fecha límite. Un borrador espera hasta que decidas.

OrbitPilot y tus borradores

OrbitPilot no lee el contenido de un borrador. Una grabación interrumpida es media idea — puede que no hayas terminado la frase, o puede que la elimines por completo — así que la IA no se la da para aprender.

En el momento que conservas un borrador, se convierte en un Blink ordinario, y a partir de entonces OrbitPilot lo trata como cualquier otro: puede leerlo, a menos que hayas marcado ese Blink como privado.

Qué cambió, y por qué

Antes de esto, una grabación interrumpida se anunciaba con un banner de advertencia dentro de cualquier formulario de Blink que abrieras después — un banner por cada grabación interrumpida, apilados uno encima del otro, y la grabación estaría adjunta a lo que estuvieras escribiendo en ese momento.

Eso fue confuso de dos maneras: varias alarmas para un problema y una grabación que terminaba dentro de un Blink no relacionado. Ahora cada grabación interrumpida es su propio elemento, con su propio nombre, y tú decides qué le sucede.

El formulario de Blink ya no los anuncia (BL-451, 2026-09-10)

Hasta ahora, el formulario de Blink contenía un aviso de una línea — "N grabaciones anteriores fueron interrumpidas y guardadas como borradores — Revísalas" — dentro del bloque de nota de voz, entre el botón de comenzar a grabar y su texto de ayuda. El propietario diseñó esta función como sin banners en absoluto: los borradores son visibles en tu lista de Blink (marcados como borradores), en la página de grabaciones interrumpidas, y detrás de la pequeña pastilla de reloj de arena bajo la caja de captura de la página principal. La página principal ya ocultaba el aviso del formulario; el formulario mismo lo mantenía, y se interrumpía exactamente en el momento que no debería — mientras capturas otra cosa.

Qué cambió. El aviso ha desaparecido del formulario. Nada sobre la recuperación cambió: cuando abres un formulario de Blink, la página aún solicita al servidor que verifique grabaciones interrumpidas, y cada una todavía se convierte en un borrador de Blink con un título honesto. Los encuentras donde el diseño los ha colocado — la lista de Blink, la página de borradores, la pastilla de la página principal — y OrbitPilot puede señalarte hacia ellos. Si estás editando un Blink ordinario mientras los borradores están esperando, el formulario ya no menciona tampoco; la página de borradores sí lo hace.

Para los desarrolladores. El contenedor #voice_draft_recovery_banner se ha eliminado de templates/blink/_wink_voice.html; checkDrafts() en _wink_voice_js.html mantiene su voice_draft_check de búsqueda — el efecto secundario del GET es la materialización, así que la búsqueda es el rescate — y elimina la rama de escritura de banner; la regla de ocultación ahora muerta se ha eliminado de templates/home.html. El contrato de conteo BL-396 no ha sido tocado (sus nueve escenarios leen el endpoint, no la página). Guard: blink/test_draft_form_notice_retired.py. Esta es la Fase 0 de la parte frontal del micrófono de la página principal (GRP-104 / WO-33; copia del repositorio docs/blink/HOME-PAGE-MIC-DESIGN.md).

Distinguiendo tus borradores sin abrirlos (BL-464, 2026-09-11)

Qué cambió. Cada fila en la página de grabaciones interrumpidas solía mostrar un título y la hora en que fue grabada, y nada más. Los títulos se generan, así que ocho borradores parecían ocho copias de la misma cosa — y la única forma de decidir si Conservar o Eliminar uno era abrirlo, mirarlo y volver.

Las palabras del propietario: "entonces el usuario tendrá una idea general de qué hay dentro de cada uno de ellos antes de hacer clic en editar o hacer clic en conservar o hacer clic en eliminar. Así que esa página debería ser más informativa sobre los elementos de borrador."

Cada fila ahora lleva

  • El inicio de lo que se dijo. Una línea corta de la transcripción — intencionadamente corta, y mantenida en una sola línea sin importar cuánto dure la grabación. Una lista de bloques de tres líneas sería el mismo problema en una forma diferente.
  • Un control de reproducción, en cualquier borrador que aún tenga su grabación. Presiónalo y la grabación se reproduce sin salir de la página; presiónalo de nuevo para detener.

Solo uno se reproduce a la vez. Presionar reproducir en un segundo borrador detiene el primero. Sin eso, hojear ocho borradores para averiguar cuál es cuál deja cuatro grabaciones hablando al mismo tiempo y sin una forma obvia de detenerlas.

El control dice Reproducir o Detener en palabras, no solo como una forma, y la palabra cambia con lo que hará al presionarlo. Nada aquí necesita hover — no hay hover en un teléfono, y esa lección tiene su propia fila.

La duración aún no se muestra

El propietario también solicitó la duración total de cada grabación. No está aquí, y eso es intencionado en lugar de olvidado: nada lo almacena hoy, y la forma obvia de añadirlo resultó no funcionar para esta página. Es una pieza de trabajo separada con su propia fila.

Para los desarrolladores

 Un borrador de Blink no tiene BlinkAudio. Esta es la cosa que debes saber antes de tocar esta página. materialise_voice_draft() crea el Blink y deja la grabación en BlinkVoiceDraft; se crea un BlinkAudio solo cuando la persona presiona Conservar (promote_voice_draft  commit_voice_drafts). Así que el control de reproducción y el fragmento leen blink.voice_draft, y prefetch_related("audios") serían N consultas devolviendo nada. La vista ya select_related("voice_draft"), así que la fila no cuesta consulta extra — fijada por una prueba que cuenta consultas para un borrador contra cuatro.

El fragmento lee voice_draft.transcript y no blink.description: la descripción se genera a partir de la transcripción en el momento de la materialización y puede ser editada después, así que los dos se desvían. La transcripción es lo que realmente se dijo, que es lo que alguien que está escaneando la lista está tratando de reconocer.

El control es un pequeño botón más un <audio> oculto, no un <audio controls> nativo: un reproductor nativo es aproximadamente 300px de ancho y estas filas ya llevan Editar, Conservar y Eliminar, así que uno envolvería cada fila a 375px. preload="none" evita que una lista de diez filas recupere diez archivos de audio al cargar. El controlador compartido vive en static/js/of-draft-play.js; un play() rechazado devuelve el botón y dice eso en lugar de dejarlo leyendo "Detener" sobre el silencio.

Los glifos provienen del registro de iconos — play, pause y microphone fueron registrados por adminapp/0080, porque ninguno de ellos existía. Renderizar {% of_icon "play" %} contra una clave que el registro no posee devuelve la cadena vacía fuera de DEBUG, lo que habría enviado un botón con nada dentro. La misma migración reemplaza el emoji crudo ; emoji que el chip de voz pendiente usó como su disponibilidad.

This guide was translated automatically. Read the English original.

🪐 OrbitPilot

Create a free account and I'll remember your conversations — sign up

🧠 Memory status