Skip to content

1.0.10

Choose a tag to compare

@github-actions github-actions released this 17 Sep 09:27
· 50 commits to master since this release

Re-Supercharged Links — Runtime Unification & Performance Cleanup

This release delivers a focused internal refactor aimed at improving consistency, reducing redundant logic, and stabilizing observer behavior across views.

Highlights

  • Unified rule matching into a shared resolver used across rendering paths
  • Reduced duplicated styling/matching logic between Live Preview and Read Mode
  • Added observer deduplication safeguards to prevent duplicate registrations
  • Consolidated rule reordering into one shared engine
  • Refactored visible-link updates into smaller, testable routines
  • Performed targeted cleanup of transitional/legacy wiring after migration

What changed

1) Unified rule resolution

A new centralized rule-resolution routine now handles matching and style aggregation in a deterministic way.
This reduces drift between rendering contexts and makes future optimizations easier.

Included behavior:

  • Tag/path/attribute matching
  • Color/background/font style resolution
  • Icon before/after resolution
  • Data attribute export for downstream consumers

2) Live Preview + Read Mode parity improvements

Both Live Preview decoration flow and Read Mode DOM mutation flow were aligned to the same resolution model.
Result: more consistent visual output across editor and rendered views.

3) Observer deduplication and lifecycle hardening

Observer registration logic was tightened to avoid duplicate observers during repeated layout/window cycles.

  • Container observers are now deduplicated by container + logical key
  • Modal observers are deduplicated per Document
  • Disconnect paths reset plugin-level observer lists to avoid stale references

4) Rule reorder consolidation

Rule movement logic was consolidated into a shared rule-order-engine routine.

  • Preserves existing row animation
  • Keeps active edit index synchronized during swaps
  • Removes duplicated reorder logic in settings tab code

5) Update flow refactor (no intended behavior change)

updateVisibleLinks was split into focused helper routines:

  • properties pane updates
  • tab header updates
  • internal link updates

This is a maintainability refactor to make incremental testing and debugging simpler.

6) Cleanup

Post-migration cleanup removed redundant wiring and reduced technical debt while preserving runtime behavior.


Why this release matters

This release is primarily about long-term reliability and performance stability:

  • Fewer duplicated rule engines to maintain
  • Lower risk of inconsistent match behavior across contexts
  • Better observer hygiene under repeated layout or window events
  • Cleaner structure for upcoming feature work and optimization passes

Compatibility notes

  • No intentional user-facing configuration changes
  • Existing style rules/settings should continue to work as before
  • If you rely on third-party view integrations, please report regressions with reproduction steps

Recommended quick verification after update

  1. Reload plugin
  2. Verify rule styling in Live Preview and Read Mode
  3. Test quick switcher / suggestion popups
  4. Reorder rules up/down in settings
  5. Restart Obsidian and confirm settings persistence