On 09/04/2024 21:14, David Higton wrote:
For background, quoting Rob Kendrick:

My /guess/ is that SocketWatch (or similar) is running via an
application launched at boot and it is an earlier version than NetSurf
requires, so NetSurf's !Run's RMEnsure tries to replace it with a newer
version?

At last Saturday nights RISC OS coding zoom meeting there was discussion
of this SocketWatch issue and John Rickman was asked to write to this
list seeking some information.  (He's only subscribed to ns-users, so
I've taken over the task.)  We looked at the change log for v0.07 and
tested the latest  NetSurf against v0.04. It appeared to run without
problems.

Would you be willing in the short term to RMensure against v0.04 instead
of v0.07.  This would avoid some breakage and people having to change
their run files.


I have now reverted all this functionality completely as I would prefer not to declare a dependency on something with which we have not tested.

The documentation provided with 0.07 specifically says that it is an
unofficial release.  The last "official" release seems to have been
0.04. Is it wise to force people to update their master !System with
an unofficial release?

Yes, it is. The original author moved on over 20 years ago, the module was made 32bit compatible by the Nettle developers in 2003 and committed to their CVS at that time. Later, Frank de Bruijn became the de-facto maintainer after his attempts to feed his changes back failed.

Further, in June 2012, the Nettle developers committed the sources for his version 0.06 to their CVS and removed the historic 0.04y sources they had been carrying up to that point. I cannot point you at the Nettle CVS repository on Sourceforge because there is no longer a web interface for it, and I wouldn't want to force anyone to use a CVS client in 2024. Instead, here's the commit history from a copy of the Nettle source repository in Git: https://github.com/dpt/Nettle/commits/master/SocketWatch

To all intents and purposes, therefore, Frank's version is the official, maintained, source of the module.

Surely better to RMensure the official version if it works as expected.
(The changelog shows no functional/API changes since 0.04).  By all means
include 0.07 in your zip, but use "RMensure" they way it was designed -
to specify the minimum version the will function with your software.

We tested with, and thus declared a dependency on, the 0.07 release, which is now 5 years old. We considered that 5 years was plenty of time for people to have upgraded and, tbh, I'm somewhat surprised by the suggestion that reverting to a dependency on 20+ year old abandonware is a sensible course of action, given the existence of newer, less buggy, maintained versions.

That this caused NetSurf not to run on systems running software that vendored its own copy of the module, instead of using the system-wide resources, is unfortunate, but was hardly foreseeable. Regardless, lesson learned: never change anything in the RISC OS frontend.


J.

Reply via email to