Discrepancies with runtimeId values in viewers and viewports

I’m setting runtimeIds as per the following:

api.plugins.registerCommPluginAsync({
   runtimeId: "myRuntimeId"
});

api.viewports.create({
    runtimeID:  "myRuntimeId"
});

When I use getRuntimeId() and getViewportRuntimeId(), what appears to be generated strings are returned. I’ve tried several variations in setting runtimeIds but, the results are always the same.

In the end, I’m relying on…

const viewports = api.viewports.get();
const runtimeID = viewports[index].getViewportRuntimeId();
api.viewports.destroy(runtimeID);

… to destroy viewport instances - which may ultimately be a better design decision - but, I believe there is something off in the behaviour or documentation of runtimeIds.

Note: runtimeId and runtimeID are as specified in the docs - ShapeDiver 3D Viewer Interface: ApiInterfaceV2

From this other topic, I am assuming that you have found a workaround for this issue: Multiple ShapeDiver viewers within a single page - #4 by mathieu1

Our team is taking your report into account to evaluate a possible issue and make sure it is handled correctly in the upcoming viewer version.

Yes, I’ve found a workaround - that’s probably the better implementation - so this isn’t a direct issue for me.

After posting this, I realized that plugin runtimeIds differ from api runtimeIds but, didn’t figure out the issue noticed with viewport runtimeIds.