From ad66dd30f016a85ec76712dbac6599e29d5e0b18 Mon Sep 17 00:00:00 2001 From: gabriele-cusato Date: Sun, 22 Mar 2026 18:57:44 +0100 Subject: [PATCH] aggiunta versione nelle settings --- .claude/settings.local.json | 7 ++++++- CLAUDE.md | 12 +++++++++++- HandTranscriptMd/src/settings.ts | 9 +++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 9458b3e..a4c6011 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -7,7 +7,12 @@ "WebFetch(domain:css-tricks.com)", "WebFetch(domain:chromium.googlesource.com)", "WebFetch(domain:github.com)", - "WebFetch(domain:issues.chromium.org)" + "WebFetch(domain:issues.chromium.org)", + "WebFetch(domain:source.chromium.org)", + "WebFetch(domain:stackoverflow.com)", + "WebFetch(domain:crbug.com)", + "WebFetch(domain:www.reddit.com)", + "WebFetch(domain:bugs.chromium.org)" ] } } diff --git a/CLAUDE.md b/CLAUDE.md index 5765ed2..25e8de8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -47,7 +47,7 @@ Un plugin Obsidian che inserisce un **riquadro canvas inline** in un file `.md` | File | Cosa fa | |------|---------| | `main.ts` | Entry point: registra embed, editor view, comando, ribbon, settings, `previewCallbacks` per sync inline↔tab | -| `settings.ts` | Impostazioni: cartella SVG, dimensioni canvas, sfondo, lingue OCR, chiave API Gemini, toggle `hwmHandwritingMode` | +| `settings.ts` | Impostazioni: cartella SVG, dimensioni canvas, sfondo, lingue OCR, chiave API Gemini, toggle `hwmHandwritingMode`; mostra versione (`plugin.manifest.version`) e branch (`PLUGIN_BRANCH` costante hardcoded) nell'header della pagina impostazioni | | `drawing-canvas.ts` | Motore disegno Canvas API: Bézier quadratiche, penna, gomma parziale, undo/redo history-based, auto-expand, righe foglio, `allowFingerScroll()` | | `svg-utils.ts` | Conversione tratti ↔ SVG (dati riedit in `` JSON), righe e sfondo inclusi nell'SVG | | `embed.ts` | Code block processor → preview SVG inline + pannello portale in document.body; click matita → Modal (Windows) o nuova tab (Android); scroll fix; badge mode | @@ -350,6 +350,16 @@ Cambiamenti implementati durante la fase 2: **Conferma esterna**: il plugin **Excalidraw** e il plugin **Handwritten Notes** hanno lo stesso identico problema — appena si apre la tab di disegno, l'handwriting-to-text si disattiva nell'intero Obsidian e non si ripristina nemmeno riavviando l'app. È un limite di Android WebView, non specifico al nostro plugin. **Non esiste soluzione lato plugin**; il compromesso dello switch è la scelta definitiva. +**Ricerca approfondita sul sorgente Chromium (2026-03-22)**: + +- **Nessun bug Chromium aperto trovato** per questo problema specifico (il tracker non è scrapeable) +- **Obsidian Ink Issue #156** — ancora aperta, nessuna soluzione +- **Scoperta chiave**: il `` da solo NON disabilita l'handwriting — non esiste codice canvas-specifico in Chromium che imposti `kInternalNotWritable`. Il trigger reale è **`touch-action: none`**: qualsiasi elemento con quella proprietà CSS fa scattare il flag `kInternalNotWritable` in `touch_action_util.cc`, disabilitando la scrittura con stilo su quell'elemento +- **Commit rilevante** (~5 mesi fa): `b06690ad` — Samsung DirectWriting disabilitato su Android 14+. Se il dispositivo è Android 14+, il percorso Samsung proprietario (closed source, potenzialmente causa di session-corruption) è già escluso +- **Ipotesi residua più probabile**: quando `DrawingEditorView` si apre, il `touch-action: none` del canvas o del suo scroll container viene propagato a livello di Android View dal WebView, e alla chiusura della tab quella configurazione non viene resettata + +**Possibile prossimo test**: rimuovere completamente `touch-action: none` dal canvas e dal suo scroll container in `drawing-canvas.ts` / `editor-view.ts` e verificare se il problema persiste. Se il canvas da solo non rompe nulla (come confermato dal sorgente Chromium), potrebbe bastare rimuovere quella proprietà. + **Fonti**: - [Chromium Stylus Handwriting README](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/components/stylus_handwriting/README.md) - [ProseMirror Issue #565](https://github.com/ProseMirror/prosemirror/issues/565) diff --git a/HandTranscriptMd/src/settings.ts b/HandTranscriptMd/src/settings.ts index a9d8440..3b59697 100644 --- a/HandTranscriptMd/src/settings.ts +++ b/HandTranscriptMd/src/settings.ts @@ -94,6 +94,9 @@ export const DEFAULT_SETTINGS: HandwritingSettings = { debugMode: false, }; +// Nome del branch corrente — aggiornare manualmente ad ogni cambio di branch +const PLUGIN_BRANCH = 'master'; + export class HandwritingSettingTab extends PluginSettingTab { plugin: HandwritingPlugin; @@ -108,6 +111,12 @@ export class HandwritingSettingTab extends PluginSettingTab { containerEl.createEl('h2', { text: 'Handwriting to Markdown' }); + // Riga versione + branch + containerEl.createEl('p', { + text: `v${this.plugin.manifest.version} — branch: ${PLUGIN_BRANCH}`, + cls: 'setting-item-description', + }); + // --- Cartella SVG --- new Setting(containerEl) .setName('Cartella SVG')