Skip to content

Releases: dheeraz101/Confitext

Confitext 1.6.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 05:09

Confitext v1.6.1 - Obsidian Community Review Compliance & Quality Fixes

Your thoughts. Your screen. Your code.
An animated, Matrix-inspired visual privacy layer for private writing in Obsidian.


🛠️ Obsidian Review Compliance & Bug Fixes

  • Standardized Settings Headings: Replaced all direct HTML heading elements (h2, h3, h4) in settings.ts with Obsidian's native new Setting(containerEl).setName(...).setHeading() component API for theme-consistent UI rendering.
  • Clean Command Naming: Removed redundant plugin name prefix from "What's new in Confitext (Release Notes)" -> "What's new (Release Notes)" in commands.ts per Obsidian command naming guidelines.
  • Obsidian Native DOM Helper: Replaced fallback document.createElement('span') in decorations.ts with Obsidian's native createSpan helper (obsidianmd/prefer-create-el).
  • Strict TypeScript Safety: Resolved @typescript-eslint/no-unsafe-assignment warnings in main.ts and settings.ts when retrieving metadata cache frontmatter.
  • Safe Event Listeners: Ensured all button and click event listeners return void instead of unhandled Promises (void (async () => { ... })()).
  • Clean Tokenizer Regex: Removed redundant escape character (\- -> -) in API key tokenization regular expressions in tokenizer.ts.
  • Clean Imports: Removed unused imports (clearRulesCache, getNoteMaskedWords) in settings.ts.
  • CSS Lint Compliance: Removed all !important declarations from styles.css by utilizing higher selector specificity (.cm-editor .confitext-glyph.confitext-hover-revealed).
  • What's New Tab: Updated release notes view to reflect v1.6.1.

🧪 Test & Quality Verification

  • 159 Automated Unit Tests passing across 9 test files.
  • Full typecheck verification with 0 errors (npm run typecheck).
  • Byte-for-byte build verification reproducing main.js, manifest.json, and styles.css.

📦 Installation & Upgrades

In Obsidian (Community Plugins)

  1. Open Obsidian Settings > Community plugins.
  2. Search for Confitext and click Update (or Install & Enable).
  3. If Confitext is already running, run Reload app without saving (Ctrl/Cmd + P) to load the new release.

Verified Release Assets

  • main.js (Production bundle with verified GitHub artifact attestation ✅)
  • manifest.json (minAppVersion: 1.7.2 ✅)
  • styles.css (With verified GitHub artifact attestation ✅)

Confitext 1.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 20:11

Confitext v1.6.0 - Targeted Word Masking, Granular Triggers & Apple HIG Settings

Your thoughts. Your screen. Your code.
An animated, Matrix-inspired visual privacy layer for private writing in Obsidian.


✨ What's New in v1.6.0

1. 🎯 Targeted Word & Phrase Masking (Global & Per-Note Memory)

You can now mask specific words or phrases instead of (or in addition to) full-document masking:

  • Global Memory: Mask sensitive terms across your entire vault. Added words are automatically remembered and masked in all current and future notes.
  • Note-Level Frontmatter Memory: Store masked words specific to an individual note directly in YAML frontmatter (confitext-masked-words: [secret, credential]).
  • Context Menu Integration: Right-click any highlighted word or phrase in the editor to instantly select:
    • Confitext: Mask this word globally (all notes)
    • Confitext: Mask this word in active note
  • Command Palette Actions: Quickly add/remove target words with zero disruption to your typing flow.
  • Interactive Chip Management: View, add, and remove target word chips with one click in the new Settings panel.

2. ⚡ Granular Hide Triggers (Typing Rhythm Modes)

Customize exactly when visual masking engages as you write:

  • Word (Default): Automatically hides completed words immediately upon delimiter entry (Space, comma, period, or punctuation).
  • Line: Keeps the current line completely unmasked while actively typing; masks the entire line the moment your cursor moves to another line (via Enter or arrow navigation).
  • Paragraph: Keeps the current paragraph block readable while typing; masks the block only when a full blank line gap (\n\n) is created or when your cursor leaves the paragraph.

3. 🛡️ Sensitive Data Shield (Automated PII Presets)

Protect sensitive secrets and personal credentials automatically with real-time pattern shielding:

  • Email Addresses (user@example.com)
  • API Keys & Authorization Tokens (OpenAI, GitHub PATs, AWS Access Keys, Bearer tokens)
  • Credit Card Numbers (Visa, Mastercard, Amex, Discover)
  • Phone Numbers (International & national standard formats)
  • IPv4 Addresses
  • Custom Regular Expressions: Add custom regex patterns with live syntax validation directly within Settings.

4. 🍏 Apple HIG & macOS Sequoia Settings Redesign

A complete architectural and visual overhaul of the Confitext Settings panel:

  • Frosted Glass Hero Header: Dynamic Island status pill badge showing live protection status (MASKING ON, ALL-WORDS, TRIGGER: WORD).
  • macOS Terminal Sandbox: Interactive preview terminal with live typing simulation, glyph switcher, and instant selection reveal testing.
  • Segmented Controls: Native Apple-style segmented buttons for Trigger Modes and Glyph Themes.
  • Inset Grouped Cards: Categorized layout with clean spacing, standard Obsidian design language, and zero clutter.
  • Quick Glance Hover Reveal: Peek at any masked word simply by hovering over it, with customizable hover delay (100ms – 2000ms).

🧪 Quality & Test Coverage

  • 159 Automated Unit Tests passing across 9 test suites.
  • Strictly monotonic CodeMirror 6 RangeSetBuilder construction guaranteeing zero layout shift.
  • Standard Obsidian createDiv / createSpan DOM element construction.

📦 Installation & Upgrades

In Obsidian (Community Plugins)

  1. Open Obsidian Settings > Community plugins.
  2. Search for Confitext and click Update (or Install & Enable).
  3. If Confitext is already running, run Reload app without saving (Ctrl/Cmd + P) to load the new engine.

Verified Release Assets

  • main.js (Production bundle)
  • manifest.json (minAppVersion: 1.7.2)
  • styles.css (Apple HIG & Matrix glow styles)

Confitext 1.5.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 14:13

Confitext v1.5.0 - Settings Display Recovery & Visual Showcase

Your thoughts. Your screen. Your code.
An animated, Matrix-inspired visual privacy layer for private writing in Obsidian.


🛠️ Critical Fixes & Improvements

  • Settings Page Display Recovery: Restored full-fidelity, rock-solid settings tab rendering using Obsidian's standard imperative lifecycle (display()). Completely eliminated the blank/black screen issue that occurred when opening Confitext settings in Obsidian 1.14+.
  • Clean Settings Architecture: All 32 configuration settings, the interactive Live Matrix Sandbox, the custom Unicode glyph validator, preset loaders, and syntax preservation rules now render reliably and immediately across all supported Obsidian versions.
  • Dynamic Re-rendering: Replaced declarative interceptors with an optimized internal redrawing system for live toggles (color pickers, custom glyph sets, and idle timers) without triggering deprecated lifecycle warnings.

✨ What's New

  • Visual Preview Showcase: Embedded high-resolution screenshots and feature mockups in the repository (assets/images/1.png – 4.png) and README documentation:
    • Before & After: Demonstrating real-time visual shoulder-surfing protection vs. exposed cleartext.
    • Selection Reveal: Highlighting how paragraph selections immediately unveil readable text for editing.
    • Click to Reveal: Showcasing word inspection in Obsidian Reading View (Preview Mode).
  • Interactive What's New View: Updated the native in-app release notes tab view (Confitext: Open release notes / What's New tab) for v1.5.0.

📦 Installation & Upgrades

Method 1: In Obsidian (Community Plugins)

  1. Open Obsidian Settings > Community plugins.
  2. Search for Confitext and click Update (or Install & Enable).
  3. If you already have Confitext installed, run Reload app without saving (Ctrl/Cmd + P) or toggle the plugin off and on to load the new settings engine.

Method 2: Via BRAT (Beta Reviewers Auto-update Tester)

  1. Open Settings > BRAT.
  2. Select Add Beta plugin and enter https://github.com/dheeraz101/Confitext.

Method 3: Manual Installation

Download the release assets below (main.js, manifest.json, styles.css) and place them into your vault at: /.obsidian/plugins/confitext/


🔒 Verified Release Assets

File Description Attestation
main.js Production plugin bundle GitHub Artifact Attestation ✅
manifest.json Plugin metadata (minAppVersion: 1.7.2) Verified ✅
styles.css CRT phosphor bloom & matrix styles GitHub Artifact Attestation ✅

Confitext 1.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:39

⚡ Confitext v1.4.0 - Declarative Settings API & Obsidian Search Indexing

Your thoughts. Your screen. Your code.
Confitext v1.4.0 adds support for Obsidian's modern declarative settings API (getSettingDefinitions()), enabling full native settings search indexing across all Confitext options, along with strict compliance for official community plugin directory distribution.


🌟 What's New & Improved in v1.4.0

🔍 Native Settings Search Indexing

Confitext settings now support Obsidian's declarative settings architecture (getSettingDefinitions()):

  • Full Global Search Integration: Typing keywords like "masking", "scramble", "glow", "idle", "custom glyphs", or "panic" into Obsidian's settings search bar instantly finds and highlights the exact Confitext setting.
  • Dynamic Control Binding: Integrated state handlers for seamless two-way binding with automatic editor dispatch.

🔄 Modernized Setting Tab Architecture

  • Replaced imperative display() calls with an adaptive update lifecycle (this.refreshTab()), routing dynamically to Obsidian's modern this.update() API on Obsidian 1.13+ while maintaining rock-solid backwards compatibility on older versions.

📦 Clean Directory Distribution

  • Standardized release assets to strictly the three canonical Obsidian plugin files: main.js, manifest.json, and styles.css.
  • Satisfies all automated checks from obsidianmd/obsidian-releases with zero extra unsupported file warnings.

🛡️ Core Features Included

  • Tab Header Privacy Shield: Dedicated action button in every open note tab for one-click masking toggling.
  • Native Context Menus: Right-click menus in both active note editors and the file navigation tree for instant folder/note privacy toggles.
  • Reading View Masking: Non-destructive visual masking for Markdown Reading View (Preview Mode) with interactive click-to-reveal word controls.
  • Emergency Panic Mode: Instant hide command (Confitext: Panic: Instant hide & mask all text) that deselects text, clears cursor state, and enforces global masking.
  • Live Matrix Sandbox: Interactive preview and testing station built directly into Settings.
  • Custom Unicode Glyph Importer: Automated validation, deduplication, and surrogate-pair checking for user-defined glyph sets.

🛠️ Verification & Quality Assurance

  • Cryptographic Provenance: Signed GitHub Artifact Attestations for all release assets (main.js, manifest.json, styles.css).
  • Automated Tests: 110/110 automated tests passing (vitest run).
  • Type Safety: Clean TypeScript compilation (tsc -noEmit -skipLibCheck) with zero errors.

📦 Release Assets

Asset Description
main.js Compiled and minified plugin bundle with GitHub build provenance attestation
manifest.json Plugin metadata declaring minAppVersion: 1.7.2
styles.css Phosphor glow and Matrix theme styles with GitHub build provenance attestation

🚀 Installation

Method 1: Obsidian Community Plugins (Recommended)

  1. In Obsidian, go to Settings > Community plugins.
  2. Turn off Restricted mode to enable community plugins.
  3. Click Browse, search for Confitext, and click Install then Enable.

Method 2: Via BRAT (Beta Reviewers Auto-update Tester)

  1. Install BRAT from Obsidian Community Plugins.
  2. In BRAT settings, click Add Beta plugin.
  3. Enter https://github.com/dheeraz101/Confitext.
  4. Confitext will install and auto-update with every new release.

Method 3: Manual Installation

  1. Download main.js, manifest.json, and styles.css from this release.
  2. Place them into your Obsidian vault: <Vault>/.obsidian/plugins/confitext/.
  3. Open Obsidian Settings > Community plugins, click Reload plugins, and enable Confitext.

Full Changelog: 1.3.0...1.4.0

Confitext 1.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:18

⚡ Confitext v1.3.0 - Native Obsidian Infusion & Core API Compliance

Your thoughts. Your screen. Your code.
Confitext v1.3.0 brings deep native Obsidian infusion, bringing privacy controls directly into your editing tabs, context menus, and Reading View, along with complete compliance with the latest official Obsidian developer guidelines (obsidianmd/obsidian-releases).


🌟 What's New in v1.3.0

🛡️ Tab Header Privacy Shield

Every open note tab now features an action button directly in its header toolbar. A single click toggles between active visual masking and readable text without opening settings or running commands.

🖱️ Native Context Menus

  • Editor Menu: Right-click anywhere inside an active note to toggle masking on/off, trigger Panic Hide, or toggle note frontmatter privacy (confitext: false).
  • File Explorer Menu: Right-click any note to toggle public/private status, or right-click any folder to instantly add or remove it from excluded folders.

👁️ Reading View (Preview Mode) Masking

Visual masking is no longer limited to editing! Confitext non-destructively masks completed words in Obsidian Reading View (Preview Mode) while preserving headers, code blocks, math formulas, and links.

  • Click to Reveal: Click any masked word in Reading View to reveal it in-place; click again to re-mask.

🚨 Emergency Panic Mode

Need to hide your screen immediately? Run Confitext: Panic: Instant hide & mask all text or bind it to a hotkey. It immediately collapses active selections, enforces masking mode, and secures your display in milliseconds.

📰 Interactive "What's New" Tab

Explore release highlights, changelogs, and feature guides directly inside Obsidian. Open it anytime via Settings > Confitext > What's New in v1.3.0.


🛠️ Obsidian Community Plugin Review & Technical Hardening

This release addresses 100% of the automated audit rules enforced by eslint-plugin-obsidianmd and the official community catalog scanner:

  • Raised minAppVersion to 1.7.2: Guarantees full compatibility with Obsidian core APIs (Workspace.revealLeaf, FileManager.processFrontMatter, View.addAction).
  • Strict DOM Helper Standardization (prefer-create-el): Replaced all native DOM element calls with Obsidian's native createDiv(...), createSpan(...), and createFragment() helpers across decorations, preview post-processors, settings, and release tabs.
  • Asynchronous Promise Handling: Fully awaited all workspace navigation promises (revealLeaf) to eliminate unhandled floating promise warnings.
  • Type Safety Hardening: Added strict runtime type narrowing for MarkdownPostProcessorContext.frontmatter to prevent unsafe member access.
  • Cryptographic Provenance: All release assets (main.js, manifest.json, styles.css) are verified with signed GitHub Artifact Attestations.
  • Automated Test Suite: 110/110 automated tests passing with 100% green status.

📦 Release Assets

Asset Description
main.js Compiled and optimized plugin bundle (with verified GitHub build provenance attestation)
manifest.json Plugin metadata targeting minAppVersion: 1.7.2
styles.css Phosphor glow and Matrix theme styles
Confitext-Obsidian-Plugin.zip Pre-packaged archive for manual installation

🚀 Installation

Method 1: Obsidian Community Plugins (Recommended)

  1. Open Obsidian Settings > Community plugins.
  2. Turn off Restricted mode.
  3. Select Browse, search for Confitext, and click Install then Enable.

Method 2: Via BRAT (Beta Reviewers Auto-update Tester)

  1. In Obsidian, install BRAT from Community Plugins.
  2. Go to Options > BRAT > Add Beta plugin.
  3. Enter https://github.com/dheeraz101/Confitext.

Method 3: Manual Installation

  1. Download Confitext-Obsidian-Plugin.zip from this release.
  2. Extract the archive into your vault's plugin directory: <Vault>/.obsidian/plugins/confitext/.
  3. In Obsidian, open Settings > Community plugins, click Reload plugins, and enable Confitext.

Full Changelog: 1.2.0...1.3.0

Confitext 1.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:46

What's New in Confitext v1.2.0

🛡️ Native Obsidian Infusions

  • Right-Click Context Menus:
    • Right-click text in an open note to toggle masking on/off, trigger Panic Hide, or toggle note privacy.
    • Right-click any note or folder in the File Explorer sidebar to toggle privacy or exclude folders without opening Settings.
  • Tab Header Privacy Shield: A dedicated privacy shield button (addAction('shield')) embedded directly in the title bar of every open note tab for one-click masking toggles.
  • Reading View Visual Masking: Extends visual masking to Obsidian Reading View (Preview Mode). Click individual masked words in Reading View to toggle reveal in-place.
  • Emergency Panic Mode: Run Confitext: Panic: Instant hide & mask all text to immediately collapse selections, enforce masking mode, and secure the screen.

🌟 In-App What's New Tab

  • Explore release highlights and interactive feature cards directly inside a native Obsidian tab. Open it anytime via Settings > Confitext > What's New in v1.2.0 or the Command Palette.

⚙️ Polish & Scanner Compliance

  • Updated minAppVersion to 1.4.0 for full Obsidian API compliance.
  • Cryptographic artifact attestations generated for all release assets.
  • Standardized frontmatter exclusion strictly to confitext: false.
  • 110 automated tests passing.

Full Changelog: 1.0.0...1.2.0

Confitext 1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:27

Confitext v1.0.0 - Initial Release

“Your thoughts. Your screen. Your code.”
An animated, Matrix-inspired visual masking layer for private-feeling writing in Obsidian.

Whether you write in open offices, flights, cafes, classrooms, or co-working spaces, Confitext protects your screen from wandering eyes without disrupting your writing flow.


Key Features

⚡ Real-Time Word Completion Masking

  • Type normally. The moment a word is finished with Space or punctuation, Confitext visually transforms it into a subtle Matrix-inspired digital code animation.
  • Zero Document Damage: Confitext uses non-destructive CodeMirror 6 replacement widgets. Your underlying Markdown notes remain 100% untouched plain text at all times.

👁️ Instant Selection & Cursor Reveal

  • Highlight words with your mouse or navigate with keyboard arrow keys — selected text immediately reveals itself for natural reading and editing.
  • Copying selected text copies the original plain text, never the visual glyphs.

🧪 Live Matrix Privacy Sandbox

  • A built-in interactive playground inside plugin settings. Test scramble animations, try different glyph sets, and experience selection reveal in real time.

🎨 Custom Glyphs & Thematic Presets

  • Supply arbitrary Unicode characters (e.g. Alien, Elvish, Archaic scripts) with automatic character deduplication.
  • Choose from 6 built-in presets:
    • Matrix Code: ⵙ Ϟ ⟁ Ж ᚷ ⌁ ░ ✦
    • Cyber Runes: ᚛ ᚜ ᚠ ᚢ ᚦ ᚨ ᚱ ᚲ
    • Abstract Geometry: ⟁ ⟐ ⟡ ⟢ ⟤ ⌖ ◈ ◇
    • Digital Blocks: ░ ▒ ▓ █ ▀ ▄ ▌ ▐
    • Braille Script: ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓
    • Morse Code: • − – · ⎻ ⎼ ◾ ◽

⏳ Idle Auto-Masking Timer

  • Optional timer that automatically engages Masking mode if Obsidian is left idle or loses operating system window focus.

🛡️ Per-Note & Per-Folder Rules

  • Add confitext: false to YAML frontmatter to designate public notes that should never be masked.
  • Specify folder paths (e.g. Public/, Shared/) to automatically bypass masking for entire directories.

🧩 Full Markdown Syntax Preservation

  • Keeps headings (#), list bullets (-), blockquotes (>), checkboxes ([x]), fenced code blocks (```), inline code, math formulas ($...$), URLs, and footnotes readable.

🎨 Theme-Aware Color Palettes

  • Calibrated for dark and light Obsidian themes with Matrix Luminous Green, Theme Accent, Monochrome, or custom hex color picker.

Quick Start

  1. Open any note and start writing.
  2. Press Space to see words scramble into glyphs.
  3. Drag or double-click to reveal words instantly.
  4. Toggle modes anytime via the left activity ribbon icon or status bar badge (⚡ CONFITEXT: ON / REVEALED).
  5. Open Settings > Confitext to customize speed, opacity, glow, and character presets.

Verification & Installation Assets

  • main.js
  • manifest.json
  • styles.css
  • Verified with 100+ automated unit & integration tests.

Full Changelog: https://github.com/dheeraz101/Confitext/commits/1.0.0