[squeak-dev] Squeak 6.0 alpha-20601 browsing revisions fails because of wrong class of requestor

Marcel Taeumel marcel.taeumel at hpi.de
Wed Aug 25 08:58:57 UTC 2021

Hi all --

Please find attached a change set that implements the "browse revisions" hook without using services.


I think that it's a bug that "Create new service" is in the message-list menu at all. It originates in WorldMenuProvider but got somehow attached to the service category #browserMethodMenu from BrowserProvider (which is visually inlined by the way because of ServiceGui class >> #inlineServices).

I have no idea whether ServicePreferences or ServicesRegistry holds the actual database of (registered/known) services. The entire implementation of "Services" looks very confusing to me. Explanatory class comments are rare. "ServicesRegistry rebuild" does not re-init all services.

The way that MCHttpRepository class >> #initialize adds the "browse revisions" service to the #browserMethodMenu service category seems the only way to do it at the moment. But it is not compatible with "ServicesRegistry rebuild". Maybe it would be better to somehow add that extra service via ServicePreferences. I don't know.

I think that "Services" has something that Squeak needs in terms of modular UI extensions. But not in its current form. I think that Qt calls those things QAction (https://doc.qt.io/qt-5/qaction.html).

http://wiki.squeak.org/squeak/3727 ;o)


Am 24.08.2021 19:02:51 schrieb tim Rowledge <tim at rowledge.org>:

> On 2021-08-23, at 5:57 PM, Chris Muller wrote:
> Hi Tim,
>>> I suspect some auto-magic(ally generated) stuff behind ServiceAction that makes 'browse revisions' fail in your image. It works fine in mine.
> Is it possible, at one point, you accidentally clicked "Create new
> service"

I've never seen that so I guess not.

>>> Which method did you try to browse revisions for?
>> A variety, and mostly it either works or complains
> In my trunk image, the one's I tried worked. Which method(s) are you
> seeing fail?

As I said, it seems random and not noticeably related to the method choice. My only (faintly plausible) guess so far is that the code detecting the active morph for getting the requester from is not as reliable as we'd want. I *do* have some occasional annoyances where the system behaves as if the cursor point has suddenly jumped away from where I think it is, and so some other window suddenly leaps to the front, or some drag action starts, or stuff like that. Maybe that's related?

> No idea.

Likewise, so far.

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Programmers do it bit by bit.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210825/d6e0f2a7/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mc-revisions-no-service.1.cs
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210825/d6e0f2a7/attachment.ksh>

More information about the Squeak-dev mailing list