Device support request: opple.light.bydceiling

Device model
opple.light.bydceiling
Device name
Not sure. This seems to be a wireless module that can be installed on to any modern Opple Light.
Does the device require a MiCloud connection?
Do not know. But it works with Force MiCloud. Doesn't work without it.
miiocli can find the device and dump this information:
Model: opple.light.bydceiling
Hardware version: esp8266
Firmware version: 2.0.8_0009

All commands I tried returned user ack timeout.
Anything special about the device?
Note: This device works with Force MiCloud
Logs:
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Found cached device information: opple.light.bydceiling
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Model known: opple.light.bydceiling!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing device!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Creating device instance by model: opple.light.bydceiling!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a airconditioner device! Device class could not be found: ../modules/airconditioner/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a airer device! Device class could not be found: ../modules/airer/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a airmonitor device! Device class could not be found: ../modules/airmonitor/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a airpurifier device! Device class could not be found: ../modules/airpurifier/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a bathheater device! Device class could not be found: ../modules/bathheater/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a camera device! Device class could not be found: ../modules/camera/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a ceilingfan device! Device class could not be found: ../modules/ceilingfan/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a coffeemachine device! Device class could not be found: ../modules/coffeemachine/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a cooker device! Device class could not be found: ../modules/cooker/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a curtain device! Device class could not be found: ../modules/curtain/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a custom device! Device class could not be found: ../modules/custom/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a dehumidifier device! Device class could not be found: ../modules/dehumidifier/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a fan device! Device class could not be found: ../modules/fan/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a freshairsystem device! Device class could not be found: ../modules/freshairsystem/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a generic device! Device class could not be found: ../modules/generic/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a heater device! Device class could not be found: ../modules/heater/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a humidifier device! Device class could not be found: ../modules/humidifier/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a kettle device! Device class could not be found: ../modules/kettle/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a light device! Device class could not be found: ../modules/light/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a outlet device! Device class could not be found: ../modules/outlet/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a oven device! Device class could not be found: ../modules/oven/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a robotcleaner device! Device class could not be found: ../modules/robotcleaner/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a switch device! Device class could not be found: ../modules/switch/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a thermostat device! Device class could not be found: ../modules/thermostat/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Not a unknown device! Device class could not be found: ../modules/unknown/devices/opple.light.bydceiling.js
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Did not find device class! Trying to identify device from miot spec!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Found cached miot spec for device: opple.light.bydceiling
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Parsing miot spec!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Using light type and Light description for device identification!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Got device type Light from spec!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Found device type class at ../modules/light/LightDevice.js!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Using module class for device type Light, indentified by miot spec! Not all features might work!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing device services
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Device services: [
  "light"
]
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing device properties
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Device properties: [
  "light:on",
  "light:mode",
  "light:brightness",
  "light:color-temperature"
]
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing device actions
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing device events
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initial properties to monitor: [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
]
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Successfully created a Light device! It is a Unknown light device.
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Found cached accessory for this device! Unregistering it first!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Initializing accessory!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Creating Light accessory for device Secondary Light!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Found accessory class at ../modules/light/LightAccessory.js!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] <-S-> Creating Secondary Light custom service of type Light for service urn:miot-spec-v2:service:light:00007802:opple-bydceiling:1
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Successfully created Secondary Light custom service of type Light!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Accessory successfully initialized!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Final properties to monitor: [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
]
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Registering 1 accessories!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Everything looks good! Initiating property polling!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) Server listening <IP_ADDRESS>:34404
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: miIO.info - {"timeout":5000,"retries":3} - {}
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"miIO.info","params":{"timeout":5000,"retries":3},"id":1}
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1p㞢u&~��6��d�\�LU
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":1,"result":{"life":4981,"uid":(uid omitted),"model":"opple.light.bydceiling","token":"(token omitted)","ipflag":1,"fw_ver":"2.0.8_0009","mcu_fw_ver":"0030","miio_ver":"0.0.8","hw_ver":"esp8266","mmfree":16692,"mac":"(mac addr omitted)","wifi_fw_ver":"v3.1-52-g785067d-dirty","ap":{"ssid":"IoT","bssid":"(bssid omitted)","rssi":-36,"primary":6},"netif":{"localIp":"<IP_ADDRESS>","mask":"<IP_ADDRESS>","gw":"<IP_ADDRESS>"}},"exe_time":20}
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":1,"result":{"life":4981,"uid":(uid omitted),"model":"opple.light.bydceiling","token":"(token omitted)","ipflag":1,"fw_ver":"2.0.8_0009","mcu_fw_ver":"0030","miio_ver":"0.0.8","hw_ver":"esp8266","mmfree":16692,"mac":"(mac addr omitted)","wifi_fw_ver":"v3.1-52-g785067d-dirty","ap":{"ssid":"IoT","bssid":"(bssid omitted)","rssi":-36,"primary":6},"netif":{"localIp":"<IP_ADDRESS>","mask":"<IP_ADDRESS>","gw":"<IP_ADDRESS>"}},"exe_time":20}
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Device found: opple.light.bydceiling
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Setting up miot device!
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Doing basic setup
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Device firmware: 2.0.8_0009
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Full device info:
{
  "life": 4981,
  "uid": (uid omitted),
  "model": "opple.light.bydceiling",
  "token": "(token omitted)",
  "ipflag": 1,
  "fw_ver": "2.0.8_0009",
  "mcu_fw_ver": "0030",
  "miio_ver": "0.0.8",
  "hw_ver": "esp8266",
  "mmfree": 16692,
  "mac": "(mac addr omitted)",
  "wifi_fw_ver": "v3.1-52-g785067d-dirty",
  "ap": {
    "ssid": "IoT",
    "bssid": "(bssid omitted)",
    "rssi": -36,
    "primary": 6
  },
  "netif": {
    "localIp": "<IP_ADDRESS>",
    "mask": "<IP_ADDRESS>",
    "gw": "<IP_ADDRESS>"
  }
}
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] Doing MiCloud setup
[5/26/2022, 7:43:16 AM] [miot] [Secondary Light] (MiCloud) Log in to MiCloud with username (username omitted). Request timeout: 5000 milliseconds.
.......
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Successfully connected to MiCloud!
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Getting device info from MiCloud!
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (MiCloud) Encrypted request https://api.io.mi.com/app/home/device_list - {"dids":["249798306"]}
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Got device info from MiCloud:
{
  "did": "249798306",
  "token": "(token omitted)",
  "longitude": "0.0",
  "latitude": "0.0",
  "name": "Opple Light",
  "pid": "0",
  "localip": "<IP_ADDRESS>",
  "mac": "(mac addr omitted)",
  "ssid": "IoT",
  "bssid": "(bssid omitted)",
  "parent_id": "",
  "parent_model": "",
  "show_mode": 1,
  "model": "opple.light.bydceiling",
  "adminFlag": 1,
  "shareFlag": 0,
  "permitLevel": 16,
  "isOnline": true,
  "desc": "Device online ",
  "extra": {
    "isSetPincode": 0,
    "pincodeType": 0,
    "fw_version": "2.0.8_0009",
    "needVerifyCode": 0,
    "isPasswordEncrypt": 0,
    "mcu_version": "0030"
  },
  "uid": (uid omitted),
  "pd_id": 67249,
  "password": "",
  "p2p_id": "",
  "rssi": -31,
  "family_id": 0,
  "reset_flag": 0
}
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Device setup finished! Miot device ready!
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Connected to device: opple.light.bydceiling
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Doing initial property fetch.
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":2}
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢v��:/�`�H�WPV]
[5/26/2022, 7:43:17 AM] [miot] [Secondary Light] Successfully saved device info!
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] Set light:on property request! RAW: {"did":"249798306","siid":2,"piid":1,"value":true}
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: set_properties - [{"did":"249798306","siid":2,"piid":1,"value":true}] - {"retries":2,"timeout":4000}
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":102}
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢z[cbfJ���      #l�G1
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"set_properties","params":[{"did":"249798306","siid":2,"piid":1,"value":true}],"id":103}
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢z#�A��+Y)Wӄ�C�
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":2,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:21 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":2,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] Set light:brightness property request! RAW: {"did":"249798306","siid":2,"piid":3,"value":100}
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: set_properties - [{"did":"249798306","siid":2,"piid":3,"value":100}] - {"retries":2,"timeout":4000}
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"set_properties","params":[{"did":"249798306","siid":2,"piid":3,"value":100}],"id":104}
[5/26/2022, 7:43:22 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢{�*�|r�ip��1
�
[5/26/2022, 7:43:25 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:25 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:25 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":102,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:25 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":102,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:25 AM] [miot] [Secondary Light] Error on initial property request!  Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":405}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢��Q�T  Q����1&gʞ
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (0) {"method":"set_properties","params":[{"did":"249798306","siid":2,"piid":1,"value":true}],"id":505}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢���C�A��Fê�
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":204,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":204,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":304,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4010}
[5/26/2022, 7:43:29 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":304,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4010}
[5/26/2022, 7:43:30 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":404,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:30 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":404,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":506}
[5/26/2022, 7:43:32 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�������6Pk�s&�H�
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":606}
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢���}n�Se�H�    7Z
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":405,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":405,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- Reached maximum number of retries, giving up set_properties - [{"did":"249798306","siid":2,"piid":1,"value":true}]
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] Error: Call to device timed out
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":505,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:33 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":505,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":607}
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢��kE
                                                                                \
3lkN�G1Z�
[5/26/2022, 7:43:36 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":707}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�T)uB+e?ǽ[�K���
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":506,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":506,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":606,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":606,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] Poll failed 1 times!
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] Poll failed! Error: Error: user ack timeout
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (0) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":807}
[5/26/2022, 7:43:37 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�K�tx�Mm?�a�t�
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":808}
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�����]�`D�ԅ��
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":908}
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�*(��Lxl]'�i

[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":607,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:40 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":607,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (0) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1008}
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢���p�Ӣ#(g�Ӯܑ�
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":707,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":707,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":807,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:41 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":807,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1009}
[5/26/2022, 7:43:43 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢�T���d��
�75���1
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1109}
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢��ҍD   }Y�"Q�
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":808,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":808,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (0) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1209}
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢���E!�nh@�wP]
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":908,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:44 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":908,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:45 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- Reached maximum number of retries, giving up get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}]
[5/26/2022, 7:43:45 AM] [miot] [Secondary Light] Poll failed 2 times!
[5/26/2022, 7:43:45 AM] [miot] [Secondary Light] Poll failed! Error: Error: Call to device timed out
[5/26/2022, 7:43:45 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":1008,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:45 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":1008,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] Splitting properties into chunks. Number of chunks: 1. Chunk size: 14
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] Chunks:  [
 [
  "light:on",
  "light:brightness",
  "light:color-temperature",
  "light:mode"
 ]
]
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) Call <IP_ADDRESS>: get_properties - [{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}] - {}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (2) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1210}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢��X
                                                                                �ۢR�@VYĖ\
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":1009,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":1009,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] Poll failed 3 times!
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] Poll failed! Error: Error: user ack timeout
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Handshake reply
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- (1) {"method":"get_properties","params":[{"did":"249798306","siid":2,"piid":1},{"did":"249798306","siid":2,"piid":3},{"did":"249798306","siid":2,"piid":4},{"did":"249798306","siid":2,"piid":2}],"id":1310}
[5/26/2022, 7:43:47 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> <- !1�㞢��}�<y�S��YfjE
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] (Protocol) Start handshake <IP_ADDRESS>
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Data: {"id":1109,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] (Protocol) <IP_ADDRESS> -> Message: {"id":1109,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4000}
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] Poll failed 4 times!
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] Poll failed 4 times in a row! Stopping polling and trying to reconnect! Reason: Error: user ack timeout
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] Device diconnected!
[5/26/2022, 7:43:48 AM] [miot] [Secondary Light] Trying to reconnect in 40 seconds...

I'm not sure whether this device should support LAN control or not. But if it shouldn't, please close this issue.

Yeah, it seems like that device does not support the miot protocol over LAN, so you have to use MiCloud by setting the forceMiCloud property to true, and you mentioned that that works, right?
The user ack timeout sometimes might also disappear when you try to reset your device. But i would say if it works good over the cloud then you should use that.

Thanks for the response. I will close the issue.


Many to many fields and admin upload

Do many to many fields work via admin imports?  I keep getting something like this:
ValueError('"<Accession: >" needs to have a value for field "accession" before this many-to-many relationship can be used.',)
It doesn't seem like it can if it's displaying the data to import before importing, as there's no way to get the primary key for the row since it doesn't have one yet?
Thanks,
Dean

For anyone reading this. The problem has much simpler solution, than adding separate import and export resources. It is enough to write dehydrate method like this:
    def dehydrate_str_choices(self, obj):
        if obj.id:
            return obj.str_choices()

In Models.py
class Faculty(models.Model):
empid = models.CharField(primary_key=True, verbose_name="Employee ID",max_length=20)
deptname=models.ForeignKey('Department', verbose_name="Department Name", on_delete=models.CASCADE, )
facultyname=models.CharField(verbose_name="Faculty Name",max_length=100)
def __str__(self):
	return self.facultyname

class Student(models.Model):
sregno = models.CharField(primary_key=True,verbose_name="Registration Number", max_length=20)
sname = models.CharField(verbose_name="Student Name", max_length=100)''
def str(self):
sbranch = models.CharField(verbose_name="Branch", max_length=50)
deptname = models.ForeignKey('Department', verbose_name="Department Name",on_delete=models.CASCADE,)
return self.sname
class ResearchScholar(models.Model):
rsname = models.CharField(verbose_name="Student Name", max_length=100)
rsregno = models.CharField(primary_key=True,verbose_name="Registration Number", max_length=20)
rssupervisor = models.ForeignKey('Faculty',verbose_name="Supervisor's Name", on_delete=models.CASCADE,)
deptname = models.ForeignKey('Department', verbose_name="Department Name", on_delete=models.CASCADE,)
def str(self):
return self.rsname
class BookSeries(models.Model):
refformat=models.TextField(verbose_name="Citation Format",max_length=500,blank=False)
facultyauthor = models.ManyToManyField('Faculty',verbose_name="Faculty Author")
studentauthor = models.ManyToManyField('Student',verbose_name="Student Author",blank=True)
rsauthor = models.ManyToManyField('ResearchScholar',verbose_name="Research Scholar Author",blank=True)
booktitle = models.CharField(verbose_name="Paper Title",max_length=200,blank=False,default='')
def str(self):
return self.refformat
def display_fauthor(self):
	return ', '.join([facultyauthor.facultyname for facultyauthor in self.facultyauthor.all()[:3]])

display_fauthor.short_description = 'Faculty Name'

def display_sauthor(self):
	return ', '.join([studentauthor.sname for studentauthor in self.studentauthor.all()[:3]])

display_sauthor.short_description = 'Student Name'

def display_rsauthor(self):
	return ', '.join([rsauthor.rsname for rsauthor in self.rsauthor.all()[:3]])

display_rsauthor.short_description = 'RS Name'

In Admin.py
class BookSeriesResource(resources.ModelResource):
facultyauthor = fields.Field(column_name='facultyauthor', widget=ManyToManyWidget(Faculty,'facultyname'))
studentauthor = fields.Field(column_name='studentauthor', widget=ManyToManyWidget(Student,'sname'))
rsauthor = fields.Field(column_name='rsauthor',widget=ManyToManyWidget(ResearchScholar, 'rsname'))
#def dehydrate_facultyauthor(self, book):
#	return ', '.join(map(str, book.facultyauthor.all()))
#def dehydrate_studentauthor(self, book):
#	return ', '.join(map(str,book.studentauthor.all()))

#def dehydrate_rsauthor(self, book):
#	return ', '.join(map(str,book.rsauthor.all()))

#return ', '.join(map(str,book.facultyauthor.all().values('facultyname')))
class Meta:
	model = BookSeries
	fields = ('id','refformat', 'facultyauthor', 'studentauthor','rsauthor','booktitle', 'bookname', 'pubfromconf', 'bsjr', 'bsnip', 'bisbn', 'created_at', 'updated_at', 'created_by', 'updated_by')
	import_id_fields = ['id']

#return ', '.join([facultyauthor.facultyname for facultyauthor in self.facultyauthor.all()[:3]])
class BookSeriesAdmin(ImportExportModelAdmin, admin.ModelAdmin):
list_display = ('display_fauthor','booktitle', 'bookname')
resource_class = BookSeriesResource
list_filter = ('pubfromconf','bpublishedon',)

During Export, with dehydrate method in BookSeriesResource, it works fine, displaying the name of the faculty authors.
Whereas, with dehydrate method, it gives the same error as mentioned in this thread above.
So i commented dehydrate method while import option and it works fine but without the list of names for facultyauthor.
Could you help me solve this issue?


Improve hitboxes on video player controls

[ ] volume control - have to click right on the line.
[ ] full screen  -expand to bottom right?

Also noticed that the 1080p was cut off onto 2 lines.

To clarify on the full screen control, the hitbox would ideally extend to the bottom-most and right-most frame pixels.  Youtube implements this the same way.  Its one of those little things that lets people quickly exit full screen by aiming towards the bottom right corner, vs aiming close to the exit button.

Thank you for bringing this up @MarkMichon1 !


Razor view as dialog template

Hi
Im trying to open a dialog that uses a razor view as the template. or open a razor view as a panel dialog.
goal is when a user clicks a link in another razor page i have it should pop up this dialog as a panel.
I looked at these two issues: #2451  and #1386
cant seem to figure it out. the chartindialog example uses regular html as template .. i need cshtml.
any ideas?
thanks!

well, all the pages are based on cshtml. So i guess you put put your razor there.
the thing is, they only have JS section instantiating  TS dialog. Did u try there?
I suppose that Template.html wont get parsed, if u put expressions there?

yea but how do i open the page as a dialog? im sure im missing something simple (as is mostly the case 😊 )
template.html wont work for what im trying to do.

you open dialog and it will use .cshtml page.
you specify it (cshtml page) in mvc.cs and or in *Page.cs:
public ActionResult Index()
{
return View(MVC.Views.Northwind.Customer.CustomerIndex);
}

I'm sorry I don't really follow. I still don't understand how it's possible to specify a cshtml page as the template of a dialog?. What would be the syntax of opening the dialog?

you can open dialog form CSHTML like this:
`
`


[v2.8] [Charts] CIS: remove the benchmark scan profile of deprecated k8s versions.

Description

Need to remove the CIS scan for k8s versions which the v2.8.x rancher does not support.

Reference

Rancher Support Matrix
Kubebench (CIS) support Matrix

Moved to https://github.com/rancher/cis-operator/issues/289


Prevent Crash on IOS when changing media

Prevent Crash on IOS when changing media

Will you check this one please. When switching videos on iOS it brakes. Thanks!

Merged in 2.0.2-rc1


Container for entire pipeline

one container for whole pipeline (remove lines such as "singularity exec ${params.qiimeimage} ", change "~/PROGRAMS/FastQC/fastqc", adjust params.qiimeimage = "$baseDir/qiime2_2018.6.simg")

This is done and builds fine:  (on dev only atm, but we'll have it on master then soonish too on release).


Docs.MS CI Updates for Microsoft.Azure.CognitiveServices.AnomalyDetector

Docs.MS CI Updates for Microsoft.Azure.CognitiveServices.AnomalyDetector

Docs Build status updates of commit 9e8186f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Create saurabh_srivastava.md

First PR commit.
As a part of video demo for issue.

Not sure to use - or _
But approving the pr


Add support for multiple languages

the web interface is so cool !   can I change the display language?

Currently there are no other languages available. However, this is coming! It will probably need to be implemented using gettext
There are a couple of pull requests (French and Chinese) that I need to merge and add gettext support to them.

This has been implemented. As of this post, French and Spanish have been added. If you would like to collaborate in adding a different language, please see take a look at this post and I'll be happy to merge it for the upcoming version.

I have translates GoAccess to Swedish, how do I send it to you?

@tellustheguru Thanks for offering to translate it to Swedish. Please submit a PR so I can merge it here. Here you can find the steps to do the translation if needed.
Let me know if you have any questions. Thanks!


Persist Multibox Cache

 Persist Multibox Cache

@fhenrich33 is there a question for me about the clearing of the cache once boxes have been successfully assigned to shipments?

@aerinsol Yes, I’d like your input to see if the solution for assigning a box to a shipment is adequate.

@fhenrich33 I have some thoughts about how I'd like the general behavior to change, I will put that in the Trello.


Draft: fix: #5967 AdminUrlGenerator : Encode special chars in referrer

Following the creation of the issue #5967, I propose this merge request.
As of today, only "&" characters seem to be url-encoded. (And it became a problem when I put my code in production)
Even if generated urls may, strictly speaking, be compliant with the URL RFC, I propose to fully encode the referrer url, to be more resilient to what servers (and application firewalls) can accept or not (now and in the future).
Rather than encoding only specific characters, a better way would be to urlencode the entire url. But I didn't achieve in finding where it is done. Any help in such a search, so as to give a cleaner PR, would be appreciated.
As will be any (constructive ;)) remark.

Marking as draft because it generates a bad url after editing an item; the url must be explicitly decoded


Redesign data files behavior to avoid use of Paths_* module

I don't believe this is possible at runtime. It's the only place we can get the project name and version number.


New StellarGraph: coordinating column indexing and selection is difficult

Description
In https://github.com/stellargraph/stellargraph/pull/668#discussion_r369920879, it was noted that it can be difficult to understand how the new numpy-ised arrays of data work with several layers of indexing using numpy arrays, across multiple different arrays.
We can potentially simplify things so they happen more together.
Done Checklist

[ ] Produced code for required functionality
[ ] Tests written and coverage checked
[ ] Code review performed
[ ] Documentation on Google Docs  (if applicable)
[ ] Documentation in repo
[ ] Version number reflects new status
[ ] CHANGELOG.md updated
[ ] Team demo

Unfortunately, this code is quite performance sensitive and so abstractions have significant impact: e.g. selecting neighbours gets more than 2x slower with the code in #793.


Add dab node transactions

Description:
Added the DAB transactions (node create/update/delete). This included adding the flow for creating, viewing, and signing the new transactions.

note to self: had to run the below to get it working:

sdk install java 17.0.13.fx-zulu (includes JavaFX)
mvn clean install -D skipTests (errored otherwise)

We should add this to the README.md install instructions, currently says Java 14+ is required.


feat(c sshnpd): policy atsign support

Depends on https://github.com/atsign-foundation/at_c/issues/413
Once atrpc is implemented, this reuses the same functions as already implemented for #1408.

Backlogging until we have determined this is a requirement for someone


Add node in AnimationTree (additive animation) not posing correctly

Godot version
Godot_v4.1-dev3_win64
System information
Windows 11 Version 22H2, AMD Ryzen 7 6800H, AMD 6700M, Drivers 23.3.2
Issue description
When applying additive animations, the arms do not pose correctly but the animation works by itself.
It almost appears like left and right arms are switched.
This is the correct pose in blender:

This is what happens in Godot when applying the additive animation:
https://github.com/godotengine/godot/assets/15805689/0cf96525-160e-492d-98ac-660c2274e077
I debugged this and the polls are correct on the bones that are being affected in Godot:

Steps to reproduce
Apply the additive animation using an Add node to a humanoid skeleton
Minimal reproduction project
additive_animation_bug.zip

It seems that the additive animation is not extracted correctly. We have recently added Sub2 for this purpose in #76616, please check it.

additive_animation_bug_fixed.zip

In most cases, Blend + Filter is sufficient. Clear cases where it is needed are when you want to blend based on a pose other than Rest, or when you want the blend to be correct with an amount greater than 1.0.
The purpose of use of Additive Animation is described in its PR (https://github.com/godotengine/godot/pull/76616) and proposal (https://github.com/godotengine/godot-proposals/issues/2700). However, it may be possible to document it in more detail in a separate document.


Added Google address field

I created a new address field which uses Google Places library instead of Algolia. Using This field requires the Google API key to be included in the .env file (GOOGLE_PLACES_API_KEY).

Thank you @alanbrande !
It took me a while, but I now agree with you that it doesn’t hurt to have both  address_algolia and address_google field types. At the time I thought the Google Places API became paid-only, so using this field type was very restricted, but it has come to my attention that they have a $200/mo free tier - which should be more than enough for most people. So I came back to merge this PR. I know it’s very late to accept this PR, but I hope at least I get credit for not being stubborn enough to admit when I’m wrong :-) I was wrong not to give this importance and merge it at the time - fixing it now.
I’ve tested and re-tested the field - excellent work. I’ve only found one bug with it - it conflicted with the original address field type, if both were on the same form (which would certainly be rare - but hey ho), but I fixed that too.
I’ve also removed the crud config option - I don’t think a config value like this should live inside the backpack.crud domain - I think @OwenMelbz ’s suggestion with services.google_places.key is on point - so I implemented that.
I’ve put together this PR here #1712 which merges your work and does all of the above. It’s already merged in the 3.5 branch, which will be released later this week.
Thanks a lot for the PR - great work.
Cheers!


Disable RMRK1/2 Minting

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
maybe not the best solution, let me know
PR Type

[ ] Bugfix
[x] Feature
[ ] Refactoring

Context

[x] Closes #9387

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

looks good to me, thanks for considering the warning if users lands with rmrk/2 selected

@Jarsen136 ty, done

Thanks!
pay 30 usd

😍 Perfect, I’ve sent the payout
💵 $30 @ 8.34 USD/DOT ~ 3.597 $DOT
🧗 13s37n7Y9VvoF1JcqnQzbL2b76qb9vNQQyXvpvpProdrpvBe
🔗 0xa0f71912e177741699ec968f4415084fc595bff8c29cf76dde60a032b4183724
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Withdraw NFT conflict "The unlock block signature is invalid"

I have withdrawn some nfts and they doesnt arrive in my wallet.
All these transactions are in the attached file.
Munkii und Orbii.xlsx

@borninchb It sounds like your query would be best dealt with by the support team.
Please see the link below to our dedicated support line:
Support :Help Center
Note: Click on the live chat icon at the bottom corner of the page to start a conversation

should be fixed as part of the https://github.com/soonaverse/app/issues/182


Update action versions

Fixes #18 and it will probably fix a cache problem affecting #17.

Thanks!


How to make a custom pages ?

More specifically, I want to create a page that has a file css, js, and all assets required on that page without follow the theme.
Can Grav create like that?

You need to create a defined template file and choice this when you create the page, this page follow the layout from your template with css/js/any other code you added to layout file.

@namaless Oh I see, but how to create a defined template? Can you give an example?
Btw thank you for reply!

I would agree with @namaless, if you want a custom page (typically done with a theme), that is actually independent of a theme, the best approach is a simple plugin that provides a custom twig template file (for custom page rendering), plus the custom css and/or js file.
If all you really need is a custom css/js on a standard page, then you can use the assets plugin to add those on the page.

If you need help with the plugin, i could whip up something a little later today.

I think the best way (and more simple is use a simple new template page), use this a example: https://github.com/nunopress/grav-theme-machine/blob/develop/templates/products.html.twig
I make this for a products, if you can enter into our chat gitter channel we can help you :)

@rhukster I'm a little confused to use it, when I paste my .html to my .md, the page does not appear.
@namaless  do you have a skeletons for that? sorry for many questions :sweat_smile:

you can paste HTML inside the .md file, for example:
---
title: Animal
taxonomy:
    tag: [animal, cat]
---

Tags: animal</h>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.


Remove possibility to install multiple packages

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind cleanup
What this PR does / why we need it:
There are two main things in this PR:

a little bit of refactoring in install
MOST IMPORTANTLY I removed the possibility to install multiple packages at once. My reasoning:
-- I don't see much use cases for doing that vs running two kudo install commands
-- it was not documented anywhere anyway so I think we can just remove it

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

it is not possible to pass multiple arguments to `kudo install` command. Run multiple `kudo install` commands if you need to install more packages.

@fabianbaier thanks, great feedback :) fixed

@fabianbaier are you good here?   I want this to land before I get to carried away with some refactor that includes install from url.


Add gc tests

This PR adds initial tests of the Gc module - and in particular testing of Gc.compact.
Exercising Gc.counters already triggered a known issue locally, which has recently been fixed on trunk: https://github.com/ocaml/ocaml/pull/13370 I therefore expect the parallel test to fail on 5.2.0 and earlier.
This can be extended (and improved) in many ways adding (big)arrays, Weak, Ephemeron, custom blocks, finalizers, and dynamic Gc_ctrl changes.

CI summary for ca8cf93:

11 5.2 workflows failed as expected due to the Gc test

32bit 5.2 failed with a segfault
Bytecode aborted with Fatal error: allocation failure during minor GC
Cygwin 5.2 aborted with Fatal error: allocation failure during minor GC
FP 5.2 aborted with Fatal error: allocation failure during minor GC
Linux 5.2 aborted with Fatal error: allocation failure during minor GC
Linux 5.2 debug aborted with Fatal error: allocation failure during minor GC
MinGW 5.2 exited with code -1073741819
MinGW bytecode 5.2 exited with code -1073741819
macOS-ARM64 5.2 failed with a segfault
macOS-intel 5.2 got signal BUS
freebsd-amd64-5.2 failed with a segfault

3 Cygwin/MinGW trunk workflows failed with a version mismatch after the 5.3 branching

Cygwin trunk
MinGW bytecode trunk
MinGW trunk

Linux trunk debug failed with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live #470

Out of 33 workflows 15 failed with 12 genuine issues and 3 ci-setup issues

I removed the stress test, as the positive parallel test is already stress testing.
I've also rebased based on #471 which should take care of the MinGW+Cygwin version mismatching.
I still expect the 5.2 workflows to trigger ocaml/ocaml#13370 (unsure whether the cmd should be disabled under 5.2 testing :thinking: )

CI summary for 6b2669b

10 5.2 workflows failed as expected due to the Gc test #474

32bit 5.2 failed STM Gc test parallel with a negative allocated_bytes
Cygwin 5.2 aborted with Fatal error: allocation failure during minor GC
FP 5.2 aborted with Fatal error: allocation failure during minor GC
Linux 5.2 debug aborted with Fatal error: allocation failure during minor GC
MinGW bytecode 5.2 failed with Fatal error: allocation failure during minor GC
macOS-ARM64 5.2 failed with signal BUS
macOS-intel 5.2 failed with signal BUS
linux-arm64-5.2 aborted with Fatal error: allocation failure during minor GC
linux-s390x-5.2 aborted with Fatal error: allocation failure during minor GC
freebsd-amd64-5.2 aborted with Fatal error: allocation failure during minor GC

2 debug runtime workflows failed with an assertion error #470

Linux 5.3 debug failed with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live
Linux trunk debug failed with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live

linux-ppc64le-5.2 found an unexpected STM Sys test parallel counterexample #466

Out of 45 workflows 13 failed with with 12 genuine issues and 1 false alarm

CI summary for e9c9a6a

all 3 Linux debug runs aborted with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live #470

Linux 5.2 debug
Linux 5.3 debug
Linux trunk debug

linux-s390x-5.2 failed STM Gc test parallel with a quick_stat output mismatch

Out of 45 workflows 4 failed with genuine issues

CI summary for 6c1252f

9 workflows failed due to minor_heap_size page size rounding

32bit 5.2, 5.3, trunk
Cygwin 5.2, 5.3, trunk
macOS-ARM64 5.2, trunk
linux-ppc64le-5.2

all 3 Linux debug runs aborted with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live` #470

Linux 5.2, 5.3, trunk debug

linux-s390x-5.2 timed out during STM Gc stress test parallel #421
macOS-ARM64 5.3 segfaulted in STM Gc test parallel

Out of 45 workflows 14 failed with 13 genuine issues and 1 CI infrastructure issue.
The macOS-ARM64 5.3 crash is disturbing.
fd0a3fd should address the pagesize rounding... :crossed_fingers:

CI summary for fd0a3fd:

3 Linux debug workflows failed with runtime/shared_heap.c; line 1392 ### Assertion failed: local->stats.pool_live_words == pool_stats.live #470

Linux 5.2, 5.3, trunk debug

4 MSVC workflows failed to compile due to a header issue fatal error C1189: #error:  "No Target Architecture"

MSVC 5.3, trunk
MSVC bytecode 5.3, trunk

Out of 45 workflows, 3 failed with a genuine error and 4 due to a buggy Windows header in the test-suite.
1ebdda4 should address that, leaving only genuine errors.
Note to self: Having removed v=0 in debug mode triggers v=63 and adds a bit of noise to the logs for the Gc test...

CI summary for 1ebdda4:

3 Linux debug workflows aborted STM Gc stress test parallel with Assertion failed: local->stats.pool_live_words == pool_stats.live

Linux 5.2, Linux 5.3, trunk debug

macOS-ARM64 5.2 segfaulted in STM Gc stress test parallel #480

Out of 45 workflows 4 failed - all with genuine issues

CI summary for e5b93d3

3 32bit workflows all segfaulted in STM implicit Gc stress test parallel or STM implicit Gc test parallel

32bit 5.2, 5.3, trunk

3 Linux debug workflows aborted STM Gc stress test parallel with ### Assertion failed: local->stats.pool_live_words == pool_stats.live

5.2, 5.3, trunk debug
In addition, Linux 5.2 debug also failed STM implicit Gc test parallel with a negative allocated_bytes result

macOS-ARM64 trunk segfaulted in STM Gc stress test parallel

Out of 45 workflows 7 failed all with genuine errors

I've just pushed to trigger a fresh run, now that #13553 has been merged to trunk and cherry-picked to 5.3.
In other news, I've investigated the previously observed FreeBSD 5.2 crash.
This was easy to reproduce, but turned out to be a known one, namely db586e0b27 - Merge pull request #13370 from DemiMarie/fix-missing-gc-rule

CI summary for 4a93462:

Linux 5.2 debug failed with an assertion error #470
Linux 5.3 debug failed with an assertion error #470
Linux trunk debug failed with an assertion error #470
macOS-intel 5.2 crashed in STM Gc stress test parallel #480

Out of 41 workflows, 4 failed - all with genuine issues :tada:
(For some reason, the force push didn't trigger multicoretests-ci's four 5.2.0 workflows)


Data types and aligment in cell change to enum

USE CASE
Making it easier for coding
SOLUTION DESCRIPTION
Currently in the backend when declaring the data type or cell aligment, it is declared with a string.
This can be improved by changing it to an enum.

Fixed in commit aea62db


Add check subcommand

A molecule v2 tracking issue.
Add the check sub command from v1.

Implemented by #696.


Error with setting header and footer

I am getting undefined appended to the header and footer that I am trying to add to the PDF document.

We've got the same issue here.
After some testing, we're fairly certain this occurs when you have svgs that have

That is correct! The issue occurs when I use SVGs with the header and footer option added. As you can see in the snapshot above, it happens when I try to use the SVG graph on the page.

@marcbachmann can you confirm this?

without-test.js:
let pdf = require('html-pdf');
var htmlString = '' +
	'
hello
' +
	'
' +
	'<svg viewBox="0 0 1 1">' +
	'<path d="m0,0v1h1V0"/>' +
	'</svg>';
pdf.create(htmlString, {
	header: {
		 height: "2cm",
		 content: "
hello
"
	},
	footer: {
		 height: "2cm",
		 content: "
hello
"
	}
}).toFile('withoutStyleTags.pdf', function(){});

with-test.js
let pdf = require('html-pdf');
var htmlString = '' +
	'
hello
' +
	'
' +
	'<svg viewBox="0 0 1 1">' +
	'' + //added line
	'<path d="m0,0v1h1V0"/>' +
	'</svg>';
pdf.create(htmlString, {
	header: {
		 height: "2cm",
		 content: "
hello
"
	},
	footer: {
		 height: "2cm",
		 content: "
hello
"
	}
}).toFile('withStyleTags.pdf', function(){});


add link to the docs in README

Current coverage is 94.72% (diff: 100%)

No coverage report found for master at 47d35e3.

Powered by Codecov. Last update 47d35e3...283e621

Thanks for your contribution :)


avoid convenience code copies in notebooks

bokeh.bkr embeds BokehJs, complete with base64-encoded FontAwesome font.
As a miminum you should revive and include license grants for those projects - you seem to currently violate their licensing by not adequately credit sources and include licensing!
I urge you to avoid embedding full code projects like that in notebooks altogether: Even if technically possible to do, it is a an antipattern you shouldn't encourage your users to mimick.

Agreed but this is just how Bokeh works, we don't control it, it's a popular library and it happens to work in Beaker.
Our license/credit page is available in the "About" window if you click through "Beaker is made possible by code from many great open source software projects." which brings up https://github.com/twosigma/beaker-notebook/blob/18ea55815b2054e9223c397ebdc556e706dc6889/core/src/main/web/credits.html
Alternatively we could just remove this notebook from the documentation it is not critical, we could just host in on pub.beakernotebook.com.

Quoting Scott Draves (2015-10-07 22:44:43)

Agreed but this is just how Bokeh works, we don't control it, it's a
popular library and it happens to work in Beaker.
Our license/credit page is available in the "About" window if you
click through "Beaker is made possible by code from many great open
source software projects." which brings up
https://github.com/twosigma/beaker-notebook/blob/
18ea55815b2054e9223c397ebdc556e706dc6889/core/src/main/web/credits.html
Alternatively we could just remove this notebook from the
documentation it is not critical, we could just host in on
pub.beakernotebook.com.

If it is "just how Bokeh works" to violate its own licensing terms, then
you are just not permitted to redistribute it :-P
The license of Bokeh requires, as I understand it, that copyright,
license and disclaimer for that project is included with any and all
redistribution of it.  Seems to me that you nowhere include that info in
your released tarball nor the git - both of which are forms of
redistribution.
I believe you could satisfy the license of Bokeh by including verbatim
the copyright and license and disclaimer from that project in your
credits page.  But the current contents of the credits page seems
inadequate.
That said, you need not remove the file to please packaging for Debian:
We can strip the problematic file as part of our redistribution - I just
wanted to share with you in case you want to respect licenses same way
as we do.  No offense intended: You are free to interpret differently
(but make sure to read the actual license before you decide - I believe
the rules set out by the copyright holder is pretty unambiguous).

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136  Website: http://dr.jones.dk/

[x] quote me freely  [ ] ask before reusing  [ ] keep private

We don't redistribute Bokeh in general, in order to use it it has to be installed with pip or whatever python mechanism.  But yes this file does include their js driver, bokeh.min.js.  I am quite sure it is not their intent to make everyone who redistributes notebooks also display their license, but maybe it is technically required.  Let me ask them.

A few notes (I am the Bokeh project lead)

Embedding the BokehJS library inline is provided as an option to make notebooks and HTML documents containing Bokeh plots self-contained, and usable without an internet connection. There is no other technical way to accomplish that, unless I am mistaken. (I would love to hear any other ideas.) However, it is also possible to load BokehJS from CDN (or from your own servers) and in fact CDN will be the default way to install BokehJS starting with version 0.11 in November.

Just to be clear: both the full and minified BokehJS files contain inside them, the plaintext licenses of any dependencies that are vendored in, in order to comply with the terms of those licenses.

Since the source code for BokehJS is actually written in coffeescript, and the compiled to JavaScript, I do not consider the mere usage of BokehJS (as we obviously intend for people to be able to do) to constitute a "source distribution". A "source distribution" (in my opinion) is a redistribution of the original, primary, uncompiled CoffeeScript sources. Therefore, the license requires (at most) that the license be available "in the documentation and/or other materials provided with the distribution". Since BokehJS file contains a link to the Bokeh documentation inside it, I will stipulate that this is sufficent.

We will improve the wording to make things clearer. However, IANAL, so if you are, and would like to help, a PR would certainly be appreciated.

I have made an issue you can refer to to track these changes: https://github.com/twosigma/beaker-notebook/issues/2651

Thanks Bryan, I am satisfied Beaker doesn't need to change, but Jonas it's up to you how to handle that in your redistribution.

Hi Bryan,
Quoting Bryan Van de Ven (2015-10-08 02:45:34)

A few notes (I am the Bokeh project lead)
• Embedding the BokehJS library inline is provided as an option to
make notebooks and HTML documents containing Bokeh plots
self-contained, and usable without an internet connection. There is
no other technical way to accomplish that, unless I am mistaken. (I
would love to hear any other ideas.) However, it is also possible to
load BokehJS from CDN (or from your own servers) and in fact CDN
will be the default way to install BokehJS starting with version
0.11 in November.

I agree there are benefits in embedding the code.
Sounds nice that you make it configurable in the future, because there
are different - conflicting - benefits in cloud hosting, local hosting
and embedding.
I can imagine it being preferable for Two Sigma to stick to your future
default of cloud hosting, whereas for Debian redistribution we want to
avoid trackability hence prefer switching to a local path per default.
I've created a separate issue on the Beaker ability to benefit from that
future configurability, to allow users to choose between benefits of
reliance on internet (cloud), system (localpath) or document (embed).

• Just to be clear: both the full and minified BokehJS files contain
inside them, the plaintext licenses of any dependencies that are
vendored in, in order to comply with the terms of those licenses.

Uhm, that seems incorrect, actually: As an example, your full source
include Font Awesome which is licensed as OFL-1.1, yet apparently you
only mention the shortname of that license despite its condition #2 is
that both copyright and license be included.
Also, minified code embedded in a Beaker notebook lacks verbatim
copyright and license, as Scott points out in bokeh/bokeh/#2957
I suggest Bokeh to include in src/vendor/font-awesome-4.2.0 LICENSE and
COPYRIGHT files containing OFL-1.1 license and upstream copyright
statement, respectively.  And somehow ensure that both are included
directly tied to minified code too - i.e. either within or as separate
files, as long as they are "easily viewed by the user."
NB! Authors of Font Awesome don't include the license themselves:
Licensing terms apply for licensees but not copyright holders
themselves.  Bokeh may similarly choose to not include their own license
even though requiring it of their licensees.  But I believe Beaker
cannot ignore that (within the general licensing terms passed on to its
users, including Debian).

• Since the source code for BokehJS is actually written in
coffeescript, and the compiled to JavaScript, I do not consider the
mere usage of BokehJS (as we obviously intend for people to be able
to do) to constitute a "source distribution". A "source
distribution" (in my opinion) is a redistribution of the original,
primary, uncompiled CoffeeScript sources. Therefore, the license
requires (at most) that the license be available "in the
documentation and/or other materials provided with the
distribution". Since BokehJS file contains a link to the Bokeh
documentation inside it, I will stipulate that this is sufficent.

Makes sense, and fits (my interpretation of) OFL-1.1 requirements too.
Issue here in Beaker is that copyright and license is missing.
I suggest to include in Beaker credits page both copyright and license -
verbatim, not shortname or web link - for both BokehJS and all of its
upstreams where licensing requires it (no matter if Bokeh themselves
included all of that in their distribution).

• We will improve the wording to make things clearer. However, IANAL,
so if you are, and would like to help, a PR would certainly be
appreciated.

Sorry for not clarifying earlier: I am no lawyer either, merely a Debian
developer (i.e. a software "librarian" more than a programmer) who cares
about respecting the various licensing terms of everyone involved in the
FLOSS ecosystem.

I have made an issue you can refer to to track these changes: #2651

Thanks.  Oddly enough Github links wrongly in its email representation,
but I saw the proper link online :-)

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136  Website: http://dr.jones.dk/

[x] quote me freely  [ ] ask before reusing  [ ] keep private

Jonas, I was not as clear as I could have been. It is configurable now, we are merely changing the default behavior in the future. If you'd like to utilize CDN resources instead of inline resources that has been possible for ~2 years.
Regarding the minified files it seems that the inclusion of license comments was unintentionally lost when we switched from grunt to gulp for our build. Grunt minify tools do include the comments by default, but gulp tools (unfortunately) do not include them by default. This was an oversight.  This behavior has been explicitly re-enabled in bokeh/bokeh#2958 and the license comments  will be present in all future dev builds and full releases. We will strive to patch or update existing files to the extent of our ability, as we are able.

On Oct 8, 2015, at 06:11, Jonas Smedegaard<EMAIL_ADDRESS>wrote:
Hi Bryan,
Quoting Bryan Van de Ven (2015-10-08 02:45:34)

A few notes (I am the Bokeh project lead)
• Embedding the BokehJS library inline is provided as an option to
make notebooks and HTML documents containing Bokeh plots
self-contained, and usable without an internet connection. There is
no other technical way to accomplish that, unless I am mistaken. (I
would love to hear any other ideas.) However, it is also possible to
load BokehJS from CDN (or from your own servers) and in fact CDN
will be the default way to install BokehJS starting with version
0.11 in November.

I agree there are benefits in embedding the code.
Sounds nice that you make it configurable in the future, because there
are different - conflicting - benefits in cloud hosting, local hosting
and embedding.
I can imagine it being preferable for Two Sigma to stick to your future
default of cloud hosting, whereas for Debian redistribution we want to
avoid trackability hence prefer switching to a local path per default.
I've created a separate issue on the Beaker ability to benefit from that
future configurability, to allow users to choose between benefits of
reliance on internet (cloud), system (localpath) or document (embed).

• Just to be clear: both the full and minified BokehJS files contain
inside them, the plaintext licenses of any dependencies that are
vendored in, in order to comply with the terms of those licenses.

Uhm, that seems incorrect, actually: As an example, your full source
include Font Awesome which is licensed as OFL-1.1, yet apparently you
only mention the shortname of that license despite its condition #2 is
that both copyright and license be included.
Also, minified code embedded in a Beaker notebook lacks verbatim
copyright and license, as Scott points out in bokeh/bokeh/#2957
I suggest Bokeh to include in src/vendor/font-awesome-4.2.0 LICENSE and
COPYRIGHT files containing OFL-1.1 license and upstream copyright
statement, respectively. And somehow ensure that both are included
directly tied to minified code too - i.e. either within or as separate
files, as long as they are "easily viewed by the user."
NB! Authors of Font Awesome don't include the license themselves:
Licensing terms apply for licensees but not copyright holders
themselves. Bokeh may similarly choose to not include their own license
even though requiring it of their licensees. But I believe Beaker
cannot ignore that (within the general licensing terms passed on to its
users, including Debian).

• Since the source code for BokehJS is actually written in
coffeescript, and the compiled to JavaScript, I do not consider the
mere usage of BokehJS (as we obviously intend for people to be able
to do) to constitute a "source distribution". A "source
distribution" (in my opinion) is a redistribution of the original,
primary, uncompiled CoffeeScript sources. Therefore, the license
requires (at most) that the license be available "in the
documentation and/or other materials provided with the
distribution". Since BokehJS file contains a link to the Bokeh
documentation inside it, I will stipulate that this is sufficent.

Makes sense, and fits (my interpretation of) OFL-1.1 requirements too.
Issue here in Beaker is that copyright and license is missing.
I suggest to include in Beaker credits page both copyright and license -
verbatim, not shortname or web link - for both BokehJS and all of its
upstreams where licensing requires it (no matter if Bokeh themselves
included all of that in their distribution).

• We will improve the wording to make things clearer. However, IANAL,
so if you are, and would like to help, a PR would certainly be
appreciated.

Sorry for not clarifying earlier: I am no lawyer either, merely a Debian
developer (i.e. a software "librarian" more than a programmer) who cares
about respecting the various licensing terms of everyone involved in the
FLOSS ecosystem.

I have made an issue you can refer to to track these changes: #2651

Thanks. Oddly enough Github links wrongly in its email representation,
but I saw the proper link online :-)

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136 Website: http://dr.jones.dk/

[x] quote me freely [ ] ask before reusing [ ] keep private
—
Reply to this email directly or view it on GitHub.

Quoting Bryan Van de Ven (2015-10-08 13:58:36)

Jonas, I was not as clear as I could have been. It is configurable
now, we are merely changing the default behavior in the future. If
you'd like to utilize CDN resources instead of inline resources that
has been possible for ~2 years.
Regarding the minified files it seems that the inclusion of license
comments was unintentionally lost when we switched from grunt to gulp
for our build. Grunt minify tools do include the comments by
default, but gulp tools (unfortunately) do not include them by
default. This was an oversight. This behavior has been explicitly
re-enabled in bokeh/bokeh#2958 and the license comments will be
present in all future dev builds and full releases. We will strive to
patch or update existing files to the extent of our ability, as we are
able.

Cool!  Both points :-)

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136  Website: http://dr.jones.dk/

[x] quote me freely  [ ] ask before reusing  [ ] keep private

Thanks for raising these issues, BTW. Our intention is to be compliant with strict interpretations of license obligations. But development is a frenzy, and unintended consequences sometimes happen (as seen), so it is good that you brought this to our attention.


PHOENIX-5472 Fix few typos in the javadocs

JIRA :https://issues.apache.org/jira/browse/PHOENIX-5472

when will this pr be merged? @yanxinyi


chore: replace deprecated action

Description
Workspace

replace deprecated action

References

#1636

Doesn't look like the solution is a simple replacement of the deprecated action with an npx command. For some reason the license header in HTML files was not detected in existing files. Needs to be investigated more.


lein-tools-deps issue

Hey there!
It seems that lein-tools-deps no longer works with recent versions of tools.deps. Do you have any suggestions on how to run tests?

Hmm, I think this was the first project that I used tools deps on. Pushed a trivial fix so that you can use clojure -Mtest

Thank you!


Actual Behavior
When using the Git integration with Insomnia, I've noticed that the Commit function does not complete successfully on a repository with a git submodule.  Cloning via the GitHub auth mechanism (or setting up a respiratory manually), and then executing the Commit function will result in a spinning wait icon in the Commit screen and no further progress.

Reproduction Steps
Create a repository with a git submodule, make a change (for example add a spec file), then execute a Git Commit operation.
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2022.3.0
What operating system are you using?
macOS
Operating System Version
macOS Monterey 12.4
Installation method
Downloaded from main page
Last Known Working Insomnia version
No response

Hi @rspurgeon, thank you for reporting this!
I was able to reproduce this as well. The moment I try to commit after setting up git sync on a repo, I see the "infinite loading" behavior.
We seem to be hiding an error that is thrown when folks try to issue a commit on a repo with submodules:
/Users/filipe.freire@konghq.com/work/insomnia/packages/insomnia/node_modules/isomorphic-git/index.cjs:2107 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'byteLength')
    at Function.wrap (/Users/filipe.freire@konghq.com/work/insomnia/packages/insomnia/node_modules/isomorphic-git/index.cjs:2107:37)
    at hashObject$1 (/Users/filipe.freire@konghq.com/work/insomnia/packages/insomnia/node_modules/isomorphic-git/index.cjs:12775:27)
    at getWorkdirOid (/Users/filipe.freire@konghq.com/work/insomnia/packages/insomnia/node_modules/isomorphic-git/index.cjs:13088:34)
    at async Object.status (/Users/filipe.freire@konghq.com/work/insomnia/packages/insomnia/node_modules/isomorphic-git/index.cjs:13129:26)
    at async GitStagingModal2._refresh (git-staging-modal.tsx:207:7)
    at async GitStagingModal2.show (git-staging-modal.tsx:176:5)

Note: I used as an example for the git sync this repository: https://github.com/filfreire/example-parent-repo (which has this submodule repository inside https://github.com/filfreire/example-submodule-repo).
@rspurgeon we'll update this ticket as soon as there's any fixes or work done on this specific issue.

Same problem here

This problem keeps happening, some solution?
I even updated to the last beta version, but still not fix this.

Version: Insomnia 2022.7.0-beta.6
Build date: 29/11/2022
OS: Windows_NT x64 10.0.19044
Electron: 21.2.0
Node: 16.16.0
V8: <IP_ADDRESS>-electron.0
Architecture: x64
Git Sync: GitLab

Still having the same issue in 2022.7.0

Any update on this? This along with a lot of other issues with the git integration is kind of preventing us from working nicely with Insomnia.
Is there perhaps a workaround so we can play with the git cli (installed on the computer) ourselves instead of having to go through isomorphic-git


Remove references to the old Horizon command in the Admin guide

https://github.com/stellar/go/blob/master/services/horizon/internal/docs/admin.md - db backfill command is still there.

Mentioned as causing confusion here: https://github.com/stellar/go/issues/2561


Does this fade in images?

Does this component animate images when they are loaded?

@amilajack it doesn't right now, but that sounds like a pretty solid idea.


mc dev-proxy does not read --passkey from MDSP_PASSKEY variable like other commands

Describe the bug
See title
To Reproduce
PS> $env:MDSP_PROXY="superSecretPasskey"
PS> mc dev-proxy --mode credentials

you have to specify passkey for credentials mode
PS>

Expected behavior
Should work like --passkey
PS> mc dev-proxy --mode credentials --passkey "superSecretPasskey"

Mode credentials

CORS support on
...

@bratkartoff is fixed in 3.17.0


Added shard statistics REST APIs

Scope & Purpose

Added new REST APIs for retrieving the sharding distribution:

GET /_api/database/shardDistribution will return the number of collections, shards, leaders and followers for the database it is run inside. The request can optionally be restricted to include data from only a single DB server, by passing the DBserver URL parameter.
This API can only be used on coordinators.

GET /_admin/cluster/shardDistribution will return global statistics on the current shard distribution, showing the total number of databases, collections, shards, leaders and followers for the entire cluster. The results can optionally be restricted to include data from only a single DB server, by passing the DBserver URL parameter. By setting the details URL parameter, the response will not contain aggregates, but instead one entry per available database will be returned.
This API can only be used in the _system database of coordinators, and requires admin user privileges.

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[x] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[x] :book: CHANGELOG entry made

Backports:

[x] No backports required

Related Information

[x] Docs PR:

Testing & Verification

[x] The behavior in this PR was manually tested
[x] This PR adds tests that were used to verify all changes:

[x] Added new integration tests (shell_client)

Link to Jenkins PR run:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13884/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13889/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13891/

Tests blue

Rerunning Jenkins after large merge:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13898/


Update Back up with Seed illustration

This is what we have now:

This is an updated illustration:

Sketch Cloud:
https://sketch.cloud/s/e4OJW/a/vngxyn
Zeplin:
https://app.zeplin.io/project/5d0356be2f25b319dcc5944b/screen/5e09f5de2149329a03eb4586/

I have just updated this illustration. Please overwrite the existing one (Zeplin).

@vladyslav-iosdev remember to check the Zeplin version. Screenshot might be outdated.


Config fail to open - Laravel

After You change location of config files i get
"vendor/evilfreelancer/easyrsa-php/src/config/easy-rsa.php): failed to open stream: No such file or directory"

Hello! Thanks for reporting this bug, i'll check

Try 1.0.1 version, I've added small fix.

Yes. Now is ok. Thx


Update index.md

BioDrop archived from June 10, 2024

Please confirm this pull request meets the following requirements:

[ ✓ ] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[ ✓ ] I am not the sole author or employee of a company who created either the topic I am modifying/adding or the collection entry I am modifying/adding.

Which change are you proposing?

[ ✓ ] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[ ✓ ] Content (and my changes are in index.md)

As I have already mentioned, BioDrop is going to be archived from June 10, 2024.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[ ] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

False postitive test failure


Nugets being published with full version

Describe the bug
Nuget packages for application inspector are being published with the full version including the commit hash after the dash.  This triggers nuget.org into thinking it is a pre-release package and it is thus unavailable if you just call regular install.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.nuget.org/packages/Microsoft.CST.ApplicationInspector.CLI/1.2.83-ge9290d303a
See how versions have extra after dash starting a few releases ago

@daalcant let me know if you have time to investigate this week or not and I'll jump in.

I don't see any changes that should have caused this problem. I'll investigate this week.

Fixed, found a pipeline error. Latest version is now 1.2.77 as expected.


Not working

Hi Daniel, thanks for your work but the latest release doesn't work. Can you please fix it? Thanks a lot

hi @robertobalestri what exactly isnt working? which part

please reopen the issue or make a new one with providing some details on which part is not working since there is currently 2 other issues which you can check perhaps those are the ones you have other than that majority of the functionality works as intended

hi @robertobalestri what exactly isnt working? which part

The fact is that the program when clicking on download correctly fetches the "not blurred" pages, but it doesn't correctly "transform" the blurred pages in not blurred. In fact, it adds them to the pdf in a very small blurred format. Try it on any document on studocu.


Open root path of adapter in TreeView

Hi,
This PR makes it possible to open the root path of an adapter through the TreeView.
New behaviour when you click on the adapter name:

Adapter is not selected: open root path
Adapter is already selected: toggle visibility of subfolders

Result:
https://github.com/user-attachments/assets/e1ea6216-6ff9-414a-bc4e-987876795c6e

thx


Configure project-config itself as pre-commit hook

Done in https://github.com/mondeja/project-config-styles/commit/350e7d02a73284d9ade065d7c97e85859fb75be0


Changing path after normalizing name

Changing path in Formation.jsx after the change of the folder Lesson to lesson

Need a review


Add version detection support for php URL

Pulls a semver from anywhere in the URL (not just stem).

Thanks for your contribution to Homebrew/brew, @kabel!  You rock!


Npm package do not update the last code？

The csscomb package 4.2.0 do not resolve the problem Only one instance of babel-polyfill is allowed.
The package core.js is still as follow:
require('babel-polyfill');

@zhanfang fix for this problem will be in 4.3.0
https://github.com/csscomb/csscomb.js/pull/531/files
You can track progress here
https://github.com/csscomb/csscomb.js/milestone/18

@aiboy Thanks！


CLICKHOUSE-3444: show error for old query on replace_running_query

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

You are relying on an assumption that is_cancelled flag in processlist is set only when the query was cancelled by replace_running_query. This is non obvious for me.


Why &mut self for fn search in trait Index

Hello.
Faiss binding required only *const FaissIndex
https://github.com/Enet4/faiss-rs/blob/master/faiss-sys/src/bindings.rs#L108
but here &mut self
https://github.com/Enet4/faiss-rs/blob/master/src/macros.rs#L71
https://github.com/Enet4/faiss-rs/blob/master/src/macros.rs#L76

A mutable reference to the index is required to comply with the thread safety guarantees of index implementations. In particular, an index of an unknown implementation is not guaranteed to be thread safe, even for searching. While the native Faiss API (and by consequence the C API) are more lenient on this matter by letting this operation be performed over a const reference, Rust has stricter aliasing requirements which are leveraged here to prevent data races at compile-time.
In general, you are advised to follow the guidelines for concurrent index searching: since they are already backed by multiple threads internally, calling search from multiple threads can cripple performance. As a workaround, in the case of CPU-backed indexes, if you downcast the index to its implementation, then the interface on the ConcurrentIndex trait will become available, which lets you search through an immutable reference.

Thanks.
I see.
https://docs.rs/faiss/0.9.0/faiss/index/trait.ConcurrentIndex.html
"... batched querying"
How can I split results for 2 different queries from SearchResult struct?

The API is currently a bit thin here, but the logic is the same as in the native API: in search and assign, each query maps to k search results. So to get to the ith result of the jth query, you can index the distance or index property by j * k + i.

Thanks!
I am trying.


salt-cloud

Hi ,
I am getting following error when i am trying use salt-cloud..
salt-cloud 2015.5.3 (Lithium)
I have also installed  and also pyVmomi Python module .
Following are the contents of the vmware.conf
my-vmware-config:
provider: vmware
user: 'myuser'
password: 'mypass'
url: 'xx.xxx.xxx.x'
vcenter01:
provider: vmware
user: 'myuser'
password: 'mypass'
url: 'xxxxxx'
protocol: 'https'
port: 443
[xxxxx@test salt]# salt-cloud -f test_vcenter_connection my-vmware-config
[WARNING ] The cloud driver, 'vmware', configured under the 'vcenter01' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'vmware' driver.
In rare cases, this could indicate the 'vmware.get_configured_provider()' function could not be found.
Removing 'vmware' from the available providers list
[WARNING ] The cloud driver, 'vmware', configured under the 'my-vmware-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'vmware' driver.
In rare cases, this could indicate the 'vmware.get_configured_provider()' function could not be found.
Removing 'vmware' from the available providers list
Error: There was an error running the function: No cloud providers matched 'my-vmware-config'. Available selections:
any help , debug pointers for above error..

Greetings,
The VMware driver that works in conjunction with pyVmomi is not in
2015.5.3.  It was introduced in 2015.5.4 (see the version added note here:
https://docs.saltstack.com/en/latest/ref/clouds/all/salt.cloud.clouds.vmware.html).
Packages for 2015.5.4 or .5 may not have worked their way through their
respective distro processes yet.  If you don't want to wait to upgrade, you
can retrieve the driver from the GitHub repo here
https://github.com/saltstack/salt/blob/v2015.5.4/salt/cloud/clouds/vmware.py
On Mon, Aug 31, 2015 at 3:10 AM, makarandkm<EMAIL_ADDRESS>wrote:

Hi ,
I am getting following error when i am trying use salt-cloud..
salt-cloud 2015.5.3 (Lithium)
I have also installed and also pyVmomi Python module .
Following are the contents of the vmware.conf
my-vmware-config:
provider: vmware
user: 'myuser'
password: 'mypass'
url: 'xx.xxx.xxx.x'
vcenter01:
provider: vmware
user: 'myuser'
password: 'mypass'
url: 'xxxxxx'
protocol: 'https'
port: 443
[xxxxx@test salt]# salt-cloud -f test_vcenter_connection my-vmware-config
[WARNING ] The cloud driver, 'vmware', configured under the 'vcenter01'
cloud provider alias, could not be loaded. Please check your provider
configuration files and ensure all required dependencies are installed for
the 'vmware' driver.
In rare cases, this could indicate the 'vmware.get_configured_provider()'
function could not be found.
Removing 'vmware' from the available providers list
[WARNING ] The cloud driver, 'vmware', configured under the
'my-vmware-config' cloud provider alias, could not be loaded. Please check
your provider configuration files and ensure all required dependencies are
installed for the 'vmware' driver.
In rare cases, this could indicate the 'vmware.get_configured_provider()'
function could not be found.
Removing 'vmware' from the available providers list
Error: There was an error running the function: No cloud providers matched
'my-vmware-config'. Available selections:
any help , debug pointers for above error..
—
Reply to this email directly or view it on GitHub
https://github.com/saltstack/salt-cloud/issues/933.

--
--cro
C. R. Oldham, Platform Engineer, SaltStack
<EMAIL_ADDRESS>/<PHONE_NUMBER>

Thanks a lot let me checkout latest code and give it a try..


ENH: Testing Docker Entrypoints during Docker build

During the docker build phase we can effectively implement tests in docker by having sh scripts that use set -/+e sections. Thus, we can fail our own builds if these scripts don't pass. Of course, we can use more sophisticated testing strategies, as well.
However, I am still unclear on how we can test ENTRYPOINT and CMD as the container is not run after building. It seems that a nice feature for testing would be to tack on a command like this docker run -it <image> /bin/sh -e -c "exit 0" at the end of the Dockerfile or at least provide us a way to specify such a run command to validate the ENTRYPOINT (e.g. TEST_ENTRYPOINT). That way the container can be started in some minimal configuration and terminated with an indicative error code. Validating CMD could be tricky. I say this with a mind towards automated builds on Docker Hub where the build could be errored before providing an unusable container.
If this already exists in some fashion, I apologize for asking the obvious and ask that you kindly point me where to look. If not, I would really appreciate some thought as to how this could be implemented.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Tried searching through issues here and Docker Hub forum. Didn't see anything relevant. Also, not a bug, but a feature request so ignoring the rest.

You can just run the image manually to test the entrypoint/cmd.
However running with /bin/sh -e -c "exit 0" would be frivolous as this is replacing the cmd.


refactor: Move release channel button to settings

In a discussion in voice-chat with Emma and Spoon we concluded that switching to Northstar RC release channel should be more accessible without activating DevView.
The goal is to strike a balance between easier to switch to release candidates while also being hard enough to deter someone from accidentally or unknowingly enable it and keeping it enabled.
A suggested idea was having a checkbox to enable "Playtester mode" that then in turns allows switching release channel in PlayView using a dropdown menu or similar.

Examples from other popular applications for enabling playtester mode / selecting release channel

(Note that in the case of Battle.net here it talks about the launcher, while in our case the release channel switching is for Northstar, not FlightCore)

I like Battle.net way of doing it, ping me if you need some help on the dropdown UI :)

I like Battle.net way of doing it, ping me if you need some help on the dropdown UI :)

Given that it's basically all frontend, I wouldn't mind a helping hand :>

Adding some UI with #86

Superseded by #86