Discussion:
[squeak-dev] Project thumbnail morph loss in 5.2?
Tim Johnson
2018-11-27 19:58:25 UTC
Permalink
Hi,

I wanted to experiment with sharing a Project across images.

I did World menu->open->morphic project. (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)

I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."

This brings up a chooser dialog and makes the project thumbnail morph
disappear.

Desired behavior: Seems like when the chooser dialog appears, the
thumbnail morph shouldn't disappear.

(The project still appears in the Projects menu on the docking bar.)

I don't know if there's any way to get the thumbnail back...

I can file a bug in Mantis if desired.

Thanks,
marcel.taeumel
2018-12-02 11:06:26 UTC
Permalink
Hi Tim,

that behavior has been around for quite some time now. I traced it back to
at least Squeak 4.0. Yes, the desired behavior you described is reasonable.
We should fix that. :-)

Best,
Marcel
Post by Tim Johnson
Hi,
I wanted to experiment with sharing a Project across images.
I did World menu->open->morphic project. (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail morph
disappear.
Desired behavior: Seems like when the chooser dialog appears, the
thumbnail morph shouldn't disappear.
(The project still appears in the Projects menu on the docking bar.)
I don't know if there's any way to get the thumbnail back...
I can file a bug in Mantis if desired.
Thanks,
Tim J
--
Se
Edgar J. De Cleene
2018-12-02 12:43:10 UTC
Permalink
As I have tons of old images, the last one which do not show this trouble is
Squeak 3.6 latest update 5424 ,so the cure is revert to this.

Edgar
@morplenauta
Post by marcel.taeumel
Hi Tim,
that behavior has been around for quite some time now. I traced it
Post by marcel.taeumel
back to
at least Squeak 4.0. Yes, the desired behavior you described is
Post by marcel.taeumel
reasonable.
We should fix that. :-)

Best,
Marcel
Post by marcel.taeumel
Hi,
I wanted to experiment with sharing a Project across images.
I
did World menu->open->morphic project. (I can enter it and return, or
not
enter it at all, and it has no effect on what I'm reporting here.)
I then
menu-clicked inside the project's thumbnail and chose "see if
server
version is more recent."
This brings up a chooser dialog and makes the
project thumbnail morph
disappear.
Desired behavior: Seems like when
the chooser dialog appears, the
thumbnail morph shouldn't disappear.
(The project still appears in the Projects menu on the docking bar.)
I
don't know if there's any way to get the thumbnail back...
I can file a
bug in Mantis if desired.
Thanks,
Tim J
--
Post by marcel.taeumel
http://forum.wo
Chris Muller
2018-12-02 20:09:11 UTC
Permalink
On a side note -- another way to share a single Project instance
across images is to put it into a Magma database. Since its early
days, Magma has code specifically to support Projects, allowing
multiple clients to view and use the Project simultaneously. A client
can save updates to the Project by sending the message #commit (to the
Session object connected to the DB in which the Project resides),
after which other clients may send #refresh to instantly see those
updates.
Post by Tim Johnson
Hi,
I wanted to experiment with sharing a Project across images.
I did World menu->open->morphic project. (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail morph
disappear.
Desired behavior: Seems like when the chooser dialog appears, the
thumbnail morph shouldn't disappear.
(The project still appears in the Projects menu on the docking bar.)
I don't know if there's any way to get the thumbnail back...
I can file a bug in Mantis if desire
karl ramberg
2018-12-04 19:59:38 UTC
Permalink
Hi,
You can explore ProjectHistory currentHistory mostRecentCopy.

Find and select the project that is missing a window.
ProjectViewMorph openOn: self
DoIt the code pane.

I'm not sure why the morph dissaprears

Best,
Karl
Post by Tim Johnson
Hi,
I wanted to experiment with sharing a Project across images.
I did World menu->open->morphic project. (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail morph
disappear.
Desired behavior: Seems like when the chooser dialog appears, the
thumbnail morph shouldn't disappear.
(The project still appears in the Projects menu on the docking bar.)
I don't know if there's any way to get the thumbnail back...
I can file a bug in Mantis if desired.
Thanks,
Tim J
K K Subbu
2018-12-05 07:47:13 UTC
Permalink
I did World menu->open->morphic project.  (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail morph
disappear.
The project view morph is enclosed in a system window which gets hidden
while displaying a progress dialog to check on server. If the dialog is
dismissed, it continues to stay hidden :-(. I suspect this is because

ProjectViewMorph>>checkForNewerVersionAndLoad
self withProgressDo: [
project loadFromServer
]

loadFromServer displays a progress bar when required, so I wonder why
withProgressDo: is required again. If I remove this check and change to

project loadFromServer

then the problem gets solved. I don't know enough about project loading
to confirm if this is indeed the correct solution.

Regards .. Subb
karl ramberg
2018-12-05 21:55:38 UTC
Permalink
The problem does not happen when ProjectViewInWindow preference is false.

In ComplexProgressIndicator>>withProgressDo:
Comment out
targetOwner ifNotNil: [targetOwner hide].

I'm not sure why the owner of the ProjectViewMorph should ever hide here.
There could be some edge case I'm not aware of.

If nobody see an issue with this I'll make a change and push to trunk

Cheers,
Karl
Post by K K Subbu
Post by Tim Johnson
I did World menu->open->morphic project. (I can enter it and return, or
not enter it at all, and it has no effect on what I'm reporting here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail morph
disappear.
The project view morph is enclosed in a system window which gets hidden
while displaying a progress dialog to check on server. If the dialog is
dismissed, it continues to stay hidden :-(. I suspect this is because
ProjectViewMorph>>checkForNewerVersionAndLoad
self withProgressDo: [
project loadFromServer
]
loadFromServer displays a progress bar when required, so I wonder why
withProgressDo: is required again. If I remove this check and change to
project loadFromServer
then the problem gets solved. I don't know enough about project loading
to confirm if this is indeed the correct solution.
Regards .. Subbu
K K Subbu
2018-12-06 05:25:42 UTC
Permalink
There is also a targetMorph show later on in the method that has to be
removed.

I doubt whether the preference has anything to do with the bug.

While loading from the server, the system window (or the thumbnail) is
hidden and a translucent morph is placed over its bounds. When the
loading is complete, the steps are reversed. I suppose this is to
indicate that the thumbnail could change when a new version is loaded.

This is holiday season so feedback may be slow in coming. In any case,
you could post a fix to the Inbox to trigger discussions.

Regards .. Subbu
Post by karl ramberg
The problem does not happen when ProjectViewInWindow preference is false.
Comment out
targetOwner ifNotNil: [targetOwner hide].
I'm not sure why the owner of the ProjectViewMorph should ever hide here.
There could be some edge case I'm not aware of.
If nobody see an issue with this I'll make a change and push to trunk
Cheers,
Karl
I did World menu->open->morphic project.  (I can enter it and
return, or
not enter it at all, and it has no effect on what I'm reporting
here.)
I then menu-clicked inside the project's thumbnail and chose "see if
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail
morph
disappear.
The project view morph is enclosed in a system window which gets hidden
while displaying a progress dialog to check on server. If the dialog is
dismissed, it continues to stay hidden :-(. I suspect this is because
ProjectViewMorph>>checkForNewerVersionAndLoad
      self withProgressDo: [
        project loadFromServer
      ]
loadFromServer displays a progress bar when required, so I wonder why
withProgressDo: is required again. If I remove this check and change to
        project loadFromServer
then the problem gets solved. I don't know enough about project loading
to confirm if this is indeed the correct solutio
karl ramberg
2018-12-06 17:36:35 UTC
Permalink
The preference triggers the error because ProjectViewMorph has the
SystemWindow as a owner and then it gets hidden when the targetOwner is
hidden.
I have to look at the other users of this method to understand why the
owner should be hidden. Nothing obvious comes to mind.

Best,
Karl
Post by K K Subbu
There is also a targetMorph show later on in the method that has to be
removed.
I doubt whether the preference has anything to do with the bug.
While loading from the server, the system window (or the thumbnail) is
hidden and a translucent morph is placed over its bounds. When the
loading is complete, the steps are reversed. I suppose this is to
indicate that the thumbnail could change when a new version is loaded.
This is holiday season so feedback may be slow in coming. In any case,
you could post a fix to the Inbox to trigger discussions.
Regards .. Subbu
Post by karl ramberg
The problem does not happen when ProjectViewInWindow preference is false.
Comment out
targetOwner ifNotNil: [targetOwner hide].
I'm not sure why the owner of the ProjectViewMorph should ever hide here.
There could be some edge case I'm not aware of.
If nobody see an issue with this I'll make a change and push to trunk
Cheers,
Karl
Post by Tim Johnson
I did World menu->open->morphic project. (I can enter it and
return, or
Post by Tim Johnson
not enter it at all, and it has no effect on what I'm reporting
here.)
Post by Tim Johnson
I then menu-clicked inside the project's thumbnail and chose "see
if
Post by karl ramberg
Post by Tim Johnson
server version is more recent."
This brings up a chooser dialog and makes the project thumbnail
morph
Post by Tim Johnson
disappear.
The project view morph is enclosed in a system window which gets
hidden
Post by karl ramberg
while displaying a progress dialog to check on server. If the dialog
is
Post by karl ramberg
dismissed, it continues to stay hidden :-(. I suspect this is because
ProjectViewMorph>>checkForNewerVersionAndLoad
self withProgressDo: [
project loadFromServer
]
loadFromServer displays a progress bar when required, so I wonder why
withProgressDo: is required again. If I remove this check and change
to
Post by karl ramberg
project loadFromServer
then the problem gets solved. I don't know enough about project
loading
Post by karl ramberg
to confirm if this is indeed the correct solution.
Regards .. Subbu
K K Subbu
2018-12-08 11:53:46 UTC
Permalink
targetOwner is not set in the "targetMorph ifNil:" part of the branch
but is used after this test. Will this be an issue?

Regards .. Subbu
Post by karl ramberg
The preference triggers the error because ProjectViewMorph has the
SystemWindow as a owner and then it gets hidden when the targetOwner is
hidden.
I have to look at the other users of this method to understand why the
owner should be hidden. Nothing obvious comes to mind.
Best,
Karl
There is also a targetMorph show later on in the method that has to be
removed.
I doubt whether the preference has anything to do with the bug.
While loading from the server, the system window (or the thumbnail) is
hidden and a translucent morph is placed over its bounds. When the
loading is complete, the steps are reversed. I suppose this is to
indicate that the thumbnail could change when a new version is loaded.
This is holiday season so feedback may be slow in coming. In any case,
you could post a fix to the Inbox to trigger discussions.
Regards .. Subbu
Post by karl ramberg
The problem does not happen when ProjectViewInWindow preference
is false.
Post by karl ramberg
Comment out
targetOwner ifNotNil: [targetOwner hide].
I'm not sure why the owner of the ProjectViewMorph should ever
hide here.
Post by karl ramberg
There could be some edge case I'm not aware of.
If nobody see an issue with this I'll make a change and push to trunk
Cheers,
Karl
      >
      > I did World menu->open->morphic project.  (I can enter it and
     return, or
      > not enter it at all, and it has no effect on what I'm
reporting
Post by karl ramberg
     here.)
      >
      > I then menu-clicked inside the project's thumbnail and
chose "see if
Post by karl ramberg
      > server version is more recent."
      >
      > This brings up a chooser dialog and makes the project
thumbnail
Post by karl ramberg
     morph
      > disappear.
     The project view morph is enclosed in a system window which
gets hidden
Post by karl ramberg
     while displaying a progress dialog to check on server. If the
dialog is
Post by karl ramberg
     dismissed, it continues to stay hidden :-(. I suspect this is
because
Post by karl ramberg
     ProjectViewMorph>>checkForNewerVersionAndLoad
            self withProgressDo: [
              project loadFromServer
            ]
     loadFromServer displays a progress bar when required, so I
wonder why
Post by karl ramberg
     withProgressDo: is required again. If I remove this check and
change to
Post by karl ramberg
              project loadFromServer
     then the problem gets solved. I don't know enough about
project loading
Post by karl ramberg
     to confirm if this is indeed the correct solution.
     Regards .. Subbu
karl ramberg
2018-12-08 14:55:26 UTC
Permalink
No,
targetOwner can be either nil or some morph in this method.
It's not a problem to send 'show' to a morph that is already visible.


Best,
Karl
Post by K K Subbu
targetOwner is not set in the "targetMorph ifNil:" part of the branch
but is used after this test. Will this be an issue?
Regards .. Subbu
Post by karl ramberg
The preference triggers the error because ProjectViewMorph has the
SystemWindow as a owner and then it gets hidden when the targetOwner is
hidden.
I have to look at the other users of this method to understand why the
owner should be hidden. Nothing obvious comes to mind.
Best,
Karl
There is also a targetMorph show later on in the method that has to
be
Post by karl ramberg
removed.
I doubt whether the preference has anything to do with the bug.
While loading from the server, the system window (or the thumbnail)
is
Post by karl ramberg
hidden and a translucent morph is placed over its bounds. When the
loading is complete, the steps are reversed. I suppose this is to
indicate that the thumbnail could change when a new version is
loaded.
Post by karl ramberg
This is holiday season so feedback may be slow in coming. In any
case,
Post by karl ramberg
you could post a fix to the Inbox to trigger discussions.
Regards .. Subbu
Post by karl ramberg
The problem does not happen when ProjectViewInWindow preference
is false.
Post by karl ramberg
Comment out
targetOwner ifNotNil: [targetOwner hide].
I'm not sure why the owner of the ProjectViewMorph should ever
hide here.
Post by karl ramberg
There could be some edge case I'm not aware of.
If nobody see an issue with this I'll make a change and push to
trunk
Post by karl ramberg
Post by karl ramberg
Cheers,
Karl
Post by Tim Johnson
I did World menu->open->morphic project. (I can enter it
and
Post by karl ramberg
Post by karl ramberg
return, or
Post by Tim Johnson
not enter it at all, and it has no effect on what I'm
reporting
Post by karl ramberg
here.)
Post by Tim Johnson
I then menu-clicked inside the project's thumbnail and
chose "see if
Post by karl ramberg
Post by Tim Johnson
server version is more recent."
This brings up a chooser dialog and makes the project
thumbnail
Post by karl ramberg
morph
Post by Tim Johnson
disappear.
The project view morph is enclosed in a system window which
gets hidden
Post by karl ramberg
while displaying a progress dialog to check on server. If the
dialog is
Post by karl ramberg
dismissed, it continues to stay hidden :-(. I suspect this is
because
Post by karl ramberg
ProjectViewMorph>>checkForNewerVersionAndLoad
self withProgressDo: [
project loadFromServer
]
loadFromServer displays a progress bar when required, so I
wonder why
Post by karl ramberg
withProgressDo: is required again. If I remove this check and
change to
Post by karl ramberg
project loadFromServer
then the problem gets solved. I don't know enough about
project loading
Post by karl ramberg
to confirm if this is indeed the correct solution.
Regards .. Subbu
Loading...