[SOLVED] SC: changed scripts don't auto-reload (anymore)

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
Filehero
Posts: 2717
Joined: 27 Feb 2012 18:50
Location: Windows 11@100%

[SOLVED] SC: changed scripts don't auto-reload (anymore)

Post by Filehero »

Some weeks ago I started to refactor some of my scripts (prep for TB64 migration).

For unknown reasons I notice(d) that every once in while only the first external script change is reflected by the running XY instance. Any follow-up change needs a XY restart to come alive. So far, I've failed to see any real pattern. One day all works well, the other day it's screwed.

Today it's happening again. I simply comment toggle a msg command in VSCode. The first uncomment triggers the message box, every other change from now on stays ignored on the next script call. A Windows restart doesn't help.

In the log below, the example script file is in the folder referenced, which is also the location of the focused tab.

The first listed "event": code un-commented -> Msg box is shown
The second listed "event": code commented out -> Msg box is still shown
XY restarted -> Msg box is gone

Code: Select all

XYplorer 27.20.0006 (32-bit)  -  Lifetime License Enterprise  -  Windows 11 Pro, 64-bit, Version 24H2, Build 26100.6584 (10.0)  -  2025-10-04 17:58:48
======================================================================================================================================================

           0  -  2025-10-04 17:58:21.719  L--  fully loaded
----------------------------------------------------------------------------------------------------
      13.294  -  2025-10-04 17:58:35.013  L--  CheckWatch.ChangeDetected-B (24)
           0  -  2025-10-04 17:58:35.013  L--  WUL.List1.SetDelay on 24 -> C:\MyPortableApps\utilities\XYplorer\data\scripts\libs\
         312  -  2025-10-04 17:58:35.325  L--  > delayed ListRefresh Pane 1: Wahr
----------------------------------------------------------------------------------------------------
       7.030  -  2025-10-04 17:58:42.355  L--  CheckWatch.ChangeDetected-B (24)
           0  -  2025-10-04 17:58:42.355  L--  WUL.List1.SetDelay on 24 -> C:\MyPortableApps\utilities\XYplorer\data\scripts\libs\
         311  -  2025-10-04 17:58:42.666  L--  > delayed ListRefresh Pane 1: Wahr
Some weird interference is going on here. A hidden, sticky cache? I also can't really backtrack it version-wise. Any hint what I could check next?
Last edited by Filehero on 27 Oct 2025 18:04, edited 1 time in total.

admin
Site Admin
Posts: 65026
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: SC: changed scripts don't auto-reload (anymore)

Post by admin »

I also can't really backtrack it version-wise.
why not?

Filehero
Posts: 2717
Joined: 27 Feb 2012 18:50
Location: Windows 11@100%

Re: SC: changed scripts don't auto-reload (anymore)

Post by Filehero »

Time. I expect a cumbersome, tedious task (I can't repro it with simpler scripts). Off to Greece tomorrow.

Do you have a candidate version to jump back in time?

admin
Site Admin
Posts: 65026
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: SC: changed scripts don't auto-reload (anymore)

Post by admin »

Not really.

Enjoy Greece! :beer:

Filehero
Posts: 2717
Joined: 27 Feb 2012 18:50
Location: Windows 11@100%

Re: SC: changed scripts don't auto-reload (anymore)

Post by Filehero »

Will do. Thanks Don. :)

Filehero
Posts: 2717
Joined: 27 Feb 2012 18:50
Location: Windows 11@100%

Re: SC: changed scripts don't auto-reload (anymore)

Post by Filehero »

I got it - the SC refresh/reload problem was introduced with 24.30.0119.

Code: Select all

v24.30.0119 - 2023-04-24 11:21
    % Scripting: Rewrote the speed booster added in v24.30.0113, this time it should work 
      better, and all the goodies are back:
      - Loading large script files over and over is now much faster.
      - Calling subs over and over in huge script resources is now much faster.
    ! Custom File Associations: On 20230121 a logic was implemented to open files in the default 
      browser when their path was a URL:
      - https:\\www.xyplorer.com\download\xyplorer_23.90.0429_beta.zip --> open in default browser
      - E:\Test\xyplorer_23.90.0429_beta.zip --> open in associated app
      However the new logic destroyed opening non-file-URLs in an associated browser:
      - https:\\www.xyplorer.com --> open in associated browser
      Fixed.




With the attached 7z-archive you'll find a boiled down recreation of the entire script source dependencies context I've come across my issue with. It consists of 5 script source files (scsourceA-B.xys). Fortunately the "sensor" is just one file (scsourceB.xys). "un7z" it in <xyscripts>, the entry point is load("<xyscripts>\refresh\scsourceA.xys");.

In snippets notation

Code: Select all

ScriptL
  load("<xyscripts>\refresh\scsourceA.xys");


Reproduction: flip-comment lines 20/21 in scsourceB.xys and run the entry script again -> nothing changes.

Code: Select all

function introduceYourself_B() {
  // return "Gotcha!!";
  return "May I introduce myself, I am ""scsource BBBB""!";
}
With XYplorer version 24.30.0118 flip-commenting the return statements matches the coder's expectation whereas doing the same from 24.30.0119 onwards requires a XYplorer restart for the code change to become effective.

Can be moved to Bug Reports.
Attachments
refresh.7z
(1.25 KiB) Downloaded 33 times

admin
Site Admin
Posts: 65026
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: SC: changed scripts don't auto-reload (anymore)

Post by admin »

Bingo! Should be fixed in next betas.

Filehero
Posts: 2717
Joined: 27 Feb 2012 18:50
Location: Windows 11@100%

Re: SC: changed scripts don't auto-reload (anymore)

Post by Filehero »

Code: Select all

v27.20.0103 - 2025-10-27 12:47
....
    ! Scripting: The speed booster added in v24.30.0119 - 2023-04-24 11:21 could suffer 
      from a stale cache if script files were modified between calls within the same XY 
      session. Fixed.
Fixed it. :-) Thanks

Post Reply