New Messages when Online

First of all, thanks for 3.6.6 and the continued development of VASSAL. It is great to see; the new/improved functionality is super for module developers.

VASL module users are being greeted with new messages when they sync with another player online.


I appreciate the goal behind such messages. However, it is proving problematic for several reasons. Mostly because some of our users are understanding this to be evidence of a problem rather than an alert that there might be a problem.

A couple of thoughts to how this might be improved on in future releases:

  1. the last line of the message refers to mismatches at the vassal, module and extensions level. The vasl.info website has about 60 active extensions for users. Plus, more and more users are developing their own custom extensions not shared across the community. I would rate the likelihood of any two VASL users having an identical match of extensions to be as close to zero as you could get. Since the use of most extensions is tied to a specific game requirement in VASL, most are not actively used in any one game and thus a match of installed extensions is not important. Thus, I would suggest that the match at the extensions level be removed.

  2. The second message refers to module checksums not matching. Very few VASL users would know what checksum means in this context. If you are trying to say that the VASL versions don’t match (as the first line does for VASSAL versions) then I would suggest that the message says just that. If it is meant to say something else.

  3. Perhaps the third message could be reworked from a warning to a suggestion, such as: “ADVICE: if players experience unpredictable problems, resolve the mismatches noted above”.

I think such messages can be very helpful to users; it is just a question of tweaking them so that they remain informative and help with problem solving without causing concern where none is warranted.

1 Like

Hi Doug,

Thanks for your input, I was already working on tweaking this.

The module checksum was always supposed to have included all extensions, but due to a bug never has I fixed this bug without realising full consequences when combined with the new checking.

I am definitely reverting the checksum checking to just the base module, but I will display the full combined checksum in the Player Info online window in case people are interested.

The module checksum is designed to check whether 2 copies of a module with the same version number are in fact the same module. Differences can occur due to corrupted downloads, or to one copy of the module being modified without changing the version number. Since reporting checksum differences is pointless if the module version number is different, I will remove the check in that case.

Can you suggest better wording to describe the case where two people think they are running the same module, but the checksum indicates that one of them has been changed?

I agree, reducing the scary (but 100% correct) warning message is probably a good idea. I wanted to convey to people that even through using different versions of the module may mostly work, it is absolutely not guaranteed that this will always be the case and the more complicated the module, the more likely that different versions will interact in unexpected ways. Possibly not so much with VASL which is reasonably stable and does not have a lot of automation.

So, I propose the following:

  1. Do not include extensions in the checksum calculation, only compare the checksums of the base module.
  2. Do not compare checksums if module version is different.
  3. Improve wording of checksum different message, avoid the work ‘checksum’.
  4. Tone down the wording of the final wording in the dialog box, remove it from the Chat Window.
  5. Potentially - Add a ‘Do not show again’ option to the warning dialog that will turn off the display of the dialog for the current module. Can be turned back on via a preference. Note that this would NOT stop the display of the messages in the chat window when joining a game.

Does that work for you?

Thanks,
Brent.

Hi Brent

Thanks for the quick reply.

I will have to take a couple of days and think about this. I am also currently having some email issues and also have visitors coming for the weekend. It will be early next week before I can give you a reply. At a quick read it sounds fine but I need to give it some more thought.

Thanks again.

Doug

Brent_Easton
April 8

Hi Doug,

Thanks for your input, I was already working on tweaking this.

The module checksum was always supposed to have included all extensions, but due to a bug never has I fixed this bug without realising full consequences when combined with the new checking.

I am definitely reverting the checksum checking to just the base module, but I will display the full combined checksum in the Player Info online window in case people are interested.

The module checksum is designed to check whether 2 copies of a module with the same version number are in fact the same module. Differences can occur due to corrupted downloads, or to one copy of the module being modified without changing the version number. Since reporting checksum differences is pointless if the module version number is different, I will remove the check in that case.

Can you suggest better wording to describe the case where two people think they are running the same module, but the checksum indicates that one of them has been changed?

I agree, reducing the scary (but 100% correct) warning message is probably a good idea. I wanted to convey to people that even through using different versions of the module may mostly work, it is absolutely not guaranteed that this will always be the case and the more complicated the module, the more likely that different versions will interact in unexpected ways. Possibly not so much with VASL which is reasonably stable and does not have a lot of automation.

So, I propose the following:

  1. Do not include extensions in the checksum calculation, only compare the checksums of the base module.
  2. Do not compare checksums if module version is different.
  3. Improve wording of checksum different message, avoid the work ‘checksum’.
  4. Tone down the wording of the final wording in the dialog box, remove it from the Chat Window.
  5. Potentially - Add a ‘Do not show again’ option to the warning dialog that will turn off the display of the dialog for the current module. Can be turned back on via a preference. Note that this would NOT stop the display of the messages in the chat window when joining a game.

Does that work for you?

Thanks,
Brent.

Hi Brent

I have had a chance to come back and look at this in detail (and also played online for the first time using 3.6.6 (and VASL6.6.4) so I saw the messages in the dialogue box and in the chat window).

I appreciate your willingness to make some tweaks here.

Your suggestions (1) and (2) are good, no problem there.

I agree with (3) as well and would suggest something along the lines of “Module versions match but modules are not identical; one or more has been modified by user.”

With respect to (4), agreed. I would suggest as per my first message, something like “ADVICE: if players experience unpredictable problems, resolve the mismatches noted above.”

In terms of (5), while I like the “Do not show again” idea, I would wait two versions before implementing. I think it would be a good idea for players to have to see the mismatch dialogue for a while.

Thanks again.

Doug

That might be the most likely reason for a checksum mismatch for VASL, but my experience with VASSAL in general is that checksum mismatches have been caused by corrupted downloads, instead; not sure it’s very friendly to “accuse” the players of modifying their local copies in that case!

not sure it’s very friendly to “accuse” the players of modifying their local copies in that case!

I take your point.

In VASL, we would not be accusing but celebrating that players are modifying their local copies. But that may not be true for all modules. I recognize that this message would be seen by players in all games and my suggested wording is probably not the best.

I think there needs to be a sub-clause. Simply stating that the modules are the same version but still don’t match would leave users confused.

Try VASSAL-3.6.7-SNAPSHOT-14edaf4-VersionCheckingPhase2. Does that behave more in line with what you were looking for?

Same error as on GS:

Error!
The exception was:

Traceback (most recent call last):
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1950, in full_dispatch_request
rv = self.dispatch_request()
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1926, in dispatch_request
self.raise_routing_exception(req)
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1908, in raise_routing_exception
raise request.routing_exception
File “/usr/lib/python3.9/site-packages/flask/ctx.py”, line 350, in match_request
result = self.url_adapter.match(return_rule=True)
File “/usr/lib/python3.9/site-packages/werkzeug/routing.py”, line 1945, in match
raise NotFound()
werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

I fixed the URL. Please try again.

I have posted on GS in more detail. I like the messages.

I tried to test two different vassal modules with the same vasl module, using 3.6.6 and the 3.6.7 snapshot. VASSAL told me that everything matched.

I relaxed the checking on Vassal versions numbers so that all X.Y versions will be considered equivalent. minor point versions (should) only be bug fixes, so 3.6.4 is considered equivalent to 3.6.6.

2 Likes