From 3d20a127cfa127d20f68ded5422f2773e70afccb Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 1 Sep 2026 20:01:53 +0200 Subject: [PATCH] docs: describe the Vue 3 stack in AGENTS.md AGENTS.md still described the frontend as Vue 2.7 with Vue Router 3, which stopped being true when #2836 migrated the app to Vue 3. package.json now pins Vue 3.5 and Vue Router 4. The lifecycle hook names differ between the two majors, so an agent following the outdated description would write beforeDestroy, which Vue 3 never calls and which therefore leaks subscriptions without any error. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Andy Scherzinger --- AGENTS.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index bc688544ab..55fde30d69 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -104,7 +104,9 @@ Routes are defined in `appinfo/routes.php` (~100 routes covering the full REST A ### Frontend (Vue.js — `src/`) -Single-page app built with **Vue 2.7**, **Vue Router 3**, and **Pinia** (state management). Compiled with **Vite**. +Single-page app built with **Vue 3**, **Vue Router 4**, and **Pinia** (state management). Compiled with **Vite**. + +Components use the Options API. Lifecycle hooks follow the Vue 3 names — use `beforeUnmount`, not the Vue 2 `beforeDestroy`. - **`src/store/store.js`** — Primary Pinia store (tables, columns, views, shares, contexts). - **`src/store/data.js`** — Row/cell data state.