Hi Dave,

 I think I sent you an mail saying that
I had switched to your package version, but apparently I didn't actually
get around to doing that on the server.

No worries, my main question was about whether you had "changed your mind" about /ss.
 
I looked at this again a couple
of days ago so that I would respond to Tim's question about VNC and I
realize that although we did merge the code, I never did actually
activate the final version on squeaksource.com.

Unfortunately this turns out to be a good thing, because although the
merged version runs fine, it does not seem to work properly when
restarting a saved image.

If you would like to take a look at it that would be great. Install
update.sscom-dtl.5.mcm in a clean image and work from there. You
should be able to save the image, restart it, and everything should
still keep working. Then try loading whichever package version you
are using in the source.squeak.org image and see if it still works.
There should be no errors or debuggers opening when you restart the
saved image.

The /ss code relies 100% on its code versioned in MC packages, and has zero dependence on image state.  This was the #1 primary design goal in the 2011 upgrade.  Loading the /ss code on top of the sscom-dtl code was never tested or expected to work.  Instead, the initial image should be saved ONLY with the Personal SqueakSource code loaded, and NO servers started (RFB or web).

Then, the command-line to start the server should simply specify to use SSImagePersistence in the run.st script, like this:
____
Smalltalk run:
    [ : webPort | MCHttpRepository clearCredentials.
    Smalltalk mitigateIfHeadless.
    webPort ifNotNil: [ SSRepository port: webPort asInteger ].
    (FileDirectory default fileExists: 'logo.jpg') ifTrue: [ SSFrame makeLogo: (FileDirectory default fullNameFor: 'logo.jpg') ].
    SSRepository
         storage: SSImagePersistence new ;
         startServer: true ]
____

SSImagePersistence uses a Promise and ensures the image is saved with the server and domain and safely restartable.  I tested with a full copy of squeaksource.com several years ago.

For extra safety, we might consider using a SSCompositeStorage composed of an SSImagePersistence and a SSFilesystem, so we have data.obj files as backups in case the image saves corrupted.

I'm happy to support getting this up and running as specified above, but I don't want to experiment with mixing the /ss code with the sscom-dtl code.  I'd rather see the sscom-dtl code integrated into the /ss code, and the community coalesce on a single bespoke server codebase suitable for both instances.

Regards,
  Chris