Dygmalab / Bazecor

Graphical configurator for Dygma Products
https://dygma.com/
GNU General Public License v3.0
395 stars 88 forks source link

v1.5 hangs on Loading Neuron Information #887

Open srbaker opened 1 month ago

srbaker commented 1 month ago

Hangs on the message "Loading Neuron information" when trying to configure my keyboard.

To Reproduce

  1. Turn on keyboard and ensure it's connected and working via bluetooth.
  2. Launch Bazecore 1.5.0 from the AppImage.
  3. When the launch screen gets to "Loading Neuron Information" the progress bar is empty, and the throbber is throbbing, but it never finishes.

Expected behavior

To be able to configure my very expensive keyboard.

Screenshots

I'm sure you can picture it from the description above.

JavaScript console from inside the app: bazecore-being-awful.console.log

The last bit of the console output in the terminal I've launched it from:

21:27:10.216 › EXECUTED changeCurrent:  {
  selected: 0,
  device: {
    type: 'hid',
    timeout: 5000,
    port: {
      connectDevice: '[function]',
      isDeviceConnected: '[function]',
      isDeviceSupported: '[function]',
      connect: '[function]',
      open: '[function]',
      close: '[function]',
      isConnected: '[function]',
      isOpen: '[function]',
      sendData: '[function]',
      sendChunkData: '[function]',
      connectedDevice: '[object]',
      devices: '[Array]',
      dataReceived: '',
      serialNumber: ''
    },
    callbacks: [],
    result: '',
    commands: { help: '[Array]' },
    file: false,
    isClosed: false,
    isSending: true,
    memoryMap: {},
    path: '',
    manufacturer: 'Dygma',
    serialNumber: '',
    pnpId: '',
    locationId: '',
    productId: '18',
    vendorId: '13807',
    device: {
      info: '[object]',
      usb: '[object]',
      keyboard: '[object]',
      keyboardUnderglow: '[object]',
      RGBWMode: true,
      components: '[object]',
      instructions: '[object]',
      flash: '[function]',
      isDeviceSupported: '[function]',
      chipId: ''
    }
  }
} [Circular]
21:27:10.216 › Current State:  [
  {
    name: 'Defy',
    available: true,
    connected: false,
    config: {
      id: '',
      name: 'Defy',
      layers: '[Array]',
      macros: '[Array]',
      superkeys: '[Array]'
    },
    file: false,
    device: {
      type: 'hid',
      timeout: 5000,
      port: '[object]',
      callbacks: '[Array]',
      result: '',
      commands: '[object]',
      file: false,
      isClosed: false,
      isSending: true,
      memoryMap: '[object]',
      path: '',
      manufacturer: 'Dygma',
      serialNumber: '',
      pnpId: '',
      locationId: '',
      productId: '18',
      vendorId: '13807',
      device: '[object]'
    },
    serialNumber: '',
    index: 0
  }
] 0
21:27:11.013 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:11.013 › device.hid.request: version retured:  
21:27:11.013 › VERSION:  
21:27:11.022 › Scanning KEYBOARD
21:27:15.216 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:15.228 › device.hid.request: version retured:  
21:27:15.228 › VERSION:  
21:27:16.022 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:16.022 › device.hid.request: hardware.chip_id retured:  
21:27:16.023 › Neuron ID  3
21:27:16.023 › Final neuron {
  id: '',
  name: 'Defy',
  layers: [
    { id: 0, name: 'L1' },
    { id: 1, name: 'L2' },
    { id: 2, name: 'L3' },
    { id: 3, name: 'L4' },
    { id: 4, name: 'L5' },
    { id: 5, name: 'L6' },
    { id: 6, name: 'L7' },
    { id: 7, name: 'L8' },
    { id: 8, name: 'L9' },
    { id: 9, name: 'L10' }
  ],
  macros: [],
  superkeys: []
}
21:27:16.023 › connected to:  2
21:27:21.025 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:21.037 › device.hid.request: keymap.default retured:  
21:27:26.038 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:26.049 › device.hid.request: keymap.custom retured:  
21:27:31.049 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:31.060 › device.hid.request: keymap.onlyCustom retured:  
21:27:36.061 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:36.072 › device.hid.request: palette retured:  
21:27:41.073 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:41.083 › device.hid.request: colormap.map retured:  
21:27:46.084 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:46.095 › device.hid.request: macros.map retured:  
21:27:51.095 › now closing device HIDError: HID send data took too much time
    at file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.js:8:4531416
21:27:51.106 › device.hid.request: superkeys.map retured:  
21:27:51.106 › Superkeys were empty
21:27:51.106 › Language automatically set to:  sv-SE
21:27:51.118 › hid configuration background-sync {
  embeddingOrigin: 'file:///',
  isMainFrame: true,
  requestingUrl: 'file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/main_window/index.html'
}
21:31:29.363 › hid configuration background-sync {
  embeddingOrigin: 'devtools://devtools/',
  isMainFrame: true,
  requestingUrl: 'devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@c54ca9f5f8377968076f9b34ed90286d58d9c877/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true'
}
[319798:0919/213129.512045:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[319798:0919/213129.512097:ERROR:CONSOLE(1)] "Request Autofill.setAddresses failed. {"code":-32601,"message":"'Autofill.setAddresses' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[319798:0919/213130.327647:ERROR:CONSOLE(1)] "Uncaught (in promise) TypeError: Failed to fetch", source: devtools://devtools/bundled/panels/elements/elements.js (1)
[319798:0919/213136.912391:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/static/lightBackground4aebda5545fd673f65d3.png", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@c54ca9f5f8377968076f9b34ed90286d58d9c877/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
[319798:0919/213136.912433:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/static/lightBackground4aebda5545fd673f65d3.png", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@c54ca9f5f8377968076f9b34ed90286d58d9c877/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
[319798:0919/213136.925258:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///tmp/.mount_BazeconRupHp/usr/lib/bazecor/resources/app/.webpack/renderer/static/lightBackground4aebda5545fd673f65d3.png", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@c54ca9f5f8377968076f9b34ed90286d58d9c877/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)

Desktop (please complete the following information):

Additional context

I don't know what else I can provide. This is my typical experience with Bazecore since some time around 1.3. It's the most unreliable software I have to interact with. This is very disappointing.

I will do whatever necessary to get this working. So far I have reflashed the Neuron and the sides multiple times. It's a bit more reliably over USB, in that it actually loads and more or less works. Or, at least, works as well as it ever did. Which isn't saying much.

Are there any other tools that I can use for configuring the keyboard? The best case scenario seems that it just goes back to being "mildly infuriating", which was only barely tolerable.

MiquelDygma commented 1 week ago

Hi!

My apologies for the late reply. We had a misunderstanding in the team as to who was monitoring these messages 🤦

Bazecor over Bluetooth is not perfect yet, especially on Linux, but via USB it should be very fast.

Could you describe the issue when trying to configure the keyboard via USB? Is it very slow? Does it crash?

Have you had the chance to try this on any other computer to see if it's related to an app-OS interaction or a problem with the keyboard?

Thank you