The graph is not checked for acyclic consistency. The completion/dependency feature will require this to not become inconsistent.
Upon detecting a cycle, the app should close (possibly throwing an error to unmount it). Do not return an empty graph because that may risk data loss if saving occurs.
Server-side consistency is out of the scope of this issue. We are not currently enforcing it on the server, but a separate issue could implement this on using a cloud function or something. Even if the server is trusted, we should check on the client to eliminate this possibility to make debugging conceptually easier.
The graph is not checked for acyclic consistency. The completion/dependency feature will require this to not become inconsistent.
Upon detecting a cycle, the app should close (possibly throwing an error to unmount it). Do not return an empty graph because that may risk data loss if saving occurs.
Server-side consistency is out of the scope of this issue. We are not currently enforcing it on the server, but a separate issue could implement this on using a cloud function or something. Even if the server is trusted, we should check on the client to eliminate this possibility to make debugging conceptually easier.
This MUST NOT take O(n**2)