IDs of shapes in omniJS-generated canvases do not persist

The IDs given to shapes on canvases generated and populated by omniJS don’t persist across the first file close and reopen.

When the document is closed and immediately reopened the graphic ids have all been reallocated, in a reversed order.

See for example the shape selected in these before and after screenshots. Before the file is first closed, it has ID 10. When the file is immediately reopened, it now has id 72, and the id numbering has reversed.

Reported as [OG #1750676]


Weird! Thanks for the report, and I’m looking into it…

I wonder whether it is connected to the bug which can create a strange and crashing document if canvas 0 is deleted just after a script has created canvas 1, and before the script-expanded document has been saved.

In that case, when the document is closed and immediately reopened, content is visible in the outline sidebar, but not findable in the central editing panel, which also loses its scroll bars when we hit Fit in Window, and find ourselves at 6400% Zoom.

( There seems to be a sense in which script-created canvases are incompletely docked with the mother ship until after the first close and reopen )

Hey! I apologize for taking so long in getting back to this - was off on other things and it fell through the cracks. It turns out that these identifiers are specifically NOT persistent in Graffle between document loads, and whether or not the canvas is script-created is a red herring.

Sorry I didn’t know that about the underlying model originally.

Thanks ! User data will be the thing for persistent ids then