From 667eb556419b805871181bdfb6713e146863b608 Mon Sep 17 00:00:00 2001 From: FeelRatchanons Date: Sat, 13 Jun 2026 14:29:27 +0700 Subject: [PATCH] feat(simulation): read-only Conversation view for completed runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 3 (Step3Simulation.vue) called doStartSimulation({force:true}) on every onMounted, so opening a finished simulation force-restarted it — wiping the run and re-spending tokens. There was also no way to revisit a completed run's timeline from history. - Step3Simulation: add initSimulation() that checks run-status first. If the simulation already ran (completed/stopped/running, or has actions), load the existing timeline read-only (resume polling only if still running) instead of force-starting. Genuinely fresh simulations start as before. - HistoryDatabase: add a "Step3 · Conversation" button to the history modal that routes to the SimulationRun view for the selected simulation. - locales: add history.step3Button (en/zh) and update replayHint to reflect that completed runs are now viewable read-only. Co-Authored-By: Claude Opus 4.8 (1M context) --- frontend/src/components/HistoryDatabase.vue | 28 ++++++++++++++--- frontend/src/components/Step3Simulation.vue | 35 ++++++++++++++++++++- locales/en.json | 3 +- locales/zh.json | 3 +- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/HistoryDatabase.vue b/frontend/src/components/HistoryDatabase.vue index d6c6e9a576..20184b3c3f 100644 --- a/frontend/src/components/HistoryDatabase.vue +++ b/frontend/src/components/HistoryDatabase.vue @@ -161,16 +161,25 @@ {{ $t('history.step1Button') }} - - +