Low Priority: save and close buttons do not close dialog box

What is the problem?

the save and close buttons in the settings menu are not closing the dialog box.
the save button does save the settings but just does not close the dialog box.

What did you already try to solve it?

to get around this, clicking the X at the top works.

Have you tried running in safe mode?

No

Did running in safe mode solve the problem?

untested

Systeminfo Bundle

octoprint-systeminfo-20240724195023.zip (306.3 KB)

This is a recent relocation, migrated from a RPI 4b to a SBC using the restore feature. I will note the full backup failed to restore using commandline (Zip File Error), but using the "settings only" backup worked. all gcode files were just SCP'ed over afterwards.

Note: I used the octoprint_deploy script for install of Octoprint on this host.

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

I have three instances of octoprint running (each on their own dedicated computer), but this is the only one i am having an issue with the dialog boxes not closing on save or close button being pushed.

the only other oddity this instance is experiencing with is pre-existing, is the bed offset is not being set from spool manager, i was experiencing this behavior prior to migration. was hoping it was going to resolve itself with this new install but didn't. toolhead offset is being set properly. i do not believe this is related in anyway but just making note.

OS:
Static hostname: cr10sprov2
Icon name: computer-desktop
Chassis: desktop
Machine ID: cb8bf6e8946b494ab0f7b166e7dbe702
Boot ID: cc9ecc74cafb41608e4c0e8dfdaff77e
Operating System: Debian GNU/Linux 11 (bullseye)
Kernel: Linux 5.10.0-31-amd64
Architecture: x86-64

Browser:
Windows 10, Chrome Version 126.0.6478.128 (Official Build) (64-bit)

Firmware:
Klipper (GitHub - Desuuuu/DGUS-reloaded-Klipper: DWIN T5UID1 touchscreen firmware for 3D printers running Klipper.)

Printer:
CR10S Pro v2 - DGUS Frimware with Touchscreen firmware (Functional)

Octoprint:
OctoPrint 1.10.2 Python 3.9.2

Definitely worth a test in safe mode to make sure there is no plugin blocking closing the dialog.

Ill try that in a minute, in the meantime, i wanted to post this error that is showing up in the web console of my browser. This error occurs on button push.

TypeError: Cannot read properties of undefined (reading 'length')
at Object.Ua (packed_libs.js?409a9b49:129:3719)
at a.a.ec (packed_libs.js?409a9b49:134:3802)
at Object.G (packed_libs.js?409a9b49:130:11201)
at x (packed_libs.js?409a9b49:133:18324)
at a.$.l (packed_libs.js?409a9b49:134:525)
at Function.yd (packed_libs.js?409a9b49:130:18286)
at Function.zd (packed_libs.js?409a9b49:130:17972)
at Function.ha (packed_libs.js?409a9b49:130:17808)
at Function.Hc (packed_libs.js?409a9b49:130:17653)
at Function.notifySubscribers (packed_libs.js?409a9b49:130:9667)
at Function.xa (packed_libs.js?409a9b49:130:12024)
at c (packed_libs.js?409a9b49:130:11759)
at F (packed_libs.js?409a9b49:140:2706)
at packed_libs.js?409a9b49:140:3260
at Q (packed_libs.js?409a9b49:140:4412)
at F (packed_libs.js?409a9b49:140:2960)
at packed_libs.js?409a9b49:140:3260
at Q (packed_libs.js?409a9b49:140:4412)
at F (packed_libs.js?409a9b49:140:2960)
at packed_libs.js?409a9b49:140:3260
at Q (packed_libs.js?409a9b49:140:4412)
at F (packed_libs.js?409a9b49:140:2960)
at f.fromJS (packed_libs.js?409a9b49:140:5413)
at SettingsViewModel.self.fromResponse (packed_core.js?520af0f7:372:134)
at SettingsViewModel.self.cancelData (packed_core.js?520af0f7:379:1026)
at SettingsViewModel.eval (eval at parseBindingsString (packed_libs.js?409a9b49:131:1741), :3:77)
at HTMLButtonElement. (packed_libs.js?409a9b49:133:4368)
at HTMLButtonElement.dispatch (packed_libs.js?409a9b49:13:43090)
at v.handle (packed_libs.js?409a9b49:13:41074)
at HTMLButtonElement.sentryWrapped (packed_core.js?520af0f7:724:52003)

safe mode the buttons do work.

Since it works in safe mode fine then there's an issue with a plugin. You can use a binary search approach to figure out which one exactly. Disable 1/2, test, based on results, disable another 1/2 from the remaining enabled ones or enable 1/2 of the disabled ones, rinse and repeat. Eventually you'll figure out the offending plugin.

1 Like