Redraw a base's marks when Obsidian re-renders its entries #253
No reviewers
Labels
No labels
area:docs
area:identity
area:ops
area:plugin
area:server
channel:community
channel:direct
channel:owned
channel:press
channel:social
e2ee-constrained
gate:at-ga
gate:pre-ga
marketing
parity
relay:absent
relay:planned
relay:requested
relay:supported
risk:additive
risk:contract
risk:none
usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Nectenda/nectenda!253
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-bases-dot-recycle"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Task: NEC-199
Follow-up to #252, found by the user while testing in their own vaults. While scrolling a cards view, the shared-entry dot showed on cards that were not shared, then cleared up to 2 s later. The cause: on scroll Obsidian reuses card elements to show other notes, and the plugin redrew a frame after the scroll. The cards view also re-renders from an IntersectionObserver, whose callbacks run after that frame, so the redraw could come first and the dot stayed on a reused card until the 2 s tick. A collaborator's focus outline had the same race.
Each open base is now watched with a MutationObserver (
childListonly, so the marks it draws cannot trigger it) and redraws as soon as Obsidian finishes a re-render.Verification
pnpm test,pnpm -r typecheck,pnpm lint,build-mirror --checkand the full container e2e (160 passed, 2 skipped) all pass.Changelog
In a base's cards and table views, the marks showing which entries are shared and where a collaborator is no longer linger on the wrong entry while you scroll.
🤖 Generated with Claude Code
https://claude.ai/code/session_01AsUFqoi4GHKYjFtPbYCgRp