Skip to content

Arregla la CI de main y añade calidad de vida a la ventana (1.0.1) - #1

Merged
Dathinel merged 3 commits into
mainfrom
claude/arreglos-1-1
Nov 1, 2026
Merged

Dathinel merged 3 commits into
mainfrom
claude/arreglos-1-1

Conversation

@Dathinel

Copy link
Copy Markdown
Owner

CI de main en rojo

CatalogoEntradaTests fallaba con «The term 'Get-FileHash' is not recognized». No era la huella del zip (la prueba ya usa un zip sintético): en Windows PowerShell 5.1 Get-FileHash es una función de script de Microsoft.PowerShell.Utility que solo existe si PSModulePath apunta a $PSHOME\Modules, y el powershell.exe que lanza el host de pruebas (lanzado a su vez desde el paso pwsh de la CI) heredaba otro PSModulePath.

  • build\catalogo-entrada.ps1 calcula el SHA-256 con las clases de .NET, válidas en 5.1 y en pwsh.
  • La prueba quita PSModulePath del entorno del hijo para que Windows PowerShell arme el suyo por omisión.
  • La prueba sigue exigiendo la huella y el tamaño reales del zip y que SignedIndex acepte la entrada firmada: no se afloja nada.

Calidad de vida

  • Cola de archivos: soltar o elegir varios videos o audios; se procesan uno tras otro (JobBatch) con «Archivo 2 de 5 · nombre · etapa», cada uno se guarda al terminar y un archivo que falla no para a los demás. Cancelar corta el archivo en curso; ffmpeg y el módulo mueren por sus tokens (ya lo hacían).
  • Recordar lo elegido (preferencias.json): carpeta del último archivo (carpeta inicial del diálogo), carpeta de salida, idioma, formato, traducción, voz y la casilla nueva.
  • Abrir la carpeta al terminar: casilla que abre el Explorador con el resultado seleccionado.
  • Atajos: Ctrl+O y Ctrl+Entrar.
  • Pruebas: BatchTests y PreferencesTests. CHANGELOG «Sin publicar», README y docs/pruebas-a-mano.md (lo que solo se puede juzgar en Windows).

Un commit por tarea. No unir hasta que Daniel pase las pruebas a mano.


Generated by Claude Code

La prueba CatalogoEntradaTests fallaba en la CI de main con «The term
'Get-FileHash' is not recognized»: en Windows PowerShell 5.1 ese cmdlet es
una función de script de Microsoft.PowerShell.Utility que solo existe si
PSModulePath apunta a $PSHOME\Modules, y el powershell.exe que lanza el
host de pruebas (a su vez lanzado desde pwsh) heredaba otro PSModulePath.
No era la huella del zip: la prueba ya usa un zip sintético.

- build\catalogo-entrada.ps1 calcula el SHA-256 con las clases de .NET,
  válidas en 5.1 y en pwsh, sin depender de módulos.
- La prueba quita PSModulePath del entorno del hijo para que Windows
  PowerShell arme el suyo por omisión.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CfAg611SDfRn9w3dXEzcMb
… y atajos

- Cola: soltar o elegir varios videos o audios; se procesan uno tras otro
  (JobBatch) con «Archivo 2 de 5 · nombre · etapa» y cada uno se guarda al
  terminar. Un archivo que falla no para a los demás; Cancelar corta el
  archivo en curso y los tokens matan ffmpeg y el módulo (ya lo hacían).
- Preferencias (preferencias.json): última carpeta del archivo elegido
  (carpeta inicial del diálogo), carpeta de salida, idioma, formato,
  traducción, voz y la casilla nueva «Abrir la carpeta al terminar».
- Abrir el Explorador con el resultado seleccionado al guardar.
- Ctrl+O abre «Elegir…» y Ctrl+Entrar pulsa «Generar subtítulos».
- FileDialogs: varios archivos (FOS_ALLOWMULTISELECT) y carpeta inicial.
- Pruebas: BatchTests (orden, progreso por archivo, error aislado,
  cancelar, carpeta del resultado) y PreferencesTests. CHANGELOG, README y
  pruebas a mano.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CfAg611SDfRn9w3dXEzcMb
…u valor por omisión

PreferencesTests fallaba en la CI: con propiedades init sin constructor, al
deserializar un archivo viejo sin «openFolder» la casilla salía desmarcada.
Con constructor primario y valores por omisión STJ aplica el valor del
parámetro que falte.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CfAg611SDfRn9w3dXEzcMb
@Dathinel
Dathinel merged commit 2f04941 into main Nov 1, 2026
1 check passed
@Dathinel
Dathinel deleted the claude/arreglos-1-1 branch November 1, 2026 00:51
Dathinel added a commit that referenced this pull request Nov 1, 2026
… catálogo (#3)

* Cola: sin entradas repetidas, salidas con sufijo si chocan y cancelar devuelve lo ya hecho

- JobBatch.Prepare quita las entradas repetidas (misma ruta completa) y, si dos trabajos resuelven la misma salida, pone «-2», «-3» (JobOptions.OutputName).
- Cancelar ya no tira la lista: el archivo en curso y los que faltaban vuelven con Cancelled y la barra dice «N de M listos, cancelado en X».
- Un solo relevo de progreso (SyncProgress<T> en Core) en vez de dos Relay privados iguales.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Preferencias: se guardan al cambiar y no olvidan carpetas desconectadas

Un apagón o un cierre forzado ya no pierde lo elegido, y una carpeta de un disco externo o de red que no esté en ese arranque se conserva (el diálogo ya cae a la de siempre si no existe).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Borra FileDialogs.OpenSingle, sin llamadores desde OpenMany

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* catalogo-entrada.ps1: resuelve la ruta del zip antes de abrirla con .NET

OpenRead resolvía una ruta relativa contra el directorio del proceso y no contra $PWD, así que Test-Path pasaba y la huella fallaba.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* CLAUDE.md al estado del 31-oct: PR #1 unido, versión sigue en 1.0.0 hasta publicar

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants