Skip to content

Releases: a198h/agile-board

v0.9.2 — Improved Print Board / Impression améliorée

Choose a tag to compare

@a198h a198h released this 28 Jun 07:28
76854e7

🇺🇸 English Version | 🇫🇷 Version Française


English

What's New

🖨️ Improved Print Board

  • Grid scaling: Frames now scale to fit the paper size (portrait or landscape) without overflowing
  • Header & Footer: File title displayed at top, plugin version (Agile Board vX.X.X) at bottom right
  • Callouts: Properly styled in print output
  • Obsidian Bases — Card view: Extracts cards from the live DOM, removes UI chrome (toolbar, search bar), shows property labels (except the redundant "name"), formats dates as DD/MM/YYYY HH:MM:SS
  • Obsidian Bases — Table view: Renders div-based tables correctly with explicit display:table-* CSS
  • Task lists: Checkboxes are preserved with proper spacing between the box and text

Installation

1. BRAT (Beta Testing — Recommended)

Install via BRAT plugin for automatic updates:

  • Open BRAT settings → Add Beta Plugin
  • Enter: a198h/agile-board

2. Manual Installation

Download main.js, manifest.json, and styles.css from this release and place them in:
.obsidian/plugins/agile-board/

3. Complete Vault with Examples

Download the full vault zip to explore the plugin with example boards.


Français

Nouveautés

🖨️ Impression améliorée

  • Mise à l'échelle de la grille : Les cadres s'adaptent maintenant à la taille du papier (portrait ou paysage) sans débordement
  • En-tête & Pied de page : Titre du fichier en haut, version du plugin (Agile Board vX.X.X) en bas à droite
  • Callouts : Correctement stylés à l'impression
  • Obsidian Bases — Vue cartes : Extraction des cartes depuis le DOM live, suppression de l'interface (barre d'outils, barre de recherche), affichage des labels de propriétés (sauf "name" redondant), dates formatées en JJ/MM/AAAA HH:MM:SS
  • Obsidian Bases — Vue tableau : Rendu correct des tableaux basés sur des divs avec CSS display:table-* explicite
  • Listes de tâches : Les cases à cocher sont préservées avec un espace entre la case et le texte

Installation

1. BRAT (Tests bêta — Recommandé)

Installez via le plugin BRAT pour les mises à jour automatiques :

  • Ouvrez les paramètres BRAT → Ajouter un plugin bêta
  • Entrez : a198h/agile-board

2. Installation manuelle

Téléchargez main.js, manifest.json et styles.css depuis cette release et placez-les dans :
.obsidian/plugins/agile-board/

3. Vault complet avec exemples

Téléchargez le zip complet du vault pour explorer le plugin avec des boards d'exemple.

v0.9.1 — Obsidian 1.13.0 Compatibility Fix

Choose a tag to compare

@a198h a198h released this 06 Jun 08:18
d01a76e

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English

Bug Fixes

  • Resize handles restored in Obsidian 1.13.0+ — The layout editor's resize handles stopped working after Obsidian 1.13.0 introduced a separate settings window. Root cause: DragDropHandler was listening for mousemove/mouseup on the main window's document, but the modal renders in the settings window's document. Fix: use element.ownerDocument instead of the global document for event listeners.
  • Resize handles at grid edges — Handles positioned at -5px outside edge boxes could return null from coordinate conversion; now clamped to grid bounds.
  • Pointer events on resize handles — Obsidian 1.13.0 (Chromium update) began properly clipping pointer events on overflow:hidden elements per spec. Box elements now use overflow:visible with an inner wrapper for text clipping.

What's New in v0.9.0 (previous release)

Previously, editing a frame required switching the entire note to edit mode, making it difficult to write while keeping the board visible.

Double-click any frame title to open its content in a dedicated window with full Obsidian Live Preview. Content syncs back automatically on close. Locked frames cannot be opened in popout.


Installation

Option 1 — BRAT (Beta Testing — Recommended)

BRAT handles automatic updates:

  1. Install and enable the BRAT community plugin
  2. In BRAT settings, add a198h/agile-board
  3. BRAT installs and keeps the plugin up to date automatically

Option 2 — Manual Installation

  1. Download main.js, manifest.json, and styles.css from the assets below
  2. Copy the three files to .obsidian/plugins/agile-board/
  3. Restart Obsidian and enable Agile Board in Settings → Community Plugins

Option 3 — Complete Vault with Examples

Download the full vault ZIP for testing with pre-built examples and sample notes.


🇫🇷 Français

Correctifs

  • Poignées de redimensionnement restaurées pour Obsidian 1.13.0+ — Les poignées de l'éditeur de layouts ne fonctionnaient plus après qu'Obsidian 1.13.0 a introduit une fenêtre paramètres séparée. Cause racine : DragDropHandler écoutait mousemove/mouseup sur le document de la fenêtre principale, mais le modal est rendu dans le document de la fenêtre paramètres. Correctif : utiliser element.ownerDocument au lieu du document global.
  • Poignées aux bords de la grille — Les poignées à -5px en dehors des boxes en bordure pouvaient retourner null lors de la conversion de coordonnées ; désormais clampées aux limites de la grille.
  • Événements pointeur sur les poignées — Obsidian 1.13.0 (mise à jour Chromium) a commencé à couper les événements pointeur sur les éléments overflow:hidden selon la spécification. Les boxes utilisent maintenant overflow:visible avec un wrapper interne pour le découpage du texte.

Nouveauté de v0.9.0 (version précédente)

Auparavant, éditer un cadre nécessitait de basculer toute la note en mode édition.

Double-cliquez sur le titre d'un cadre pour l'ouvrir dans une fenêtre dédiée avec le Live Preview complet d'Obsidian. Le contenu se resynchronise automatiquement à la fermeture. Les cadres verrouillés ne peuvent pas être ouverts en popout.


Installation

Option 1 — BRAT (Beta Testing — Recommandé)

BRAT gère les mises à jour automatiques :

  1. Installez et activez le plugin communautaire BRAT
  2. Dans les paramètres BRAT, ajoutez a198h/agile-board
  3. BRAT installe le plugin et le maintient à jour automatiquement

Option 2 — Installation manuelle

  1. Téléchargez main.js, manifest.json et styles.css depuis les assets ci-dessous
  2. Copiez les trois fichiers dans .obsidian/plugins/agile-board/
  3. Redémarrez Obsidian et activez Agile Board dans Paramètres → Plugins communautaires

Option 3 — Vault complet avec exemples

Téléchargez le ZIP du vault complet pour tester avec des exemples préconstruits et des notes d'exemple.

v0.9.0

Choose a tag to compare

@a198h a198h released this 14 Mar 11:49
a446788

🇺🇸 English Version | 🇫🇷 Version Française


English

✨ New Features

  • Popout editor: Double-click on a frame title to open its content in a separate window with full Live Preview editing. Content is synced back to the original note when the window is closed. Locked frames cannot be opened in popout.

🔧 Improvements

  • Font size slider: Minimum font scale lowered from 0.8x to 0.7x for better readability in small frames.

🐛 Bug Fixes

  • Auto-switch during editing (fixes #20): Fixed issue where editing a frame in board view would automatically switch back to markdown view after a few seconds on some environments (Linux/KDE/Wayland). Thanks to @Reaper176 for reporting and contributing the fix.

📦 Installation

BRAT (Beta Testing - Recommended)

  1. Install BRAT plugin
  2. Add a198h/agile-board via BRAT
  3. Enable Agile Board in Community Plugins

Manual Installation

  1. Download main.js, manifest.json, and styles.css from this release
  2. Copy them to .obsidian/plugins/agile-board/
  3. Enable Agile Board in Community Plugins

Français

✨ Nouvelles fonctionnalités

  • Éditeur popout : Double-cliquez sur le titre d'un cadre pour ouvrir son contenu dans une fenêtre séparée avec édition Live Preview complète. Le contenu est synchronisé avec la note originale à la fermeture de la fenêtre. Les cadres verrouillés ne peuvent pas être ouverts en popout.

🔧 Améliorations

  • Curseur de taille de police : La taille de police minimale est passée de 0.8x à 0.7x pour une meilleure lisibilité dans les petits cadres.

🐛 Corrections de bugs

  • Auto-switch pendant l'édition (corrige #20) : Correction du problème où l'édition d'un cadre en vue board basculait automatiquement vers la vue markdown après quelques secondes sur certains environnements (Linux/KDE/Wayland). Merci à @Reaper176 pour le signalement et la contribution au fix.

📦 Installation

BRAT (Tests beta - Recommandé)

  1. Installer le plugin BRAT
  2. Ajouter a198h/agile-board via BRAT
  3. Activer Agile Board dans les Plugins communautaires

Installation manuelle

  1. Télécharger main.js, manifest.json et styles.css depuis cette release
  2. Les copier dans .obsidian/plugins/agile-board/
  3. Activer Agile Board dans les Plugins communautaires

Version 0.8.9 - Frame Lock, Font Size & Context Menu

Choose a tag to compare

@a198h a198h released this 16 Feb 10:29

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

Version 0.8.9 - Frame Lock, Font Size & Context Menu

This release introduces frame locking, a global font size setting, and a full context menu for the Board view.

✨ New Features

  • Frame lock button — Lock/unlock button on each frame's title bar to prevent accidental editing. Links, embeds, and checkboxes remain interactive when locked. Lock state persists across sessions and follows file renames/deletions.
  • Font size slider — Global font size setting (0.8×–1.5× scale) in plugin settings, applied live to all board frames via CSS custom property.
  • Board context menu — Full context menu (onPaneMenu) for the Board view with all standard Obsidian options: switch to Live Preview/Source mode, split right/down, open in new window, rename, move, bookmark, print board, copy path, reveal in explorer, delete file.
  • Print board — Print the board layout directly from the context menu. Embedded content (Bases) is not included in the print output.

🔧 Improvements

  • Settings reorganization — Plugin settings tab reorganized into two sections: Appearance (font size) and Library (layout management).
  • Settings persistence — New plugin settings infrastructure using Obsidian's loadData/saveData.
  • i18n — Added translation keys for all new features in all 7 locales (EN, FR, ES, DE, PT, ZH-CN, RU).

📦 Installation

Method 1: BRAT (Beta Testing - Recommended)

  1. Install the BRAT plugin
  2. Add the repository: a198h/agile-board
  3. BRAT will automatically install and update the plugin

Method 2: Manual Installation

  1. Download the 3 files: main.js, manifest.json, styles.css
  2. Copy them to .obsidian/plugins/agile-board/ in your vault
  3. Restart Obsidian and enable the plugin

🔗 Resources


🇫🇷 Version Française

Version 0.8.9 - Verrouillage de cadre, Taille de police & Menu contextuel

Cette release introduit le verrouillage des cadres, un réglage global de taille de police et un menu contextuel complet pour la vue Board.

✨ Nouvelles fonctionnalités

  • Bouton de verrouillage — Bouton lock/unlock sur la barre de titre de chaque cadre pour empêcher l'édition accidentelle. Les liens, embeds et checkboxes restent interactifs lorsque le cadre est verrouillé. L'état de verrouillage persiste entre les sessions et suit les renommages/suppressions de fichiers.
  • Slider taille de police — Réglage global de la taille de police (échelle 0.8×–1.5×) dans les paramètres du plugin, appliqué en temps réel à tous les cadres du board via une propriété CSS custom.
  • Menu contextuel du board — Menu contextuel complet (onPaneMenu) pour la vue Board avec toutes les options standard d'Obsidian : basculer en Live Preview/Mode source, fractionner droite/bas, ouvrir dans une nouvelle fenêtre, renommer, déplacer, marquer, imprimer le board, copier le chemin, afficher dans l'explorateur, supprimer le fichier.
  • Imprimer le board — Impression du board directement depuis le menu contextuel. Le contenu embarqué (Bases) n'est pas inclus dans l'impression.

🔧 Améliorations

  • Réorganisation des paramètres — L'onglet des paramètres du plugin est réorganisé en deux sections : Apparence (taille de police) et Bibliothèque (gestion des layouts).
  • Persistance des paramètres — Nouvelle infrastructure de paramètres utilisant loadData/saveData d'Obsidian.
  • i18n — Ajout des clés de traduction pour toutes les nouvelles fonctionnalités dans les 7 langues (EN, FR, ES, DE, PT, ZH-CN, RU).

📦 Installation

Méthode 1 : BRAT (Beta Testing - Recommandé)

  1. Installer le plugin BRAT
  2. Ajouter le dépôt : a198h/agile-board
  3. BRAT installera et mettra à jour automatiquement le plugin

Méthode 2 : Installation manuelle

  1. Télécharger les 3 fichiers : main.js, manifest.json, styles.css
  2. Les copier dans .obsidian/plugins/agile-board/ de votre coffre
  3. Redémarrer Obsidian et activer le plugin

🔗 Ressources

Version 0.8.8 - Bug Fixes & UI Improvements

Choose a tag to compare

@a198h a198h released this 12 Feb 10:20

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

Version 0.8.8 - Bug Fixes & UI Improvements

This release addresses several critical bugs and improves the overall board display experience.

🔧 Bug Fixes

  • Pinned tabs duplication — Fixed a critical bug where clicking on pinned tabs created duplicate empty tabs when the plugin was active. Replaced all workspace.getLeaf(false) calls with workspace.activeLeaf to work around a known Obsidian API issue.
  • Dataview/Tasks font styling — Queries from Dataview and Tasks plugins now properly inherit system font settings (font-family, font-size). Added standard Obsidian CSS classes (markdown-preview-view, markdown-rendered) to the preview container.
  • Board viewport height — The board now fits exactly within Obsidian's available viewport, eliminating unwanted global scrolling. Individual frames retain their scroll capability when content overflows.
  • Embed-only frames — Fixed frames containing only embeds being unclickable/inactive.
  • TypeScript compliance — Fixed onUnloadFile() signature to properly return Promise<void>.

📋 Technical Changes

Modified Files:

  • src/core/services/viewSwitcher.ts — Replace getLeaf(false) with activeLeaf in all view switching methods
  • src/components/markdown/MarkdownRenderer.ts — Add Obsidian CSS classes for proper style inheritance
  • src/core/dom/layoutStyles.ts — Adjust container and grid height from vh to 100%
  • src/views/agileBoardView.ts — Fix TypeScript signature

📝 Documentation

  • Updated all 7 README files with version 0.8.8
  • Reorganized installation options: BRAT first (recommended), manual installation second
  • Removed obsolete "Complete Vault" installation option

📦 Installation

Method 1: BRAT (Beta Testing - Recommended)

  1. Install the BRAT plugin
  2. Add the repository: a198h/agile-board
  3. BRAT will automatically install and update the plugin

Method 2: Manual Installation

  1. Download the 3 files: main.js, manifest.json, styles.css
  2. Copy them to .obsidian/plugins/agile-board/ in your vault
  3. Restart Obsidian and enable the plugin

🔗 Resources


🇫🇷 Version Française

Version 0.8.8 - Corrections de bugs & Améliorations d'affichage

Cette release corrige plusieurs bugs critiques et améliore l'affichage global du board.

🔧 Corrections de bugs

  • Duplication des onglets épinglés — Correction d'un bug critique où cliquer sur un onglet épinglé créait un nouvel onglet vide au lieu d'activer l'onglet épinglé. Remplacement de tous les appels workspace.getLeaf(false) par workspace.activeLeaf pour contourner un problème connu de l'API Obsidian.
  • Police des queries Dataview/Tasks — Les queries des plugins Dataview et Tasks respectent désormais les paramètres de police du système (famille, taille). Ajout des classes CSS standard d'Obsidian (markdown-preview-view, markdown-rendered) au conteneur de prévisualisation.
  • Hauteur du board — Le board s'adapte désormais exactement à l'espace disponible dans Obsidian, éliminant le défilement global indésirable. Chaque cadre conserve son défilement individuel si le contenu déborde.
  • Cadres embed-only — Correction des cadres contenant uniquement des embeds qui étaient non-cliquables/inactifs.
  • Conformité TypeScript — Correction de la signature onUnloadFile() pour retourner Promise<void>.

📋 Changements techniques

Fichiers modifiés :

  • src/core/services/viewSwitcher.ts — Remplacement de getLeaf(false) par activeLeaf dans toutes les méthodes de changement de vue
  • src/components/markdown/MarkdownRenderer.ts — Ajout des classes CSS Obsidian pour l'héritage correct des styles
  • src/core/dom/layoutStyles.ts — Ajustement de la hauteur du conteneur et de la grille de vh à 100%
  • src/views/agileBoardView.ts — Correction de la signature TypeScript

📝 Documentation

  • Mise à jour des 7 fichiers README avec la version 0.8.8
  • Réorganisation des options d'installation : BRAT en premier (recommandé), installation manuelle en second
  • Suppression de l'option obsolète "Coffre complet"

📦 Installation

Méthode 1 : BRAT (Test Beta - Recommandé)

  1. Installer le plugin BRAT
  2. Ajouter le dépôt : a198h/agile-board
  3. BRAT installera et mettra à jour automatiquement le plugin

Méthode 2 : Installation manuelle

  1. Télécharger les 3 fichiers : main.js, manifest.json, styles.css
  2. Les copier dans .obsidian/plugins/agile-board/ de votre coffre
  3. Redémarrer Obsidian et activer le plugin

🔗 Ressources

Version 0.8.7 - Obsidian Plugin Review Fixes

Choose a tag to compare

@a198h a198h released this 22 Nov 10:58

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

Version 0.8.7 - Obsidian Plugin Review Fixes

This release addresses all issues identified by the Obsidian plugin submission review bot to ensure compliance with Obsidian API best practices.

🔧 Bug Fixes

Promise Handling

  • Fixed unhandled Promises: Added void operator to Promise-returning functions where results are intentionally ignored
  • Removed unnecessary awaits: Converted synchronous functions incorrectly marked as async
  • Fixed async/sync signatures: Aligned function signatures with actual behavior

API Compliance

  • Replaced deprecated activeLeaf: Updated all instances to use workspace.getLeaf(false) as recommended by Obsidian
  • Replaced window.confirm: Implemented native ConfirmModal using Obsidian's Modal API for better integration
  • Applied sentence case: Updated all UI text to follow Obsidian's sentence case convention

Error Handling

  • Improved error stringification: Implemented proper error message extraction to avoid "[object Object]" in error messages
  • Added error type guards: Safe error message extraction with fallbacks for unknown error types

UI/UX Improvements

  • Fixed modal line breaks: Proper display of multi-line messages in confirmation modals
  • Enhanced i18n: Added support for newline escape sequences in translations

📋 Technical Changes

Modified Files:

  • src/core/components/embedRenderer.ts - Added void operator for Promise handling
  • src/core/components/markdownPreview.ts - Fixed debounce callback type
  • src/core/layout/layoutRenderer.ts - Removed unnecessary async/await, integrated ConfirmModal
  • src/core/layout/layoutService.ts - Converted unnecessary async methods to sync
  • src/core/services/viewSwitcher.ts - Replaced activeLeaf, applied sentence case
  • src/ui/layoutEditor.ts - Integrated ConfirmModal for user confirmations
  • src/ui/utils/ErrorHandler.ts - Added robust error message extraction
  • src/components/editor/Sidebar.ts - Updated callback types for async operations
  • src/i18n.ts - Added newline escape sequence conversion

New Files:

  • src/ui/confirmModal.ts - Native Obsidian Modal for confirmation dialogs

📦 Installation

Method 1: BRAT (Beta Testing - Recommended)

  1. Install the BRAT plugin
  2. In BRAT settings, click "Add Beta plugin"
  3. Enter: a198h/agile-board
  4. Enable "Agile Board" in Community Plugins settings

Method 2: Manual Installation

  1. Download main.js, manifest.json, and styles.css
  2. Create folder: .obsidian/plugins/agile-board/
  3. Copy the 3 files into this folder
  4. Reload Obsidian
  5. Enable "Agile Board" in Community Plugins settings

🔗 Resources


🇫🇷 Version Française

Version 0.8.7 - Corrections pour la soumission Obsidian

Cette version corrige tous les problèmes identifiés par le bot de révision de soumission des plugins Obsidian pour garantir la conformité avec les bonnes pratiques de l'API Obsidian.

🔧 Corrections de bugs

Gestion des Promises

  • Correction des Promises non gérées: Ajout de l'opérateur void pour les fonctions retournant des Promises dont les résultats sont intentionnellement ignorés
  • Suppression des awaits inutiles: Conversion des fonctions synchrones incorrectement marquées comme async
  • Correction des signatures async/sync: Alignement des signatures de fonctions avec leur comportement réel

Conformité API

  • Remplacement de activeLeaf déprécié: Mise à jour de toutes les instances pour utiliser workspace.getLeaf(false) comme recommandé par Obsidian
  • Remplacement de window.confirm: Implémentation d'une ConfirmModal native utilisant l'API Modal d'Obsidian pour une meilleure intégration
  • Application de la casse de phrase: Mise à jour de tous les textes UI pour suivre la convention de casse de phrase d'Obsidian

Gestion des erreurs

  • Amélioration de la conversion des erreurs en chaînes: Implémentation d'une extraction appropriée des messages d'erreur pour éviter "[object Object]" dans les messages d'erreur
  • Ajout de gardes de type d'erreur: Extraction sécurisée des messages d'erreur avec replis pour les types d'erreur inconnus

Améliorations UI/UX

  • Correction des sauts de ligne dans les modales: Affichage correct des messages multi-lignes dans les dialogues de confirmation
  • Amélioration de l'i18n: Ajout du support des séquences d'échappement de saut de ligne dans les traductions

📋 Modifications techniques

Fichiers modifiés:

  • src/core/components/embedRenderer.ts - Ajout de l'opérateur void pour la gestion des Promises
  • src/core/components/markdownPreview.ts - Correction du type de callback debounce
  • src/core/layout/layoutRenderer.ts - Suppression des async/await inutiles, intégration de ConfirmModal
  • src/core/layout/layoutService.ts - Conversion des méthodes async inutiles en sync
  • src/core/services/viewSwitcher.ts - Remplacement de activeLeaf, application de la casse de phrase
  • src/ui/layoutEditor.ts - Intégration de ConfirmModal pour les confirmations utilisateur
  • src/ui/utils/ErrorHandler.ts - Ajout d'une extraction robuste des messages d'erreur
  • src/components/editor/Sidebar.ts - Mise à jour des types de callback pour les opérations async
  • src/i18n.ts - Ajout de la conversion des séquences d'échappement de saut de ligne

Nouveaux fichiers:

  • src/ui/confirmModal.ts - Modale Obsidian native pour les dialogues de confirmation

📦 Installation

Méthode 1 : BRAT (Test Beta - Recommandé)

  1. Installez le plugin BRAT
  2. Dans les paramètres BRAT, cliquez sur "Add Beta plugin"
  3. Entrez : a198h/agile-board
  4. Activez "Agile Board" dans les paramètres des plugins communautaires

Méthode 2 : Installation Manuelle

  1. Téléchargez main.js, manifest.json et styles.css
  2. Créez le dossier : .obsidian/plugins/agile-board/
  3. Copiez les 3 fichiers dans ce dossier
  4. Rechargez Obsidian
  5. Activez "Agile Board" dans les paramètres des plugins communautaires

🔗 Ressources

Version 0.8.7 - Obsidian Plugin Review Fixes

Choose a tag to compare

@a198h a198h released this 24 Dec 13:26

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

Version 0.8.7 - Obsidian Plugin Review Fixes

This release addresses all issues identified by the Obsidian plugin submission review bot to ensure compliance with Obsidian API best practices.

🔧 Bug Fixes

Promise Handling

  • Fixed unhandled Promises: Added void operator to Promise-returning functions where results are intentionally ignored
  • Removed unnecessary awaits: Converted synchronous functions incorrectly marked as async
  • Fixed async/sync signatures: Aligned function signatures with actual behavior

API Compliance

  • Replaced deprecated activeLeaf: Updated all instances to use workspace.getLeaf(false) as recommended by Obsidian
  • Replaced window.confirm: Implemented native ConfirmModal using Obsidian's Modal API for better integration
  • Applied sentence case: Updated all UI text to follow Obsidian's sentence case convention

Error Handling

  • Improved error stringification: Implemented proper error message extraction to avoid "[object Object]" in error messages
  • Added error type guards: Safe error message extraction with fallbacks for unknown error types

UI/UX Improvements

  • Fixed modal line breaks: Proper display of multi-line messages in confirmation modals
  • Enhanced i18n: Added support for newline escape sequences in translations

📋 Technical Changes

Modified Files:

  • src/core/components/embedRenderer.ts - Added void operator for Promise handling
  • src/core/components/markdownPreview.ts - Fixed debounce callback type
  • src/core/layout/layoutRenderer.ts - Removed unnecessary async/await, integrated ConfirmModal
  • src/core/layout/layoutService.ts - Converted unnecessary async methods to sync
  • src/core/services/viewSwitcher.ts - Replaced activeLeaf, applied sentence case
  • src/ui/layoutEditor.ts - Integrated ConfirmModal for user confirmations
  • src/ui/utils/ErrorHandler.ts - Added robust error message extraction
  • src/components/editor/Sidebar.ts - Updated callback types for async operations
  • src/i18n.ts - Added newline escape sequence conversion

New Files:

  • src/ui/confirmModal.ts - Native Obsidian Modal for confirmation dialogs

📦 Installation

Method 1: BRAT (Beta Testing - Recommended)

  1. Install the BRAT plugin
  2. In BRAT settings, click "Add Beta plugin"
  3. Enter: a198h/agile-board
  4. Enable "Agile Board" in Community Plugins settings

Method 2: Manual Installation

  1. Download main.js, manifest.json, and styles.css
  2. Create folder: .obsidian/plugins/agile-board/
  3. Copy the 3 files into this folder
  4. Reload Obsidian
  5. Enable "Agile Board" in Community Plugins settings

🔗 Resources


🇫🇷 Version Française

Version 0.8.7 - Corrections pour la soumission Obsidian

Cette version corrige tous les problèmes identifiés par le bot de révision de soumission des plugins Obsidian pour garantir la conformité avec les bonnes pratiques de l'API Obsidian.

🔧 Corrections de bugs

Gestion des Promises

  • Correction des Promises non gérées: Ajout de l'opérateur void pour les fonctions retournant des Promises dont les résultats sont intentionnellement ignorés
  • Suppression des awaits inutiles: Conversion des fonctions synchrones incorrectement marquées comme async
  • Correction des signatures async/sync: Alignement des signatures de fonctions avec leur comportement réel

Conformité API

  • Remplacement de activeLeaf déprécié: Mise à jour de toutes les instances pour utiliser workspace.getLeaf(false) comme recommandé par Obsidian
  • Remplacement de window.confirm: Implémentation d'une ConfirmModal native utilisant l'API Modal d'Obsidian pour une meilleure intégration
  • Application de la casse de phrase: Mise à jour de tous les textes UI pour suivre la convention de casse de phrase d'Obsidian

Gestion des erreurs

  • Amélioration de la conversion des erreurs en chaînes: Implémentation d'une extraction appropriée des messages d'erreur pour éviter "[object Object]" dans les messages d'erreur
  • Ajout de gardes de type d'erreur: Extraction sécurisée des messages d'erreur avec replis pour les types d'erreur inconnus

Améliorations UI/UX

  • Correction des sauts de ligne dans les modales: Affichage correct des messages multi-lignes dans les dialogues de confirmation
  • Amélioration de l'i18n: Ajout du support des séquences d'échappement de saut de ligne dans les traductions

📋 Modifications techniques

Fichiers modifiés:

  • src/core/components/embedRenderer.ts - Ajout de l'opérateur void pour la gestion des Promises
  • src/core/components/markdownPreview.ts - Correction du type de callback debounce
  • src/core/layout/layoutRenderer.ts - Suppression des async/await inutiles, intégration de ConfirmModal
  • src/core/layout/layoutService.ts - Conversion des méthodes async inutiles en sync
  • src/core/services/viewSwitcher.ts - Remplacement de activeLeaf, application de la casse de phrase
  • src/ui/layoutEditor.ts - Intégration de ConfirmModal pour les confirmations utilisateur
  • src/ui/utils/ErrorHandler.ts - Ajout d'une extraction robuste des messages d'erreur
  • src/components/editor/Sidebar.ts - Mise à jour des types de callback pour les opérations async
  • src/i18n.ts - Ajout de la conversion des séquences d'échappement de saut de ligne

Nouveaux fichiers:

  • src/ui/confirmModal.ts - Modale Obsidian native pour les dialogues de confirmation

📦 Installation

Méthode 1 : BRAT (Test Beta - Recommandé)

  1. Installez le plugin BRAT
  2. Dans les paramètres BRAT, cliquez sur "Add Beta plugin"
  3. Entrez : a198h/agile-board
  4. Activez "Agile Board" dans les paramètres des plugins communautaires

Méthode 2 : Installation Manuelle

  1. Téléchargez main.js, manifest.json et styles.css
  2. Créez le dossier : .obsidian/plugins/agile-board/
  3. Copiez les 3 fichiers dans ce dossier
  4. Rechargez Obsidian
  5. Activez "Agile Board" dans les paramètres des plugins communautaires

🔗 Ressources

v0.8.6 - Architecture Refactoring

Choose a tag to compare

@a198h a198h released this 18 Nov 17:02

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English {#english}

Architecture Refactoring

This release focuses on improving code maintainability and organization by cleaning up the codebase architecture.

What's Changed

Code Cleanup

  • Removed 928 lines of unused code
    • Deleted 2 unused MarkdownEditor implementations (677 lines)
    • Removed obsolete layoutValidator.ts (193 lines)
    • Cleaned up exports and imports

Project Reorganization

  • New directory structure for better code organization:
    • src/views/ - All view components (agileBoardView, embeddedMarkdownView, etc.)
    • src/core/layout/ - Layout rendering and service logic
    • src/core/services/ - Service layer (fileSynchronizer, modelDetector, viewSwitcher)
    • src/core/parsers/ - Parsing utilities (sectionParser)
    • src/components/markdown/ - Markdown components

Technical Improvements

  • Improved separation of concerns
  • Clearer module boundaries
  • Better code maintainability
  • No functional changes (backward compatible)

Installation

1. BRAT (Recommended for Beta Testing)

  1. Install BRAT plugin from Community Plugins
  2. In BRAT settings, click "Add Beta Plugin"
  3. Enter: a198h/agile-board
  4. Enable "Agile Board" in Community Plugins

2. Manual Installation

  1. Download main.js, manifest.json, and styles.css
  2. Create folder: .obsidian/plugins/agile-board/
  3. Copy the 3 files to this folder
  4. Reload Obsidian and enable the plugin

🇫🇷 Version Française {#français}

Refactorisation de l'Architecture

Cette version se concentre sur l'amélioration de la maintenabilité et de l'organisation du code en nettoyant l'architecture de la base de code.

Changements

Nettoyage du Code

  • Suppression de 928 lignes de code inutilisé
    • Suppression de 2 implémentations MarkdownEditor non utilisées (677 lignes)
    • Retrait de layoutValidator.ts obsolète (193 lignes)
    • Nettoyage des exports et imports

Réorganisation du Projet

  • Nouvelle structure de dossiers pour une meilleure organisation:
    • src/views/ - Tous les composants de vue (agileBoardView, embeddedMarkdownView, etc.)
    • src/core/layout/ - Logique de rendu et service de layout
    • src/core/services/ - Couche de services (fileSynchronizer, modelDetector, viewSwitcher)
    • src/core/parsers/ - Utilitaires de parsing (sectionParser)
    • src/components/markdown/ - Composants markdown

Améliorations Techniques

  • Amélioration de la séparation des responsabilités
  • Frontières de modules plus claires
  • Meilleure maintenabilité du code
  • Aucun changement fonctionnel (rétrocompatible)

Installation

1. BRAT (Recommandé pour les Tests Beta)

  1. Installez le plugin BRAT depuis les plugins communautaires
  2. Dans les paramètres BRAT, cliquez sur "Add Beta Plugin"
  3. Entrez: a198h/agile-board
  4. Activez "Agile Board" dans les plugins communautaires

2. Installation Manuelle

  1. Téléchargez main.js, manifest.json et styles.css
  2. Créez le dossier: .obsidian/plugins/agile-board/
  3. Copiez les 3 fichiers dans ce dossier
  4. Rechargez Obsidian et activez le plugin

v0.8.5 - Code Review Fixes

Choose a tag to compare

@a198h a198h released this 18 Nov 16:35

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

v0.8.5 - Code Review Fixes

This release focuses exclusively on code quality improvements and TypeScript best practices. No functional changes or new features.

🔧 Code Quality Improvements

Promise Handling

  • Fixed all promise handling issues with proper void operator usage
  • Ensured all promises are properly awaited or marked as fire-and-forget
  • Added void operator to async callbacks in event handlers

Type Safety

  • Replaced all 'any' types with proper type annotations
  • Removed redundant 'Error | unknown' unions (use just 'unknown')
  • Fixed double type assertion patterns for complex casts

Async/Await

  • Removed async keyword from 15+ methods without await expressions
  • Ensured proper return type signatures (void vs Promise)

Error Handling

  • Throw Error instances instead of plain objects
  • Export and use formatPluginError for consistent error messages
  • Improved error type safety across the codebase

Code Cleanup

  • Added block scope to case statements with lexical declarations
  • Wrapped assignment expressions in while conditions with parentheses
  • Removed 14 unused imports and variables
  • Removed unused helper function (createSectionInfoSafe)
  • Simplified code by removing empty if/else blocks

Obsidian API Best Practices

  • Use Setting API for headings instead of createEl('h2')
  • Replace confirm() with window.confirm() for proper global reference
  • Follow Obsidian plugin guidelines for consistent UI

📊 Statistics

  • 13 commits with comprehensive fixes
  • 26 files changed (+142 -172 lines)
  • All TypeScript strict checks passing
  • Clean production build

📥 Installation

Method 1: BRAT (Beta Testing - Recommended)

  1. Install the BRAT plugin from the Obsidian Community Plugins
  2. Open command palette and run "BRAT: Add a beta plugin for testing"
  3. Enter the repository URL: a198h/agile-board
  4. Enable the plugin in Settings → Community Plugins

Method 2: Manual Installation

  1. Download main.js, manifest.json, and styles.css
  2. Create folder .obsidian/plugins/agile-board/ in your vault
  3. Copy the 3 files into this folder
  4. Reload Obsidian and enable the plugin

🇫🇷 Version Française

v0.8.5 - Corrections de Code Review

Cette version se concentre exclusivement sur l'amélioration de la qualité du code et les meilleures pratiques TypeScript. Aucun changement fonctionnel ni nouvelle fonctionnalité.

🔧 Améliorations de la Qualité du Code

Gestion des Promesses

  • Correction de tous les problèmes de gestion des promesses avec l'opérateur void
  • Toutes les promesses sont correctement await ou marquées comme fire-and-forget
  • Ajout de l'opérateur void aux callbacks async dans les gestionnaires d'événements

Sécurité des Types

  • Remplacement de tous les types 'any' par des annotations appropriées
  • Suppression des unions redondantes 'Error | unknown' (utilisation de 'unknown' seul)
  • Correction des patterns de double assertion de type pour les casts complexes

Async/Await

  • Suppression du mot-clé async de plus de 15 méthodes sans expressions await
  • Signatures de type de retour appropriées (void vs Promise)

Gestion des Erreurs

  • Lancement d'instances Error au lieu d'objets simples
  • Export et utilisation de formatPluginError pour des messages d'erreur cohérents
  • Amélioration de la sécurité des types d'erreur dans tout le code

Nettoyage du Code

  • Ajout de portée de bloc aux instructions case avec déclarations lexicales
  • Encadrement des expressions d'assignation dans les conditions while avec des parenthèses
  • Suppression de 14 imports et variables non utilisés
  • Suppression de fonction helper non utilisée (createSectionInfoSafe)
  • Simplification du code en supprimant les blocs if/else vides

Meilleures Pratiques API Obsidian

  • Utilisation de l'API Setting pour les en-têtes au lieu de createEl('h2')
  • Remplacement de confirm() par window.confirm() pour une référence globale appropriée
  • Respect des directives des plugins Obsidian pour une interface utilisateur cohérente

📊 Statistiques

  • 13 commits avec corrections complètes
  • 26 fichiers modifiés (+142 -172 lignes)
  • Toutes les vérifications strictes TypeScript réussies
  • Build de production propre

📥 Installation

Méthode 1 : BRAT (Test Beta - Recommandé)

  1. Installez le plugin BRAT depuis les plugins communautaires Obsidian
  2. Ouvrez la palette de commandes et exécutez "BRAT: Add a beta plugin for testing"
  3. Entrez l'URL du dépôt : a198h/agile-board
  4. Activez le plugin dans Paramètres → Plugins communautaires

Méthode 2 : Installation Manuelle

  1. Téléchargez main.js, manifest.json et styles.css
  2. Créez le dossier .obsidian/plugins/agile-board/ dans votre coffre
  3. Copiez les 3 fichiers dans ce dossier
  4. Rechargez Obsidian et activez le plugin

v0.8.4 - Layout Editor Stability Improvements

Choose a tag to compare

@a198h a198h released this 18 Nov 12:27

🇺🇸 English Version | 🇫🇷 Version Française


🇺🇸 English Version

🎯 What's New

Bug Fixes

  • Layout Editor Collision System: Complete overhaul of the anti-collision system

    • Fixed boxes overlapping when dragging rapidly
    • Implemented real-time collision detection with lastValidBoxState tracking
    • Fixed issue where dragging unselected boxes bypassed collision validation
    • Boxes now stay immobile when attempting to overlap
  • Editor UX Improvements:

    • Boxes are now selected immediately on mousedown instead of click
    • Ensures correct box state during drag operations
    • Better responsiveness for drag and resize operations
  • Code Quality:

    • Fixed async/await issue in layout save callback
    • Modal now properly waits for save completion before closing
    • Removed 2000+ lines of unused duplicate code
    • Cleaned up architecture by removing unused editor files

Technical Details

  • Update layout state in real-time during drag/resize operations
  • Stop DOM updates on collision to prevent visual overlapping
  • Remove redundant collision checks that caused false negatives
  • Proper promise handling for async operations

📦 Installation

1. BRAT (Beta Testing - Recommended)

Install via BRAT plugin for automatic updates:

  1. Install BRAT from community plugins
  2. Add repository: a198h/agile-board
  3. Enable the plugin

2. Manual Installation

Download these 3 files to .obsidian/plugins/agile-board/:

  • main.js
  • manifest.json
  • styles.css

🇫🇷 Version Française

🎯 Nouveautés

Corrections de Bugs

  • Système de Collision de l'Éditeur: Refonte complète du système anti-collision

    • Correction des superpositions de cadres lors de déplacements rapides
    • Détection de collision en temps réel avec suivi lastValidBoxState
    • Correction du problème où déplacer des cadres non sélectionnés contournait la validation
    • Les cadres restent maintenant immobiles lors de tentatives de superposition
  • Améliorations UX de l'Éditeur:

    • Les cadres sont maintenant sélectionnés immédiatement au mousedown au lieu du clic
    • Garantit un état correct pendant les opérations de glissement
    • Meilleure réactivité pour les opérations de drag et resize
  • Qualité du Code:

    • Correction du problème async/await dans le callback de sauvegarde
    • La modale attend maintenant la fin de la sauvegarde avant de se fermer
    • Suppression de 2000+ lignes de code dupliqué inutilisé
    • Nettoyage de l'architecture avec suppression de fichiers éditeur inutilisés

Détails Techniques

  • Mise à jour de l'état du layout en temps réel pendant drag/resize
  • Arrêt des mises à jour DOM en cas de collision pour éviter les superpositions visuelles
  • Suppression des vérifications de collision redondantes causant des faux négatifs
  • Gestion appropriée des promesses pour les opérations asynchrones

📦 Installation

1. BRAT (Test Bêta - Recommandé)

Installation via le plugin BRAT pour les mises à jour automatiques:

  1. Installer BRAT depuis les plugins communautaires
  2. Ajouter le dépôt: a198h/agile-board
  3. Activer le plugin

2. Installation Manuelle

Télécharger ces 3 fichiers dans .obsidian/plugins/agile-board/:

  • main.js
  • manifest.json
  • styles.css