Skip to content

Improve Influx reliability, table handling, and performance (2.4.3) - #118

Open
turnipsforme wants to merge 53 commits into
jensmtg:masterfrom
turnipsforme:master
Open

turnipsforme wants to merge 53 commits into
jensmtg:masterfrom
turnipsforme:master

Conversation

@turnipsforme

@turnipsforme turnipsforme commented Aug 25, 2026 •

Copy link
Copy Markdown

Summary

  • incorporate @rudironsoni's table-cell fixes from fix(cm6): prevent backlinks rendering in edited table cells #116, plus mobile follow-ups for selection and composition changes
  • harden backlink processing, caching, preview refreshes, and editor widget placement
  • reduce background work and memory use while keeping open editors and reading previews current
  • fix layout reliability, table rendering guards, and release packaging
  • add regression coverage for backlink data, cache behavior, rendering, editor placement, and styles

Release

The PR head is the exact commit published as Influx 2.4.3: https://github.com/turnipsforme/influx/releases/tag/2.4.3. It includes and supersedes #117.

Verification

  • npm test -- --runInBand: 14 suites and 217 tests passed
  • npm run build: passed

The upstream Actions run is waiting for a maintainer to approve the workflow from this fork. It has not reported a test failure.

@semanticdata @jensmtg, when you have time, could you review this and approve the pending workflow run?

rudironsoni and others added 30 commits June 16, 2026 20:19
Preserve native incoming-link data when augmenting backlink metadata, skip expensive processing for notes without real backlinks, and use full source paths for stable rendered entry identity. Add regression coverage for empty backlink structures and source signatures.
turnipsforme and others added 19 commits July 24, 2026 10:38
Keep the Influx widget anchored correctly as users type at the document edge, place top widgets after frontmatter, and prevent stale asynchronous decoration requests from overwriting current editor state. Track active editor plugins for targeted refresh and cleanup.
Invalidate the right caches after metadata, rename, delete, and settings changes; refresh open editors and previews after backlink updates; serialize preview rerenders; and clean up preview containers, roots, timers, and stylesheet classes reliably. Synchronize the lockfile with the current package version and dependency tree.
Verify backlink-free notes skip metadata loading, filtering, and markdown rendering work.
Commit the production main.js bundle required by Obsidian and BRAT alongside manifest.json and styles.css.
- Prevent influx rendering inside markdown table cells (render-utils)
- Table-aware widget anchor placement in live editor (placement-utils)
- Keep master's backlink cache, preview lifecycle and memory improvements
The merged table-cell fixes (suppress influx inside markdown table
cells, anchor the widget after leading tables) only reacted to document
changes on a 3s debounce. On mobile that glitches the UI:

- Tap-to-move caret changes the selection without changing the doc, so
  suppression state went stale while the caret sat in a table.
- When the debounced recompute landed mid-composition with the virtual
  keyboard open, inserting/removing the block widget forced a re-measure
  and yanked scroll position away from the caret.

Now, mobile-only: when table suppression applies, hide the widget
synchronously via StatefulDecorationSet.hideIfShowing() (deferred to a
microtask so we never dispatch during an in-progress CM6 update cycle)
and keep suppression in sync with selection changes. Desktop behavior is
unchanged; suppression logic itself is extracted into
shouldSuppressInfluxForTableEditing with regression tests.
@rudironsoni

Copy link
Copy Markdown

hey, nice!

@turnipsforme turnipsforme changed the title merging @rudironsoni's fixes with mine + performance optim Improve Influx reliability, table handling, and performance (2.4.3) Sep 2, 2026
Open title and excerpt links with the source note path, including nested
embeds. Detect backlink provider changes, merge overlapping updates, and
reuse editor roots without dropping content or collapsed cards. Limit
Markdown work across panes and handle failed renders and deleted notes.

Add DOM, cache, scheduling, and widget lifecycle regression coverage.
Keep the earlier generated bundle; final rebuilding and release are deferred.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants