New LSC (Battletron) device

I just purchased a battletron led strip from action; https://www.action.com/nl-nl/p/3206528/battletron-bureau-led-lichtstrip-razer-chroma/
I've opened up the controller, and found the following PCB

Connecting to UART2_TX I get the following:
V:BK7231N_1.0.1
REG:cpsr     spsr     r13      r14
SVC:000000D3          00401C1C 000033AC
IRQ:000000d2 00000010 00401e0c 301005b2
FIR:000000d1 00000010 00401ffc 92820353
SYS:000000df          0040192c 00000158
ST:00000000
J 0x10000
bk_misc_init_start_type 0 0
[MEM DBG] heap init-------size:163128 addr:0x4082c8---------
[Flash]id:0xeb6015
[load]bandgap_calm=0x75->0x35,vddig=4->5
[bk]tx_txdesc_flush
tkl_ethernetif_init
tkl_ethernetif_init
tkl_ethernetif_output: invalid vif: 255!
tkl_ethernetif_output: invalid vif: 255!
[01-01 00:00:00 TUYA N][lr:0x4eb2b] reset info -> reason is 0
[01-01 00:00:00 TUYA E][lr:0xc9c73] uf_open 10 err 8
[01-01 00:00:00 TUYA E][lr:0x54b23] uf file 10 can't open and read data!
[01-01 00:00:00 TUYA E][lr:0x4f5db] ledsum data read error!
[01-01 00:00:00 TUYA N][lr:0x51923] ReadLedSumData error,use deafult ledSum:36
[FUNC]intc_init
[FUNC]calibration_main
gpio_level=0,txpwr_state=0
get rfcali_mode:0
DPLL Unlock
[01-01 00:00:00 TUYA E][lr:0x4e01d] ws2812b_led_count_set error!
[01-01 00:00:00 TUYA N][lr:0x49335] flashAppData.bSwitch:1
[01-01 00:00:00 TUYA N][lr:0x58efb] local music need not init!
[01-01 00:00:00 TUYA E][lr:0xc9c73] uf_open 10 err 8
[01-01 00:00:00 TUYA E][lr:0x54b23] uf file 10 can't open and read data!
[01-01 00:00:00 TUYA E][lr:0x4f5db] ledsum data read error!
mode:0, rate:6600000
spi_master:[CTRL]:0x00c30930
[CTRL]:0x00c20900
[CONFIG]:0x00000000
[01-01 00:00:00 TUYA E][lr:0x50cd1] lig way err
[01-01 00:00:00 TUYA N][lr:0x55751] go to pre device!
[01-01 00:00:00 TUYA N][lr:0x4eb2b] reset info -> reason is 0
DPLL Unlock
[01-01 00:00:00 TUYA N][lr:0x55385] tunr on and eMode:1
[01-01 00:00:00 TUYA E][lr:0x4e8b3] upload_id [20] Dp Upload report err
[01-01 00:00:00 TUYA E][lr:0x8affb] logseq empty
[01-01 00:00:00 TUYA N][lr:0x4eb2b] reset info -> reason is 0
ota don't start or start err, can't end inform!
[01-01 00:00:00 TUYA N][lr:0xb9157] key_addr: 0x1ee000   block_sz 4096
[01-01 00:00:00 TUYA N][lr:0xb9225] get key:
0x23 0x64 0x12 0x68 0xe6 0xe6 0x2d 0x78 0x9b 0x1f 0xa0 0x80 0x85 0x1c 0xd3 0x39
[01-01 00:00:00 TUYA N][lr:0x90f55] uni_random_init...
[01-01 00:00:00 TUYA N][lr:0x89bd9] tuya_tls_rand_init ok!
DPLL Unlock
DPLL Unlock
rate=54,channel=1,tssi_thred=0x7d,tssi_offset=0x4a4,index=64
rate=54,channel=7,tssi_thred=0x7d,tssi_offset=0x4a4,index=61
rate=54,channel=13,tssi_thred=0x7d,tssi_offset=0x4a4,index=57
rate=11,channel=1,tssi_thred=0xd0,tssi_offset=0x4a4,index=32
rate=11,channel=7,tssi_thred=0xd0,tssi_offset=0x4a4,index=30
rate=11,channel=13,tssi_thred=0xd0,tssi_offset=0x4a4,index=28
0x7
[01-01 00:00:01 TUYA N][lr:0x4c849] mf_init succ
[01-01 00:00:01 TUYA N][lr:0x55bc3] < TuyaOS V:3.3.40 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0 >
< BUILD AT:2023_02_15_14_08_59 BY ci_manage FOR tuyaos-iot AT bk7231n >
IOT DEFS < WIFI_GW:1 DEBUG:1 KV_FILE:0 LITTLE_END:1 TLS_MODE:2 OPERATING_SYSTEM:9[01-01 00:00:01 TUYA N][lr:0x55bd3] oem_bk7231n_slide_strip_ty:1.1.16	Date:Apr 25 2024 12:40:55
[01-01 00:00:01 TUYA N][lr:0x55c79] differ init
[01-01 00:00:01 TUYA N][lr:0x4f861] Data line:17, column:2
[01-01 00:00:01 TUYA N][lr:0x50355] device config data already load! Don't load again!!
[01-01 00:00:01 TUYA W][lr:0x51883] already init
[01-01 00:00:01 TUYA E][lr:0xc9c73] uf_open 2 err 8
[01-01 00:00:01 TUYA E][lr:0x54b23] uf file 2 can't open and read data!
[01-01 00:00:01 TUYA E][lr:0x4f635] Production data read error!
DPLL Unlock
DPLL Unlock
calibration_main over
calibrate low value:[6b3]
calibrate high value:[d65]
temp in flash is:350
xtal in flash is:38
[FUNC]func_init_extended OVER
Version:0.0.100-beta.15
app_init finished
[01-01 00:00:01 TUYA N][lr:0x4c8b1] current product ssid name:tuya_mdev_test1
[sa_sta]MM_RESET_REQ
[bk]tx_txdesc_flush
[sa_sta]ME_CONFIG_REQ
[sa_sta]ME_CHAN_CONFIG_REQ
[sa_sta]MM_START_REQ
sizeof(wpa_supplicant)=928
hapd_intf_add_vif,type:2, s:0, id:0
wpa_dInit
netif_is_added: 0x3f628c
netif_is_added: 0x3f6244
net_wlan_add_netif already exist!, vif_idx:0
mac 38:2c:e5:2d:1d:f2
net_wlan_add_netif done!, vif_idx:0
scan SSID: 74 75 79 61 5F 6D 64 65 76 5F 74 65 73 74 31
wpa_supplicant_req_scan
Setting scan[retry6] request: 0.000000 sec
wpa_supplicant_scan
wpa_supplicant_scan 866
wpa_drv_scan
ht in scan
scan_start_req_handler
wlan_sta_scan tries count: 0
wpa_driver_scan_start_cb
temperature_type=2
temp_code:43 - adc_code:314 - adc_trend:[13]:350->[16]:320
wpa_driver_scan_cb
Scan completed in 2.804000 seconds
wait sem timeout
scan err
[01-01 00:00:04 TUYA N][lr:0x55d89] frame goto init!
[01-01 00:00:04 TUYA N][lr:0x55d97] ucConnectMode:5
[01-01 00:00:04 TUYA N][lr:0xa62fb] wifi soc init. pid:keyj3w8cmutjmwk5 firmwarekey:keyj3w8cmutjmwk5 ver:1.1.16
[01-01 00:00:04 TUYA N][lr:0xaa885] start wifi link params validate, nc_tp:0 md:0
[01-01 00:00:04 TUYA N][lr:0xaa8c1] wifi config method not fit
[01-01 00:00:04 TUYA N][lr:0xaa521] reset wifi link params to factory state, nc_tp:1 md:0 mthd:5 start mode:3
[01-01 00:00:04 TUYA E][tuya_wifi_link.c:582] ret:-2819
[01-01 00:00:04 TUYA N][lr:0xc73cd] Last reset reason: 0
[01-01 00:00:04 TUYA N][lr:0xc745f] gw_cntl->gw_wsm.stat:0
[01-01 00:00:04 TUYA N][lr:0xc7509] gw_cntl->gw_if.abi:0 input:0
[01-01 00:00:04 TUYA N][lr:0xc7519] gw_cntl->gw_if.product_key:keyj3w8cmutjmwk5, input:keyj3w8cmutjmwk5
[01-01 00:00:04 TUYA N][lr:0xc7523] gw_cntl->gw_if.tp:0, input:0
[01-01 00:00:04 TUYA N][lr:0xc7535] gw_cntl->gw_if.firmware_key:keyj3w8cmutjmwk5, input:keyj3w8cmutjmwk5
[01-01 00:00:04 TUYA N][lr:0xc7661] enter reset factory
[01-01 00:00:04 TUYA N][lr:0xc7aff] enter success_proc
[01-01 00:00:04 TUYA N][lr:0xc7b11] serial_no:382ce52d1df2
[01-01 00:00:04 TUYA N][lr:0x55dcb] frame init ok!
rw_ieee80211_set_country code:
code: CN
channel: 1 - 13
mode: MANUAL
bk_wlan cca closed
wpa_supplicant_req_scan
Setting scan[retry6] request: 0.000000 sec
wpa_supplicant_scan
wpa_supplicant_scan 866
wpa_drv_scan
ht in scan
scan_start_req_handler
wlan_sta_scan_once tries count: 0
wpa_driver_scan_start_cb
RSSI: 16:cc:20:8a:15:23  -74 -> -73
RSSI: ae:22:15:a1:c3:de  -81 -> -80
wpa_driver_scan_cb
Scan completed in 2.336000 seconds
wait sem timeout
net_wlan_remove_netif done!, vif_idx:0
Cancelling scan request
scanu completed
Soft_AP_start
[saap]MM_RESET_REQ
[bk]tx_txdesc_flush
[saap]ME_CONFIG_REQ
[saap]ME_CHAN_CONFIG_REQ
[saap]MM_START_REQ
apm start with vif:0
me_set_ps_disable:869 0 0 1 0 0
------beacon_int_set:100 TU
set_active param 0
[msg]APM_STOP_CFM
update_ongoing_1_bcn_update
hal_machw_enter_monitor_mode
[01-01 00:00:07 TUYA N][lr:0x49845] --->last wifi stat:255, wifi stat 1
[01-01 00:00:07 TUYA E][lr:0xc9c73] uf_open 10 err 8
[01-01 00:00:07 TUYA E][lr:0x54b23] uf file 10 can't open and read data!
[01-01 00:00:07 TUYA E][lr:0x4f5db] ledsum data read error!
[01-01 00:00:07 TUYA N][lr:0x51923] ReadLedSumData error,use deafult ledSum:36
[01-01 00:00:07 TUYA N][lr:0x498b3] start ez config auto blink
[01-01 00:00:07 TUYA N][lr:0x49637] resetColor:2 eLightWay:3
[01-01 00:00:07 TUYA N][lr:0x55655] --->stat:1
[01-01 00:00:07 TUYA N][lr:0xc0243] bt startup attr:ff
[01-01 00:00:07 TUYA N][lr:0x8dad5] upd product_id type:1 keyj3w8cmutjmwk5
[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] dev id key: 16
35 51 1c cf 16 21 52 99 33 83 fb 73 28 e0 d5 59

[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] adv_data 28
02 01 06 03 02 01 a2 14 16 01 a2 01 a8 91 88 25 ca 12 c4 fa b8 79 6d db 0a e3 2f 8b

[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] rsp_data 30
03 09 54 59 19 ff d0 07 89 03 00 00 0c 00 3d d8 c5 10 ec 8b 2c 0c 00 02 73 22 22 43 ef 9e

ble mac:38-2c-e5-2d-1d-f3
llm_init:312

tkl_hci_callback_register
llm_init:312
[01-01 00:00:07 TUYA N][lr:0x8e3c7] ble sdk re_inited
[01-01 00:00:07 TUYA N][lr:0x8dc5b] ty bt sdk init success finish
[01-01 00:00:07 TUYA N][lr:0x8e25d] cur bound stat:1, update bound stat:0
[01-01 00:00:07 TUYA N][lr:0xcf4df] Start Adv
[01-01 00:00:07 TUYA N][lr:0xc7dd7] __devos_init_evt success
[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] dev id key: 16
6f 78 23 07 7e 3f 9f 46 4d d4 3d 57 db de 0c af

[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] adv_data 28
02 01 06 03 02 01 a2 14 16 01 a2 01 6b 65 79 6a 33 77 38 63 6d 75 74 6a 6d 77 6b 35

[01-01 00:00:07 TUYA N][tuya_ble_api.c:77] rsp_data 30
03 09 54 59 19 ff d0 07 09 03 00 00 0c 00 c8 35 1c d4 2d 1d a4 c6 a0 2d 50 d5 de 01 2e bf

[01-01 00:00:07 TUYA N][lr:0xcf4df] Start Adv
[01-01 00:00:07 TUYA N][lr:0x8e155] ble adv && resp changed
DPLL Unlock
cal dpll!
temp_code:45 - adc_code:309 - adc_trend:[16]:320->[17]:310
[01-01 00:00:25 TUYA N][lr:0x493db] def color:2

I tried to flash esphome directly via the web-serial thing, and ltchiptool gui, but I cannot do anything over UART1. Doing a CEN reset just boots the device, without any 'wait' time. The pinout also has 'P21' brought out, which doesn't seem to serve any function. Is there some trick with regards to the bootloader? Online I read everywhere 'BK7231N doesn't have a boot pin, just reset the chip'. But this hasn't been helpful in so far.
I've also tried to create the missing profile/device json's; but my gut feeling say,s, they won't be useful as we are talking 'patched SDK'.
I just want to flash 3rd party firmware, and don't mind creating the needed profiles along the way, but then how to proceed from here on?

Actually, the SDK line is a direct match against the other patched ones, so we know this one is also patched.  Added to the list.

Thanks @Cossid and I was fearing this already :) I just hoped with the activity of cloud-cutter this was an ongoing thing (cat/mouse game). So looks like it's game over for cloudcutter for this device.
So how much timing is there to do a serial flash? less then a second it seems. Just spam reset until it catches? Oof. Is there also a DTS/DTR trick like we do on ESP's? Any pointers to what to read? The information on UART flashing seems quite light.
To your knowledge, are there BK7231N chips that have something done to them (fuses etc) that prohibits flashing/triggering flash mode?
P.S. The esphome config I had more or less figured out already
substitutions:
  device_name: "battletron-desk-strip-3m"
  friendly_name: "Battletron Desk Strip 3 meter"
  device_description: "Battletron Desk Strip 3 meter - 3206528"

esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}
  comment: ${device_description}
  name_add_mac_suffix: true
  min_version: 2024.6.6

bk72xx:
  board: generic-bk7231n-qfn32-tuya

logger:

api:
  encryption:
    key: !secret api_encryption_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    password: !secret fallback_hotspot_password

captive_portal:

web_server:
  port: 80
  auth:
    username: !secret web_server_user
    password: !secret web_server_password

improv_serial:

text_sensor:
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: true

  - platform: wifi_info
    ip_address:
      name: IP
    mac_address:
      name: MAC
    ssid:
      name: SSID
    bssid:
      name: BSSID

button:
  - platform: restart
    name: Restart
    entity_category: diagnostic

  - platform: safe_mode
    name: Safe mode
    entity_category: diagnostic

  - platform: factory_reset
    name: Factory reset
    entity_category: diagnostic

remote_receiver:
  pin:
    number: P26
    mode:
      input: true
      pullup: true
  dump: all

binary_sensor:
  - platform: gpio
    name: "Button"
    pin:
      number: P28
      inverted: true
      mode:
        input: true
        pullup: true
    on_press:
      - light.toggle: color_light

power_supply:
    id: led_power
    pin: P8

light:
  - platform: beken_spi_led_strip
    id: color_light
    name: "Color Light"
    pin: P16
    chipset: WS2812
    num_leds: 36
    rgb_order: RBG
    power_supply: led_power
    effects:
     - random:
     - pulse:
     - strobe:
     - flicker:
     - addressable_rainbow:
     - addressable_color_wipe:
     - addressable_scan:
     - addressable_twinkle:
     - addressable_random_twinkle:
     - addressable_fireworks:
     - addressable_flicker:

sensor:
  - platform: uptime
    name: "Uptime"

Technically they have an efuse, but they have never been used beyond storing an encryption key, which can already be dealt with.  We have not yet run into a device with properly exposed pins (3V3/GND/RX1/TX1) that couldn't be serial flashed.
As for the timing, LTChipTool, in my experience seems to be listening for 500ms for every 1 second frame, because it is also trying to do it's own resetting via DTS/DTR (I think), but most modules don't have the proper pins to support that, it's more of a development board thing.
Also, if you are struggling, keep your baud speed down to 115200, these devices can be a bit more tricky/touchy at higher speeds.

Technically they have an efuse, but they have never been used beyond storing an encryption key, which can already be dealt with. We have not yet run into a device with properly exposed pins (3V3/GND/RX1/TX1) that couldn't be serial flashed.

Is it written somewhere which efuses there are and what they are used for? What you speak of, is indeed where the Bootrom would expect the encryption key, or a set of fuses where the bootloader treats them as encryption keys. I read about this and that's logical. For all intents and purposes, these are 'storage' fuses if you will. There's often also configuration fuses, e.g. disable JTAG, disable UART flash or 'force secure boot' or things like that. But if this isn't really a known case, I doubt I'm suffering from it.

As for the timing, LTChipTool, in my experience seems to be listening for 500ms for every 1 second frame, because it is also trying to do it's own resetting via DTS/DTR (I think), but most modules don't have the proper pins to support that, it's more of a development board thing. So my board has brought out (as you can see) a bunch of pins, using RTS (according to the ltchiptool docs) to reset is certainly possible by tying it to CEN. This may help with the timing, but the bootloader just from start to code so fast, it's certainly less then one second. Though I would expect if I reset it manually a few times, while ltchiptool is scanning, it ought to trigger the flasher ...

Also, if you are struggling, keep your baud speed down to 115200, these devices can be a bit more tricky/touchy at higher speeds.

Thanks, I had set it to auto, but wouldn't a lower baudrate actually increase the timing? If this where a problem with reliably flashing stuff, I'd agree, but this is mostly just being able to trigger the bootloader to go into flash mode ...
Also, I'll try a different USB to UART adapter for this. While the LOG output works, who knows how finnicky things are. I have a true FTDI (without RTS) and a bus-priate, that can expose RTS on a pin. So i'll try that too.

Is it written somewhere which efuses there are and what they are used for? What you speak of, is indeed where the Bootrom would expect the encryption key, or a set of fuses where the bootloader treats them as encryption keys. I read about this and that's logical. For all intents and purposes, these are 'storage' fuses if you will. There's often also configuration fuses, e.g. disable JTAG, disable UART flash or 'force secure boot' or things like that. But if this isn't really a known case, I doubt I'm suffering from it.

It's not well documented, but everything points to storage efuse, it's only 32 bytes, and at least half of it is an encryption key when present.  We have not witnessed a single chip so far that couldn't be booted into download mode.

Thanks, I had set it to auto, but wouldn't a lower baudrate actually increase the timing? If this where a problem with reliably flashing stuff, I'd agree, but this is mostly just being able to trigger the bootloader to go into flash mode ...
Also, I'll try a different USB to UART adapter for this. While the LOG output works, who knows how finnicky things are. I have a true FTDI (without RTS) and a bus-priate, that can expose RTS on a pin. So i'll try that too.

The baud rate negotiation is happening much faster than any of the timing reset delays.  Lowering that should have pretty much no effect on connection time, that's milliseconds level.  It's just a matter of it happening within the reset time window, and quickly enough at the boot of the device.

It's worth mentioning that the linking is performed at 115200 baudrate, regardless of the tool setting. The chosen baudrate will only be used after linking, to speed up the actual flashing process.

Using a proper FTDI cable, and resetting via CEN a few times put me into bootloader mode successfully. It took a bit of finnicking; but going well. For future archiving, I'll attach the dumped ROM here.
I tried using ltchiptool gui; but that kept segfaulting, so ended up using the cli (which is fine of course, just a steeper learning curve).
I: |-- Success! Chip info: BK7231N
I: Reading chip info...
I: Chip: BK7231N
I: +-----------------------+-------------------------------------+
I: | Name                  | Value                               |
I: +-----------------------+-------------------------------------+
I: | Protocol Type         | FULL                                |
I: | Chip Type             | BK7231N                             |
I: | Bootloader Type       | BK7231N 1.0.1                       |
I: | Chip ID               | 0x7231c                             |
I: | Boot Version String   | N/A                                 |
I: |                       |                                     |
I: | MAC Address           | 38:2C:E5:xx:xx:xx                   |
I: |                       |                                     |
I: | Flash ID              | EB 60 15                            |
I: | Flash Size (by ID)    | 2 MiB                               |
I: | Flash Size (detected) | 2 MiB                               |
I: |                       |                                     |
I: | Encryption Key        | 510fb093 a3cbeadc 5993a17e c7adeb03 |
I: +-----------------------+-------------------------------------+
I: |-- Finished in 2.252 s

ltchiptool_bk72xx_2024-12-08_16-15-06_rom.bin.zip

Hey, I am currently in the process of converting the exact same product to ESPHome and happened to stumble upon this issue. I managed to get to bootloader mode, and I have sent the ESPHome Kickstart firmware, but after that the controller still behaves like it has the old firmware. Is there anything I did wrong?

Hey, I am currently in the process of converting the exact same product to ESPHome and happened to stumble upon this issue. I managed to get to bootloader mode, and I have sent the ESPHome Kickstart firmware, but after that the controller still behaves like it has the old firmware. Is there anything I did wrong?

I didn't use the kicstarter firmware, after dumping I just flashed my esphome binary (see my yaml file above). Once I have API working; I'll send my MR to esphome-device.

Hey, I am currently in the process of converting the exact same product to ESPHome and happened to stumble upon this issue. I managed to get to bootloader mode, and I have sent the ESPHome Kickstart firmware, but after that the controller still behaves like it has the old firmware. Is there anything I did wrong?

If you have stock functionality, you did not successfully flash ESPHome-Kickstart.  Post logs.

I didn't use the kicstarter firmware, after dumping I just flashed my esphome binary (see my yaml file above). Once I have API working; I'll send my MR to esphome-device.

Alright I'll try that, thanks! Otherwise I could wait until you have pushed a MR.

If you have stock functionality, you did not successfully flash ESPHome-Kickstart. Post logs.

It did seem to succeed, I have attached a log.
logfile.txt

Then define still behaving like it has the old firmware.
What logs do you get at boot on TX2?
If you can still control the device with SmartLife, then the OTA portion that was flashed somehow failed upon reboot (unsure how that could happen).  If it does not present a Kickstart AP, something didn't go correctly.
If the device simply stays lit as it previously was, that depends on the hardware configuration, as well as the default hardware configuration.
There is no way Kickstart can represent stock functionality.

Ah, the UG offset does appear to be incorrect, 0x132000 (T's offset) instead of 0x12A000 (N's offset).
Yeah, use the UF2 file.  Because of writing to the wrong offset, you should restore a full backup first now though.

Oops, that's an oversight on my part! Indeed, flashing the UF2 file works like a charm, thanks a lot!

@ivohulsman I've updated the yaml. The number of leds was wrong, Need to set to 35 instead of 36 (what the logs provided). Probably 0 - 35 or something. With 36 leds the 'scan' would drop off the end; with 35 it bounces nicely, so I guess this must be good. Also the rgb_order was wrong; with some trial and error I have the correct one now.
This yaml file works, the API works (no idea why it didn't before).
I'll spend some time in the next few days to decode the remote control and add that too; though I debating if I'll submit that to the merge request.

@ivohulsman I've updated the yaml. The number of leds was wrong, Need to set to 35 instead of 36 (what the logs provided). Probably 0 - 35 or something. With 36 leds the 'scan' would drop off the end; with 35 it bounces nicely, so I guess this must be good. Also the rgb_order was wrong; with some trial and error I have the correct one now.
This yaml file works, the API works (no idea why it didn't before).
I'll spend some time in the next few days to decode the remote control and add that too; though I debating if I'll submit that to the merge request.

I did notice that the colors didn't match, but changing the number of leds fixed that. Thank you very much for all your efforts, you have made my day a lot easier!

@ivohulsman I've updated the yaml. The number of leds was wrong, Need to set to 35 instead of 36 (what the logs provided). Probably 0 - 35 or something. With 36 leds the 'scan' would drop off the end; with 35 it bounces nicely, so I guess this must be good. Also the rgb_order was wrong; with some trial and error I have the correct one now.
This yaml file works, the API works (no idea why it didn't before).
I'll spend some time in the next few days to decode the remote control and add that too; though I debating if I'll submit that to the merge request.

I did notice that the colors didn't match, but changing the number of leds fixed that. Thank you very much for all your efforts, you have made my day a lot easier!

Interesting, I just looked more closely, and see that it really ought to be 36 leds. I play a bit more to get this right. Now that I can flash via esphome, It's easier to do!

Interesting, I just looked more closely, and see that it really ought to be 36 leds. I play a bit more to get this right. Now that I can flash via esphome, It's easier to do!

You are right, somehow I did not yet notice that 1 LED is not lit up. If there is anything I can do to help please let me know.

Got everything working now except https://community.home-assistant.io/t/setting-light-effect-from-a-button-binary-sensor/808061
Which should be trivial, but I have no idea yet how :)
On December 9, 2024 6:02:46 PM GMT+01:00, Ivo Hulsman @.***> wrote:

Interesting, I just looked more closely, and see that it really ought to be 36 leds. I play a bit more to get this right. Now that I can flash via esphome, It's easier to do!

You are right, somehow I did not yet notice that 1 LED is not lit up. If there is anything I can do to help please let me know.
--
Reply to this email directly or view it on GitHub:
https://github.com/tuya-cloudcutter/tuya-cloudcutter/issues/744#issuecomment-2528759888
You are receiving this because you authored the thread.
Message ID: @.***>

You'd just call a light.turn_on action and include the effect: <effect_name>

Perfect, how? Do you have an example? Ill try auto complete too meanwhile

I don't have a working example, but something along the lines of
light:
  - platform: beken_spi_led_strip
    id: color_light
    name: "Color Light"
    pin: P16
    chipset: WS2812
    num_leds: 36
    rgb_order: GRB
    power_supply: led_power
    effects:
     - random:
         name: "random"
     - pulse:
         name: "pulse"
    # etc...

then in your receiver on_press
on_press:
      then:
        - light.turn_on:
            id: color_light
            effect: "pulse"

I'm not sure if they're self-named without the explicit name

Excellent, this was just what i was looking for and works!! And yes, you have to use the 'Default name' that is used, which annoyingly is 'fine' for things like rainbow and random because that's what the names are, however on Color Wipe you'd have to know this fact.

I don't think that's true, as you can have more than one effect with the same base effect type, that is why the name field exists.  You can give them any name you wish, which is why I added that in my example, I just didn't change to a unique name.

Which works, for one second, but then HA and ESPHome have different idea's of what color to set, so I get 1 second from ESPHome which sets the color to red, and after, HA turns it to whatever color HA has self-assigned. Before it was working fine I believe (or maybe I hadn't configured HA ..) in that HA would just honor whatever ESPHome was doing.

Not sure what HA has to do with any of that.  It's possible you may have to add a delay between so they don't happen in the same loop, but I'm not certain.

Excellent, this was just what i was looking for and works!! And yes, you have to use the 'Default name' that is used, which annoyingly is 'fine' for things like rainbow and random because that's what the names are, however on Color Wipe you'd have to know this fact.

I don't think that's true, as you can have more than one effect with the same base effect type, that is why the name field exists. You can give them any name you wish, which is why I added that in my example, I just didn't change to a unique name.

What I meant, is that they have (internal) default names, that don't match the id. E.g. addressable_color_wipe has as its name Color Wipe, so as a dumb user, you need to be aware that these miss-match, from a spaces and prefix point of view, because actually they are separate things. It would have been better, that the default name where something like ${id} or something if you will.

Which works, for one second, but then HA and ESPHome have different idea's of what color to set, so I get 1 second from ESPHome which sets the color to red, and after, HA turns it to whatever color HA has self-assigned. Before it was working fine I believe (or maybe I hadn't configured HA ..) in that HA would just honor whatever ESPHome was doing.

Not sure what HA has to do with any of that. It's possible you may have to add a delay between so they don't happen in the same loop, but I'm not certain.

Well I have:
  - platform: remote_receiver
    name: "Color Red"
    raw:
      code: [ ... ]
    on_press:
      then:
        - light.turn_on:
            id: color_light
            effect: "none"

  - platform: remote_receiver
    name: "Color Green"
    raw:
      code: [ ... ]
    on_press:
      then:
        - light.addressable_set:
            id: color_light
            red: 0%
            green: 100%
            blue: 0%

  - platform: remote_receiver
    name: "Color Blue"
    raw:
      code: [ ... ]
    on_press:
      then:
        - light.turn_on:
            id: color_light
            effect: "none"
        - light.addressable_set:
            id: color_light
            red: 0%
            green: 0%
            blue: 100%

Where button 'red' works as expected and turns off the effect, green works and sets the color (affecting the effect as my per my 'issue' and blue, which would be the combination of the two doesn't. The effect gets turned off, the color is set for 1 second, and then home-assistant turns it to whatever color it thought things should be. Swapping the order obviously doesn't matter. Adding a delay might work, or should be interesting, but feels like a bug to me.

I still have no idea where HA is coming into play here, HA doesn't control the effect as it runs, it just starts/stops it if explicitly done, but when triggered by remote, HA shouldn't be doing anything.  I'm guessing you're just not getting the most recent state or something sent to HA.  Either way, this is far beyond the scope of CloudCutter, and any additional support should probably happen in an ESPHome issue.

Absolutly! It is way way offtopic. I suppose we both just went with it :) thanks anyway, and Ill start with a bug report.
And I agree, it seems like some state isnt sent/accepted somewhere, but it must be HA that sents the color change request. Anyway, yhanks for all your help :)

Just adding the Merge Request as 'final remark' here :)
https://github.com/esphome/esphome-devices/pull/947


Support more CHANGELOG.md naming variants

Examples include:

History.md
https://github.com/twilio/twilio-ruby/blob/master/CHANGES.md
https://github.com/rubysec/bundler-audit/blob/master/ChangeLog.md
https://github.com/rspec/rspec-core/blob/master/Changelog.md

I consider this need now met, and @hmarr has ideas for going further with it, to make Bump more knowledgeable about what is the changelog.


When trying to remove background using CPU, "Error displaying widget" pops up

I'm using Jupyter notebook version 7.0.8, Python 3.12.3

Updated ipywidgets and it solved the problem


Builder ignores defaultExtension configuration

After upgrade from jspm 0.16.19 to 0.16.20 (from systemjs-builder 0.14.15 to 0.15.0) the builder started to append .js extension despite defaultExtension: false is specified.
Example:
In config.js the following package is configured:
packages: {
  'test-app': {
    main: 'main.jsx',
    format: 'esm',
    defaultExtension: false
  }
}

When launching build with jspm bundle-sfx test-app ./bundle.js the following error occurs:
     Building the single-file sfx bundle for test-app...

err  Error on fetch for test-app/main.jsx at file:///C:/test-project/test-app/main.jsx.js
        Error: ENOENT, open 'C:\test-project\test-app\main.jsx.js'
         at Error (native)

Thanks, fixed in https://github.com/systemjs/systemjs/commit/6b3d426c07cd6b913c0db392c03784e28c5c8929.

Released in 0.15.2.

Great! Thanks!


Fix leaky bucket bug

Coverage increased (+0.007%) to 81.996% when pulling b99133db6b2f9ccd4b0aab255c6c0483096a7947 on leaky_bucket_too_leaky into 8630b10081fb7853b07b57573dbb6955160a6d53 on master.

Coverage increased (+0.007%) to 81.996% when pulling b99133db6b2f9ccd4b0aab255c6c0483096a7947 on leaky_bucket_too_leaky into 8630b10081fb7853b07b57573dbb6955160a6d53 on master.

Coverage increased (+0.007%) to 81.996% when pulling c36387f8c7d7622e9984bc11dd62fef037d08f2c on leaky_bucket_too_leaky into 8630b10081fb7853b07b57573dbb6955160a6d53 on master.

Coverage increased (+0.007%) to 81.996% when pulling c36387f8c7d7622e9984bc11dd62fef037d08f2c on leaky_bucket_too_leaky into 8630b10081fb7853b07b57573dbb6955160a6d53 on master.


feat: add tab mouse hover

Adds mouse hover effect on tabs

It would be nice if you added a little info about this in the readme! Great addition though :)

The latest push moves the inactive_hover to its own table within tab. Updated in the README as well.


With enough CPU, there's always room for improvement :)

Losslessly compressed the lossy compressed irrelevant example images because we don't understand SVG and we can only bikeshed with deflate streams .

Ya, I could prolly squeze it a bit more if I left it overnight... this one is 3010 bytes:


Change expiration to be unix timestamp

This gives us more fine grained expiration checks than the previous day granularity, which is useful since we've decreased the expiration of timestamp and there are times when it can be very close to 2 days til expiry (which is expected).
Ref https://github.com/sigstore/root-signing/pull/882

Summary

Release Note

Documentation

/hold til https://github.com/sigstore/root-signing/pull/882 is merged


Add setup for test

Description
Add test setup for the project. Added simple unit test for utils
Tasks Done

Add test for crypt
Add test for object
Add test for validator

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Predicate defensive programming

Adds defensive checks for Predicates to prevent further search mode exceptions
Should not be necessary as those fields are checked but could improve code quality and mitigate future bugs
Use equality check rather an assertions as these could lead to errors in runtime if other checks fail
Should not violate feature freeze?
Fits under:
Can be allowed only if the current behavior causes the software to misbehave (i.e., crash, give incorrect results, store inconsistent data, or make it unusable for typical users).
and improving code quality

Asking if allowed on forum, will convert to pull request if allowed


feat: Optimize merging numeric values

Description
Problem*
Resolves
Summary*
Found while working on https://github.com/noir-lang/noir/pull/4716
This reduces the size of the circuit in #4688 to just 19725 constraints (2314 acir opcodes). Forgot my local version of the test program was modified.
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

The difference I was seeing in constraint count was because I forgot I had locally changed the test file.
The CI of this PR indicates it also has no optimization changes elsewhere so I'm closing it.


Fix right column

Hi, now DataTable2 has left side sticky in the table, please create or help me to fix right side sticky for the tables actually I need that right side sticky.  please help me to fix!!!

That's a solid chunk of work, adding that kind of feature to the packages, no plans to work on it.
You might try creating your own UI without this package by using SDK's DataTable and putting 2 widgets in 2 columns with scrollable and working on scroll syncing.

Okie, thanks...

hope fix

expected :D you are awesome , please make it bro from fixedRightColumn 💯


run fullstop as integration-test

The idea is to startup 'fullstop' without spring-boot-maven-plugin to see that configurations and autowiring work as expected. This is not an final solution but it works for the moment. Maybe we should bake it into it's own profile to skip this on some builds.

can we please skip the integration tests for the "normal" mvn clean install use-case? Maybe as you already mentioned using profiles. Of course Travis CI should run the integration test profile...

Why not using the Spring Boot @IntegrationTest capabilities. Would be much easier to set up.

uses it's own profile now 'fullstop-startup'

@harti2006 I will try out running the normal integration-test. Maybe that is really all we need.


Document that parameters need not be defined in ParameterGroup if @Type="Class"

If the Code element has the Type attribute of Fragment or Method, then properties are automatically created for every parameter. Otherwise, properties must be explicitly declared in the task source code, and must exactly match their parameter definitions.

Actually, if Type is Class and the source code declares properties for the parameters, then the entire ParameterGroup element can be omitted, and RoslynCodeTaskFactory recognizes the properties and generates the corresponding parameters for the task. This is a deliberate feature: https://github.com/microsoft/msbuild/blob/e481bbf88fd4a406cc8a98c2f46e9bda8e76be69/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs#L168-L179
The older CodeTaskFactory does not support this feature.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8b8c66d6-dd9b-dddc-dd69-41d22284ec10
Version Independent ID: 1b750d67-95da-aa4c-ad32-2de54d7a46c5
Content: MSBuild Inline Tasks with RoslynCodeTaskFactory - Visual Studio
Content Source: docs/msbuild/msbuild-roslyncodetaskfactory.md
Product: visual-studio-windows
Technology: msbuild
GitHub Login: @ghogen
Microsoft Alias: ghogen

If you specify a whole class, you don't have to specify the ParameterGroup.  But, if you specify the ParameterGroup, it must match what is defined in the class.

If you specify a whole class in CodeTaskFactory, you still have to specify the ParameterGroup. This difference between the task factories seems something that should be mentioned in the RoslynCodeTaskFactory topic.


[CRO] update analytics version

Changes:
enable google analytics via analytics package for future needs. make pageView as authorized as well
Type of change

[ ] Bug fix
[ ] New feature
[x] Update feature
[ ] Refactor code
[ ] Translation to code
[ ] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

@NikitK-deriv is there a card for this?


Volume ducking when a user speaks

General Troubleshooting
Please check off these steps before suggesting a feature or reporting a bug:

[x] I am running the latest version:
[x] I have followed all instructions on the setup page (and if applicable, Raspberry Pi)
[x] I have read through the planned and suggested features

Issue
Issue Type

[ ] Bug Report
[x] Feature Request

Description
Suggesting a volume ducking feature to automatically reduce the bot volume level to a set point when a user in the same channel speaks, resuming normal volume afterwards.

Added Attenuation to the suggested features list


Database migration with django 1.7+

I am trying to setup django-helpdesk with django 1.8, the command
python manage.py migrate helpdesk
raises an import error for south. But south is deprecated for django 1.7.  Moreover the manual says south is optional.

Django 1.8 compatibility is a work in progress, I hope to be submitting a PR for review soon.
In the meantime, you might want to check @flinz’s fork for the most comprehensive Django 1.8 branch to date.
Other than that, a common cause of these problems is missing/inactive virtual environments. Please try with Django 1.7 in a clean new virtualenv and if the problem persists please attach the install logs and exact error message + traceback you receive. Thanks.

First problem, pip install django-helpdesk in a fresh virtualenv will install django 1.8
Then python manage.py syncdb yields

Traceback (most recent call last):
  File "manage.py", line 10, in
    execute_from_command_line(sys.argv)
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/site-packages/django/core/management/__init__.py", line 354, in execute
    django.setup()
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/site-packages/django/apps/config.py", line 87, in create
    module = import_module(entry)
  File "/opt/python-virtual-env/py3-django-helpdesk/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 2254, in _gcd_import
  File "", line 2237, in _find_and_load
  File "", line 2224, in _find_and_load_unlocked
ImportError: No module named 'south'

and install south is useless since
RuntimeError: South does not support Django 1.7 or higher. Please use native Django migrations.

You probably have south as an entry in your INSTALLED_APPS in settings.py.
If you comment that line it should work.

This should be closed given recent updates for Django 1.9 (see #351, #355). Removing south should also help, please re-open if this is still an issue.


Plugin conflicting with esformatter-semicolons

I'm having issues where this plugin is conflicting with esformatter-semicolons and producing errors that cause my app to crash.
you can see more details in millermedeiros/esformatter#326
I can get it working if I run esformatter with just the semicolon plugin first and then run the rest, but I'd like to not have to do that.

As mentioned in millermedeiros/esformatter#326, the conflicting test case can be found here:
https://gist.github.com/twolfson/0d76da04b19870c6ab1f/60c8fa91487ac75b4d365a054deedb506a392075

I began digging into this but then began a refactor due to a lot of code which should be available in other modules (e.g. tokens). I believe the issue lies in us conditionally adding a line break but am not sure yet. I was hoping a refactor would sanely correct this but I wound up draining too much time.
I will take another look at this by the end of next weekend.

@twolfson Thanks a ton! I really appreciate it. I look forward to this issue being resolved :smile:

Alright, took another shot at it. After about 3/4 times of getting frustrated, it's rewritten and better commented (hopefully). Your use case should be fixed when you upgrade:
npm install esformatter-var-each@latest

Thanks for the bug report =)

@twolfson I just tried running this with the latest and I get Cannot read property 'indexOf' of undefined
I removed your package and the error went away. :/

Damn, I guess the refactor must have broken something. Fwiw, we added a regression test for the past error so that definitely can't be the issue:
https://github.com/twolfson/esformatter-var-each/blob/2.0.1/test/test-files/intermediate-indented-var-each-semicolon-less.js
The indexOf is more likely to be from the AST manipulation code than the code itself. I will take a look at reproducing with the previously provided example on esformatter later on this week.

I actually tried the previously provided sample code and it worked fine. :/

Oh, damn =(

I manually fixed the var-each stuff in this file so I'll try and run it with it already fixed and see if i still get the same error.

If the code is closed, then I guess the best we can do is stare at the stack trace. Can you copy/paste the full error you are getting from esformatter?

is there a way to get a verbose output from esformatter? if not, literally all that it outputs is: Cannot read property 'indexOf' of undefined

The programmatic usage might get you a better stack trace:
// Load in our dependencies
var fs = require('fs');
var esformatter = require('esformatter');

// Load in our configuration
var config = require('./config.json');

// Load in and transform our file
var input = fs.readFileSync('path/to/js.js', 'utf8');
var output = esformatter.format(input, config);

// Output our transformed JS
fs.writeFileSync('transformed.js', output, 'utf8');

I'm seeing this error as well.
TypeError: Cannot read property 'indexOf' of undefined
    at exports._transformNode (... /esformatter-var-each/lib/esformatter-var-each.js:197:68)

It looks like this is caused when a var is declared within a switch case statement because the var declarations parent node (a SwitchCase) has no body property.
switch (testing) {
  case 'match':
    var fails = 1337;
}

I could open a new issue since the source of the bug is independent of any other plugins.

@aheckmann I have successfully reproduced the issue. Thanks for reporting it, it's great to finally have a test case.
I will attempt to get this resolved within the next week. Feel free to open a new issue, although don't consider it necessary.

Alright, we have patched up the issue in 2.1.0.
Ironically, I have already patched this issue in jscs and patched it there. However, I guess I forgot about the edge case here.
https://github.com/jscs-dev/node-jscs/pull/1243
Thanks @aheckmann for the test case =)

:+1:


Improves on the fix for 8918

Improves on the fixes for #8918
Description
It just changes the ITRetryUtil.retryUntilTrue with a ITRetryUtil.retryUntil in order to increase the amount of retries — a little change on top of https://github.com/apache/druid/pull/8999 —, moreover it changes the number of retries and delay between retries in the HttpUtil to deal with the sporadic 401 errors.

This PR has:

[X] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

@clintropolis — I added another retry, can you please re-run travis, or explain me how o do it, to check if it is now better?

@clintropolis — I added another retry, can you please re-run travis, or explain me how o do it, to check if it is now better?

I can keep retries going, only committers can restart travis jobs. I've been running it over the last couple of days and so far so good; thanks for looking into this :+1:


There is a lot of noise around the object reconstructed by neus-acc.

Hello authors, thank you for your great work! I encountered some problems while training neus-acc. There is a lot of noise around the reconstructed object. How to remove this? Are there any hyperparameters that need to be adjusted? Looking forward to your reply. My training command is as follows:ns-train neus-acc --pipeline.model.sdf-field.inside-outside False --vis wandb --experiment-name neus-acc-dtu24 sdfstudio-data --data data/dtu/scan24

Hi, these regions correspond to the white table and black background in the input images. Therefore, no correspondence can be found and the optimised surface is kind of random. You can remove it with object masks.

Hi, these regions correspond to the white table and black background in the input images. Therefore, no correspondence can be found and the optimised surface is kind of random. You can remove it with object masks.

Hello, it means use the command '--include_foreground_mask True'?

Hi, these regions correspond to the white table and black background in the input images. Therefore, no correspondence can be found and the optimised surface is kind of random. You can remove it with object masks.

Hello, it means use the command '--include_foreground_mask True'?

Can you tell me the train option?
i trained with ns-train neus-facto --pipeline.datamanager.train-num-rays-per-batch 2048  --pipeline.model.sdf-field.use-grid-feature False --pipeline.model.sdf-field.inside-outside False --pipeline.model.background-model mlp --pipeline.model.mono-depth-loss-mult 0.1 --pipeline.model.mono-normal-loss-mult 0.01   --vis wandb  --trainer.steps_per_save 5000  --trainer.steps-per-eval-image 5000
but I'm getting very strange results.

For the neus-facto model, you can just use the author's default commands. My result comes from the neus-acc model.

For the neus-facto model, you can just use the author's default commands. My result comes from the neus-acc model.

Thank you  i don't know why my outputs are so poor


Geodesic Distance on V1

Hello dear contibuters,
I know that you are studying with iGibson and GibsonV2 nowadays; but I wonder it, can I measure the geodesic distance and shortest path on GibsonV1? Thank you.

Hi @Berk035, I believe you can use the same code snipped as used in iGibson to calculate geodesic distance:
https://github.com/StanfordVL/iGibson/blob/master/gibson2/core/physics/scene.py#L335-L365

Thanks for your response @fxia22,
I tried to use it, but I need to build graph for finding path.


Localization of Spotifree

Feel free to translate Spotifree into every language you know and leave a pull request.
How to add a language:

Select Spotifree from Project Navigator to get to the Project Settings
In the top left corner select Project Spotifree (not Target)
Unfold Localizations and press + to add a new language
Check Localizable.strings and click Finish
Unfold Localizable.strings and select the newly generated file for your language
Translate

Korean localization #90


Greenkeeper/rollup 1.14.6

:tada: This PR is included in version 1.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update Kesin11/actions-timeline to v2 in README

This PR updates the reference to Kesin11/actions-timeline in the README file.
The previous version mentioned was Kesin11/actions-timeline@v1. Reflecting the recent version upgrades, this has been changed to Kesin11/actions-timeline@v2.

@hiro0218 Thank you! I forgot fix README.


fix switch to main document

Hi,
For a while, I didn't think about the library which didn't send the id parameter because it was working for Firefox, Chrome and a lot of other drivers.
However, some others required this parameter :

https://code.google.com/p/chromedriver/issues/detail?id=981
https://github.com/selendroid/selendroid/issues/664
https://github.com/operasoftware/operachromiumdriver/issues/2

In fact, we must send a NULL parameter to fix it, just like the java client do :
https://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java#886
and it is supported by the protocol :
https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/frame
With this new parameter, no regression has been detected for FF, Chrome, HTMLunit, PhantomJS, IE (11).
And it fix the issues above for other drivers.
Thanks

Nice catch! Sorry for the delay.


No way to set custom attributes on the detect_close IFrame

Background
Zoid supports adding custom attributes to IFrames. We use this to add csp and sandbox attributes. This is to meet a security requirement for IFrames. However, Zoid also inserts an IFrame with name that's a variant of detect_close. AFAICT, this is being used for Zoid lifecycle detection.
We need this IFrame to either not exist, or allow security attributes to be passed to it. Many infosec teams consider IFrames high-risk, as does our client's. When embedding in a client's website, we want to provide exceptional security and assurance that their webpage and our IFrame is safe. It's clear other Zoid users are also wanting to use security attributes on their IFrames too.
Suggested change
There are two solutions:

Allow an option to remove this IFrame entirely. We don't use any lifecycle events
Allow an option to (or by default) apply the attributes hash from zoid.create when creating the detect_close IFrame.

This is a totally fair ask.
I'm a little worried about applying attributes.iframe to the second iframe, for backwards compatibility reasons -- but what if we added something like attributes.detectCloseIframe?
Would be happy to accept a PR with something like this.

A second attributes object totally makes sense. I'll take a look.

I was unable to get a local build working so probably won't be able to action this unfortunately


Get the primary theme colour properly

Using the bootstrap function to get the theme colour means that the source can be used by people who have overridden the primary theme colour by setting it in $theme-colours as per bootstrap docs
https://getbootstrap.com/docs/4.5/getting-started/theming/#modify-map
Fixes #46

@intiocean Thanks for your contribution! But I think some ways like #51 will be better for this issue.

@intiocean Thanks for your contribution! But I think some ways like #51 will be better for this issue.

@ttskch I don't see how #51 fixes this? Surely this should follow any overrides supplied to bootstrap without having to also add the same overrides in a different format for this select2 plugin?

@ttskch I don't see how #51 fixes this? Surely this should follow any overrides supplied to bootstrap without having to also add the same overrides in a different format for this select2 plugin?


datetime(6) microseconds are always 0

Selecting datetime from database returns value without microseconds.
Furthermore, PDO driver stops getting microseconds after DB was queried with laravel.
Route::get('test', function()
{
	$query = "SELECT NOW(6) AS time";
	$res = [];

	echo '
';

	$conn = new PDO("mysql:host=".env('DB_HOST').";dbname=".env('DB_DATABASE'),
					env('DB_USERNAME'), env('DB_PASSWORD'),
					array(PDO::ATTR_PERSISTENT => TRUE, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
	$res['PDO'] = $conn->query($query)->fetch(PDO::FETCH_OBJ)->time;
	$conn = null;

	$conn = \DB::connection();
	$res['DB select'] = $conn->select($query)[0]->time;
	$res['DB getPdo query'] = $conn->getPdo()->query($query)->fetch(PDO::FETCH_OBJ)->time;
	$conn = null;

	print_r($res);
	echo '
';
});

Results:

load page for first time (or restart apache on linux or php-cgi on windows):

    [PDO] 				=> 2016-08-02 13:38:51.459072
    [DB select] 		=> 2016-08-02 13:38:51		// <= no microseconds
    [DB getPdo query] 	=> 2016-08-02 13:38:51		// <= no microseconds

reload page:

    [PDO] 				=> 2016-08-02 13:39:29		// <= missing microseconds
    [DB select] 		=> 2016-08-02 13:39:29		// <= no microseconds
    [DB getPdo query]	=> 2016-08-02 13:39:29		// <= no microseconds

If excluded laravel query from the code, microseconds always present in PDO (after restart)

Ok, setting PDO::ATTR_EMULATE_PREPARES option to true leads to have microseconds.
Not related to laravel.


Validate CC payloads

Fixes #108 when done

Coverage decreased (-0.07%) to 58.075% when pulling 3c19e576130655740c0744198f6f9b9be84fdee2 on validate-payloads into 2dcd9d9445249a6dc978dffeff116b5b6022f051 on master.


Add support for AEAD encryption via SEIPD-v2 and SKESK-v6

Hey!
As discussed in #1340, I'm working on AEAD encryption for OpenPGP v6.
OpenPGP v6 is currently being drafted here.
This is the outcome of my efforts (still WiP, but I thought it might make sense to share my progress earlier rather than later). This patch allows generation of AEAD encrypted V6 messages using password based encryption. I did not yet tackle public key encryption, but I might do that soon.
BC already has support for V5 AEAD, although I think that the implementation is not complete (e.g. although using the AEADEncryptedData packet, it does not yet generate V5 SKESK packets?). I'm also not quite sure, which protocol revision the existing AEAD code targeted, so I tried to avoid changing its behaviour whenever possible.
I also noticed that the existing AEAD is untested, so I generated some test vectors using BCs master branch + #1345 and verified that these messages would still decrypt successfully in my patch.
Unfortunately there are some unrelated changes in here as well (such as new algorithm IDs as defined by the upcoming v6 OpenPGP protocol specification. Let me know if you prefer me to separate these out into another PR.
The new spec uses HKDF in a few places. While implementing the BC backend, using the HKDFByteGenerator was easy, I found no such class for the JCE backend, so I just used BCs HKDFByteGenerator there as well. Does this make sense?
TODO:

[x] Squash sensibly
[ ] Public Key encryption (where feasible, perhaps for now just prevent unsupported operations)
[x] Verify v5 SKESK generation when using old-style AEAD
[ ] JCE-based HKDF implementation?

Here is a diagram to given an overview of the AEAD with SEIPD-v2 and SKESK-v6:

This is going to be fun... I see the problem though.
We need to simplify the PR a bit, go through it in stages. I've added EDDSA_LEGACY and the unreserved tags (I think it's worth waiting for them to actually do something, otherwise we'll just be carrying more tags like EDDSA_LEGACY...) EDDSA has been there for quite a few years now so I've left it in as well, but deprecated it. The EDDSA_LEGACY changes should appear on github soon. If you can merge those in I'll have a look what's left and try for something else. Thanks.

I rebased my changes upon the latest master.

Okay, well at least the file count is down a bit. I've done another round, I added the PaddedPacket support and I've added a new type BCPGHeaderObject which I'm hoping will streamline things a bit for the number of versions of the encrypted data packets we are suddenly looking at.
I've added the static methods in the AEADTags interface to AEADUtils in the same package (mostly same, other than we're are an "IV" kind of house, rather than Iv... I honestly don't know what the right answer is to that one, it's just what we do everywhere else...). Would you move the static methods in SymmetricKeyAlgorithmTags to SymmetricKeyUtills in a similar fashion as well?
I'll do another round after that. Have noted the issue with HKDF, just haven't quite worked out the best approach. I'm guessing the most "natural fit" will be a KeyGenerator.

I've added a new type BCPGHeaderObject which I'm hoping will streamline things a bit for the number of versions of the encrypted data packets we are suddenly looking at.

What exactly is the purpose of the interface? Are you planning to introduce subclasses for different versions of a packet at some point and need the getType() method for generalization?

At this stage I'm just trying to avoid an explosion of in-line writes in the generator class - subclassing might make things easier to deal with as well, the main idea is to move any further changes into one spot. Don't forget these things are still in draft.

Just a heads up, need to start work on the next release in a couple of days. I wouldn't suggest rushing it, more just to let you know in case there was anything urgent on the list.

Rebased on recent master :)
I added SymmetricKeyUtils contaning the getKeyLength() methods and applied the same way you use AEADEncDataPacket here to also use SymmetricEncIntegrityPackets of version 2.

Thanks I should be able to start looking at this again soon. In case your about, I've just uploaded 1.73 to the latest releases page, would you mind having a quick try of it before I upload to Maven and cast it in stone. It'll take another day or so to update the website and get the rest of it organised so there's a window if I there's something that needs fixing (I don't think there will be, but it never hurts to get others to check...)

I'd love to test the release, but the links to the bcpg jar files appear to be broken. Can you give me a working link?

I think that's now sorted, the point version number survived... Let me know/

@dghgit BC173 only made a single PGPainless test fail (which was caused by a removed dot on an error message, so easy enough to fix).
Good work!

Thanks! Phew! I'll proceed.

Rebased on latest master.

I removed most usages of PGPAEADFlavour from the implementation.
Only the API entrypoint still uses it.

Btw. I'd like to propose that setWithAEAD() should default to setWithV6AEAD().
There is a growing number of implementations that support v6.
In the same spirit I'm thinking of proposing a patch that changes some defaults to more modern options, such as enable integrity protection in the PGPEncryptedDataGenerator by default.

Okay, we finally got there. I've merged the latest, there's just one thing I'm a bit uncomfortable about. The API currently has:
setWithV5AEAD(int aeadAlgorithm, int chunkSize)
setWithV6AEAD(int aeadAlgorithm, int chunkSize)
and deprecates the old method. With this one I'd be more inclined to add:
setUseV5AEAD()
setUseV6AEAD()
and keep the old method. I realise V6 appears to be destined to rule the waves, but as that's the case and this is quite new, I think it would safe to leave V5 as the default for 1.74 and move the APIs to use V6 as the default from 1.75 onwards. From a regular users point of view it's less confusing to just say setWithAEAD(), the more knowledgable ones will look at the setUse...() methods.
What do you think? Thanks.

I'm fine with that as well :)
PGPainless would then simply call setUseV6AEAD().
Do you want me to change the PR accordingly (once the latest changes propagated to the Github master branch), or do you want to change the API yourselves?

I've done it locally. The code should be about to sync up now as well. I've also uploaded a new beta at:
https://www.bouncycastle.org/beta 174b02 or later. I think this one is now finished.

Yes, good catch, I don't think that's going to win any friends... I've had another go at it. See http://www.bouncycastle.org/betas 174b04 or later. It should now be order independent.
Code should be appearing on github shortly.


[silgenpattern] Fix pattern emission of tuples with address only and …

…loadable components.
The problem here was that if we had a tuple with mixed address only and loadable
components and we used take on success during pattern matching, we would load
the loadable component with a load [take] and then pass it as take on success.
Instead we load the loadable components of the tuple using a load_borrow and
make the cast consumption kind BorrowAlways.
This can not happen with enum element emission since enum element emission does
not support take_on_success so the problem can not occur there.
SR-9029
rdar://45345844

@clackary I think this fixes the source compat stuff.

@swift-ci smoke test

@swift-ci test source compatibility

I tested locally that fluent/SwiftLint are passing now.

18:26:44   UPASS: https://bugs.swift.org/browse/SR-9029, fluent, 4.2, 270b6f, Swift Package
18:26:44   UPASS: https://bugs.swift.org/browse/SR-9029, SwiftLint, 4.2, 60f98e, Swift Package
18:26:44   UPASS: https://bugs.swift.org/browse/SR-9029, SwiftLint, 4.0, 60f98e, Swift Package

It looks like the reactive cocoa/reactive swift failures aren't mine. They are occuring already here:
https://ci.swift.org/view/all/job/swift-master-source-compat-suite-debug/323/console

Got ufails also on the release build. I want to get this in... committing!

erm UPasses ; ).


[FEATURE] Improve on route guard

Description
The current implementation for routing does not make provision for multiple unguarded routes. It would be good for us to have a routing solution, where we can add/remove protection for multiple routes easily.
Screenshots
No response

Hmmmm, I don't understand this, explain more

The current implementation. It works but does not provide room for adding multiple unguarded routes. This means multiple if statements when we want to add other pages that do not need to be guarded and the code, becomes hacky/messy.

The proposed structure provides room for adding more unprotected routes (i.e separate registration page, docs page, etc) easily.

Alright makes sense


Conflict with Jersey 1.13

The project depends on jersey-core 1.13 which provides in implementation of javax.ws.rs.core.Application.
This conflicts with the one I use (it comes from javax.ws.rs-api 2.0).
Could you at least upgrade to jersey 1.19 which no more directly includes this class? I would be able to solve the conflict by excluding the jsr311-api artifact.
Thanks

If you are using maven or Gradle, you can specify 1.19 in your project's dependency management.

Maintaining 0.9 branch is not on the priority list. Please feel free to send a PR with the updated Jersey version.
No action to take.

We also hit this problem.
I have created PR #985 to fix this problem.

Thanks @amilbourne for the PR.


Find all References does not search in subdirectories

Environment data

VS Code version: Version: 1.41.1
Extension version (available under the Extensions sidebar): Version: 1.41.1
OS and version: macOS 10.15.2
Python version (& distribution if applicable, e.g. Anaconda): conda 3.6

When I use the "Find All References" function it seems only to find references in scripts in the same folder. The extension does not seem to look into subdirectories.
Is this known?

Thanks, @PhilipMay.  Would you mind trying with the language server?  In your settings.json put "python.jediEnabled": false.

Ok. I turned off jedi.
This is the output of the Python Language Server:
[Info  - 9:07:02 PM] Analysis cache path: /Users/mike/Library/Caches/Microsoft/Python Language Server
[Info  - 9:07:02 PM] Microsoft Python Language Server version <IP_ADDRESS>
[Info  - 9:07:02 PM] Workspace root: /Users/mike/develop/git/optuna
[Info  - 9:07:03 PM] GetCurrentSearchPaths /usr/local/miniconda3/envs/optuna/bin/python
[Info  - 9:07:03 PM] Interpreter search paths:
[Info  - 9:07:03 PM]     /usr/local/miniconda3/envs/optuna/lib/python3.6
[Info  - 9:07:03 PM]     /usr/local/miniconda3/envs/optuna/lib/python3.6/lib-dynload
[Info  - 9:07:03 PM]     /usr/local/miniconda3/envs/optuna/lib/python3.6/site-packages
[Info  - 9:07:03 PM] User search paths:
[Info  - 9:07:09 PM] Initializing for /usr/local/miniconda3/envs/optuna/bin/python
[Info  - 9:07:09 PM] Analysis caching mode: None.

It still does only find references in scripts in the same folder. The extension does not seem to look into subdirectories.

@PhilipMay, I'd like to reproduce the problem.  What would be the simplest example that would repeat it?

Great thanks @ericsnowcurrently

clone optuna project: https://github.com/optuna/optuna.git
open it in vscode with installed python extension
open optuna folder
open distributions.py script
scroll all the way down to check_distribution_compatibility function
right click function
Click "Find All References"
click "edit" -> "find in files"
fill in check_distribution_compatibility
start search
see that the search finds way more calls to check_distribution_compatibility then the "Find All References" functionality

@PhilipMay, thanks for the detailed instructions.  I was able to reproduce the behavior you've described and agree it shouldn't be happening.  We'll work on fixing the problem.  Thanks again for letting us know about it.

@ericsnowcurrently Great. Thanks for informations. :-)

Any news about this? Did you find the reason?

@PhilipMay, unfortunately we have not had time to work on this and I'm not sure when it might happen. :disappointed:  If you don't see activity on this in the next few weeks please ping me again.
@luabud

@jakebailey this seems to be reproducible with the Language Server. Is this a known behaviour?

I know of small issues with references reported on the repo, but I don't have a specific one I'd say this is a duplicate of.

@ericsnowcurrently @luabud @jakebailey Are you planning to work on a fix for this?
For me this is realy an hard issue because it makes it difficult to understand code from other ppl. For me it is a reason to switch to some other IDE although I like VSCode very much.
I would try to fix it myself but I am not confident with this.

@ericsnowcurrently @luabud @jakebailey Are there any news on this?


Does bamnostic start read.pos at 0 or 1?

Does the bamnostic tool start read position, w.r.t. to the reference at '0' or '1'?
Thanks,

read.pos is 0-based, see details from the documentation below.
All direct access attributes will be treated as 0-based, so as to fit in line with common Python conventions.
The print() output of a read is always guaranteed to be a valid SAM entry, which is 1-based.
Sequence Alignment Map (SAM) entry (see SAM format).
https://bamnostic.readthedocs.io/en/latest/quickstart.html#exploring-a-read
https://bamnostic.readthedocs.io/en/latest/quickstart.html#based-start-position-raw-aligned-reference
https://github.com/betteridiot/bamnostic

I like that you are not the first to ask this question.This really shows that people know their stuff.
Cristina is correct. BAMnostic is 0-based (unless printing). This is to ensure a common Python convention that also follows the pysam API.
However, I didn't explain this because I know it can confuse people really quickly. I just wanted/expected people to assume 20 == 20. Thanks for asking though.


face-recognition

[ INFO:0] Initialize OpenCL runtime...
eigen:
predicted: daryl, confidence: 1184.2374889505725
terminate called after throwing an instance of 'std::runtime_error'
what():  OpenCV Error: (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage, in file /home/nodejs/face_detection/node_modules/opencv-build/opencv/opencv/modules/highgui/src/window.cpp, line 636, status -2
Aborted

apt-get install pkg-config
apt-get install libgtk2.0-dev


Can we get total length of yAxis values?

I want length of yAxis values (i.e how many numbers are populated on yAxis) on the basis of this I want to give stepValue

@aabidDevit On the positive y-axis, 10 values are populated by default, which can be changed using the noOfSections prop.
On the negative y-axis, the library decides the number of labels based on the mostNegativeValue. However, we can override it using the noOfSectionsBelowXAxis prop.


fix: Skip promote if scan was failed

Skip promote if scan was failed
Change Summary
PR Checklist

[x] I've read and followed the Contributing Guide.
Documents/Readmes

[ ] Updated accordingly
[x] Not required

Other Notes

Closes #44

Bumped version.


Add a Gitter chat badge to README.md

codemirror/CodeMirror now has a Chat Room on Gitter
@marijnh has just created a chat room. You can visit it here: https://gitter.im/codemirror/CodeMirror.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Um, for a bot, you are really bad at submitting pull requests. Let me see if I can pick out the relevant change from this mess.

Pushed 37ecdbe instead

Sorry @marijnh :(


DataValidationView (the Build a Submission view) Refactor 8 - The actual DataValidationView refactor

Summary Change Description
Refactored the DataValidationView to use StudyLoader instead of call_command("load_study", ...).
Affected Issues/Pull Requests

Partially addresses #829
Merges into PR #1025
Next PR: #1016

Review Notes

See comments in-line.
Checklist

This pull request will be merged once the following requirements are met.  The
author and/or reviewers should uncheck any unmet requirements:

Review requirements

Minimum approvals: 1
No changes requested
All blocking issues resolved by reviewers
Specific reviewers: @add_username_here

Review period: 2 days

Associated issue/pull request requirements:

[x] All requirements in affected issues marked "resolved" are satisfied
[x] All required pull requests are merged (or none)

Basic requirements

[x] All linters pass
[x] All tests pass
[x] All conflicts resolved

Overhead requirements

[x] New/changed method tests implemented/updated (or no change)
[ ] Updated Unreleased section of changelog.md (or no change)
[x] Migrations created & committed (or no change)

Merged via #1076


Use GitHub Actions for cross platform CI

For #508. (Not sure if this PR triggers these jobs, or if this setup works.)

Pushed to https://github.com/clux/kube-rs/tree/use-github-actions
I'll open a new PR from there.


Add a license of some kind

I expect Zeal's going to be around for a while, so it should probably be under one free software license or another. Maybe MIT?
Just something worth considering.

Added it thanks


Live Sketching project!

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@garimasingh128  plz have a look and tell me if any change is required!

@garimasingh128  plz have a look and tell me if any change is required!

Change the folder name to LIVE_SKETCHING_PROJECT and add some links and resources to readme.

Change the folder name to LIVE_SKETCHING_PROJECT and add some links and resources to readme.


V<IP_ADDRESS>

Make CVE backport Python2 compatible.

This release is working on Production - There are a couple follow up items we could do if we have time:

Make LibPNG optional - though who is this for?
Make Zlib - ensure that it can find the correct library - zlib vs. libz


[Preferences] 'Comments' edit box is not left-aligned relative allow options and distance between them is incorrect.

Environment: Android 10, Samsung A7.
Reproducible: always.
Build found: v1.0.395
Preconditions
The user is logged in to the 'Car' application.
Steps to reproduce

Tap 'My profile'
Tap 'Preferences'

Actual result
'Comments' edit box is not left-aligned relative allow options and distance between them is incorrect.
Expected result
'Preferences' UI corresponds to mock-up.
User story #21
Labels to be added
"Bug" ("bug"), Priority ("pri: low ")

Mock-up

fixed in v1.0.408


enabled_methods not excluding 'put' operations

I have following SWAGGER_SETTINGS, which reading the documentation should exclude the put, patch operation from my setting, but I still see them in documentation generated by swagger.
SWAGGER_SETTINGS = {
"exclude_namespaces": ["deskstop_interface"], # List URL namespaces to ignore
"api_version": '1',  # Specify your API's version
"api_path": "/api/",  # Specify the path to your API not a root level
"enabled_methods": [
'get',
'post',
'delete',
],
"api_key": '', # An API key
"is_authenticated": False,  # Set to True to enforce user authentication,
"is_superuser": False,  # Set to True to enforce admin only access
}
See this url - http://i.imgur.com/GvgzJ5t.png

What I am doing wrong that is causing PATCH and PUT operations to show up.
-Subodh

So this is different to #73.
The enabled_methods django-rest-swagger setting (which itself sets the supportedSubmitMethods setting passed to swagger-ui) isn't supposed to hide non-specified methods from the swagger UI.
Instead, it's only supposed to hide the "try it now" button (albeit this is broken, which is #73).
That said, the variable name (enabled_methods) and docs are not overly clear, so it's not surprising that there was confusion. I think we should rename the setting and tweak the docs.


Can't use lodash 4.14 with jest

Hello! I started noticing errors after upgrading lodash version from 4.13.1 to 4.14.
TypeError: lodash.assign is not a function
    at Object.ModuleResolver (node_modules/eslint/lib/util/module-resolver.js:42:27)
    at Object.<anonymous> (node_modules/eslint/lib/config/config-file.js:60:16)
    at Runtime._execModule (node_modules/jest-runtime/build/index.js:375:17)
    at Runtime.requireModule (node_modules/jest-runtime/build/index.js:210:14)
    at Runtime.requireModuleOrMock (node_modules/jest-runtime/build/index.js:274:19)
    at Object.<anonymous> (node_modules/eslint/lib/config.js:14:18)
    at Runtime._execModule (node_modules/jest-runtime/build/index.js:375:17)
    at Runtime.requireModule (node_modules/jest-runtime/build/index.js:210:14)
    at Runtime.requireModuleOrMock (node_modules/jest-runtime/build/index.js:274:19)

lodash.assign isn't undefined if I use it outside of jest:
const lodash = require('lodash');
console.log(lodash.assign);

(will print [Function])
While I'm not sure, I think jest might be mocking lodash without us saying so. Our jest config (in package.json) looks like this:
  "jest": {
    "automock": false,
    "testEnvironment": "node",
    "testPathIgnorePatterns": [
      ".eslintrc.js",
      "<rootDir>/build/",
      "<rootDir>/node_modules/"
    ]
  }

If automocking is false then lodash is most certainly not mocked. I suspect the problem might be with how lodash is detecting the environment and it always does some crazy trickery.
Here is what we forward into the sandbox context: https://github.com/facebook/jest/blob/master/packages/jest-environment-node/src/index.js#L30-L38
cc @jdalton did anything change here or can you find anything missing from the node env that would break this?
As a workaround, @trotzig can you try to set "testEnvironment": "jsdom" and see if that works?

Yep. I tried to reduce our UMD and simplify global object detection. It hit a snag.

What exactly is different and what should we put on our node environment to make this work?

The difference is I wrongly assumed a node-like environment would have a global reference so I made our exports and module detection rely on there being global. It turns out through various browserify or NW.js configurations there can be exports and module but no global object.

I'm working to remove the global check but it means adding other checks. It should be resolved in a day or so.

Ok cool, can you reference this issue in the correpsonding lodash issue? Closing this issue here since it isn't Jest related.
@trotzig please downgrade lodash or use the jsdom environment in the meantime. Sorry for the confusion!
@jdalton would you be willing to add a simple Jest test for lodash that uses:
"jest": {
  "automock": false,
  "testEnvironment": "node"
}

and makes sure that lodash works? We use Jest at FB and in dozens of React codebases and lodash is often part of it.

@cpojer: yep, already done
Thanks for the quick turnaround everyone!


egctl proposal

xref: https://github.com/envoyproxy/gateway/issues/794
cc @arkodg @danehans

Codecov Report

Merging #797 (7a5ed7a) into main (b758d65) will increase coverage by 0.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #797      +/-   ##
==========================================
+ Coverage   61.85%   61.95%   +0.10%
==========================================
  Files          46       46
  Lines        5995     5995
==========================================
+ Hits         3708     3714       +6
+ Misses       2051     2046       -5
+ Partials      236      235       -1

Impacted Files
Coverage Δ

internal/provider/kubernetes/helpers.go
71.77% <0.00%> (-1.62%)
:arrow_down:

internal/provider/kubernetes/controller.go
51.64% <0.00%> (+1.54%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

thanks for the doc update @zirain , it mostly looks good, added some more comments

cc @danehans PTAL

@danehans @arkodg I remove the unclear part(install/uninstall), which will be added back in the future.
After a long think, prefer to use config than get, PTAL.

@zirain I prefer config is used to manage the egctl configuration (similar to kubectl config). We can go with egctl get proxy bootstrap|cluster|route|all <pod-name[.namespace]> to retrieve the relevant proxy configuration. The same functionality can be supported in the future for the control plane by introducing the control-plane subcommand (cp for shorthand).
With the istioctl command structure aside, why do you prefer egctl proxy-config bootstrap over egctl get proxy bootstrap? I prefer the egctl get proxy ... command line structure since it reads naturally, making it easier to remember. However, I’m open to egctl proxy-config ...  if you can provide justification on why you prefer egctl proxy-config bootstrap over egctl get proxy bootstrap.

@zirain I prefer config is used to manage the egctl configuration (similar to kubectl config). We can go with egctl get proxy bootstrap|cluster|route|all <pod-name[.namespace]> to retrieve the relevant proxy configuration. The same functionality can be supported in the future for the control plane by introducing the control-plane subcommand (cp for shorthand).
With the istioctl command structure aside, why do you prefer egctl proxy-config bootstrap over egctl get proxy bootstrap? I prefer the egctl get proxy ... command line structure since it reads naturally, making it easier to remember. However, I’m open to egctl proxy-config ... if you can provide justification on why you prefer egctl proxy-config bootstrap over egctl get proxy bootstrap.

+1 on eliminating get since its inferred, and doesnt need to be explicitly typed. I believe @zirain has already changed the design doc from proxy-config to config

@zirain I am ready to /approve after the log subcommand and all references to it are removed. As I previously mentioned, proxy config changes should be accomplished through the EnvoyProxy API.

done


 IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/blob/main/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that fi

Please submit the correct information, invalid information will cause the issue to close


Blockquotes not separated by double new line / linebreaks

Hey, running in to an issue with text like:
> Along the road
> from air to coffin
> lie the many houses of cage.

> The house of the thrush
> is not shared
> by the worm and the bull.

Is getting put all in to one <Text> element:

All the other markdown engines I've seen allow for a linebreak between 2 blockquotes to create 2 separate elements. This module should probably do the same.

I apologize, I had not realized how simple this module actually was! This is more likely an issue with the simple-markdown module. I'll investigate over there and close this out if I can be sure that's where it's going wrong.


Renaming plugin directories to match statick's directory structure.

Signed-off-by: Alexander Xydes<EMAIL_ADDRESS>

Codecov Report

Merging #30 (7334d88) into main (f40ca27) will increase coverage by 93.38%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           main      #30       +/-   ##
=========================================
+ Coverage      0   93.38%   +93.38%
=========================================
  Files         0        7        +7
  Lines         0      363      +363
=========================================
+ Hits          0      339      +339
- Misses        0       24       +24

Impacted Files
Coverage Δ

...tick_web/plugins/discovery/css_discovery_plugin.py
100.00% <ø> (ø)

...ick_web/plugins/discovery/html_discovery_plugin.py
100.00% <ø> (ø)

...b/plugins/discovery/javascript_discovery_plugin.py
100.00% <ø> (ø)

src/statick_web/plugins/tool/eslint_tool_plugin.py
87.12% <ø> (ø)

...c/statick_web/plugins/tool/htmllint_tool_plugin.py
98.33% <ø> (ø)

src/statick_web/plugins/tool/jshint_tool_plugin.py
100.00% <ø> (ø)

.../statick_web/plugins/tool/stylelint_tool_plugin.py
85.29% <ø> (ø)

... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f40ca27...7334d88. Read the comment docs.


Feature: Admin Storage

This PR creates a table for storing configuration information:

DomainID - a string designating the domain. eg. "google.com", "phonenumber",
MapID
LogID
VRF key

It also supports soft deleting domains which will be garbage collected at a later time.

Codecov Report

Merging #849 into master will increase coverage by 0.43%.
The diff coverage is 58.41%.

@@            Coverage Diff             @@
##           master     #849      +/-   ##
==========================================
+ Coverage   46.34%   46.77%   +0.43%
==========================================
  Files          34       35       +1
  Lines        2721     2822     +101
==========================================
+ Hits         1261     1320      +59
- Misses       1269     1296      +27
- Partials      191      206      +15

Impacted Files
Coverage Δ

impl/sql/adminstorage/admin_storage.go
58.41% <58.41%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 67d39b7...e9dcde7. Read the comment docs.


Rhino Converter returns null if ReceiveMode is Ignore or Create

Prerequisites

[x] I read the contribution guidelines
[x] I checked the documentation and found no answer.
[x] I checked existing issues and found no similar issue.
[x] I checked the community forum for related discussions and found no answer.
[x] I'm reporting the issue to the correct repository (see also speckle-server, speckle-sharp, specklepy, speckle-docs, and others)

What package are you referring to?
Converters/ConverterRhinoGh
Describe the bug
We are setting up a Rhino Converter as follows:
Converter = new ConverterRhinoGh();
Converter.SetConverterSettings(MeshSettings.CurrentDoc);
Converter.SetContextDocument(doc);

Then using it to convert a a BlockInstance with Converter.ConvertToNative().
This works fine if we leave the ReceiveMode to the default value Update but we if we change it to Create or Ignore, Converter.ConvertToNative() returns null when converting the same object twice.
Added the following to the converter setup block above:
Converter.ReceiveMode = ReceiveMode.Create;
Converter.SetConverterSettings(ReceiveMode.Create);

With this configuration, Converter.ConvertToNative() returns the expected result on the first execution but null on all the following runs.
We need to convert the same object multiple times, with ReceiveMode.Update the object is replaced instead of creating a new object.
I tried replacing the id and applicationId on the BlockInstance, is there something else that needs to be done before calling Converter.ConvertToNative()?
To Reproduce

Setup a Converter with Converter.ReceiveMode = ReceiveMode.Create;
Call Converter.ConvertToNative() on a BlockInstance (successful)
Call Converter.ConvertToNative() on the same BlockInstance (returns null)

Expected behavior
Converter.ConvertToNative() always returns the converted BlockInstance adding a new block to the Document every time.
System Info

Grasshopper: 7.32.23221.10241
Speckle.Core: 2.15.3
Speckle.Objects: 2.15.3

Failure Logs
No logs, also Converter.Report has no errors.
Proposed Solution

Add documentation and examples on how to change the converter receive mode

Hi @Sticcia!
Thanks for reporting this. It seems the converter is failing to create the same block definition over again, which causes the conversion to return null. On Update the converter will remove the block with the same name before adding the new one, but for create the behaviour is it will just fail.
You may be seeing a message like this on the Rhino command window

Your use-case seems valid, and I'll admit it's not ideal to have things fail with no developer feedback so I'll talk to the team and try to come up with a way forward that is more intuitive and hopefully better documented! 🙌🏼

Hi @AlanRynne,
Thanks for the quick support.
As I understand from your message you will add some form of logging of the error.
But how would we avoid hitting the error altogether?
Should we rename the BlockInstance or the Definition?
Would assigning a new ID be enough?

Renaming the definition to something else would do. Block definitions are matched by name from the RhinoDoc.ActiveDoc.InstanceDefinitions property, so you could try checking for that.
Ideally, this is something we should both fix so that create mode works and also clarify what should be the expectation for it.


fix(date-picker): updated styles based on new flatpickr version

Overview
Flatpickr added some new containers in its latest update, so had to add some additional styling to fix some rendering bugs.
While working on this, I noticed that I couldn't get the calendar to show up in the range calendar, I wonder if it has to do with the update that @asudoh did in https://github.com/carbon-design-system/carbon-components/pull/676. @asudoh , do you know what might be causing this?
Changed
_date-picker.scss
Testing / Reviewing
Make sure the date picker calendar renders as expected.

Thanks @marijohannessen for making the fix! One note here is that 4.x version of Flatpickr does not allow us to do workarounds wrt ranges - We may want to stick to 2.x for vanilla because of that, if we can do the style fix there to cope with both Flatpickr versions.

Refs: https://github.com/carbon-design-system/carbon-components-react/issues/802

Ahh I see! I changed it back to version 2, but kept the style changes so it can be fixed in the React version.


Help with MQTT publishing from node-red via Mosquito

Oops tried to delete query as solved it but couldn't so appear to have closed a blank. Sorry

Did find all topics and required payloads + did you disable the auto-discovery topics?

Hi
I installed MQTT Explorer and that showed me what was expected and I also realised that I had built a version where the yml didn't include those options and, while I had edited it to inlude some stuff that wasn't in the original, that was a switch I hadn't added. I have now rebuilt with the full selection and just deleted what I don't need in an attempt to be kind to my poor little pi and its mosquito which is working rather hard. I might try and turn off the debug as that seems to rather flood it.
Thanks very much for creating this and for taking the time to respond. It is much appreciated
Kind Regards
Phil

On 21 Oct 2024, at 18:01, Sebastian Muszynski @.***> wrote:
Did find all topics and required payloads + did you disable the auto-discovery topics?
—
Reply to this email directly, view it on GitHub https://github.com/syssi/esphome-jk-bms/issues/619#issuecomment-2427257598, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRE2LNNM433VZZEXCXTQ4TZ4UXNRAVCNFSM6AAAAABQKJMUZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRXGI2TONJZHA.
You are receiving this because you modified the open/close state.

If you don't use Home Assistant you could disable the discovery topic to get rid of some more traffic:
mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_username
  password: !secret mqtt_password
  id: mqtt_client
  discovery: false

Ok thanks. Would it still discover it ok after a re-build to upload to it? I suppose it would as I wouldn't think it would use info from MQTT for that? Can I turn off the debug info?

On 21 Oct 2024, at 18:48, Sebastian Muszynski @.***> wrote:
If you don't use Home Assistant you could disable the discovery topic to get rid of some more traffic:
mqtt:
broker: !secret mqtt_host
username: !secret mqtt_username
password: !secret mqtt_password
id: mqtt_client
discovery: false
—
Reply to this email directly, view it on GitHub https://github.com/syssi/esphome-jk-bms/issues/619#issuecomment-2427353124, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRE2LMBYJNZ6GLGQB63ZUDZ4U46PAVCNFSM6AAAAABQKJMUZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRXGM2TGMJSGQ.
You are receiving this because you modified the open/close state.

If you use this extension (https://flows.nodered.org/node/node-red-contrib-ha-mqtt) discovery: true is recommended. If you wire every sensor, switch etc. manually you can disable the discovery feature. Just play around! Flash your device multiple times and give it a try. Everything can be reverted if it's not an improvement.
You can reduce the log level to INFO or something else. It's logging related and doesn't change the mqtt topics/features.

Thank you very much. I will have a play.
Sent from my iPad

On 21 Oct 2024, at 19:08, Sebastian Muszynski @.***> wrote:

If you use this extension (https://flows.nodered.org/node/node-red-contrib-ha-mqtt) discovery: true is recommended. If you wire every sensor, switch etc. manually you can disable the discovery feature. Just play around! Flash your device multiple times and give it a try. Everything can be reverted if it's not an improvement.
You can reduce the log level to INFO or something else. It's logging related and doesn't change the mqtt topics/features.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.

Dear Sebastian
Than you again so much for your help on the below. I got it all working well with your help and this allowed me to evaluate this BMS for use in an interchangeable battery project. We were wondering if you might be interested in some paid work to tailor this a bit further. While I would like to do it myself and, in doing so, learn more, in the interests of efficiency it makes more sense to employ the help of a professional. As a very brief description of what would be needed to allow you to decide on feasibility we have several small vehicles with 6 interchangeable 12v batteries each. There will be more batteries than vehicles and battery modules will be swapped between them not necessarily as the same group of 6. My most recent idea is a single esp in the vehicle (more if needed) that can get data from these batteries’ BMSs and send it via MQTT with an individual unique battery ID (ser no? MAC address?) As I see it Modbus won’t work as the batteries can’t always have different Modbus addresses as there could be more batteries than addresses. They would however always be connected to different serial pins and my thought was a simple TTL serial connection each using software serial so needing 6 ports / 12 pins.
We could use a single esp per battery slot which would I suppose simplify things and that could be powered by the battery when inserted and in that case it would just need to extract the battery ID and use that as the ID in the MQTT Messages.
The initial idea was a Bluetooth method but the problem there was identifying  the connection to the MQTT broker which would change with vehicles and the risk of crosstalk due to proximity of other similar vehicles.
I would value your thoughts and if you would be interested in being paid to help implement a solution.
Kind Regards
Phil

On 21 Oct 2024, at 21:32, Philip Brooke-Little @.***> wrote:
Thank you very much. I will have a play.
Sent from my iPad

On 21 Oct 2024, at 19:08, Sebastian Muszynski @.***> wrote:

If you use this extension (https://flows.nodered.org/node/node-red-contrib-ha-mqtt) discovery: true is recommended. If you wire every sensor, switch etc. manually you can disable the discovery feature. Just play around! Flash your device multiple times and give it a try. Everything can be reverted if it's not an improvement.
You can reduce the log level to INFO or something else. It's logging related and doesn't change the mqtt topics/features.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.

Hi Phil! Thanks for your offer. I appreciate it very much but I just want to offer/provide a bit support or guidance for free. Your projects sounds exciting and I would like to get it touch with some more details. I already have a day job and don't want to do paid work over and beyond.


Incompatible with Caves and Cliffs backport

OTG Plugin or Mod

[x] OTG Mod for Forge

OTG Version

[x] 1.16.5-0.1.1

Forge or Spigot Versions
1.16.5-36.2.9
What other plugins are you running?
OTG, Vanilla Vistas, Caves and Cliffs Backport by blackgear27 [https://www.curseforge.com/minecraft/mc-mods/caves-and-cliffs-backport]
Description
Biomes from Caves and Cliffs backport don't spawn underground, however amethyst geodes do.

Hey @evanbones , thanks for reporting this.

Terraforged apparently also doesn't work. If CCBP handles some part of biome/terrain generation other than registering custom carvers/features to biomes, that may not work with OTG.
OTG 0.1.2 fixes datapacks, if CCBP uses any datapack functionality to configure biomes, that may fix this issue. OTG 0.1.2 will be released on the disc and/or curseforge asap.
Otherwise, don't really have time to look into something so specific at the moment, if CCBP can provide some context we can see what we can do.