Why is tab Id different for different file formats?

I use playwright to test my application, I open a simple text, and the tab selector is as follows

I open my custom file. the tab selector is as follows

the difference is that the simple.txt use “c%3A” but my file use “c:”, why does this difference exist, I think the tab id is generated by Theia, it should be the same for every tab id.
because of this difference, I can not use the same method for both file formats

how could I do to make my file use the same “c%3A”

Can you share some code containing some more info on how you create the id of your widget custom widget? The tabbar id is simply generated from the widget id, see here.

my vdm format in fact is a glsp diagram, so the widget id is created by the glsp manager. I debug and find that it uses uri.Tostring(true) which translates “c%3A” to “c:”.

Then the issue is very likely related to the Eclipse GLSP Theia integration. You’ll need to file an issue there.

@wss for additional information, Mark is suggesting opening a discussion at eclipse-glsp/glsp · Discussions · GitHub since it seems specific to the GLSP project itself.

I create a discussion in GLSP project Why is tab Id different for different file formats? · eclipse-glsp/glsp · Discussion #1040 · GitHub