ID 607424 - The filenameFilter callback does not execute in most situations

Follow

Problem summary:
The filenameFilter callback does not execute in most situations
 
Customer reported version:
Nuke 16.0v5
 
Customer reported platform:
Rocky 9
 
Steps to reproduce:
1) Launch Nuke 16.0v5+ and open the Script Editor
2) Run the following code:
print(f"Output from: {nuke.NUKE_VERSION_STRING}") nuke.addFilenameFilter(print) read = nuke.createNode("Read") read["file"].setValue("/some/path/") geo_import = nuke.createNode("GeoImport") geo_import["file"].setValue("/another/path/") write = nuke.createNode("Write") write["file"].setValue("/my/last/path/")
3) Observe how the filenameFilter does not execute/print any information: 

 
Expected behavior:
The filenameFilter callback should always execute.
 
Actual behavior:
When a filenameFilter callback has been added to Nuke, the provided function will not trigger in most scenarios. The same behavior occurs if the steps are executed manually in the UI, or if Nuke is launched in Terminal mode.
 
If the filename/path has special components, like referencing a GSV, containing a TCL expression, or pointing to an image sequence, the filenameFilter will be executed as expected:
print(f"Output from: {nuke.NUKE_VERSION_STRING}") nuke.addFilenameFilter(print) gsv_knob = nuke.root()['gsv'] gsv_knob.setGsvValue("__default__.render_location", "/some/gsv/path") read = nuke.createNode("Read") read["file"].setValue("test.####.exr") geo_import = nuke.createNode("GeoImport") geo_import["file"].setValue("/folder/some_[frame].usd") write = nuke.createNode("Write") write["file"].setValue("%render_location")
 
Workaround:
No known workaround at this time.
 
Reproduced by Support in:
Nuke 16.0v6 - Windows 11, Rocky 9
Nuke 16.0v5 - Windows 11, Rocky 9 -- Regression
 
Unable to reproduce bug in:
Nuke 16.0v4 - Windows 11, Rocky 9
Nuke 15.2v6 - Windows 11, Rocky 9
 
Earliest version tested:
Nuke 16.0v4 - This issue doesn't appear in this version and has regressed

    We're sorry to hear that

    Please tell us why