From 287afa1537853bd9271bba3c4d83063e0c501f12 Mon Sep 17 00:00:00 2001 From: Spark Date: Sat, 24 Oct 2026 03:10:34 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20CSP=20=E2=80=94=20frame-src=20autorise?= =?UTF-8?q?=20la=20console=20du=20service=20d'agents=20(mode=20console=20d?= =?UTF-8?q?u=20panneau=20Spark)=20BUG-119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 18 +++++++++++++++++- README.fr.md | 6 +++--- README.md | 6 +++--- VERSION | 2 +- backend/main.py | 2 +- desktop/Cargo.lock | 2 +- desktop/Cargo.toml | 2 +- desktop/tauri.conf.json | 2 +- docs/ISSUES_TODOLIST.md | 2 ++ docs/ROADMAP.md | 3 ++- package.json | 2 +- tests/test_security_headers.py | 27 +++++++++++++++++++++++++++ 12 files changed, 60 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f39fd7b..df240a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). > **En cours de développement** : les changements à venir sont listés dans la section -> [Unreleased](#unreleased). La dernière version livrée est **2.77.0**. +> [Unreleased](#unreleased). La dernière version livrée est **2.77.1**. --- @@ -14,6 +14,22 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [2.77.1] — 2026-10-24 + +### Corrigé + +- **Panneau Spark : « mode console » bloqué par la CSP (BUG-119, Fusion)** — + la surimpression du panneau Spark V3 (#222) charge la console du service + d'agents (`https://agent.dracodev.net`) dans une iframe, mais la CSP servie + limitait `frame-src` à `'self' blob:` : le navigateur refusait le + chargement (« This content is blocked »). `frame-src` autorise désormais + aussi `https://agent.dracodev.net` — déjà présente dans `connect-src` + pour le panneau texte ; aucune autre directive n'est modifiée. Test de + non-régression dans `tests/test_security_headers.py`. Redéploiement + Docker requis pour l'activer côté ObsiGate. + +--- + ## [2.77.0] — 2026-10-23 ### Modifié diff --git a/README.fr.md b/README.fr.md index 380fc40..6afa12d 100644 --- a/README.fr.md +++ b/README.fr.md @@ -4,7 +4,7 @@ **Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive. -[![Version](https://img.shields.io/badge/Version-2.77.0-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.77.1-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -977,8 +977,8 @@ Ce projet est sous licence **MIT** — voir le fichier [LICENSE](LICENSE) pour l ## 📝 Changelog -Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.77.0). +Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.77.1). --- -*Projet : ObsiGate | Version : 2.77.0 | Dernière mise à jour : Septembre 2026* +*Projet : ObsiGate | Version : 2.77.1 | Dernière mise à jour : Septembre 2026* diff --git a/README.md b/README.md index c30dd06..76e623a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Ultra-light web gateway for your Obsidian vaults** — Access, browse, and search all your Obsidian notes from any device via a modern, responsive web interface. -[![Version](https://img.shields.io/badge/Version-2.77.0-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.77.1-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -1152,8 +1152,8 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) ## 📝 Changelog -See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.77.0). +See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.77.1). --- -*Project: ObsiGate | Version: 2.77.0 | Last updated: September 2026* +*Project: ObsiGate | Version: 2.77.1 | Last updated: September 2026* diff --git a/VERSION b/VERSION index 581bd1a..8416b36 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.77.0 +2.77.1 diff --git a/backend/main.py b/backend/main.py index b434fa2..6284174 100644 --- a/backend/main.py +++ b/backend/main.py @@ -194,7 +194,7 @@ class SecurityHeadersMiddleware(BaseHTTPMiddleware): "connect-src 'self' blob: https://esm.sh https://unpkg.com https://cdnjs.cloudflare.com https://fonts.googleapis.com https://fonts.gstatic.com https://cdn.jsdelivr.net https://agent.dracodev.net; " "font-src 'self' data: https://fonts.gstatic.com https://esm.sh; " "worker-src 'self' blob:; " - "frame-src 'self' blob:; " + "frame-src 'self' blob: https://agent.dracodev.net; " "object-src 'none'; " "base-uri 'self'; " "form-action 'self'; " diff --git a/desktop/Cargo.lock b/desktop/Cargo.lock index d3e77bb..5ea755c 100644 --- a/desktop/Cargo.lock +++ b/desktop/Cargo.lock @@ -2626,7 +2626,7 @@ dependencies = [ [[package]] name = "obsigate-desktop" -version = "2.77.0" +version = "2.77.1" dependencies = [ "chrono", "env_logger", diff --git a/desktop/Cargo.toml b/desktop/Cargo.toml index e19f222..825825f 100644 --- a/desktop/Cargo.toml +++ b/desktop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "obsigate-desktop" -version = "2.77.0" +version = "2.77.1" description = "ObsiGate Desktop — Porte d'entrée native pour vos vaults Obsidian" authors = ["Bruno Charest"] edition = "2021" diff --git a/desktop/tauri.conf.json b/desktop/tauri.conf.json index 4e68b9f..dcfdc4f 100644 --- a/desktop/tauri.conf.json +++ b/desktop/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/nicedoc/obsigate/main/desktop/tauri.conf.schema.json", "productName": "ObsiGate", - "version": "2.77.0", + "version": "2.77.1", "identifier": "com.obsigate.desktop", "build": { "frontendDist": "../frontend", diff --git a/docs/ISSUES_TODOLIST.md b/docs/ISSUES_TODOLIST.md index 5b0cb9c..a1449a5 100644 --- a/docs/ISSUES_TODOLIST.md +++ b/docs/ISSUES_TODOLIST.md @@ -225,6 +225,7 @@ Avant de corriger quoi que ce soit, un agent IA doit : | *BUG-115* | Éditeur Forge : cases à cocher collées au texte dans l'aperçu, aperçu qui flashe à la frappe, menu « dimensions du tableau » coupé hors écran sur un document court | 🟢 corrigé | P2 | 📱 frontend / éditeur | IA | `frontend/editor-poc.html` (CSS aperçu, `renderPreview`, `showTableForm`, `showLangPicker`) | Ouvrir un `.md` avec `- [ ]`, activer l'aperçu → texte collé au checkbox + flash « Rendering... » ; `/table` sur un document d'une ligne → forme partiellement visible | (1) règle `.task-list-item input[type=checkbox] { margin-right: 6px }` ajoutée au `