From 234b880c5b51331239e54a3bec266c51671283e4 Mon Sep 17 00:00:00 2001 From: bruno Date: Tue, 14 Jul 2026 12:47:08 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20Gitea=20workspace=20=E2=80=94=20correct?= =?UTF-8?q?=20sidebar=20name,=20newPage=20stays=20remote,=20cookie=20persi?= =?UTF-8?q?sted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug 1: newPageInWorkspace() allait toujours vers local-workspace API → Maintenant détecte workspaceKey contient '/' → Gitea API PUT file Bug 2: workspace_name dans gitea_workspace ne persistait pas → Cookie flowdeck_workspace posé côté serveur au premier chargement Bug 3: icône 📁 fixe dans sidebar — pas d'indication remote → 🔗 affiché quand workspace_key contient '/' (remote), 📁 sinon newFolderInWorkspace() : avertissement si workspace distant (car les dossiers n'existent pas dans un repo Git) --- app/routers/dashboard.py | 13 +++++++++++-- app/templates/base.html | 23 ++++++++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 57a4588..6361eca 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -380,16 +380,25 @@ async def gitea_workspace_page(request: Request): return RedirectResponse("/auth/login?provider=local", status_code=302) owner = request.query_params.get("owner", "") repo = request.query_params.get("repo", "") + ws_key = f"{owner}/{repo}" if owner and repo else "" + ws_name = ws_key or "Gitea Workspace" ctx = { **sidebar, "user": user, - "workspace_name": f"{owner}/{repo}" if owner and repo else "Gitea Workspace", + "active_ws_name": ws_name, + "workspace_key": ws_key, + "workspace_name": ws_name, "workspace_initial": repo[0].upper() if repo else "G", "owner": owner, "repo": repo, } template = env.get_template("gitea_workspace.html") - return template.render(**ctx) + response = template.render(**ctx) + # Set workspace cookie so subsequent navigations remember the active Gitea project + resp = HTMLResponse(content=response) + if ws_key: + resp.set_cookie("flowdeck_workspace", f"gitea:{owner}:{repo}", path="/", samesite="lax") + return resp @router.get("/api/workspace/projects") diff --git a/app/templates/base.html b/app/templates/base.html index 4a615cd..5dcc1f9 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -121,7 +121,7 @@