Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.0.0-Beta1] "Save Changes" always disabled - SPI pins fail to get hidden class, fail validity checks #360

Closed
henrygab opened this issue Sep 26, 2021 · 38 comments
Assignees
Labels

Comments

@henrygab
Copy link
Contributor

henrygab commented Sep 26, 2021

--------- Instructions - Delete this ---------
Please provide answers directly below each section.
--------- Instructions - Delete to here ---------
ESPixelStick Firmware Version
4.0.0-Beta1 (7083637)

Hardware Version
ESPixelStick v3

Binary release or compiled yourself?
Binary release

Operating System
N/A

Access Point
Ubiquiti Nanostation M2 Loco

Describe the bug

Steps to repro:

  1. Load 4.0.0-Beta1 firmware onto new D1 mini
  2. goto Device Setup tab
  3. Change Primary Input to DDP (leave secondary input disabled)
  4. Change Output 1 to WS2811
  5. Click on Save Changes

Expected results:

The Save Changes button should be enabled, and thus clicking on it should save the changes.

Actual results:

The button is disabled (HTML attribute). Nothing happens when clicking on it (obviously). The configuration is not saved. Changing to other tab and back loses all changes.

Other bits and pieces

Manually removing the "disabled" attribute in Edge's DevTools (F12) allows saving the configuration.

Reviewing the page in Edge's DevTools (F12) shows the following properties that may be of interest for the save button:

  • HTMLButtonElement
    • validity: ValidityState
      • badInput: false
      • customError: false
      • patternMismatch: false
      • rangeOverflow: false
      • rangeUnderflow: false
      • stepMismatch: false
      • tooLong: false
      • tooShort: false
      • typeMismatch: false
      • valid: true
      • valueMissing: false
    • willValidate: false
@MartinMueller2003
Copy link
Collaborator

This indicates one or more fields had invalid data in them. Do any of the fields on the device setup screen have a red x in them? A screenshot of the device screen would help a lot.

@henrygab
Copy link
Contributor Author

None of the fields is invalid. Using the built-in debugger of Edge, it appears that the function that checks validity is unhappy with the following elements:

element reason
miso_pin rangeUnderflow = true (1)
mosi_pin rangeUnderflow = true (1)
cs_pin rangeUnderflow = true (1)

(1) NOTE: These elements should NOT be considered in the validity check, as the output type is WS2811, which is single-pin (not SPI). Moreover, the APA102 is not even provided as an output option. Thus, I think this is likely a real bug....

NOTE: This is a 100% clean install. The d1 Mini came straight from the ESPixelstick v3 package ... I'm not updating the ones on my house (yet), although I am very interested in doing so (due to SD support / xLights / FPP).

boot log

[ESP] ESP Version: SDK:2.2.2-dev(38a443e)/Core:3.0.2=30002000/lwIP:STABLE-2_1_2_RELEASE/glue:1.2-48-g7421258/BearSSL:6105635
[FileMgr] Flash file system initialized.
[FileMgr] No SD card installed
[FileMgr] Configuration File: '/config.json' loaded.
[ESP] Incorrect Config Version ID
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[FileMgr] ***Configuration File: '/output_config.json' Could not open file for reading.***
[OutputMgr] EEEE Error loading Output Manager Config File. EEEE
[OutputMgr] --- WARNING: Creating a new Output Manager configuration Data set - Start ---
[OutputMgr] *** Shutting Down 'Disabled' on Output: 0 ***
[OutputMgr] *** 'WS2811' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'WS2811' on Output: 0 ***
[OutputMgr] *** 'GECE' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'GECE' on Output: 0 ***
[OutputMgr] *** 'DMX' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'DMX' on Output: 0 ***
[OutputMgr] *** 'Renard' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Renard' on Output: 0 ***
[OutputMgr] *** 'Serial' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Serial' on Output: 0 ***
[OutputMgr] *** Unknown output type: '5 for channel '0'. Using disabled. ***
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Disabled' on Output: 0 ***
[OutputMgr] *** Unknown output type: '6 for channel '0'. Using disabled. ***
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[OutputMgr] *** Saved Output Manager Config File. ***
[OutputMgr] --- WARNING: Creating a new Output Manager configuration Data set - Done ---
[FileMgr] ***Configuration File: '/input_config.json' Could not open file for reading.***
[InputMgr] EEEE Error loading Input Manager Config File. EEEE
[InputMgr] --- WARNING: Creating a new Input Manager configuration Data set - Start ---
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'E1.31' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Effects' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'MQTT' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Alexa' on Input: 1 ***
[InputMgr] *** Shutting Down 'DDP' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'FPP Remote' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'Artnet' on Input: 0 ***
[InputMgr] *** Saved Input Manager Config File. ***
[InputMgr] --- WARNING: Creating a new Input Manager configuration Data set - Done ---

[WiFiMgr] WiFi Entering State: Connecting Using Config Credentials
[FileMgr] Configuration File: '/input_config.json' loaded.
[FileMgr] Configuration File: '/output_config.json' loaded.

[WiFiMgr] WiFi Entering State: Connecting Using Config Credentials
[WiFiMgr] WiFi Connecting to 'ci' as TESTER

[WiFiMgr] WiFi Entering State: Connected To AP
[WiFiMgr] WiFi Connected with DHCP
[WiFiMgr] WiFi Connected with IP: 10.3.0.112
[WebMgr] Web server listening on port 80
[FPPD] Listening on port 32320
[WebMgr] WS client connect - 1
[ESP] Incorrect Config Version ID

[WiFiMgr] WiFi Entering State: Connecting Using Config Credentials
[WebMgr] WS client disconnect - 1
[WiFiMgr] WiFi Connecting to 'ci' as TESTER
.
[WiFiMgr] WiFi Entering State: Connected To AP
[WiFiMgr] Connected with Static IP
[WiFiMgr] WiFi Connected with IP: 10.3.213.218
[WebMgr] Web server listening on port 80
[FPPD] Listening on port 32320
[WebMgr] WS client connect - 2
[ESP] Incorrect Config Version ID
[FileMgr] No SD card installed
[InputMgr] *** Saved Input Manager Config File. ***
[FileMgr] Configuration File: '/input_config.json' loaded.
[OutputMgr] *** Saved Output Manager Config File. ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[DDP] Listening on port 4048
[FileMgr] Configuration File: '/output_config.json' loaded.
[OutputMgr] *** Shutting Down 'Disabled' on Output: 0 ***
[OutputMgr] *** 'WS2811' Initialization for Output: 0 ***
[ESP] Incorrect Config Version ID
[InputMgr] *** Saved Input Manager Config File. ***
[FileMgr] Configuration File: '/input_config.json' loaded.
[OutputMgr] *** Saved Output Manager Config File. ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[FileMgr] Configuration File: '/output_config.json' loaded.
[ESP] Incorrect Config Version ID
[InputMgr] *** Saved Input Manager Config File. ***
[FileMgr] Configuration File: '/input_config.json' loaded.
[OutputMgr] *** Saved Output Manager Config File. ***
[FileMgr] Configuration File: '/output_config.json' loaded.
[WebMgr] WS client disconnect - 2
[WebMgr] WS client connect - 3
[ESP] Incorrect Config Version ID
[InputMgr] *** Saved Input Manager Config File. ***
[[OutputMgr] *** Saved Output Manager Config File. ***
FileMgr] Configuration File: '/input_config.json' loaded.
[FileMgr] Configuration File: '/output_config.json' loaded.
[WebMgr] WS client connect - 4
[WebMgr] WS client disconnect - 3
[WebMgr] WS client connect - 5
[WebMgr] WS client disconnect - 4

Really large screenshot...

ESPixelStick_4_0_0_Beta_DeviceConfig


@henrygab
Copy link
Contributor Author

henrygab commented Sep 26, 2021

ValidateConfigFields() is getting the following list of elements passed in as the only parameter:

ElementList parameter in debugger

ESPixelStick_4_0_0_Beta_ValidateConfigFields


Only the elements at index 2, 3, and 4 are both invalid and fail to have the 'hidden` class.

CORRECTION: Index 5 also should not be validated, but appears to be included here for some reason?

@henrygab
Copy link
Contributor Author

Looking at the underlying elements, it appears that the hidden class is applied to the div element that encloses the input element, but that the input elements themselves do not have the hidden class. See the elements marked in green....

large screenshot

ESPixelStick_4_0_0_Beta_ValidateConfigFields_elements


Perhaps, because ESP8266 is not allowed to select APA102 as an output mode, the code is failing to apply the hidden class to the input field?
Or, perhaps it's applying the hidden class to the div, but not the corresponding input field?

@forkineye
Copy link
Owner

forkineye commented Sep 26, 2021

Those elements are for the SD card pins and only applicable to ESP32 builds, that's why they're hidden. Not sure why edge is tripping up on them though. I just tried in Edge 94.0.992.31 and Chrome 90.0.4606.61 and am not experiencing it. What OS and version of Edge are you on?

@forkineye forkineye added Frontend Issues that related the Web UI Browser Compatability and removed Question Unify labels Sep 26, 2021
@marksat666
Copy link

I am experiencing the same restult (cannot save any Device Setup changes). Does not work for me in Edge or Chrome.

ESPixelStick v3

Widows 10.0.19043 Build 19043
MS Edge Version 94.0.992.31 (Official build) (64-bit)
Chrome Version 94.0.4606.61 (Official Build) (64-bit)

I have to remove the Wemos from the Pixelstick to program it via USB, then disconnect it from the PC and put it back into the Pixelstick socket (not sure if that has anything to do with it).

@henrygab
Copy link
Contributor Author

Those elements are for the SD card pins and only applicable to ESP32 builds, that's why they're hidden. Not sure why edge is tripping up on them though. I just tried in Edge 94.0.992.31 and Chrome 90.0.4606.61 and am not experiencing it. What OS and version of Edge are you on?

Edge is not tripping up on them.
The input elements do NOT have the hidden class:

ESPixelStick_4_0_0_Beta_ValidateConfigFields_elements

As you can see in the picture, only the div parent element has the hidden class. Therefore, those three input fields (miso_pin, mosi_pin, cs_pin) are included in the validation check. The function ValidateConfigFields() is CORRECTLY reporting that the input fields do not have the hidden class applied.

@henrygab
Copy link
Contributor Author

henrygab commented Sep 26, 2021

I'm going to update the bug title to reflect that the SPI input fields fail to get the hidden class applied, resulting in inability to save configuration. Again, look closely at the above...

  • The actual input elements do NOT have the hidden class
  • The elements are still hidden from the UI because a parent element does have the hidden class

@henrygab henrygab changed the title [4.0.0-Beta1] "Save Changes" always disabled - unable to save config [4.0.0-Beta1] "Save Changes" always disabled - SPI pins fail to get hidden class, fail validity checks Sep 26, 2021
@forkineye
Copy link
Owner

The thing is though, those have default values even though they're hidden which is what's confusing me. What happens if you run $('#cs_pin').val() and $('#miso_pin').val() in the console? Do they have values? CS is valid for ESP8266 and MISO will be bogus.

@forkineye forkineye added the Bug label Sep 26, 2021
@forkineye forkineye self-assigned this Sep 26, 2021
@henrygab
Copy link
Contributor Author

They all have the value 0, as expected, as they are not exposed in the UI (at least one parent element has the hidden class).

Perhaps the problem is that many of those elements do not have the esp32 class applied?

If they did, then I am guessing that they would get the hidden class applied as well?

@forkineye
Copy link
Owner

They all have the value 0, as expected, as they are not exposed in the UI (at least one parent element has the hidden class).

Perhaps the problem is that many of those elements do not have the esp32 class applied?

If they did, then I am guessing that they would get the hidden class applied as well?

@forkineye -- discord?

I can't at the moment. Fixing it is easy, but I'm more curious as to why it's happening for some and not others, even on the same browser versions. It seems to be something related to how the DOM is being built, possibly extension related. I'll work on the fix.
image

@forkineye
Copy link
Owner

forkineye commented Sep 26, 2021

@henrygab @marksat666
You care to try this build and see if it fixes the issue for you? I still can't replicate here.
https://github.com/forkineye/ESPixelStick/actions/runs/1276196142

@forkineye
Copy link
Owner

@henrygab I just noticed the following in your boot log above:
[ESP] Incorrect Config Version ID

That shouldn't be happen either if using the release archive w/ the flasher. Did you edit config.json by hand before flashing?

@henrygab
Copy link
Contributor Author

henrygab commented Sep 27, 2021

@forkineye - No manual edits. I will fully erase the flash and repro again.

However, I'm having similar issues on an ESP32 module, where the SD pins have the value zero (shown by enabling advanced options under Admin), and reproduces even when all add-ins are fully disabled (they're disabled anyways for my pixel controllers). Hopefully, this is just a browser compatibility issue. Here's browser info -- it's just standard (Chromium-based) Edge on Windows 10:

EDGE VERSION   93.0.961.52
OS VERSION   Windows NT: 10.0.19043

@henrygab
Copy link
Contributor Author

Confirmed ... this occurs on a freshly-erased module at boot:

[ESP] ESP Version: SDK:2.2.2-dev(38a443e)/Core:3.0.2=30002000/lwIP:STABLE-2_1_2_RELEASE/glue:1.2-48-g7421258/BearSSL:6105635
[FileMgr] Flash file system initialized.
[FileMgr] No SD card installed
[FileMgr] Configuration File: '/config.json' loaded.
[ESP] Incorrect Config Version ID
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[FileMgr] ***Configuration File: '/output_config.json' Could not open file for reading.***
[OutputMgr] EEEE Error loading Output Manager Config File. EEEE
[OutputMgr] --- WARNING: Creating a new Output Manager configuration Data set - Start ---
[OutputMgr] *** Shutting Down 'Disabled' on Output: 0 ***
[OutputMgr] *** 'WS2811' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'WS2811' on Output: 0 ***
[OutputMgr] *** 'GECE' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'GECE' on Output: 0 ***
[OutputMgr] *** 'DMX' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'DMX' on Output: 0 ***
[OutputMgr] *** 'Renard' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Renard' on Output: 0 ***
[OutputMgr] *** 'Serial' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Serial' on Output: 0 ***
[OutputMgr] *** Unknown output type: '5 for channel '0'. Using disabled. ***
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[OutputMgr] *** Shutting Down 'Disabled' on Output: 0 ***
[OutputMgr] *** Unknown output type: '6 for channel '0'. Using disabled. ***
[OutputMgr] *** 'Disabled' Initialization for Output: 0 ***
[OutputMgr] *** Saved Output Manager Config File. ***
[OutputMgr] --- WARNING: Creating a new Output Manager configuration Data set - Done ---
[FileMgr] ***Configuration File: '/input_config.json' Could not open file for reading.***
[InputMgr] EEEE Error loading Input Manager Config File. EEEE
[InputMgr] --- WARNING: Creating a new Input Manager configuration Data set - Start ---
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'E1.31' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Effects' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'MQTT' on Input: 1 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 0 ***
[InputMgr] *** Shutting Down 'Alexa' on Input: 1 ***
[InputMgr] *** Shutting Down 'DDP' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'FPP Remote' on Input: 0 ***
[InputMgr] *** Shutting Down 'Disabled' on Input: 1 ***
[InputMgr] *** Shutting Down 'Artnet' on Input: 0 ***
[InputMgr] *** Saved Input Manager Config File. ***
[InputMgr] --- WARNING: Creating a new Input Manager configuration Data set - Done ---

[WiFiMgr] WiFi Entering State: Connecting Using Config Credentials
[FileMgr] Configuration File: '/input_config.json' loaded.
[FileMgr] Configuration File: '/output_config.json' loaded.

[WiFiMgr] WiFi Entering State: Connecting Using Config Credentials
[WiFiMgr] WiFi Connecting to 'ci' as TESTER

[WiFiMgr] WiFi Entering State: Connected To AP
[WiFiMgr] WiFi Connected with DHCP
[WiFiMgr] WiFi Connected with IP: 10.3.0.112
[WebMgr] Web server listening on port 80
[FPPD] Listening on port 32320

@forkineye
Copy link
Owner

forkineye commented Sep 27, 2021

@henrygab Can you post the contents of fs/config.json from the release archive, with credentials removed of course. The cfgver key seems to be invalid for some reason. Also, did the build I linked above resolve the original issue?

@henrygab
Copy link
Contributor Author

henrygab commented Sep 27, 2021

Sorry, didn't mean to ignore it ... I missed that build link earlier. Will try very shortly.

fs/config.json

{
  "cfgver": 1,
  "device": {
    "id": "ESPixelStick"
  },
  "network": {
    "ssid": "ci",
    "passphrase": "*",
    "hostname": "TESTER",
    "ip": "192.168.1.10",
    "netmask": "255.255.255.0",
    "gateway": "192.168.1.1",
    "dhcp": true,
    "sta_timeout": 15,
    "ap_fallback": false,
    "ap_timeout": 120,
    "ap_reboot": true
  }
}

The cfgver key message is only on the first boot after flashing. It does not occur when rebooting later. Have you tried fully erasing the board (using esptool.py), then uploading via the included ESPSFlashTool.jar? The output I quoted was from that serial monitor, from immediately following a flash.

Is it possible that LittleFS's ... unique ... behaviors could be involved? IIRC, file handles have to be closed before changes made are seen by other calls to the file system ... and maybe even require that the file be re-opened to see those changes?

@henrygab
Copy link
Contributor Author

Using the binary from https://github.com/forkineye/ESPixelStick/actions/runs/1276196142:

The ability to save changes is still disabled. However, each of miso_pin, mosi_pin, and clock_pin each now properly have the hidden class applied to them. Thus, even though they are each invalid, the function ignores them for this purpose.

However, the cs_pin input is still marked as invalid. When I enable advanced mode, the HTML shows it is set to zero.

This is from a fully-erased state. No prior configuration in flash. (I presume that the EEPROM is not used.)

@henrygab
Copy link
Contributor Author

What did I mean about LittleFS "unique" behaviors

See littlefs-project/littlefs#352 (comment).

This is my recollection, but should give hints of what to be concerned about.

  • littleFS uses copy-on-(bounded)-write
  • each file handle is a snapshot of the file as of the time it was opened, plus those changes that were made using that same file handle
  • when two file handles are opened to the same file, writing to the first file handle should NOT alter the data as seen from the other file handle
  • when the first file handle is closed (or manually sync'd), then the data will appear in all future opens of that file ... but still won't update what is seen via the second (still open) file handle

I'm just throwing this out there, as I was surprised by littleFS behavior in the past, which resulted in some really hard-to-find causes of corruption.

My learnings:

  1. serialize all access to littleFS APIs
  2. put all files into a subdirectory that only you will read / write / modify
  3. ensure you never have more than one file handle per file
  4. ensure you cause file sync whenever you need the state to persist

@MartinMueller2003
Copy link
Collaborator

MartinMueller2003 commented Sep 27, 2021 via email

@forkineye
Copy link
Owner

forkineye commented Sep 27, 2021

@henrygab
In firmware/firmware.json there are baud rates defined for flashing each platform. For example:

"baudrate": "460800",
They are all set to 460800. Can you try lowering them to 115200 and see if that makes a difference?

EDIT: This is in regards as to why config.json isn't being uploaded correctly.

@forkineye
Copy link
Owner

@henrygab
In regards to the original issue, can you monitor the websocket connection and see what is being sent when you go to the device setup tab? When navigating to the tab, you should see a message go out:

{
  "cmd": {
    "get": "device"
  }
}

and a response similar to the following:

{
  "get": {
    "device": {
      "cfgver": "1",
      "id": "ESPixelStickv3",
      "blanktime": "5",
      "miso_pin": "19",
      "mosi_pin": "23",
      "clock_pin": "18",
      "cs_pin": "15"
    },
    "network": {
      "ssid": "myssid",
      "passphrase": "mypassphrase",
      "hostname": "esps-f4b650",
      "ip": "192.168.1.10",
      "netmask": "255.255.255.0",
      "gateway": "192.168.1.1",
      "dhcp": true,
      "sta_timeout": 15,
      "ap_fallback": false,
      "ap_timeout": 120,
      "ap_reboot": true
    }
  }
}

image

@marksat666
Copy link

@henrygab @marksat666
You care to try this build and see if it fixes the issue for you? I still can't replicate here.
https://github.com/forkineye/ESPixelStick/actions/runs/1276196142

No difference for me for that version, also just tried CI-1278932930 - still cannot save the Device Setup

@forkineye
Copy link
Owner

I just found an issue where the flash tool and firmware were out of sync for creating the configuration file and that erasure of the previous filesystem may not always occur. Not sure if it's causing this issue yet, but possible. I'll have a fix pushed soon.

@forkineye
Copy link
Owner

@marksat666 Care to try this build?
https://github.com/forkineye/ESPixelStick/actions/runs/1279404057
thanks,
-shelby

@marksat666
Copy link

@marksat666 Care to try this build?
https://github.com/forkineye/ESPixelStick/actions/runs/1279404057
thanks,
-shelby

CI-1279404057 also did not work in Edge, Chrome, Safari 13.1.2, Silk 92.2.11.4514.159.19 (figured I would give those others a try - maybe it's not a browser issue?) I also grabbed a spare Wemos D1 mini that I had from last year (I have been testing with the Wemos/ESPixelStick that I got in April) - same results.

@forkineye
Copy link
Owner

@marksat666 Can you post the contents of both the flash upload and serial log windows from the flash tool?

@marksat666
Copy link

Here are logs - let me know if you want me to try something else.
Serial_Log.txt
Flash_Upload.txt
..

@forkineye
Copy link
Owner

forkineye commented Sep 27, 2021

@marksat666 @henrygab
I thought this could be related to the websocket keep-alive stuff I had implemented, but not sure. I made some changes and there are two CI builds now, one with the keep-alive removed, and the other with an updated version. If you do don't mind to check these out, I would appreciate it. Also, please make sure that your browser is doing a force refresh so the javascript stuff is cached.
no ping - https://github.com/forkineye/ESPixelStick/actions/runs/1280125433
ping - https://github.com/forkineye/ESPixelStick/actions/runs/1280264355

I'm jumping on the xLights zoom as well if you all are around.

@marksat666
Copy link

Unfortunately, neither of those worked (tested Edge and Chrome)

@forkineye
Copy link
Owner

Was able to replicate the issue finally. Can you verify if you were or were not setting a hostname via the flash tool? It seems to be related to that of all things. If you were setting one, try without.

@guedeaux
Copy link

I was having this same behavior. I can confirm that not setting a hostname resolved the issue for me. I am now able to save changes on the device setup page, and I now see input options, which I did not before.

@forkineye
Copy link
Owner

I was having this same behavior. I can confirm that not setting a hostname resolved the issue for me. I am now able to save changes on the device setup page, and I now see input options, which I did not before.

Thanks! I just posted a fix for it here - https://github.com/forkineye/ESPixelStick/actions/runs/1280577528

@guedeaux
Copy link

Sweet. That version works for me with a hostname set. Now, to get some lights hooked up...

@marksat666
Copy link

I was having this same behavior. I can confirm that not setting a hostname resolved the issue for me. I am now able to save changes on the device setup page, and I now see input options, which I did not before.

Thanks! I just posted a fix for it here - https://github.com/forkineye/ESPixelStick/actions/runs/1280577528

Yes, I was setting a host name in the flash tool itself. Omitting that during the flash works! I can now save the settings.

Now the bad (using CI-1280577528) - FPP Connect in XLights no longer sees the ESPixelStick when I set Primary Input to be FPP Remote (it works with E1.31 input from XLights directly and from FPP)

@MartinMueller2003 MartinMueller2003 removed their assignment Sep 28, 2021
@forkineye
Copy link
Owner

@marksat666 That's probably related to this - #364. I'll fix that today, can track it there.

I'll leave this issue open for others until the next beta release

@forkineye forkineye added Fixed and removed Bug Frontend Issues that related the Web UI Browser Compatability labels Sep 28, 2021
@henrygab
Copy link
Contributor Author

Was able to replicate the issue finally. Can you verify if you were or were not setting a hostname via the flash tool? It seems to be related to that of all things. If you were setting one, try without.

Sorry for delay in testing and response. Yes, I was setting a hostname via the flash tool. I am glad to again be amazed at how complex systems interact. 😏 Well done discovering the underlying cause(s).

I wanted to confirm that v4.0-beta2 resolves the issue originally reported here.

@davron12
Copy link

This appears to still be an issue in 4.0.0-Beta5, at least for me, running on as ESP32-CAM. I was thinking it was a hidden field causing validation issues, when I came across the hostname solution. Tried it out and it solved my issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants