Full-space Graph View: Orphan Date nodes, deleted objects persisting, and unreliable refresh behavior
Area: Full-space Graph View / Object Deletion / Date References / Graph Refresh Platforms: Capacities Windows Desktop App and Web App Reproducibility: Reproduced multiple times in a dedicated Testing Space Impact: Graph may display stale or deleted objects and does not provide a reliable way to manually refresh its contents.
Summary During testing, I discovered several issues with how Capacities' full-space Graph View handles object deletion, Date references, and data refreshing.
Specifically:
Date nodes created through inline @date references remain in the Graph even after their references are removed or the originating objects are deleted.
Deleting objects or entire Object Types can leave stale objects and/or orphan Date nodes in the Graph.
The Graph does not always refresh when navigating back to it, and there is no reliable manual refresh mechanism.
These issues were observed while experimenting with custom Object Types, inline date references, Date properties, and object deletion.
Issue 1 - Orphan Date nodes persist after removing inline references
Steps to reproduce Create a custom Object Type named Page (plural: Pages).
Create a new Page object.
Add an inline Date reference in the object's body, for example @tomorrow.
Open Graph View.
Verify that both the Page and Date nodes appear, connected by an edge.
Return to the Page and remove the inline Date reference.
Refresh Graph View by navigating away and returning.
Actual behavior The connection between the Page and Date disappears.
However, the Date node remains visible as an isolated object.
Re-adding the inline Date reference restores the connection.
Removing the reference again removes the connection but leaves the Date node.
Deleting the Page object removes the Page node, but the orphan Date node remains.
Emptying the Trash does not remove the orphan Date node.
Expected behavior When an inline Date reference is removed, and no other objects reference that date, the Date node should disappear from Graph View.
If retaining unreferenced Date objects is intentional, there should be a documented explanation and ideally a way to remove them from the Graph.
Issue 2 - Deleting objects or Object Types leaves stale Graph nodes
Steps to reproduce Create a custom Object Type with a Date property.
Create an object of this type.
Populate its Date property with a date that has not previously appeared in Graph View.
Open Graph View and verify that both the custom object and Date nodes appear, connected.
Delete the custom object without first clearing its Date property.
Refresh Graph View.
Actual behavior Both the deleted custom object and its associated Date node may remain visible.
Clicking the deleted object's node opens its preview window, displaying "Deleted content".
Restoring the object from Trash, then deleting its entire Object Type, removes the custom object's node but leaves the associated Date node orphaned.
Emptying Trash does not remove the orphan Date node.
Control experiment I repeated the experiment but manually cleared the object's Date property before deleting the object.
In this case: The Date node immediately disappeared from Graph View.
The custom object remained visible, as expected.
Restoring the Date property recreated the Date node and its connection.
This suggests that removing a Date property's value correctly updates the Graph, whereas deleting the object containing that property may not trigger equivalent cleanup.
Expected behavior Deleting an object, or deleting its entire Object Type, should consistently remove the deleted object's Graph representation and update its associated relationships.
Orphan Date nodes should not remain visible unless their retention is explicitly intentional.
Additional observations Remaining Date nodes are classified as Date in the Graph's Object Type filters.
Clicking these nodes navigates to the corresponding Calendar dates.
No actual Daily Notes exist for those dates.
The built-in Hide dates Graph option conceals them but does not remove them.
Normal Task creation, date assignment, and Task deletion did not reproduce the same problem.
Issue 3 - Graph View does not refresh reliably
Description During the experiments described above, I noticed that Graph View does not reliably refresh its contents after changes to objects, references, or properties.
Changes made elsewhere in Capacities may not be reflected immediately when returning to Graph View.
Observed behavior After modifying or deleting objects, Graph View may continue displaying its previous state.
Navigating away from Graph View to another section, such as Calendar or Tasks, and then returning sometimes triggers a refresh.
In other cases, I must navigate through two other sections before returning to Graph View for the changes to become visible.
Repeatedly clicking the Graph button in the sidebar while already inside Graph View does not reload or refresh the Graph.
There is no obvious dedicated manual refresh button in the Graph toolbar.
This makes it difficult to determine whether an object or relationship has genuinely survived deletion or whether the Graph is simply displaying stale information.
Expected behavior Ideally, Graph View should synchronize automatically with changes made to objects and their relationships.
At a minimum, navigating back to Graph View should reliably update its data to reflect the current state of the Space.
Feature Requests - Improve Graph refresh controls In addition to resolving the bugs above, I would like to suggest two usability improvements.
Request A: Refresh Graph when clicking its sidebar button again When Graph View is already active, clicking its sidebar navigation button again should trigger a reload or refresh.
This would provide a convenient way to manually update the Graph without navigating to unrelated sections of Capacities.
Request B: Add a dedicated Refresh button to the Graph toolbar Add a Refresh Graph button (perhaps with a circular-arrow icon) to the existing Graph toolbar at the bottom-right corner.
This would allow users to explicitly synchronize the visualization with the latest object and relationship data.
Ideally, the action should refresh the Graph's underlying data, not merely redraw its existing nodes and edges.
Such a button could be particularly useful while performing large-scale operations, editing object relationships, or troubleshooting the Graph.
Additional technical observations The behavior was reproduced in both the Windows Desktop App and Web App.
Using the application's Reboot function did not resolve the orphan Date nodes.
Permanently emptying Trash did not remove the remaining orphan nodes.
Some deleted objects could only be removed from Graph by opening their previews from Graph View and deleting them again.
The problems appear particularly related to Date references, custom Object Types, and deletion workflows.
I cannot determine whether the orphan Date nodes represent persistent underlying records or merely stale Graph/index entries.
Questions for the development team Are Date objects intentionally retained after all references to them are removed?
Why does clearing a Date property remove the corresponding Date node, while deleting the entire originating object may leave it behind?
Is there currently a supported way to permanently remove orphan Date nodes?
Should deleted objects remain visible in Graph View while they are in Trash?
Is Graph View expected to refresh automatically upon navigation, or is its current behavior a known limitation?
Could manual refresh controls be added to improve Graph usability?
Although my observations primarily concern the recently introduced enhancements to the full-space Graph View, my concerns extend beyond the Graph itself. They relate to the maturity and reliability of the underlying data model, object lifecycle management, and backend workflows, which I consider fundamental.
Thank you 👍
Capacities v1.72.7; none none; Windows v10; Chrome v148.0.7778.280 (WebKit v537.36); Desktop (Electron); 10/29/2026, 9:00:15 PM
0 Comments
Sign in to comment
No comments yet. Be the first to share your thoughts!
