I did run into that issue and started eclipse one time from the command line with the -clearPersistedState flag. I had no idea at the time that would make that flag permanent.

I have been able to get Eclipse to retain changes to my workspace ONLY if I start it on a command line with the -persistState flag set to true (./eclipse -persistState true). If I start it from the icon on my mac then any changes to the eclipse workspace do not get saved between starts of eclipse.

I did try to add the -persistState true flag to the eclipse.ini file but it has no effect there.

Your questions caused me to try a few new things. First to answer your questions.

Eclipse for JavaScript and Web Developers / Version: Oxygen.1a Release (4.7.1a) / Build id: 20171005-1200

Atelier Stable 1.0 found at https://atelier.artifactoryonline.com/atelier/updates/stable/1.0/

I am connected to 2 servers. One is Ensemble 2016.3.0.6190 the other is HealthShare 2016.2.1.8060B17136

I was trying to open the diagram editor while not connected to either server and got a blank screen.  Once I connected to a server, the diagram editor now comes up - asking first for me to login to Ensemble/HealthShare - and after logging in the diagram editor works.

So I see what is happening, I have to be connected to a server for the diagram editor to work. I would consider this a bug. A client editor should not have to be connected to a server to edit local source files.