Looks good. Except for that little "." UI glitch in the text, which also introduces a inconsistent line gap :-)
Best, Marcel Am 22.09.2022 13:29:12 schrieb christoph.thiede@student.hpi.uni-potsdam.de christoph.thiede@student.hpi.uni-potsdam.de: Hi all,
please find the attached changeset which implements a small VM update reminder as proposed. :-)
Best, Christoph
=============== Summary ===============
Change Set: vm-update-reminder Date: 22 September 2022 Author: Christoph Thiede
Tot the 'update completed' dialog, adds a short reminder if a newer OSVM release is available. For different VMs, the reminder will not appear. The latest release number is stored in SystemVersion>>#recommendedVMBuildNumber and should be updated after each VM release. See http://lists.squeakfoundation.org/pipermail/vm-dev/2022-September/038412.htm....
=============== Diff ===============
MCMcmUpdater>>updateMessageFor: {private} · ct 9/22/2022 13:15 (changed) updateMessageFor: previousUpdateLevel
- ^ ('Update completed.<br><br>Version: {1}<br>Update: {3}<b>{2}</b><br><br>Url: <a href="{4}">{4}</{10}><br>Map: ''{5}''<br>CI status: <a href="{8}"><img src="{7}" /> {9}</{10}>{6}' translated format: { + ^ ('Update completed.<br><br>Version: {1}<br>Update: {3}<b>{2}</b><br><br>Url: <a href="{4}">{4}</{10}><br>Map: ''{5}''<br>CI status: <a href="{8}"><img src="{7}" /> {9}</{10}>{6}.{11}' translated format: { SystemVersion current version. SystemVersion current highestUpdate. previousUpdateLevel = SystemVersion current highestUpdate ifTrue: [''] ifFalse: [previousUpdateLevel asString, ' -> ']. self repository. MCMcmUpdater updateMapName. SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d | '<br><br><font face="{2}" size="{3}">{1}</font>' format: { d. Preferences standardButtonFont familyName. Preferences standardButtonFont pointSize. }]. SystemVersion current ciStatusBadgeUrl. SystemVersion current ciStatusPageUrl. SystemVersion current ciStatusTimestamp ifNil: ['(build inaccessible!)' translated]. "mt: Avoid triggering the Windows Defender. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346.html" 'a'. + SystemVersion current recommendedVMUpdateInfo ifNil: [''] ifNotNil: [:info | + '<br><br><font face="{5}" size="{6}">A newer VM is recommended ({1} -> {2})! Visit the <a href="{3}">project page</{4}> to download it.</font>' translated + format: { + info key. + info value. + SystemVersion current vmUpdateURL. + 'a'. "avoid Windows Defender again" + Preferences standardButtonFont familyName. + Preferences standardButtonFont pointSize + }] }) asTextFromHtml
SmalltalkImage>>isRunningOpenSmalltalkVM {system attributes} · ct 9/22/2022 13:18 + isRunningOpenSmalltalkVM + + ^ [#('CoInterpreter' 'StackInterpreter') includes: (self interpreterClass copyUpTo: Character space)] + on: Error "unsupported primitives" + do: [:ex | false]
SmalltalkImage>>openSmalltalkVMBuildNumber {system attributes} · ct 9/22/2022 12:58 + openSmalltalkVMBuildNumber + + | matcher | + self isRunningOpenSmalltalkVM ifFalse: [^ nil]. + + matcher := 'VM: (\d+).*' asRegex. + (matcher matches: self platformSourceVersion) ifFalse: [^ nil]. + ^ (matcher subexpression: 2) asNumber
SystemReporter>>reportVM: {reporting} · ct 9/22/2022 12:52 (changed) reportVM: aStream | howToBuild | self header: 'Virtual Machine' on: aStream. aStream nextPutAll: Smalltalk vm vmFileName; cr; nextPutAll: Smalltalk vm vmVersion; cr. Smalltalk vm buildDate ifNotNil: [:string | aStream nextPutAll: string; cr]. [Smalltalk vm platformSourceVersion ifNotNil: [:v | aStream nextPutAll: 'platform sources revision ', v; cr]] on: Warning do: ["unsupported primitive"]. [Smalltalk vm interpreterSourceVersion ifNotNil: [:v | aStream nextPutAll: 'VMMaker versionString ', v; cr]] on: Warning do: ["unsupported primitive"]. [Smalltalk vm interpreterClass ifNotNil: [:string | aStream nextPutAll: string; cr]. Smalltalk vm cogitClass ifNotNil: [:string | aStream nextPutAll: string; cr] ] on: Error do: ["unsupported primitives"]. - self vmIsOpenSmalltalkVM ifTrue: + Smalltalk vm isRunningOpenSmalltalkVM ifTrue: [howToBuild := 'Visit https://github.com/OpenSmalltalk/opensmalltalk-vm; follow the"Clone or download" instructions, then read the top-level README.md\and HowToBuild files in the top-level build directory for your\platform(s), build.macos64x64/HowToBuild, build.win32x86/HowToBuild, etc.' withCRs]. howToBuild ifNil: [^self]. aStream cr. self header: 'To Build A Similar Virtual Machine' on: aStream. aStream nextPutAll: howToBuild; cr
SystemVersion>>recommendedVMBuildNumber {accessing} · ct 9/22/2022 13:05 + recommendedVMBuildNumber + + ^ 202206021410
SystemVersion>>recommendedVMUpdateInfo {accessing} · ct 9/22/2022 13:11 + recommendedVMUpdateInfo + + | currentNumber | + currentNumber := Smalltalk openSmalltalkVMBuildNumber ifNil: [^ nil]. + currentNumber >= self recommendedVMBuildNumber ifTrue: [^ nil]. + ^ currentNumber -> self recommendedVMBuildNumber
SystemVersion>>vmUpdateURL {accessing} · ct 9/22/2022 13:12 + vmUpdateURL + + ^ 'https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/202206021410'
--- Sent from Squeak Inbox Talk [https://github.com/hpi-swa-lab/squeak-inbox-talk]
On 2022-09-18T16:46:29-07:00, eliot.miranda@gmail.com wrote:
On Fri, Sep 16, 2022 at 7:20 AM Thiede, Christoph < Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
Hi all,
If you are mostly interested in making sure that people are aware of a
new vm, a message that says a new vm is available with release notes and a method to update the vm would serve the same purpose. A well placed red (!) exclamation point is really all you need. The method to update the vm could be as simple as taking the user to the download page (just like your original email message in this thread).
This is what I meant. Don't restrict compatibility, don't enforce users to install a new VM, but give them a short unobtrusive note if an update is available. We could place this in the "Update complete" dialog, for instance. We could also read the latest build number of the VM somewhere from squeak.org if we don't want to store this information in the image. Could this maybe help VM developers receive earlier feedback on new VM releases?
+1
Best, Christoph
*Von:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Ron Teitelbaum <ron at usmedrec.com> *Gesendet:* Freitag, 16. September 2022 14:56:01 *An:* The general-purpose Squeak developers list *Betreff:* Re: [squeak-dev] [ANN] OpenSmalltalk VM 2022 released (tag 202205110711)
Hi All,
If you are mostly interested in making sure that people are aware of a new vm, a message that says a new vm is available with release notes and a method to update the vm would serve the same purpose. A well placed red (!) exclamation point is really all you need. The method to update the vm could be as simple as taking the user to the download page (just like your original email message in this thread).
All the best,
Ron Teitelbaum
On Thu, Sep 15, 2022 at 8:56 PM David T. Lewis <lewis at mail.msen.com> wrote:
On Thu, Sep 15, 2022 at 01:10:00PM +0000, Thiede, Christoph wrote:
Hi all,
just a quick idea: Could we maintain the build number of the
*recommended*
(i.e., stable) OSVM version in the Trunk and remind users about a newer VM in the Transcript after processing the update stream?
-1
Images and VMs are loosely coupled and we all work hard to minimize unnecessary dependencies between them. One VM can run many different images, and an image can run on more than one kind of VM. That is a good thing.
Remember that we have SqueakJS and other kinds of VM also.
Dave
_,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220918/e91140f5/attachment.html>