When two users are concurrently editing a node branch and one is deleting the parent node and one is adding a node, a node without a proper parent is created which breaks the whole map.
Add the possibility to add simple text elements to annotate a note. Alternative: text is not placed directly on the map, but appears if a certain node is clicked on. Like a node description.
Postgres port is mapped to host by default (there is even a warning above it, disable it by default!) [1]
The mapped volume for postgres should have an identifiable name, with an app prefix. Otherwise, apps will overwrite each other for the db directory
Currently, if no env file is provided, database default values are used. This could be a big security risk, if one forgets to overwrite it via .env file. Better throw an error.
A comment is missing in the readme to disable SSL CA check, otherwise the app wont start with a self created Certificate
This could be done by using the # (URL Fragment) which is only interpreted on the client side. E.g.: https://some_server.com/ABC#KEY
The key is never sent to the server but can be shared within the team. However, i would propose not to encrypt everything, but images and names of nodes.
Links inside a foreign object element seem not to work on mobile safari. Therefore, the link creation strategy has to leverage native svg link elements instead of making use of foreign object. This requires bigger changes in the underlying map lib. The alternative would be to add an onclick element, but this leaves room for possible XSS exploits.
Using native svg links means, that not these node are not editable anymore.
Currently, existing nodes are deleted before the json is imported. Thats fine but should be wrapped inside a transaction block. Otherwise the import fails and the map is completly empty.