Repository navigation
Releases: dheeraz101/Confitext
Release list
Confitext 1.6.1
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) insettings.tswith Obsidian's nativenew 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)"incommands.tsper Obsidian command naming guidelines. - Obsidian Native DOM Helper: Replaced fallback
document.createElement('span')indecorations.tswith Obsidian's nativecreateSpanhelper (obsidianmd/prefer-create-el). - Strict TypeScript Safety: Resolved
@typescript-eslint/no-unsafe-assignmentwarnings inmain.tsandsettings.tswhen retrieving metadata cache frontmatter. - Safe Event Listeners: Ensured all button and click event listeners return
voidinstead of unhandled Promises (void (async () => { ... })()). - Clean Tokenizer Regex: Removed redundant escape character (
\-->-) in API key tokenization regular expressions intokenizer.ts. - Clean Imports: Removed unused imports (
clearRulesCache,getNoteMaskedWords) insettings.ts. - CSS Lint Compliance: Removed all
!importantdeclarations fromstyles.cssby 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, andstyles.css.
📦 Installation & Upgrades
In Obsidian (Community Plugins)
- Open Obsidian Settings > Community plugins.
- Search for Confitext and click Update (or Install & Enable).
- 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
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
RangeSetBuilderconstruction guaranteeing zero layout shift. - Standard Obsidian
createDiv/createSpanDOM element construction.
📦 Installation & Upgrades
In Obsidian (Community Plugins)
- Open Obsidian Settings > Community plugins.
- Search for Confitext and click Update (or Install & Enable).
- 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
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)
- Open Obsidian Settings > Community plugins.
- Search for Confitext and click Update (or Install & Enable).
- 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)
- Open Settings > BRAT.
- 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
⚡ 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 modernthis.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, andstyles.css. - Satisfies all automated checks from
obsidianmd/obsidian-releaseswith 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)
- In Obsidian, go to Settings > Community plugins.
- Turn off Restricted mode to enable community plugins.
- Click Browse, search for Confitext, and click Install then Enable.
Method 2: Via BRAT (Beta Reviewers Auto-update Tester)
- Install BRAT from Obsidian Community Plugins.
- In BRAT settings, click Add Beta plugin.
- Enter
https://github.com/dheeraz101/Confitext. - Confitext will install and auto-update with every new release.
Method 3: Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom this release. - Place them into your Obsidian vault:
<Vault>/.obsidian/plugins/confitext/. - Open Obsidian Settings > Community plugins, click Reload plugins, and enable Confitext.
Full Changelog: 1.3.0...1.4.0
Confitext 1.3.0
⚡ 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
minAppVersionto1.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 nativecreateDiv(...),createSpan(...), andcreateFragment()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.frontmatterto 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)
- Open Obsidian Settings > Community plugins.
- Turn off Restricted mode.
- Select Browse, search for Confitext, and click Install then Enable.
Method 2: Via BRAT (Beta Reviewers Auto-update Tester)
- In Obsidian, install BRAT from Community Plugins.
- Go to Options > BRAT > Add Beta plugin.
- Enter
https://github.com/dheeraz101/Confitext.
Method 3: Manual Installation
- Download
Confitext-Obsidian-Plugin.zipfrom this release. - Extract the archive into your vault's plugin directory:
<Vault>/.obsidian/plugins/confitext/. - In Obsidian, open Settings > Community plugins, click Reload plugins, and enable Confitext.
Full Changelog: 1.2.0...1.3.0
Confitext 1.2.0
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 textto 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
minAppVersionto1.4.0for 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
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:
• − – · ⎻ ⎼ ◾ ◽
- Matrix 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: falseto 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
- Open any note and start writing.
- Press Space to see words scramble into glyphs.
- Drag or double-click to reveal words instantly.
- Toggle modes anytime via the left activity ribbon icon or status bar badge (
⚡ CONFITEXT: ON / REVEALED). - Open Settings > Confitext to customize speed, opacity, glow, and character presets.
Verification & Installation Assets
main.jsmanifest.jsonstyles.css- Verified with 100+ automated unit & integration tests.
Full Changelog: https://github.com/dheeraz101/Confitext/commits/1.0.0