Skip to content

Releases: edwardsayer/obsidian-folder-spaces

0.4.6

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:15

0.4.6

  • Declarative settings migration: Replaced full-vault scanning in settings with Obsidian 1.13+ declarative settings interface (getSettingDefinitions) to address Community Store review feedback.
  • Clean up deprecated APIs: Removed deprecated SettingTab.display() while maintaining declarative custom rendering for the preset reference table.
  • CSS compatibility fix: Resolved Community Store review warning regarding partial browser support for text-decoration.

Folder Spaces 0.4.5

Choose a tag to compare

@edwardsayer edwardsayer released this 15 Sep 09:10

0.4.5

Maintenance

  • Synchronized the shared popout engine with Window Spaces canonical type-safety fixes after the 0.4.4 release.
  • Preserved the Community Store compatibility and test-environment fallbacks introduced in 0.4.4.

Tests

  • 129/129 Folder Spaces tests and 223/223 Window Spaces tests passing.
  • Lint, TypeScript, project checks, shared-engine byte comparison, production build, and build-artifact verification passing.

Full Changelog: 0.4.4...0.4.5

Folder Spaces 0.4.4

Choose a tag to compare

@edwardsayer edwardsayer released this 15 Sep 09:06

0.4.4

Fixes

  • Raised the minimum Obsidian version to 1.13.0 for the settings search API.
  • Resolved Community Store type-safety findings across settings, folder-note compatibility, file explorer compatibility, and popout integration code.
  • Synchronized the shared popout engine with Window Spaces and added safe DOM-query fallbacks for test and older runtime contexts.
  • Added CSS fallbacks for folder-note text decoration.

Tests

  • 129/129 Folder Spaces unit tests passing; 223/223 Window Spaces tests passing.
  • ESLint, TypeScript checks, project checks, shared-engine byte comparison, production build, and build-artifact verification passing.

Full Changelog: 0.4.3...0.4.4

0.4.3

Choose a tag to compare

@github-actions github-actions released this 15 Sep 08:07

0.4.3

Changes

  • Settings search support: added declarative setting definitions for Folder Spaces settings, allowing Obsidian's settings search to find and navigate to the plugin's toggles and dropdowns.
  • Settings controls stay synchronized: declarative search controls read and update the existing plugin settings without changing the existing settings UI or stored data format.

Maintenance

  • Updated the development toolchain to TypeScript 7 with the legacy parser alias used by ESLint.
  • Updated the Obsidian API development dependency to 1.13.1.

Tests

  • 129/129 unit tests passing; ESLint 0 errors 0 warnings; tsc clean; npm run check:project all checks passing; production build and build-artifact verification passing.

0.4.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 07:39

0.4.2

Fixes

  • Terminal-folder dot now behaves like a row-background click: on endpoint folders (.is-terminal-folder, e.g. empty folders or folders at the depth/content-mode limit) the chevron is restyled as a small square dot by CSS. Clicking that dot previously kept the native (no-op) toggle path; it now acts exactly like clicking the folder's row background — a single panel drills down in place, and a dual-panel (child following) setup cascades focus to the bound child. Real chevrons on expandable folders keep their native toggle behavior.
  • Build blocking TS2532 in shared popout engine fixed: leafContents[i] accessed under strict noUncheckedIndexedAccess is now safely read with optional chaining. Synced from the canonical Window Spaces source (implementation revision 2026-09-07T04:05:00Z, API v6), unblocking npm run build.

Changes

  • Added isTerminalFolderDotClick() helper and applied it at every click-interception point (followParentScopeOnFolderClick, blockParentToggleOnFolderNameClick, resolveClickedFolderPath) so only real collapse chevrons keep native toggle semantics while terminal dots route to the standard 3-zone click dispatch.
  • Updated the 3-zone click dispatch contract test to cover the terminal-dot zone (single panel → drill-down, dual panel → cascade).
  • README (EN / zh-TW / zh-CN): documented terminal-panel dot behavior and in-place drill-down usage.

Maintenance

  • Synced shared popout engine with canonical source (5/5 files byte-identical, implementation revision 2026-09-07T04:05:00Z).

Tests

  • 129/129 unit tests passing; ESLint 0 errors 0 warnings; tsc clean; npm run check:project all checks passing; production build verified and deployed to both local test vaults (byte-identical).

0.4.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:37

0.4.1

Fixes

  • Popout restore crash (Critical): fixed RangeError: Maximum call stack size exceeded when restoring a Popout window. The window-active-file tracker no longer calls back into the intercepted workspace.getActiveFile() (which recursed infinitely while the popout had focus); it now reads activeLeaf.view.file directly, and the interceptor gained an isResolvingActiveFile reentrancy guard. Synced from the shared popout engine (Window Spaces 1.2.1, API v6).
  • File opens from a Folder Space in a Popout side column now route to that window's center leaf instead of falling through to the main-window content-area logic.
  • Long-press drill-down no longer requires a linked child panel to be present before starting the timer.

Changes

  • Initial preset selection respects the sync-focus setting: a child panel now applies defaultChildPreset only when parent-link sync focus is actually enabled for the target window (same window vs. new window), otherwise it falls back to defaultPreset.
  • Cross-window safe element checks: replaced direct instanceof HTMLElement/Element tests with isElement() / isHTMLElement() helpers (Obsidian .instanceOf() based with nodeType fallback) so popout windows with separate DOM prototypes are handled correctly.
  • Synced shared popout engine with canonical source (5/5 files byte-identical, implementation revision 2026-09-05T17:30:00Z).

Maintenance

  • Typed internal-API layer replacing unsafe-any usage; window-typed access instead of globalThis probes; cross-window-safe .instanceOf() checks; removed inline style assignment and onunload leaf detach; CSS specificity cleanup (removed !important, prefixed text-decoration).
  • Build falls back to the in-repo src/shared copy when the canonical Window Spaces source is unavailable (required for community-store build verification).

Tests

  • 129/129 unit tests passing; ESLint 0 errors 0 warnings; tsc clean; production build verified.

0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:19

Folder Spaces 0.4.0

Turn any folder into an independent, dockable File Explorer space — now with smarter navigation, richer panels, and deeper Window Spaces integration.

✨ New Features

Cascading panel navigation (Miller columns)

  • Drill-down navigation — clicking a terminal folder drills down in place; the header status icon becomes an Up-to-parent button to climb back.
  • Long-press cascade — long-press a folder to cascade its preset horizontally across child panels.
  • Adaptive parent navigation — parent panels auto-follow when you navigate deeper in a child.
  • Keyboard focus cascade — keyboard focus changes cascade to bound child panels.
  • Folder Notes integration — folder notes are detected and handled consistently in cascades.

Smarter toolbar & views

  • Per-folder sort order — sort by name / modified / created (asc / desc), remembered per folder.
  • In-panel path filter — filter the current panel by a path substring instantly.
  • 7 view presets — Explorer, Navigate, Columns, Context, Contents, Files, List; apply per panel or cascade horizontally.
  • Single-row compact header — keeps native file actions available with a truncated root path and hover tooltip.

Native explorer enhancements

  • Terminal folder indicators — empty or depth-limited folders in the native File Explorer get a subtle dot instead of an ineffective chevron.
  • Parent-link actions — enable/disable or remove parent panel links from the context menu.

Engine & routing

  • Smart content-area routing — new Folder Space views open in the right zone of the workspace (sidebar / editor / popout) without navigation leaks.
  • Shared popout engine sync — three-scope last-active pane routing, per-window active-file tracking, and View onFileOpen gatekeeper, byte-identical with Window Spaces.

📚 Documentation

  • New trilingual developer API docs (docs/api.md, zh-TW, zh-CN) and a fully revamped README in English, 繁體中文, and 简体中文 with a visual showcase.

🛠 Internal

  • Aligned 3-zone click dispatch (chevron / name / row) with community conventions.
  • Fixed sidebar/popout navigation leaks and files-only flat-view depth limiting.

Requires Obsidian 1.7.2+ (Desktop only). Full changelog: 0.3.0...0.4.0

Folder Spaces 0.3.0

Choose a tag to compare

@edwardsayer edwardsayer released this 02 Aug 16:48

What's new in 0.3.0

📚 Not just the File Explorer — open any sidebar view in a new/popout window

Folder Spaces is no longer limited to folder-scoped explorers. You can now open Obsidian's other sidebar views — outline, backlinks, outgoing links, search, tags, properties, and more (not limited to these) — in a new/popout window too:

  • Running a native sidebar-view command (Tags, Outline, Backlinks, Outgoing links, Properties, Search, ...) from inside a popout window now opens it in that same popout window, draggable between splits and tab groups.
  • Panels are never replaced: inside a popout window, sidebar panels (backlink, outline, outgoing links, search, ...) and Folder Space explorers are never replaced by an opened note — the note opens on the previously active note tab, or as a new tab in that tab group, while unpinned note tabs keep the normal open-in-current-tab behavior.
  • Draggable after layout restore: search panels and other popout sidebar views stay draggable after restoring a saved layout (e.g. via Window Spaces).

Other changes

  • Header bar: removed the Change folder button — left-click the folder title to open the folder picker (right-click still shows the native context menu).

Verified: npm run check, npm test (35/35), npm run build all pass.

Folder Spaces 0.2.0

Choose a tag to compare

@edwardsayer edwardsayer released this 02 Aug 13:40

What's new in 0.2.0

  • Popout-aware opening: running the Open Folder Space command or the Folder Spaces context-menu submenu from inside a popout window now opens the new Folder Space in that same popout window — reusing or creating a full-height left/right sidebar pane, or opening in the popout's editor area — instead of jumping back to the main window.
  • Search in the same window: when a Folder Space lives in a popout window, the native Search in folder context-menu action shows its results in that same popout window.
  • Per-folder custom icons: set a custom icon for each root folder from the header bar, overriding the global icon.
  • Quick open: new ribbon icon and Open Folder Space command to pick a folder and open it in the default location.
  • Per-window default open location: choose separately where new Folder Spaces open in the main window vs. popout windows.
  • Header bar: Change folder picker, Tree/Flat toggle, and folder-icon button.

Verified: npm run check, npm test (35/35), npm run build all pass.