Skip to content

fix(characters): no mezclar el historial de Character Creator al cambiar de workspace - #25

Merged
IAnMove merged 1 commit into
mainfrom
cursor/critical-bug-management-9e0f
Aug 31, 2026
Merged

fix(characters): no mezclar el historial de Character Creator al cambiar de workspace#25
IAnMove merged 1 commit into
mainfrom
cursor/critical-bug-management-9e0f

Conversation

@cursor

@cursor cursor Bot commented Aug 31, 2026

Copy link
Copy Markdown

Bug e impacto

Si el usuario genera una órbita o un mesh Hunyuan en el workspace A y cambia al workspace B mientras el trabajo sigue en curso, el historial de Character Creator se corrompe:

  • El store de A se reescribe con las sheets de B (se pierden personajes anteriores).
  • La UI de B puede mostrar el personaje de A.
  • El mesh de Hunyuan se adjunta en el workspace equivocado o no se adjunta.

Causa

takePhotos y el callback de Hunyuan fusionaban el array de historial en memoria (ya recargado para B) y lo guardaban en localStorage usando el activeWorkspace del render actual. useSerializedPoll siempre llama al onValue más reciente, así que un job empezado en A termina escribiendo con el contexto de B.

Fix

  • Se fija el workspace al iniciar la órbita o Hunyuan.
  • Las escrituras leen y actualizan solo la clave de ese workspace.
  • El estado React (historial, vistas, mesh) solo se actualiza si el usuario sigue en el workspace de origen.

Validación

  • Test nuevo: un store A/B simulado conserva luma-orbit en A y brin-orbit en B cuando la captura de A termina "después" del cambio.
  • npm test -- tests/characterCreator.test.tsx: 9/9.
  • ESLint de los archivos tocados: limpio.
Open in Web View Automation 

…iar de workspace

La captura de órbita y Hunyuan fusionaban el historial en memoria del workspace activo y lo escribían en localStorage. Si el usuario cambiaba de workspace a mitad de generación, se perdían sheets anteriores y se contaminaba el otro workspace.

Co-authored-by: ignaciodelcano+dcl <ignaciodelcano+dcl@gmail.com>
@github-actions

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 3 file(s); +139/-31; React UI

Automated review from scripts/analyze_pr.py. This is a heuristic pass (no LLM) so humans still own the merge decision.

Findings

  • low — UI changed — rebuild before merge
    Run cd ui && npm run build (CI already does this). Pinokio Update rebuilds for end users; keep ui/dist untracked.

Changed files

  • modified: ui/src/features/characters/CharacterCreatorPanel.tsx, ui/src/features/characters/characterCreatorHistory.ts, ui/tests/characterCreator.test.tsx

CONTRIBUTING checklist

  • python scripts/verify_clean_repo.py
  • python -m compileall -q app/services app/launch.py scripts
  • cd ui && npm run build if the UI changed
  • No weights, CivitAI sidecars, or generated guides
  • Stays local-first (no required accounts / telemetry)

Posted by the repo PR review workflow. Re-runs on each push to the PR.

@IAnMove
IAnMove marked this pull request as ready for review August 31, 2026 21:22
@IAnMove
IAnMove merged commit b37f828 into main Aug 31, 2026
2 of 3 checks passed
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