SOLVED: FluidNC 3.7.16 > WebUI v3 — Save button not saving

FluidNC 3.7.16 > WebUI v3 > Settings Button > FluidNC Features Tab > Settings Box:

I changed the X max travel distance, and scrolled down and hit the “Save” button. I then rebooted, and the old value was still there. I also tried save, then refresh, then reboot. It’s not working. :slight_smile:

My config.YAML file is on the flash storage, and I’m trying this without any SD card in the Jackpot, just to make sure there is no confusion on where the file is being read from.

This was repeated over several attempts.

Anyone else seeing this?

OK, I feel a little sheepish. Not sure what to make it.

I inserted the SD card back in. I noticed it has a config.YAML file on it as well.

I then noticed that the new travel value shows up after a reboot, despite that the one on the SD card has not been updated.

My Settings box shows “config/filename” as simply: “config.yaml”

My question is, does that refer to the one on the SD card? Or to the one in flash storage?

it only reads/writes config.yaml from the Flash, not the SD

1 Like

The restart board does not seem to do a full power cycle. Power off completely, wait a bit, and power back up the save should show at that point.

1 Like

I think restart just clears e-stops and other issues.

1 Like

Pressing that restart board button should be sending an ESP444 if I’m not mistaken, which should completely reboot the MCU

1 Like

Whatever my issue was, the value is showing up now as changed. The button does work apparently, although perhaps some combination of steps I had taken, may have meant I was not holding my mouth right. :slight_smile:

PS: in my flailing around, at a couple of points I also tried by uploading an edited version of the file instead of depending on the save button. So, perhaps I should be saying, at least one of those things worked.

Pretty sure Jeff was having an issue at RMRRF reset would not run his staring macros, but a power cycle would.

2 Likes

I’m using the older web ui. I hit the red spinner button in the config page and it reboots, but doesn’t restart the default gcode. There is an esp api call to see why the last reboot happened. Maybe fluidnc is doing something different depending on that response.

1 Like

Just ran into similar, am using WebUI 3. Edited /axes/y/motor1/pulloff_mm from 4.000 to 6.

Reason for adjustment is that Min endstop arm snuck past adjustment bolt head and got bent enough to create ~2mm difference between when endstop arms trigger switch on Min and Max side.

Clicked save, click dashboard. Home Y axis, expected/actual pull off happens. But then…

Power down, wait for power supply green light to fade to black, power up. Click “connect again” in browser. Navigate to settings, fluidNc features.

Expected to see 6mm, but actually see old 4mm value. So, edit wasn’t persisted across reboot.

Will workaround by manually editing config file and uploading via fluidNc web uploader tool.

1 Like

Just clicking the Save button is not enough. You have to tell it to write your running config back to the config.yaml.

This is what Ryan’s Save macro does. it executes $CD=config.yaml which writes all of the current running values out to the flash.

The “Save” button, just commits your changes to the “Live Config”.

See docs here

3 Likes

Thank you for the pointer @Michael_Melancon.

So, the existing “Save” button sounds like “Apply” behavior to me. A separate Save button that actually Saves would be more intuitive. However…

Based on docs tip, looks like Users are expected to web upload their config to avoid reformatting and bloat.

1 Like

My assumption is probably Ryan might have used the $CD command while initially setting them up, so I would guess all values are likely already written out, and doesn’t include very much manual customization. So I wouldn’t expect much issue with that if using the standard config file, but I haven’t actually diff’d it myself

The bigger issue for me, is making sure I have a backup of my actual config, so I tend to edit offline and upload, or edit then immediately download.

1 Like

I second this. It’s not so much a question of what is right or what is the intention, but rather what does the average user perceive the meaning of the button as being based on its name. The word save tends to convey that it is saving it in a permanent way that will last beyond a reboot.

The firmware and the interface are written by 2 different people.

The intention is important, as I think it is a very important safeguard. If you “Apply” a configuration that immediately crashes your board, it’s a nice feature that it didn’t automatically overwrite your permanent configuration, and leave you with no option to correct it from the interface.

This feature set likely doesn’t exist in this way in ESP3D firmware, so there is no accounting for it in the interface. This was the same in V2 as it is in V3.

The FluidNC team does not have the capacity to maintain it’s own interface, so unless someone volunteers to maintain it, and does so for long enough for them to accept a custom UI as the official one, this is what we have to live with.

2 Likes

@Michael_Melancon thank you, kind sir! This is good to know. It also occurs to me that with @jeyeager Jason‘s v3 customized skin with the V1 engineering theme, perhaps he could simply reskin existing functionality with button descriptions that make it easier for the average user to understand this intuitively, as opposed to only understanding it if you were paying very close attention to the docs.

1 Like

I’m not 100% sure if he could or not, but that would not really help the situation in general.

Ryan has to document and support what is the “Standard” build anyway. There is no guarantee that everyone will take that theme, and for Ryan to take a custom theme on as standard functionality, there could come a time where he potentially could have to maintain it himself if for some reason Jason wasn’t around anymore.

This, unfortunately, is just the nature of open source. We are all limited by how much work people are willing to do for us, for free, in their spare time.

I did quite a bit of work on the V3 UI and the FluidNC firmware in order to make the WebUI v3 available to us. I don’t, however, have the amount of time required to commit to maintaining it completely.

Jason is also a developer by trade, and there will likely come a time where he either becomes too busy, loses interest in maintaining it, or just doesn’t have time for CNC stuff anymore. He may not, but that’s an assumption Ryan has to make on these things when deciding what to support.

I would love to spend more time doing these types of things, but the list of things I “want” to do and the list of things I “need” to do, are both waaaaaay overcrowded, and I’m waaaay behind on both.

In the end, even if the interface isn’t ideal, it’s much better for all of us to be using the same thing, have it well documented, and all be speaking the same language when discussing it.

If a few say “Apply”, while 90% of the others say “Save”, there will be confusion in conversations/support.

5 Likes

Theming is limited to what you can do within the bounds of CSS. That’s pretty powerful but I can’t add/change HTML or JavaScript.

I can add text before and after the button label. Whether or not this is a good idea, I don’t know.

This:

div#settings div#interface center button:nth-of-type(4) label:after {
    content: " (Apply)" !important;
}

Results in this:
image
That’s a little bit fragile and I’m not sure that’s clear enough. You also don’t see the button label on mobile and I can’t change the tooltip. Not sure that’s worth it.

image

Mike’s points are spot on. There’s already an interesting set of dependencies on open source software between the WebUI and FluidNC. I don’t plan on leaving anytime soon, but I am cognizant of the fact that every time I create something, that’s something else to support. In a few years, if we’ve moved onto the next versions, I doubt I’ll want to support an old version that I no longer use it. Frankly, I’m surprised the FluidNC devs help as broadly as they do. It sounds awful supporting all the things they do. The breadth of things supported through this forum is amazing, but it also helps there are a lot of people helping out. I am all too aware in my day job that adding features and customization can become quite a burden to support, especially if you don’t have a team.

3 Likes

I understand. Thanks for all you do!

Curious how most people are editing and saving FluidNC config changes?

Recently started using FluidNC Web Installer’s gui to edit fluid config within the browser (no need to download, offline edit, then upload). This approach requires USB wire connected to ESP32.

  • Edit config settings within the FluidNC/ESP3D Settings UI, then save using Dashboard console panel’s command $CD=config.yaml
  • Edit within FluidNC Web Installer’s gui editor to make persisted config changes. Possibly downloading snapshot to local repo to track changes.
  • Edit on local dev box so git or similar change control can be used. Only upload snapshot to ESP32 via FluidNC Web Installer, the ‘truth’ lives on local PC/Mac.
  • Something else…
0 voters