BT Sink to ESP32 internal DAC just hear static?

I have been trying to sink to internal DAC using "bt_music_receiver_to_dac.ino" I was able to connect my phone to ESP32 via BT, but I only hear a buzzing sound. I am using a simple LM386 for AMP, and I testes the AMP works when I use a simple dacWrite() function. (I am only using G26 at the moment)
BTW, isn't DAC output for ESP32 are G25/G26 (not G26/G27)?
I also added the code from "bt_music_receiver_with_metadata.ino",  a2dp_sink.set_avrc_metadata_callback(avrc_metadata_callback) and the avrc_metadata_callback() callback routine to verify indeed my phone is sending data after connection.
here is the debug output (sorry, it is a bit long) all the way to endless "audio_data_callback(): audio_data_callback" and I can't seem to find out what's wrong.
12:19:43.695 -> [D][BluetoothA2DPSink.cpp:151] start(): start
12:19:43.742 -> [I][BluetoothA2DPSink.cpp:156] start(): Device name will be set to 'MyMusic'
12:19:43.742 -> [D][BluetoothA2DPSink.cpp:717] init_nvs(): init_nvs
12:19:43.742 -> [D][BluetoothA2DPSink.cpp:731] get_last_connection(): get_last_connection
12:19:43.742 -> [D][BluetoothA2DPSink.cpp:217] init_bluetooth(): init_bluetooth
12:19:43.833 -> [I][BluetoothA2DPSink.cpp:222] init_bluetooth(): controller initialized
12:19:44.157 -> [I][BluetoothA2DPSink.cpp:231] init_bluetooth(): bluedroid initialized
12:19:44.250 -> [I][BluetoothA2DPSink.cpp:239] init_bluetooth(): bluedroid enabled
12:19:44.250 -> [D][BluetoothA2DPSink.cpp:321] app_task_start_up(): app_task_start_up
12:19:44.250 -> [D][BluetoothA2DPSink.cpp:859] app_task_handler_2(): app_task_handler_2
12:19:44.250 -> [D][BluetoothA2DPSink.cpp:832] app_task_handler(): app_task_handler
12:19:44.250 -> [D][BluetoothA2DPSink.cpp:294] app_task_handler(): app_task_handler
12:19:44.250 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x0, param len 0
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x0
12:19:44.298 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:173] operator()(): av_hdl_stack_evt_2
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:577] av_hdl_stack_evt(): av_hdl_stack_evt evt 0
12:19:44.298 -> [D][BluetoothA2DPSink.cpp:582] av_hdl_stack_evt(): av_hdl_stack_evt av_hdl_stack_evt BT_APP_EVT_STACK_UP
12:19:44.345 -> [D][BluetoothA2DPSink.cpp:591] av_hdl_stack_evt(): AVRCP controller initialized!
12:19:44.345 -> [D][BluetoothA2DPSink.cpp:610] av_hdl_stack_evt(): connect_to_last_device
12:19:44.345 -> [D][BluetoothA2DPSink.cpp:785] connect_to_last_device(): connect_to_last_device
12:19:44.345 -> [D][BluetoothA2DPSink.cpp:615] av_hdl_stack_evt(): esp_bt_gap_set_scan_mode(ESP_BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE)
12:19:44.345 -> [D][BluetoothA2DPSink.cpp:869] app_a2d_callback_2(): app_a2d_callback_2
12:19:44.345 -> [I][BluetoothA2DPSink.cpp:190] start(): Output will go to DAC pins
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:844] app_a2d_callback(): app_a2d_callback
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:632] app_a2d_callback(): app_a2d_callback
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:644] app_a2d_callback(): app_a2d_callback ESP_A2D_CONNECTION_STATE_EVT
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x0, param len 16
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:44.392 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x0
12:19:44.392 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:44.439 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:44.439 -> [D][BluetoothA2DPSink.cpp:636] operator()(): av_hdl_a2d_evt_2
12:19:44.439 -> [D][BluetoothA2DPSink.cpp:397] av_hdl_a2d_evt(): av_hdl_a2d_evt evt 0
12:19:44.439 -> [D][BluetoothA2DPSink.cpp:401] av_hdl_a2d_evt(): av_hdl_a2d_evt ESP_A2D_CONNECTION_STATE_EVT
12:19:44.439 -> [I][BluetoothA2DPSink.cpp:406] av_hdl_a2d_evt(): A2DP connection state: Connecting, [xx:xx:xx:xx:xx:xx]
12:19:44.439 -> [I][BluetoothA2DPSink.cpp:437] av_hdl_a2d_evt(): ESP_A2D_CONNECTION_STATE_CONNECTING
12:19:45.370 -> Not connected
12:19:47.234 -> [D][BluetoothA2DPSink.cpp:869] app_a2d_callback_2(): app_a2d_callback_2
12:19:47.234 -> [D][BluetoothA2DPSink.cpp:844] app_a2d_callback(): app_a2d_callback
12:19:47.234 -> [D][BluetoothA2DPSink.cpp:632] app_a2d_callback(): app_a2d_callback
12:19:47.281 -> [D][BluetoothA2DPSink.cpp:653] app_a2d_callback(): app_a2d_callback ESP_A2D_AUDIO_CFG_EVT
12:19:47.281 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x2, param len 16
12:19:47.281 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:47.281 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x2
12:19:47.281 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:47.281 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:47.330 -> [D][BluetoothA2DPSink.cpp:636] operator()(): av_hdl_a2d_evt_2
12:19:47.330 -> [D][BluetoothA2DPSink.cpp:397] av_hdl_a2d_evt(): av_hdl_a2d_evt evt 2
12:19:47.330 -> [D][BluetoothA2DPSink.cpp:461] av_hdl_a2d_evt(): av_hdl_a2d_evt ESP_A2D_AUDIO_CFG_EVT
12:19:47.330 -> [I][BluetoothA2DPSink.cpp:465] av_hdl_a2d_evt(): a2dp audio_cfg_cb , codec type 0
12:19:47.330 -> [I][BluetoothA2DPSink.cpp:477] av_hdl_a2d_evt(): a2dp audio_cfg_cb , sample_rate 44100
12:19:47.330 -> [I][BluetoothA2DPSink.cpp:488] av_hdl_a2d_evt(): configure audio player 21-15-2-35
12:19:47.330 ->
12:19:47.330 -> [I][BluetoothA2DPSink.cpp:489] av_hdl_a2d_evt(): audio player configured, samplerate=44100
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:869] app_a2d_callback_2(): app_a2d_callback_2
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:844] app_a2d_callback(): app_a2d_callback
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:632] app_a2d_callback(): app_a2d_callback
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:644] app_a2d_callback(): app_a2d_callback ESP_A2D_CONNECTION_STATE_EVT
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x0, param len 16
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:47.612 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x0
12:19:47.659 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:47.659 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:47.659 -> [D][BluetoothA2DPSink.cpp:636] operator()(): av_hdl_a2d_evt_2
12:19:47.659 -> [D][BluetoothA2DPSink.cpp:397] av_hdl_a2d_evt(): av_hdl_a2d_evt evt 0
12:19:47.659 -> [D][BluetoothA2DPSink.cpp:401] av_hdl_a2d_evt(): av_hdl_a2d_evt ESP_A2D_CONNECTION_STATE_EVT
12:19:47.659 -> [I][BluetoothA2DPSink.cpp:406] av_hdl_a2d_evt(): A2DP connection state: Connected, [xx:xx:xx:xx:xx:xx]
12:19:47.659 -> [I][BluetoothA2DPSink.cpp:428] av_hdl_a2d_evt(): ESP_A2D_CONNECTION_STATE_CONNECTED
12:19:47.706 -> [D][BluetoothA2DPSink.cpp:756] set_last_connection(): set_last_connection
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:372] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_CONNECTION_STATE_EVT
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x0, param len 12
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:47.753 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x0
12:19:47.801 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:47.801 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:47.801 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:47.801 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:47.801 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 0
12:19:47.801 -> [I][BluetoothA2DPSink.cpp:538] av_hdl_avrc_evt(): AVRC conn_state evt: state 1, [xx:xx:xx:xx:xx:xx]
12:19:47.801 -> [D][BluetoothA2DPSink.cpp:506] av_new_track(): av_new_track
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:384] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_REMOTE_FEATURES_EVT
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x5, param len 12
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:47.849 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x5
12:19:47.849 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:47.896 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:47.896 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:47.896 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 5
12:19:47.896 -> [I][BluetoothA2DPSink.cpp:565] av_hdl_avrc_evt(): AVRC remote features 24b
12:19:48.175 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:48.175 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.175 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.222 -> [D][BluetoothA2DPSink.cpp:367] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_METADATA_RSP_EVT
12:19:48.222 -> [D][BluetoothA2DPSink.cpp:344] app_alloc_meta_buffer(): app_alloc_meta_buffer
12:19:48.222 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x2, param len 12
12:19:48.222 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:48.222 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x2
12:19:48.222 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 2
12:19:48.269 -> [I][BluetoothA2DPSink.cpp:550] av_hdl_avrc_evt(): AVRC metadata rsp: attribute id 0x1, SongName
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.269 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:367] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_METADATA_RSP_EVT
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:344] app_alloc_meta_buffer(): app_alloc_meta_buffer
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x2, param len 12
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x2
12:19:48.316 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:48.316 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 2
12:19:48.365 -> [I][BluetoothA2DPSink.cpp:550] av_hdl_avrc_evt(): AVRC metadata rsp: attribute id 0x2, Artist
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.365 -> [D][BluetoothA2DPSink.cpp:367] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_METADATA_RSP_EVT
12:19:48.411 -> [D][BluetoothA2DPSink.cpp:344] app_alloc_meta_buffer(): app_alloc_meta_buffer
12:19:48.411 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x2, param len 12
12:19:48.411 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:48.411 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x2
12:19:48.411 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:48.411 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 2
12:19:48.458 -> [I][BluetoothA2DPSink.cpp:550] av_hdl_avrc_evt(): AVRC metadata rsp: attribute id 0x4, Imagine
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:874] app_rc_ct_callback_2(): app_rc_ct_callback_2
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:850] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:355] app_rc_ct_callback(): app_rc_ct_callback
12:19:48.458 -> [D][BluetoothA2DPSink.cpp:367] app_rc_ct_callback(): app_rc_ct_callback ESP_AVRC_CT_METADATA_RSP_EVT
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:344] app_alloc_meta_buffer(): app_alloc_meta_buffer
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x2, param len 12
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x2
12:19:48.505 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:48.505 -> [D][BluetoothA2DPSink.cpp:359] operator()(): av_hdl_avrc_evt_2
12:19:48.553 -> [D][BluetoothA2DPSink.cpp:532] av_hdl_avrc_evt(): av_hdl_avrc_evt evt 2
12:19:48.553 -> [I][BluetoothA2DPSink.cpp:550] av_hdl_avrc_evt(): AVRC metadata rsp: attribute id 0x20,
12:19:53.678 -> [D][BluetoothA2DPSink.cpp:869] app_a2d_callback_2(): app_a2d_callback_2
12:19:53.678 -> [D][BluetoothA2DPSink.cpp:844] app_a2d_callback(): app_a2d_callback
12:19:53.678 -> [D][BluetoothA2DPSink.cpp:632] app_a2d_callback(): app_a2d_callback
12:19:53.678 -> [D][BluetoothA2DPSink.cpp:648] app_a2d_callback(): app_a2d_callback ESP_A2D_AUDIO_STATE_EVT
12:19:53.678 -> [D][BluetoothA2DPSink.cpp:246] app_work_dispatch(): app_work_dispatch event 0x1, param len 16
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:278] app_send_msg(): app_send_msg
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:301] app_task_handler(): app_task_handler, sig 0x1, 0x1
12:19:53.726 -> [W][BluetoothA2DPSink.cpp:304] app_task_handler(): app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:269] app_work_dispatched(): app_work_dispatched
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:636] operator()(): av_hdl_a2d_evt_2
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:397] av_hdl_a2d_evt(): av_hdl_a2d_evt evt 1
12:19:53.726 -> [D][BluetoothA2DPSink.cpp:444] av_hdl_a2d_evt(): av_hdl_a2d_evt ESP_A2D_AUDIO_STATE_EVT
12:19:53.772 -> [D][BluetoothA2DPSink.cpp:664] audio_data_callback(): audio_data_callback
12:19:53.772 -> [I][BluetoothA2DPSink.cpp:446] av_hdl_a2d_evt(): A2DP audio state: Started
12:19:53.772 -> [D][BluetoothA2DPSink.cpp:664] audio_data_callback(): audio_data_callback
12:19:53.772 -> [D][BluetoothA2DPSink.cpp:664] audio_data_callback(): audio_data_callback
12:19:53.772 -> [D][BluetoothA2DPSink.cpp:664] audio_data_callback(): audio_data_callback
12:19:53.772 -> [D][BluetoothA2DPSink.cpp:664] audio_data_callback(): audio_data_callback

I confirm, the output is to GPIO25 (Channel 1) and GPIO26 (Channel 2).
I suggest to test with some simple earphones first.
If you see 'audio_data_callback' in the log you should get audible audio on those pins....

Confirmed audio output on GPIO25 & 26 and it is working as indented.


Fix Dependabot version issue and delete app/.github

Description
This PR resolves #63  by updating the Dependabot version value to 2 and deleting the app/.github folder. I decided to delete the folder, as there are already issues filed and PRs done for adding issue templates and CI.

Seems like CI is failing on this PR. Gotta run npm install again


Webhook handler not getting processed?

Webhook handler is not getting processed?
Not sure whats happening here. I do get a sucessfull webhook registration.
After a webbhok gets fired, I dont see it getting processed.
Followed everthing to the teeth, I have even set rawBody in main.
could this be the problem?
https://github.com/Shopify/shopify-api-js/blob/87399c49fa98d7fbd7a9881f1dc76426d061dd1c/docs/usage/webhooks.md#:~:text=To use Express,webhooks.process() expects%3A

Okay fixed!
setting rawBody in the  in the nestFactory.create function doenst seem to do anything. Not sure why!
had to do it mannually uisng app.use
  app.use((request: Request, res: Response, next: NextFunction) => {
   if (request.path.indexOf('/store/shopify/webhooks') === 0) {
      express.json({
        verify: (req: Request, _, buf) => {
          req['rawBody'] = buf;
        },
      })(request, res, next);
    } else {
      express.json()(request, res, next);
    }
  });

@zifahm can you show your main.ts file? I've been running this on my own projects, and I receive the webhooks correctly with rawBody: true.

@tolgap sure!

async function bootstrap() {
  const app = await NestFactory.create<NestExpressApplication>(AppModule, {
    bodyParser: false,
    cors: {
      credentials: true,
      origin: corsOrigin,
    },
  });

  if (NODE_ENV === 'production') {
    app.set('trust proxy', 1);
  }

  if (NODE_ENV === 'development') {
    const serverAdapter = new ExpressAdapter();
    serverAdapter.setBasePath('/bull-board');

    const aQueue = app.get<Queue>(`BullQueue_${STORE_PRODUCT_UPLOAD_QUEUE}`);
    const bQueue = app.get<Queue>(`BullQueue_${USER_CUSTOMER_UPLOAD_QUEUE}`);
    const cQueue = app.get<Queue>(
      `BullQueue_${STORE_SEND_EMAIL_TO_SUBSCRIBER_LIST_QUEUE}`,
    );
    const dQueue = app.get<Queue>(`BullQueue_${STORE_WORKFLOW_QUEUE}`);

    createBullBoard({
      queues: [
        new BullAdapter(aQueue),
        new BullAdapter(bQueue),
        new BullAdapter(cQueue),
        new BullAdapter(dQueue),
      ],
      serverAdapter,
    });

    app.use('/bull-board', serverAdapter.getRouter());
  }

  app.use((request: Request, res: Response, next: NextFunction) => {
    if (
      request.path.indexOf('/store/stripe-webhook') === 0 ||
      request.path.indexOf('/store/shopify/webhooks') === 0
    ) {
      json({
        verify: (req: RawBodyRequest<Request>, _, buf) => {
          req.rawBody = buf;
        },
      })(request, res, next);
    } else {
      json()(request, res, next);
    }
  });

  app.use(
    session({
      store: new RedisStore({
        client: new Redis(REDIS_URL, {
          family: 6,
        }),
      }),
      name: process.env.COOKIE_NAME,
      secret: process.env.SESSION_SECRET,
      resave: false,
      saveUninitialized: false,
      cookie: {
        maxAge: 1000 * 60 * 60 * 24 * 365 * 7,
        httpOnly: true,
        domain:
          NODE_ENV === 'production'
            ? process.env.FRONTEND_HOST
            : 'localhost.com',
        secure: NODE_ENV === 'production' ? true : false,
      },
    }),
  );

  await app.listen(PORT);
  console.log(`Server started at http://localhost:${PORT}/graphql`);
  const server = app.getHttpServer();
  const router = server._events.request._router;

  if (process.env.NODE_ENV === 'development') {
    const availableRoutes: [] = router.stack
      .map((layer: any) => {
        if (layer.route) {
          return {
            route: {
              path: layer.route?.path,
              method: layer.route?.stack[0].method,
            },
          };
        }
        return undefined;
      })
      .filter((item: any) => item !== undefined);
    console.log(availableRoutes);
  }
}
bootstrap();

@zifahm you need to do this in order to have rawBody work:
const app = await NestFactory.create<NestExpressApplication>(AppModule, {
- bodyParser: false,
+ rawBody: true,
  cors: {
    credentials: true,
    origin: corsOrigin,
  },
});

-  app.use((request: Request, res: Response, next: NextFunction) => {
-    if (
-      request.path.indexOf('/store/stripe-webhook') === 0 ||
-      request.path.indexOf('/store/shopify/webhooks') === 0
-    ) {
-      json({
-        verify: (req: RawBodyRequest<Request>, _, buf) => {
-          req.rawBody = buf;
-        },
-      })(request, res, next);
-    } else {
-      json()(request, res, next);
-    }
-  });

@tolgap  Yeah I know, but it doesnt work, it never did.
Also I read somewhere having rawBody conversions like that eats up the ram.
Unable to find source. I'll find it in a while.

Yeah I know, but it doesnt work, it never did.

I've used this feature since it was introduced. So whatever you're doing to use it, saying "it doesn't work" will not make it work 🙂 .

Also I read somewhere having rawBody globally like that eats up the ram.

Besides assigning a body, it also assigns a rawBody to the request. It's exactly what the body-parser itself does by default.
If you're concerned about RAM, we're talking about Stripe and Shopify webhooks here. They will be at most 500Kb of strings. I doubt these kinds of webhooks will ever get you in trouble with RAM and assigning the raw body to the request.
You would reach the max connection limit of your networking layer, before reaching RAM limitations.

I've used this feature since it was introduced. So whatever you're doing to use it, saying "it doesn't work" will not make it work slightly_smiling_face .

I guess im doing something wrong somewhere, i'm unable to find why rawbody is not working after setting it to true, I just had to do this, so I could continue working, rather than get boggled down.

f you're concerned about RAM, we're talking about Stripe and Shopify webhooks here. They will be at most 500Kb of strings. I doubt these kinds of webhooks will ever get you in trouble with RAM and assigning the raw body to the request.
You would reach the max connection limit of your networking layer, before reaching RAM limitations.

No I meant adding rawbody globally like for every request that comes in. Might have been max connection limit I have read about, maybe it's not ram. I just remeber reading "don't do rawbody globally".


Hackney adapter does not handle {:error, :closed} returned by :hackeny.send_body/2

I am getting random {:error, :closed} from :hackeny.send_body/2 and Tesla.client crashes with following stack trace.
 {:EXIT, #PID<0.23655.28>, {{:badmatch, {:error, :closed}}, [{
Tesla.Adapter.Hackney, :"-request_stream/5-fun-0-", 3, [file: 'lib/tesla/adapter/hackney.ex', line: 74]},
{Enum, :"-reduce/3-anonymous-2-", 3, [file: 'lib/enum.ex', line: 3015]},
{Stream, :do_transform_each, 3, [file: 'lib/stream.ex', line: 966]},
{Stream, :do_resource, 5, [file: 'lib/stream.ex', line: 1394]},
{Stream, :do_enum_transform, 7, [file: 'lib/stream.ex', line: 936]},
{Enum, :reduce, 3, [file: 'lib/enum.ex', line: 3015]},
{Tesla.Adapter.Hackney, :request_stream, 5, [file: 'lib/tesla/adapter/hackney.ex', line: 74]},
{Tesla.Adapter.Hackney, :call, 2, [file: 'lib/tesla/adapter/hackney.ex', line: 31]}
]}}

** (MatchError) no match of right hand side value: {:error, :closed}
(tesla) lib/tesla/adapter/hackney.ex:74: anonymous fn/3 in Tesla.Adapter.Hackney.request_stream/5
(elixir) lib/enum.ex:3015: anonymous fn/3 in Enum.reduce/3
(tesla) lib/tesla/adapter/hackney.ex:31: Tesla.Adapter.Hackney.call/2
(elixir) lib/stream.ex:1394: Stream.do_resource/5
(tesla) lib/tesla/adapter/hackney.ex:74: anonymous fn/3 in Tesla.Adapter.Hackney.request_stream/5
(elixir) lib/stream.ex:936: Stream.do_enum_transform/7

I am trying to make a POST request using Tesla.post using Tesla.Multipart body.
Method: :post
URL: "server url"
Headers: [
{"authorization", "Bearer "},
{"content-type", "multipart/form-data; boundary=<end_string>; charset=utf-8"}
]
Opts: [recv_timeout: 1800000]
Multipart body:
Multipart.new
    |> Multipart.add_content_type_param("charset=utf-8")
    |> Multipart.add_field("field", <encoded_field_data>)
    |> Multipart.add_file(<path>,
         name: "filename",
         filename: Path.basename(<path>),
         headers: [{"content-type", "application/octet-stream"}]
       )

I have updated the correct debug stacktrace now.

Yep.

I have no idea how to make proper test for that, but I will soon give you a PR with a fix :)


Remove jQuery from static analytics

What
Remove jQuery from static-analytics.js.
Why
We're removing jQuery from GOV.UK.
Visual Changes
None.
Trello card: https://trello.com/c/aq1AxjNr/397-remove-jquery-from-gem-analytics-code

Could we append #2553 to this PR?

@alex-ju great suggestion, have updated.


TG with Silkworm execution takes minutes to stop

I wonder if we can react to SIGINT and friends in silkworm_execute_blocks. Beware https://golang.org/pkg/os/signal/#hdr-Go_programs_that_use_cgo_or_SWIG

Won't fix as we're abandoning Silkworm execution integrated into Erigon.


Any way to add ammo to weapon with special rounds from gunrunning?

If player has weapon with special rounds, how can I add ammo to it?

I run into the same problem of my spawner. I finally found out the cause and a solution after my research that I wrote C++ code in order to directly access and confirm behaviors of native functions.
As a result, Weapon.Ammo setter doesn't work for special ammo before calling ADD_AMMO_TO_PED native function. This is not a matter of Script Hook V .NET but the native functions SET_PED_AMMO, GIVE_WEAPON_TO_PED and GIVE_DELAYED_WEAPON_TO_PED.
Here's a sample code that special ammo will be added correctly. A key point is the line number 17.
001 private void TestSetSpecialAmmo()
002 {
003     const WeaponHash        WH = WeaponHash.HeavySniperMk2;
004     const WeaponComponent   WC = WeaponComponent.HeavySniperMk2ClipExplosive;
005
006     Ped pedPlayer = Game.Player.Character;
007
008     if (pedPlayer.Weapons.HasWeapon(WH)) {
009         pedPlayer.Weapons.Remove(WH);
010     }
011
012     Weapon wp = pedPlayer.Weapons.Give(WH, 0, false, false);
013
014     wp.SetComponent(WC, true);
015
016     // Call ADD_AMMO_TO_PED native function as an activator before setting special ammo
017     Function.Call(Hash.ADD_AMMO_TO_PED, new InputArgument(pedPlayer), new InputArgument(WH), new InputArgument(0));
018
019     wp.Ammo = wp.MaxAmmo;
020 }


Accessibility - add title to iframes

General information

SDK version: 3.6.3
Environment: Both
Browser and OS : All

Issue description
As per the Aria specification, all iframes should have a title to allow screen readers to describe what the content is.
https://dequeuniversity.com/rules/axe/3.0/frame-title

Thanks for the input, we'll look into this.

This is fixed in v3.35.0


HeatMap Heat - error - 'HeatmapLayer' of undefined

Excuse my English.
I am trying to create a HeatMap. I follow the steps in the example but I get an error.
Error: Cannot read property 'HeatmapLayer' of undefined

This is the error message that appears

Update
Silly mistake.
I miss calling the library "visualization"

Easy to miss. Glad you found it.


AllowExplicitVersion if referencing a WebApi project

@mairaw  See my comments on https://github.com/dotnet/sdk/issues/2879#issuecomment-476811104

@balachir can you recommend someone to review this PR?

From https://github.com/aspnet/Docs/issues/9490, I know the proposed change applies to 2.2 to 3.0 migration. But this PR is about 2.1 to 2.2 migration, I'm not sure if it applies here as well. I think @natemcmaster @JunTaoLuo could be the right people to review.

Nate is on paternity leave. #9490 is interesting but Nate didn't include
the compiler errors so most end users like me couldn't Google search for
it. I'm off today but can try tomorrow to see if FrameworkReference works.
If it does I'll update the PR
On Wed, Mar 27, 2019, 7:39 AM Balamurugan Chirtsabesan <
<EMAIL_ADDRESS>wrote:

From #9490 https://github.com/aspnet/Docs/issues/9490, I know the
proposed change applies to 2.2 to 3.0 migration. But this PR is about 2.1
to 2.2 migration, I'm not sure if it applies here as well. I think
@natemcmaster https://github.com/natemcmaster @JunTaoLuo
https://github.com/JunTaoLuo could be the right people to review.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Docs/pull/11688#issuecomment-477111244, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAbT_RCVYJuCLPHPoevIsNLx-L3QKm5rks5va1hzgaJpZM4cMUEo
.

Seems like from https://github.com/dotnet/sdk/issues/2602, @dsplaisted might be able to help here.

@jzabroski  what can I do to help get this approved?

I think I need to Uninstall Incredibuild or whatever is confusing my repro of the issue. Daniel is advising I reference the full package which I'm not in love with for many reasons. The obvious being it wastes disk space especially if you run build servers are nano containers.
What are your thoughts?

The full package is part of the .NET Core SDK, so you referencing it should not take up additional disk space past the SDK install.

Excellent point that is obvious after you mention it.
@Rick-Anderson  I will close this pull request.  I will create a new one that instead does the workaround Daniel suggests.
TYVM for your help and patience with me, @dsplaisted  and @Rick-Anderson


Add kernel input configurations as the interface between Math and Backends via a BackendEngine.

Adds kernel configurations which have: Nodes, InputConfigs and InputArrays. Nodes will represent entire executed Node in our kernel graph, InputConfigs will hold the args, and InputArrays will own the inputs themselves (so we can iterate through them during backprop). These are separated for type enforcement.
Adds a BackendEngine which calls into a kernel_registry.executeKernel utility method. This method looks up the kernel by name in an object that maps it to its actual backend function. This allows us to have a tape as well as serialize the kernel graph.

Note:BackendEngine will eventually hold the tape.
Other things:

Deletes copy2d. It's not used anywhere and it's not functional.
Removes scaledArrayAdd kernel.
Attempt to name kernels similar to TensorFlow (capitalized, short, etc)
Makes executeOp a pass through. We are eventually going to make this log a combination of ops and other kernels, so we should keep this structure around.

This change is

 Awesome change! Left a few comments, but nothing major. The only bigger comment is to rename backends/kernels to backends/types

Reviewed 6 of 18 files at r1, 27 of 28 files at r2.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

src/index.ts, line 51 at r2 (raw file):

export {NDArrayMathCPU} from './math/backends/backend_cpu';
export {NDArrayMathGPU} from './math/backends/backend_webgl';
export {MatrixOrientation} from './math/backends/kernels/matmul';

looking at all files in math/backends/kernels/... , there is no actual implementation, they are only typings that go away at compile time.
To might lead to initial user confusion, so I think we should rename the folder kernels to types. WDYT?

src/math/math.ts, line 259 at r2 (raw file):

  private executeOp<G extends keyof DataTypes, T extends NDArray<G>>(
      name: string, f: () => T): T {
    // TODO(nsthorat): Do operation logging and performance profiling.

I can see executeOp and scope converging, where executeOp is just a named scope, and regular scope is unnamed. That is:
dl.scope('some name', () => {...});
In debug mode you get grouping and performance aggregation for every scope, named and unnamed, for every user code, not just internal math.

src/math/math.ts, line 1302 at r2 (raw file):

this.add(this.multiply(c1, a), this.multiply(c2, b))

add a todo to add SGEMM to backend and use it here.

src/math/backends/backend.ts, line 49 at r2 (raw file):

 * this can be done gradually (throw an error for unimplemented methods).
 */
export interface MathBackend {

We should file an issue to document (contributions welcome) the kernels themselves, so people have clear guidelines for new backend implementations.

src/math/backends/kernel_registry.ts, line 103 at r2 (raw file):

config

Not 100% sure, but I feel that it would be better at some point if the kernels themselves (the functions in MathBackend) take list of arguments, instead of a single config, just like before this PR. This will make the backend interface immediately readable, instead of looking at typings of Config. In that case, here, we would have to call the backend with arguments:
=> backend.matMul(config.inputs.a, config.inputs.b,
      config.args.aOrientation, config.args.bOrientation)

Comments from Reviewable


Implement timer::Cancel trait for CountDownTimer

Analog to the stm32f4xx-hal

Thanks for the PR! Looks good overall, I just have one minor comment:
Would it make more sense to call the Disabled error Canceled instead. Disabled feels like a slightly broader term to me, but that might be some personal bias.

I totally agree, should be changed now.

On second thought, embedded-hal says that an error will also be returned if the timer was never started and in the non-periodic case when it is already expired (not applicable here). So the more generic Disabled might not be that bad, do you have another suggestion?

Hmm good question, perhaps NotRunning or NotCounting?

What do you think of Inactive?

I like that option :) Maybe add a doc comment clarifying what it means in case there is any confusion

I was just going to change it but then I noticed that in this crate the CountDownTimer is kind of a typestate and when it is not started or stopped it will be a normal Timer type, which doesn’t implement the Cancel trait. This means that the case when cancel was called before should be the only possibility to get this error (in contrast to my concern before), which should leave Canceled the most precise name for it. Do you agree?
Sorry for the back and forth :joy: I was actually wondering before if there is any reason for the CountDownTimer typestate in this create or if it would be better to simplify it, so Timer itself implements the CountDown trait, like the other stm32 hal crates do it?

Yea, that's a good point. While I am generally a fan of type states, I think it might be a bit strange for this particular use case. I don't quite remember why we changed it from Timer implementing CountDown, I think it might have been to avoid having Timer take a timeout in its constructor. https://github.com/stm32-rs/stm32f1xx-hal/pull/95 the corresponding PR does not give much clarity as to why we made that choice.
Either way, I think a better approach, might be to get rid of the type state, make timers start stopped, and have errors returned in functions that are only valid during count down.
If we wanted to, we could also do 2 timer implementations, one type state based version, and one at runtime.
cc: @burrbull (since you authored #95 and may remember some details), @therealprof

Thanks for the link to the PR, now the design makes a lot more sense. It's not a typestate representing if the countdown is running or not, it's more a typestate in which mode the timer is. As you can go from Timer to  Pwm, PwmInput, or CountDownTimer mode (and back). I think the design is superior to the simpler once in the other hal crates. It was only lacking a way to stop the countdown without leaving the mode, but this is where the Cancel trait steps in :wink:

Oh right, yea. I missremembered what the type states did too, I thought there were separate constructors for the pwm etc. traits :)

I've just rebased the branch to the master, from my side it should be good to be merged. Do you squash the commits on merge?

Never mind, I've squashed them.

Lovely, thanks! And yea, I tend to either squash or rebase depending on how well formated the messages are


Track initiator for slideChange event

The problem
When the slideChange event is triggered, I am unable to determine what triggered the event, be it the swiper slideTo event or an actual touch event etc.
Suggested solution
Track the state of what triggers the slideChange event.
Additional context
Previous issue (stale/closed): https://github.com/nolimits4web/swiper/issues/4346

Issue is closed because of outdated/irrelevant/not actual/needed more information/inactivity.
If this issue is still actual and reproducible for latest version of Swiper, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with issue


Kinesis Application Fails to Compile with error incomplete type instantiation

When using Kinesis, you have to include "#include <aws/core/utils/Outcome.h>" prior to including any "request" type because the "outcome" types are not fully defined in the typedef due to forward declarations.
Recommend, including Outcome.h in KinesisClient.h, where the typedefs are for the various "outcomes."  This avoids the compile time issue.
Issue seen both on Mac OSX with clang 3.3 and on Linux with g++ (version unsure) but other applications work.

My personal approach here is that the only includes that should appear in a header file are those necessary to declare instances of the types defined, where forward declarations are insufficient.  There are certainly situations where the service clients might be used, but there is no need to know Outcome's definition, thus why it's not included in the header.
It would be nice if the error message you get when missing Outcome's definition were more obvious, but that isn't something we have control over.

The issue is the forward declaration which does not allow compilation unless Outcome.h is explicitly included before the inclusion of the client, otherwise the code where you'd like to do something like
auto createStreamOut = kClient.CreateStream( createStreamRequest );
will not compile because the CreateStreamOutcome defined by auto has not been fully specified without the developer explicitly including Outcome.h which is a base type, and not directly used, it merely gets used on the typedef of CreateStreamOutcome in the definition of the client in KinesisClient.h
Hence, the compiler complains and it takes a lot of debugging to realize what dependency was not defined and its buried in a typedef of a template datatype.

I have recreated this and did not observe any order dependency between header includes.  Are you able to provide a code sample where switching include ordering causes a compilation break?

This breaks if you comment Outcome.h out.  This breaks on both clang and g++, I have not tried MS VC++. I did not init the SDK in this example so forgive the absent Init and Shutdown calls, this strictly illustrates the compile issue.  The error wording between clang and c++ are slightly different but both hint at the forward declaration issue.  This as shown compiles not issues, remove or comment out the top line and it breaks.
#include <aws/core/utils/Outcome.h>
#include <aws/kinesis/model/CreateStreamRequest.h>
#include <aws/kinesis/KinesisClient.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/Aws.h>
int main() {
    Aws::Client::ClientConfiguration kconfig;
    Aws::Kinesis::KinesisClient kClient(kconfig);

    Aws::Kinesis::Model::CreateStreamRequest createStreamReq;
    createStreamReq.WithStreamName("aws-kinesis-test-stream").WithShardCount(4);
    auto createStreamOut = kClient.CreateStream( createStreamReq );

    exit(0);

}

On Feb 8, 2017, at 6:27 PM, Bret Ambrose<EMAIL_ADDRESS>wrote:
I have recreated this and did not observe any order dependency between header includes. Are you able to provide a code sample where switching include ordering causes a compilation break?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/aws/aws-sdk-cpp/issues/441#issuecomment-278496908, or mute the thread https://github.com/notifications/unsubscribe-auth/AXYAnnQunQdz-zPxnb8KnjvptytEtxIKks5rak9sgaJpZM4L6SgY.

I must have misinterpreted what you were saying in your followup.  I thought you meant that you had code that failed or succeeded to compile depending on include order, but this looks like the original issue.
I'm sure you can find unnecessary includes throughout the SDK codebase, but this is an area I always try (don't always succeed though) to be very careful and absolutely minimal with.  I've worked with C++ codebases that took multiple hours to compile and the combinatorial explosion from unnecessary header includes (which could have been replaced by forward declarations) was a significant portion of that.
Given that Outcome.h doesn't look to have much of an include cost, I think it's probably ok to add to the client headers.

This issue is similar to #679


Discussion: ToastNotification - ExpiresOnReboot (= true) should become default

Discussion:
ToastNotification - ExpiresOnReboot = true should become default
To my experience, most (if not all) of the standard Toast notifications, like "Windows has been updated. Restart now.", "App has been installed. Try now." or "No threats have been found by Windows Security.", lose their significance (or even meaning) after a user session has ended or when Windows has been restarted.
However, all of them stay in the Action Center panel after reboot.
Shouldn't ToastNotification.ExpiresOnReboot better have a default value of true?

Moved from Microsoft-ui-xaml, not sure this is the correct home.

@andrewleader, does this fall in your area?

Hey @SetTrend, thanks for the feedback. The examples you call out all pertain to system toast notifications, which are definitely good examples of notifications that probably should not persist and should be cleared upon reboot!
However, I'm not sure about applying that rule for third party apps. For example, if you reboot your PC, I think you would still expect to see what emails came in via Action Center after rebooting. Do you have some arguments as to why third party notifications should clear on reboot by default?
And does anyone else have examples of notifications in their own apps that would make sense to have ExpiresOnReboot default to true? Or alternatively, have notifications NOT expire on reboot (current behavior)?

@andrewleader: Great comment! I'm very much looking forward to upcoming additional opinions and experiences here.
I think, what you're referring to in your example is rather dealt with by what Badge Notifications provide. Could this be a correct assumption?
To the regard of having old messages stick around in Action Center I stick with Mads Kristensen's view on starting his machine in the morning. In his vlog he recently said:

When I start my machine in the morning and open a Visual Studio project that I closed the day before, I don't want this project to open in a state I left it the day before. I don't like document windows opened or the Solution Explorer tree expanded in any way at project launch. - On a new day, I want a clean, fresh start. You know, it's just like this "fresh car scent" effect.

I believe this same expectation applies to messages in Action Center.


Add more example for binding

There are currently no obvious examples about Binding Selection, especially not in "Example Gallery" page.
https://altair-viz.github.io/gallery/index.html
There are some good example already there, it would be great to move them to Example Gallery?
https://altair-viz.github.io/user_guide/interactions.html

Good point... my feeling is that bindings in Altair 2 are still pretty immature (controlling their appearance/title is not easy, and it's not possible to set a starting value). There's some significant improvement in Vega-Lite 3, so once that's out it will be worth fleshing out the examples a bit more.


Class mapping for MS Coco Dataset

Hi,
Where can I find the class-mapping for the MS Coco dataset the pre-trained model was trained on?
I am looking for mappings of type -
classname, id

For MS Coco, the generator relies on the coco api (here: https://github.com/cocodataset/cocoapi/).
You can load the categories as such:  https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocoDemo.ipynb


Restrict access to and from pods

AS InfoSec
I WANT access to be restricted to and from pods
SO THAT every pod would only accept requests from the allowlisted ones
Accepted Criteria

[ ] Ruuter is the only Component that can initiate requests to any backend Components
[ ] No backend Component can initiate requests to Ruuter
[ ] TBA

Deployment scripts
https://github.com/buerokratt/NoOps/tree/dev/scripts/deployment
Readme
https://github.com/buerokratt/NoOps/blob/dev/README.md


⚠ DDoS-Relay US-W-sfo3-01 has degraded performance

In c1f0c20, DDoS-Relay US-W-sfo3-01 (http://<IP_ADDRESS>:42069/;csv) experienced degraded performance:

HTTP code: 200
Response time: 99 ms

Resolved: DDoS-Relay US-W-sfo3-01 performance has improved in c727a7d after 13 minutes.


java11 compatibility

Check List:

Fixes  #1232
Unit tests : YES / NO / NA
Javadoc with a code example (API only) : YES / NO / NA

Should we add some additional test too or are we fine with the ones we are having in place?
Additionally, should we merge  #1234 first and I do a rebase afterwards and make a change to no longer allow failing java11 builds?

Nice the build passes on JDK11 :smiley:  (on my local).
Two tests similar to Assertions_assertThat_with_String_Test should be added.
Good point for the build, I'll take care of #1234 once this PR is updated and ready to be merged.

Thanks for your feedback!
I've updated the PR accordingly.

Integrated thanks @epeee!


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #714 (73af29b) into main (fd2e9c8) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #714   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       53       53
=======================================
  Hits          378      378
  Misses         17       17


[bug] Modals has incorrect radius

Duplicates ❌

[X] I have searched the existing issues

Which Figma library is concerned?
Vitamin Android UI Kit
Current behavior 😯
On vitamin-android library and on material, modals have a radius (see Dialogs / Theming)
Expected behavior 🤔
We should have the same visual aspect on both design and implementation libraries
Context 🔦
We don't have same component in design and vitamin-android library
Screenshots / Videos 📸
Material specs :

Screenshot of figma component :

Screenshot of vitamin-android sample :

Thanks a lot @charlottemougenot for your request.
We will check this as soon as possible.
Have a great day,
Laurent


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

This pipeline configuration builds the application and produces a build for the Release configuration.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: KAmarillo1 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


getLocalVersion() doesn't work (on mac)

I'm on mac osX El Capitan. getLocalVersion() doesn't seem to work correctly, resulting in download every time I run updateChromeDriver
$ gradle updatechromedriver
:updateChromedriver
Downloading Chromedriver 2.23 from http://chromedriver.storage.googleapis.com ...
Download complete: the latest Chromedriver is available in /Users/rpgeddam/IdeaProjects/selenium-trial/build

BUILD SUCCESSFUL
Total time: 59.935 secs

$ gradle updatechromedriver
:updateChromedriver
Downloading Chromedriver 2.23 from http://chromedriver.storage.googleapis.com ...
Download complete: the latest Chromedriver is available in /Users/rpgeddam/IdeaProjects/selenium-trial/build

BUILD SUCCESSFUL
Total time: 1 mins 41.614 secs

confirmed, version 1.3 introduces this bug. Thanx. I will look into it

fixed in version 1.4


'vagrant halt && cluster/kube-up.sh' results in 'salt: error: no such option: --show-timeout'

I setup kubernetes as described here: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/vagrant.md
booting up the cluster is successful. but halting and rebooting the cluster via cluster/kube-up.sh results in an error:
...
==> master: Executing configuration
==> master: kubernetes-master:
==> master:     True
==> master: kubernetes-minion-1:
==> master:     Minion did not return. [No response]
==> master: Usage: salt [options] '<target>' <function> [arguments]
==> master:
==> master: salt: error: no such option: --show-timeout
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

same problem
I suppose it does something wrong during installation of minion-1,
pod 'kube-dns-o5rls' is PENDING:
Waiting for each minion to be registered with cloud provider
Validating we can run kubectl commands.
POD                                         IP        CONTAINER(S)              IMAGE(S)                                                                            HOST                 LABELS                                                STATUS    CREATED          MESSAGE
etcd-server-kubernetes-master                                                                                kubernetes-master/   <none>                                                Running   About a minute
                                                      etcd-container            gcr.io/google_containers/etcd:2.0.9                                                                                Running   About a minute
kube-apiserver-kubernetes-master                                                                                kubernetes-master/   <none>                                                Running   About a minute
                                                      kube-apiserver            gcr.io/google_containers/kube-apiserver:93a879cea6d76afcacc085bc7e138fcc                                                                                Running   About a minute
kube-controller-manager-kubernetes-master                                                                                kubernetes-master/   <none>                                                Running   About a minute
                                                      kube-controller-manager   gcr.io/google_containers/kube-controller-manager:e0d3b527de37e38320ce3ecc5982892d                                                                              Running   About a minute
kube-dns-o5rls                                                                                <unassigned>         k8s-app=kube-dns,kubernetes.io/cluster-service=true   Pending   About a minute
                                                      etcd                      gcr.io/google_containers/etcd:2.0.9
                                                      kube2sky                  gcr.io/google_containers/kube2sky:1.4
                                                      skydns                    gcr.io/google_containers/skydns:2015-03-11-001
kube-scheduler-kubernetes-master                                                                                kubernetes-master/   <none>                                                Running   About a minute
                                                      kube-scheduler            gcr.io/google_containers/kube-scheduler:60e7be27f99d4639ad22321025005983                                                                                Running   About a minute

and after that
... calling validate-cluster
Found 1 nodes.
     1	NAME         LABELS    STATUS
     2	<IP_ADDRESS>   <none>    Ready
Validate output:
NAME                 STATUS    MESSAGE   ERROR
scheduler            Healthy   ok        nil
etcd-0               Healthy   {"action":"get","node":{"dir":true,"nodes":[{"key":"/registry","dir":true,"modifiedIndex":3,"createdIndex":3}]}}
                     nil
controller-manager   Healthy   ok        nil

after installing, calling vagrant ssh minion-1 works, but
$ ./kubectl.sh get minions
$

shows nothing :-(

Maybe, these issues is the same like https://github.com/GoogleCloudPlatform/kubernetes/issues/5739

problem exists under 0.17+ (vagrant install under 0.16.2 works)
When I inspect the salt logs /var/log/salt/minion from a minion, then I can see:
2015-05-26 06:27:43,220 [salt.loader      ][DEBUG   ][2232] Error loading module.ipmi: No module named pyghmi.ipmi
2015-05-26 06:27:43,312 [salt.loader      ][DEBUG   ][2232] Error loading module.tls: ['PyOpenSSL must be installed before this module can be used.']
2015-05-26 06:27:43,325 [salt.loader      ][DEBUG   ][2232] Error loading module.nacl: libnacl import error, perhaps missing python libnacl package
2015-05-26 06:27:43,370 [salt.loader      ][DEBUG   ][2232] Error loading module.npm: npm execution module could not be loaded because the npm binary could not be located

...

2015-05-26 06:27:43,567 [salt.loader      ][DEBUG   ][2232] Error loading states.ipmi: No module named pyghmi.ipmi
2015-05-26 06:27:43,568 [salt.loader      ][DEBUG   ][2232] Failed to import states container_bridge:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/loader.py", line 951, in _load_module
    ), fn_, fpath, desc)
  File "/var/cache/salt/minion/extmods/states/container_bridge.py", line 20, in <module>
    import salt.utils.ipaddr as ipaddr
ImportError: No module named ipaddr

This is fixed now
Sent from my iPhone

On May 26, 2015, at 2:41 AM, thomschke<EMAIL_ADDRESS>wrote:
problem exists under 0.17+ (vagrant install under 0.16.2 works)
When I inspect the salt logs /var/log/salt/minion from a minion, then I can see:
2015-05-26 06:27:43,220 [salt.loader      ][DEBUG   ][2232] Error loading module.ipmi: No module named pyghmi.ipmi
2015-05-26 06:27:43,312 [salt.loader      ][DEBUG   ][2232] Error loading module.tls: ['PyOpenSSL must be installed before this module can be used.']
2015-05-26 06:27:43,325 [salt.loader      ][DEBUG   ][2232] Error loading module.nacl: libnacl import error, perhaps missing python libnacl package
2015-05-26 06:27:43,370 [salt.loader      ][DEBUG   ][2232] Error loading module.npm: npm execution module could not be loaded because the npm binary could not be located
...
2015-05-26 06:27:43,567 [salt.loader      ][DEBUG   ][2232] Error loading states.ipmi: No module named pyghmi.ipmi
2015-05-26 06:27:43,568 [salt.loader      ][DEBUG   ][2232] Failed to import states container_bridge:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/salt/loader.py", line 951, in load_module
), fn, fpath, desc)
File "/var/cache/salt/minion/extmods/states/container_bridge.py", line 20, in
import salt.utils.ipaddr as ipaddr
ImportError: No module named ipaddr
—
Reply to this email directly or view it on GitHub.


Update active-directory-schema-extensions.md

Based on the information here: https://learn.microsoft.com/en-us/azure/active-directory/develop/reference-claims-mapping-policy-type and the following statement:

Claim Type: The JwtClaimType and SamlClaimType elements define which claim this claim schema entry refers to.
* The JwtClaimType must contain the name of the claim to be emitted in JWTs.
* The SamlClaimType must contain the URI of the claim to be emitted in SAML tokens.

I suspect the JWTClaimType example given here should not be a URI. This change reflects that, although it would be good for someone more experienced on this to confirm that exampleclaim would be a valid value (I'm unclear whether this must match the value in ExtensionID or not.

@davidmu1
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

@robinmalik - I think the proposed change is fine, but it appears that the PR has merge conflicts. Please correct.

@robinmalik
The content has been updated since the pull request was created, and the article no longer exists. Thanks for your contribution.

@robinmailk - The article was renamed which caused the conflict. I'll go ahead and make the change in the renamed article if appropriate.


Modal component

Refactor to use the React portals (done).
Some functionality that could be added which would be helpful.

option to close modal when clicked outside modal

Look at other examples of modals that are used. Get list of features that would be helpful to add to modals.
There are a couple ways to make this better - we should weigh pros/cons and decide if we want to implement for 1.0.
Acceptance criteria:

Should have option to close modal when clicked outside of modal
Should be WIA-ARIA accessible

E: 2D

@MikeLockz

option to close modal when clicked outside modal

What's the plan for getting this feature integrated? Should I do a PR? And if I do, how soon will it get published? I just want to understand the release cycle of this project before I start any work.

Hey @adrianmcli - I'm sorry to leave you hanging for so long. We've been working on a proprietary design system and haven't been actively developing on Rimble. We do have a Portal component (not documented) that is already being used by the Modal component (also not documented). That being said if there is additional functionality that you want to add and submit a PR for we will review and merge it in.

@adrianmcli - here are a couple links to check out:

https://github.com/ConsenSys/rimble-ui/blob/master/src/Portal/index.js and
https://github.com/ConsenSys/rimble-ui/blob/master/src/Modal/index.js


[GUI] v5 master branch - addresses don't go away despite being used.

https://mempool.space/signet/address/tb1qtjv7ruwy57249j5g4g4jcwhctvwcnatc332jcl50yvtnzlch8cjs2vcxje

My first idea to fix this issue was to monitor coins and checks if one of them deposits to the address, but as @darosior responded:

I disagree with the approach here. It seems like a bad hack to be honest. An address which was shared doesn't mean it was necessarily used onchain.

We agree to reintroduce instead the previous behavior:
Reset the list when user leave and come back to the receive panel ( #1035 )


tools: fix fpgainfo errors port command return error code

fpgainfo errors -c port returns errno 70 if one or more functions are bound to vfio-pci, Errors are supported by DFL driver port, so set fpgaPropertiesSetInterface to FPGA_IFC_DFL.

Signed-off-by: anandaravuri<EMAIL_ADDRESS>

Coverage decreased (-0.05%) to 61.231% when pulling 07cde99aaaece261832b17ca1eecfd67d2cde2d0 on aravuri/fix_fpgainfo_errors into bf5f3cfa6dc60eccbbae3f026de7621808303b25 on master.


JSON API always uses default values, ignoring actual values

For example:
curl -X POST "https://explaintome.herokuapp.com/api/v1.0/summary" -H "accept: application/json" -H "Content-Type: application/json" -d "{ "url": "https://www.technologyreview.com/s/513696/deep-learning/\", "max_sent": 0}"
Actually returns the default Wall Street Journal article defined in the code.

Thanks for catching this example. I've updated the api definition on swagger and so everything works.
curl -X POST "https://explaintome-app.herokuapp.com/api/v1.1.1/summary" \
    -H "accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{ "max_sent": 10, "url": "https://www.technologyreview.com/s/513696/deep-learning/"}'


werf: 1.2.99 -> 1.2.107

Description of changes
https://github.com/werf/werf/releases/tag/v1.2.107

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 175033 run on x86_64-linux 1

1 package built:

werf


Unable to connect to remote debugger, stuck at Launching Dev Tools

Using the remote debugger causes the react-native application not load. From the output of the react-native-cli it shows Launching Dev Tools (0/1) and it never moves. The remote debugger tab automatically launches in chrome, but localhost:8081/debugger-ui can't be reached.
Both the iOS and Android simulators shows:
Runtime is not ready for debugging.
- Make sure package server is running.
- Make sure the Javascript debugger is running and not paused on a breakpoint or exception and try reloading again.

iOS Simulator

Chrome localhost:8081/debugger-ui

react-native-cli output

React Native version:
  React Native Environment Info:
    System:
      OS: macOS 10.14.4
      CPU: (4) x64 Intel(R) Core(TM) i5-4308U CPU @ 2.80GHz
      Memory: 419.88 MB / 16.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 8.15.0 - ~/.nvm/versions/node/v8.15.0/bin/node
      Yarn: 1.15.2 - /usr/local/bin/yarn
      npm: 6.4.1 - ~/.nvm/versions/node/v8.15.0/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
      Android SDK:
        API Levels: 23, 24, 27, 28
        Build Tools: 28.0.3
        System Images: android-28 | Google APIs Intel x86 Atom
    IDEs:
      Android Studio: 3.4 AI-183.54<IP_ADDRESS>52501
      Xcode: 10.1/10B61 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.5 => 0.59.5
    npmGlobalPackages:
      react-native-cli: 2.0.1

Describe what you expected to happen:
The remote debugger launches and the app loads.
This issue is occurring in both freshly created projects and in development projects, the info above is from a freshly created project.

Workaround: Keep dev tools open in chrome and then press "Debug JS Remotely" on device/simulator.
If doesn't work then try restarting packager and repeating the same.

I've never had sucess connecting to
localhost:8081/debugger-ui
Now that i'm using expo i connect to
localIPv4:8081/debugger-ui (on windows u can use ipconfig to find your ipv4)
and back when i wasn't using expo i connected to
<IP_ADDRESS>:8081/debugger-ui
I've only worked with android simulators but maybe it's worth a try?

I never had to do this before but after upgrading to 59.8 I noticed CORS errors in the chrome debugger tab, even though the packager says 100%.
Installed a chrome extension to allow CORS and then it loaded fine after reconnecting the app to debugger.


GCS: Implement support for pagination

Sometimes GCS returns paginated results, which seems to be a new thing, and worst of all it's not deterministic.
Right now a lot of Bazel CI builds are failing since they believe 0.27.0 is the latest version.

Fixed by https://github.com/bazelbuild/bazelisk/pull/238


Not working from few days

I've using the extension with VSCode from 2months, but from past couple of days, the extension doesn't seem to be properly working in VScode, it just shows initializing in the status bar.
Also, the web version doesn't show any data maybe because of this.

@alectro86 @AnuragYadav365 The server is out of order. It has been fixed!


Don't report custom type constructor args used in comparisons

Fixes #25
When used in comparison, the arguments of a custom type constructor won't be reported.
-- Not reported
value == Foo 1
-- Still reported
value == fn (Foo 1)

@r-k-b This won't handle the case for assoc-list and I don't have a good idea to handle it. I added a warning in the rule's documentation though.
Please try it out:
elm-review --template jfmengels/elm-review-unused/preview#issue-25 --rules NoUnused.CustomTypeConstructorArgs

cc @lydell @jpagex

Cool!
I tried to simplify down my case:
module Simple exposing (update, view)

import Html exposing (Html)

type alias Model =
    { version : Version
    }

type Version
    = LatestVersion String
    | OutOfDateVersion

update : String -> Model -> Model
update justFetchedVersionString model =
    { model
        | version =
            if model.version == LatestVersion justFetchedVersionString then
                model.version

            else
                OutOfDateVersion
    }

view : Model -> Html msg
view model =
    case model.version of
        LatestVersion _ ->
            Html.text ""

        OutOfDateVersion ->
            Html.text "You need to update!"

This is the result:
❯ npx elm-review --template jfmengels/elm-review-unused/preview#issue-25 --rules NoUnused.CustomTypeConstructorArgs
npx: installed 125 in 8.083s
✔ Fetching template information
-- ELM-REVIEW ERROR --------------------------------------- src/Simple.elm:12:21

NoUnused.CustomTypeConstructorArgs: Argument is never extracted and therefore
never used.

11| type Version
12|     = LatestVersion String
                        ^^^^^^
13|     | OutOfDateVersion

This argument is never used. You should either use it somewhere, or remove it at
the location I pointed at.

I found 1 error in 1 file.

This shouldn’t be reported, should it? Or am I missing something 🤔

Yeah, it shouldn't. I made some mistakes in my tests and forgot to handle an essential thing. It should be fixed now though!

Thanks! Yes, now it seems to be fixed. Awesome! 🥇

Alright, released in 1.1.7 :)


Add way to dynamically add processors to cnlp_processors

Currently, adding a processor in order to use the cnlp_transformers library for new tasks requires the following steps:

Clone the repository and install it in editable mode
Write a class in cnlp_processors.py that inherits from the proper base class, defining get_labels and get_one_score
Add the class to the cnlp_processors dictionary, defining a task name as the key
Add the task name and output mode (mtl, classification, tagging, or relex) to the cnlp_output_modes dictionary
If the task isn't a classification task, edit cnlp_compute_metrics to define which metrics to calculate for the task

Steps 2-4 can currently be done dynamically, without editing any files, obviating step 1. Step 5 requires code be edited or the cnlp_compute_metrics function be manually replaced in the cnlpt.cnlp_processors module, which is not a user-friendly workflow.
This process could be simplified so that users never have to clone the repository unless they want to contribute to the project itself; specifically, steps 3-5 could be abstracted into a function so that direct modification of module state is not exposed to the user.

Ongoing work on #17 and #96 should address this.

this is addressed in v0.4.0


SAM-3084 Fix feedback logic for MC-MC

DeliveryActionListener.java was forgetting if students selected a wrong
answer when it checked to see if they got the right number of correct
answers.

Clumsy mistakes addressed, I believe.

This whole method looks confusion but the fix seems right to me


Samw/concurrency policy type

The type of argument to ConcurrentControl.setPolicy is defined as a union. One member was the empty type {}. As a result, anything was assignable to it, and anything could be passed to this function. This PR closes that loophole by making both classes in the union non-empty.
This is a breaking change because existing apps could be passing invalid arguments to this method. The TS compiler will tell them  what the problem is the next time they build.

Is there a reason for PessimisticPolicy to be a class in the first place? It doesn't do anything - is it expected to do something in the future?

Is there a reason for PessimisticPolicy to be a class in the first place? It doesn't do anything - is it expected to do something in the future?

No, I don't think PessimisticPolicy will ever do anything. I just wanted a type-safe API for setPolicy.

No, I don't think PessimisticPolicy will ever do anything. I just wanted a type-safe API for setPolicy.


BUG: unable to disable telemetry through environment variables

The documentation suggests using an environment variable to disable telemetry.  Normally I would leave it on but it's being blocked by our corporate networking.
I am deploying evidently (0.4.15) via a Docker container.  I've tried both setting the environment variable in the Dockerfile
# https://docs.evidentlyai.com/support/telemetry
# turn off tracking
ENV DO_NOT_TRACK=1

As well as within a startup script
#!/bin/bash
# startup.sh
export DO_NOT_TRACK=1
evidently ui

I can docker exec into the container and run env and I see the environment variable set.
The logic in src/evidently/telemetry.py looks correct.  I'm not sure where else to look but it seems broken to me.

Hey @carlsonp ,
working on it.
cc @mike0sv


C++: Improvement to cpp/unsigned-comparison-zero

It was limited to looking for the form x >= 0 for no good reason.  With this PR 0 <= x is also detected.

Yep, and a slightly different violation message for that case.


initial commit for data format

adding the version 0.01 of the data format.  this is the format we would a) ask others to submit data to us in, and b) ingest directly into ES.

@feomike A suggestion, can we put this inside a specs or docs folder? I see more coming and that will help with keeping things clean. We can link to them from main README later so they don't get lost

@jmarin i know right?  i hit the pull request button right as that same thought came to me.  whats the best method?  issue a new pull request, with the document moved?

@feomike You can just create the folder, move the doc and commit on your master branch and push to your fork. The pull request should get updated

@jmarin so created and moved.


require strkey length is divisible by 8

closes #1804

CLA signed.

@clabot check

@cla-bot check

@cla-bot check

This is no longer necessary after https://github.com/stellar/go/pull/2491 .


Parse URL Variables

Hey,
In order to support path parameters (for example https://hello.com/example/:someting), Postman uses URL variables.
It is essentially a list of Variable inside the Url object.
There was a declaration for the variable property, but was not parsed.
Therefore, I am adding support for it. 😄
I've tried to follow your code style. Let me know if you've got any problem.

Hey, @bl4ckst0ne Thank you for the PR. I have reviewed it. While I was going through the schema document, It seems that the default value of variable should be an empty list instead of None.
There are many places the default value needs to be changed.
Can you do it for variable?
So let the default value be empty list and do variable = data.get("variable", [])
Let me know if this is clear to you.

Hey, @bl4ckst0ne Thank you for the PR. I have reviewed it. While I was going through the schema document, It seems that the default value of variable should be an empty list instead of None.
There are many places the default value needs to be changed.
Can you do it for variable?
So let the default value be empty list and do variable = data.get("variable", [])
Let me know if this is clear to you.

LGTM

Thank you @bl4ckst0ne for the contribution!


Let me know if End-Effector needs any optimizations/fixes

Julian, looks like the code doesn't build, so you might want to look into that.

Pretty sure I fixed everything here. Let me know if I can merge this into main.


Repository : bpdm-certificate-management

Repository name: bpdm-certificate-management
Purpose: implementation of the reference implementation for business partner certificates
Responsible: @SujitMBRDI , @nicoprow
Thanks!

👍

Hi @maximilianong,
should this repo first be set up in catenax-ng or directly in eclipse-tractusx?

Hi @SebastianBezold - directly in Eclipse-TractusX. Thanks.

PR to create the repo via otterdog created: https://github.com/eclipse-tractusx/.eclipsefdn/pull/37
Will be reviewed and merged by EF.
@danielmiehle you might be asked for approval on the PR as Project Lead

Repo has been created: https://github.com/eclipse-tractusx/bpdm-certificate-management.
@nicoprow and @SujitMBRDI, can you work directly on that repo, or do you need a fork in -ng?
You can of course also fork it somewhere else

Thanks @SebastianBezold
Do I need special permissions to assign issues and set labels to issues?
In other repositories Im able to do it.

Hi @maximilianong, I could not find any specifics so far, so from my point of view, you should be able to assign the issue as committer. I would close this issue for now, but keep the assigning topic in the back of my head.
As a reminder. Everyone involved, please keep track on the legal docs initialization of the repo.
This should not be a lot of effort, but is essential.

Hi @SebastianBezold - I don't know what happened but now it works :D Maybe it just took some time.


Add unit to h_max in HillasReconstructor

Hi @mackaiver , @kosack ,
This short PR add a unit (meter) to the height of the shower mawimum computed by estimate_h_max (for consistency with other methods).
Don't you want also to rename the python file: HillasReconstructor.py to hillas_reconstructor.py for consistency with the other files?

Don't you want also to rename the python file: HillasReconstructor.py to hillas_reconstructor.py for consistency with the other files?

Yup. Renaming is a good idea. 👍


Assessment Only spreadsheet upload

Trello card
spreadsheet upload functionality for AO provider listings
Context
Building on the spreadsheet upload functionality for teaching internships, this provides a facility to upload Assessment Only providers
Changes proposed in this pull request
Guidance to review

@martyn-w Looking at https://get-into-teaching-app-review-4269.test.teacherservices.cloud/train-to-be-a-teacher/assessment-only-route-to-qts, it has exactly the same listings as https://getintoteaching.education.gov.uk/train-to-be-a-teacher/assessment-only-route-to-qts, so something is not quite right in terms of the page generation?

@martyn-w As discussed, I have added a new column to the spreadsheet with a clickable phone number
the new column is called international_phone (but happy to change this, particularly if you can think of a one-word column name to be consistent with all the others)

@martyn-w In prod, National is listed at the end of the regions and before Non-UK, rather than in the middle of the regions alphabetically
Would it be possible to replicate this?
Prod

@martyn-w One final change and this can go out on Thursday!
Could you possibly shift the National section again so it is first in the list (ie above East of England)?
I also need to give you one final spreadsheet to upload - and then this can be merged


Material Design Makeover

[x] Partial Material Design page reformatting
[ ] Primary and Accent colors, pick from The Material Design Color Palettes please
[ ] Animations(ish)

All this absolute positioning nonsense is getting to me :(
List of changes:
Only body should be styled with the background color. html cannot be styled, and giving other elements the same background color only makes the browser's renderer draw more pixels over pixels that it doesn't need.
Moved the submit button to the right of the page. If you look at most websites, the submit buttons are to the right, and configuration is to the left.
wewladdy, those borders are literally Satan. I gave them a little border-radius: 2px; treatment.
#powerof4paddings5lyfe
Many of these prefixed transforms and transitions don't need to exist because transforms and transitions were officially merged into HTML5, making the vendor prefixes a thing of the past. Unless someone is browsing to cpaste on an age old browser (which is already not recomemded by Google), we shouldn't worry about all this vendor prefix replication.
Last, but not least, I removed the child specific selectors. Most to all of the times, web browsers will cache a list of existing ids (since there is only one element with a single id on a page at all times), so when you ask for an id under a certain parent, it will search for all of those parents first, then for the id, instead of looking into the id list for the id that already exists. Since this a relatively simple page, that amount of complexity isn't really needed either.

A few notes:

There's no "fade >in<" to the results link - although it does fade out https://github.com/ds84182/cpaste/commit/8b43a28ea48e48ec48f156eaa318dbcf60a39970.
The radio buttons aren't really designed at all.
The background should be white, if we're planning on going for Material Design. This helps with shadow elements that provide one of the most important elements - Shadow. Once we convert to a white background we should also choose a somewhat bright primary color to use for the buttons to contrast against the shadow.

I realized you said this is incomplete, but this is just making a small To-Do list to finish this up. If you have anything else, feel free to comment.

... It's incomplete and I was requested by @vifino to do a dark theme. And also, Material Design themes can be dark, see the color page, which discusses text color choices on dark backgrounds, aka dark background applications.

Then, if we're making a dark-themed application, I assume we will be changing the background to #030303 instead of #010101 ? Also, during this change, the primary and accent should be applied because some button attributes change it to #030303.

@vifino and I are still deciding the primary and accent colors at this time. I just went and used MD's actual grey colors for the greys in the style.

Awesome job, @ds84182.

I don't see any problems. ++

Is this done?

Merged manually.
It's not pretty, but allows me to properly merge it with multi-theme support.


SW-5240 Add planting site history tables

In preparation for allowing editing of detailed planting site maps, add tables
to store historical versions of site maps. This will eventually allow us to
show a historical observation on the map that was active at the time of the
observation, even if it has subsequently changed.

#1912
#1911  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sgrimm and the rest of your teammates on  Graphite

Merge activity

May 1, 6:04 PM EDT: @sgrimm started a stack merge that includes this pull request via Graphite.


nixos/texlive: Fix texlive pstricks

Motivation for this change
The upgrade of ghostscript to 9.50 produced some issues with texlive 2019. This patch adds an additional fix necessary for the upgrade preventing pstricks from working correctly:
https://tug.org/pipermail/dvipdfmx/2019-November/000036.html
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The patch was tested and actually fixed the usecase that failed before

@GrahamcOfBorg build texlive.bin.dvisvgm

@veprbl : the patch is about xdvipdfmx, no dvisvgm

@GrahamcOfBorg build texlive.bin.core

@immae Thank you!

Thanks @veprbl . I just saw your port to stable label, should I do a PR?

@immae No need, I'll take care of it.


Fix reposense link

Codecov Report

Merging #352 (e719519) into master (f7b6789) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #352   +/-   ##
=========================================
  Coverage     67.09%   67.09%
  Complexity      942      942
=========================================
  Files           137      137
  Lines          3194     3194
  Branches        448      448
=========================================
  Hits           2143     2143
  Misses          888      888
  Partials        163      163

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 f7b6789...e719519. Read the comment docs.


Get Roles from user by id return error.

I don't know if I misunderstanding the method I need to get all the roles from an user by his id so I try:
I am using the PHP Foundation
$app->$auth->admin()->getRolesForUserById($userId);
this user hasn't role but is normal to receive this error ?
Cannot access empty property ?
Thanks.

My mistake. I copied from auth rep and I forgot to change is auth() and not $auth :(

No problem! Thanks for sharing the solution.


Action packer re-use

Been playing around with the tpl, let me know what you think @learnforpractice
This might not be a good idea but just wanted to see what was possible
Modifies the action transformer to allow re-use (eliminating the @packer)
Before:
@packer
class MyData {
    constructor(
        public name: string
    ){}
}

const actionWrapper = new ActionWrapper("saygoodbye")
const action = actionWrapper.act(this.receiver, new PermissionLevel(this.receiver))
action.send(new MyData('alice'))

After
const actionWrapper = new ActionWrapper("saygoodbye")
const action = actionWrapper.act(this.receiver, new PermissionLevel(this.receiver))
action.send(new sayGoodbyeAction('alice'))

While this brings new simplicity to writing contracts, a downside is that you lose Intellisense on new MyData and instead have to rely on compile time checking

Sounds good. I don't see a side effect.

Solve the merge conflict please.


Support using each individual upstream's endpoint hostname as SNI parameter

Title: Support using each individual upstream's endpoint hostname as SNI parameter
Description:
In our situation we have mainly a flat network except for some K8s clusters which have independent address spaces for their workloads. We currently have a, finagle-based, mesh in which we have E2E TLS & and client-side load balancing over instances, also over instances in the K8s clusters. This is how it works:

Each instance in the cluster registers with an externally resolvable hostname of the form $pod-ip-with-dashes.$namespace.pod.$clustername. Inside the cluster it resolves directly to $pod-ip. Outside of the cluster this hostname resolves to the IPs (plural) of the ingress nodes.
On these ingress nodes we run an "SNI Router", the only thing it does is accepting the socket, looking at the SNI parameter and on the inside forward the TCP connection to the pod indicated in the SNI parameter.

This allows us to achieve both E2E TLS and client side load balancing over individual pods which allows us to eliminate the hot-spotting traditionally seen when employing L3 load-balancing.
We would love to be able to use envoy proxy as our sidecar but currently we cannot find a way to set the SNI parameter to be the hostname of an endpoint. We see some options to set it to a cluster wide constant value, which Istio appears to use as well.
How can we set the SNI parameter to the individual hostname endpoint? (We are fine using a WASM filter or something, but we would rather not run our distribution as we would like to be able to stick with Istio's distribution of envoy.)

I don't think this is possible today though it's something that could be added. cc @ggreenway @lambdai

@mattklein123 I would be happy to contribute something. Although my c knowledge is seriously limited I would appreciate some guidance on where to fix this. E.g. I'm not sure whether setting the sni parameter by default would break existing setups so it probably needs to be toggled.

So, I think this may actually be possible today via transport_socket_matches, but it would be extremely verbose and wouldn't be dynamic (since the config is on the cluster vs. the endpoint), but it might theoretically work for you if you can use a static cluster and inline a match for each endpoint.
Assuming that doesn't work (likely), I would have a look at how transport socket is configured today and how the transport socket match functionality works, and we can first come up with an API proposal. At a high level I think we would have an option that would allow mapping endpoint host to SNI, and create a different transport socket config for each endpoint. I would definitely like to hear from @lambdai though who might have better ideas.

@mattklein123 When you mention transport_socket_matches I realize cluster upstream filter doesn't work.
The existing transport socket match is something like we prepare N transport socket candidates, and when an upstream host is selected, choose the best fit for "endpoint metadata". It might be easier to extend TransportSocketMatch by

extend the match critieria, add another host info beside "endpoint metadata". Of course the host info we need in this use case is "host name". It avoid us encode the host name into "endpoint metadata"
Create new TransportSocketMatcher field, either as straight as "bool use_host_name_as_SNI", or/and a SubTransportSocketMatcher.
The sub_matcher is much extensible, since you can decide which  occurs last, use_host_name_as_SNI or the existing metadata matcher.

  message TransportSocketMatch {
    google.protobuf.Struct match = 2;
    core.v3.TransportSocket transport_socket = 3;
  }

to
  message TransportSocketMatch {
     one_of {
       // Terminated matcher
       {
         google.protobuf.Struct match = 2;           // This field should always work with field 3.
         core.v3.TransportSocket transport_socket = 3;   // terminate the transport
       }
      // Nonterminated matcher
       {
          bool use_host_name_as_SNI = 4;          // Always match, plus adding SNI into existing transport socket options.
          repeatedTransportSocketMatch sub_matcher = 5;  // or use sub matcher to create transport socket
       }
     }
    one_of {
    }
 }

The above is likely the matcher chain in the recursive structure...

@mattklein123 , regarding the matchers, I think we would be okay for a PoC if we can insert the matches based on hostname/endpoint. Potentially we can add them to a an Envoy cluster using Istio's EnvoyFIlter. However, I'm not sure what the match configuration would look like, particularly how to set the SNI value in the configuration.
As we are generating all the entries for the pods in the remote clusters already, it would be rather trivial to generate an appropriate accompanying EnvoyFilter to override the SNI value.

Leaking Istio discussion here a bit, but FWIW Istio doesn't allow patching Endpoints with EnvoyFilter

I'm going to need to think about this a bit so let me get back to you. cc @alyssawilk also who just pinged me about a somewhat similar issue as it relates to H2 vs. H3 transport socket configuration.

I don't think we want a different transport socket config for each host. The sent SNI value is a per-connection (not context) setting in BoringSSL. I think we should add an option "set SNI to hostname" to the TLS upstream transport socket config somewhere, and set that on the SSL* when it is created here.

Thanks @ggreenway for the link. I had forgotten that we basically already support this.
@spockz see: https://github.com/envoyproxy/envoy/blob/a67d8e588532fc2e3a7d89ee6aa469931c6419be/api/envoy/config/core/v3/protocol.proto#L40-L43
And how that ultimately works here:
https://github.com/envoyproxy/envoy/blob/7d426641e044491ed13b0b45afb25604c323fbc9/source/extensions/transport_sockets/tls/context_impl.cc#L611-L613
and here:
https://github.com/envoyproxy/envoy/blob/a67d8e588532fc2e3a7d89ee6aa469931c6419be/source/common/router/router.cc#L496-L501
This issue is not HTTP specific, however the current transport socket API just takes a transport socket options to create the transport socket, so it would probably be easiest to just make use of the existing serverNameOverride() field. (The transport socket is at a layer where it doesn't know anything about hosts, endpoints, etc.)
So per @ggreenway I would suggest we add a new config option that will trigger the behavior you are after. The trouble is I'm not sure if we can avoid implementing this functionality in each extension that makes connections given the decoupling between network connections and endpoints. I'm also not sure yet where the best location for such a configuration should be. I can poke more at this tomorrow but I wanted to write down what I thought so far before I leave for the day.
(@alyssawilk for your issue, I do think that we do ultimately want to tie into the transport socket matching functionality at the code level, so perhaps the way to do that will be to auto-populate match structures on behalf of the user? We can discuss this more offline.)

One important difference with the existing auto_sni (I'd forgotten about that): I believe that auto_sni sets something on the upstream connection so that there is a separate connection pool per SNI value. For this new use-case, we want to make sure we don't do that. This new use case does not want requests to be routed to a connection based on the SNI; the SNI is just needed to setup the connection, but once setup, it is the same as the others in the same cluster.

For this new use-case, we want to make sure we don't do that. This new use case does not want requests to be routed to a connection based on the SNI; the SNI is just needed to setup the connection, but once setup, it is the same as the others in the same cluster.

@ggreenway I'm pretty sure we can reuse the same hashing logic and it would effectively be a no op because there would be one value per host? My initial thinking was an option that is shared across all conn pools including TCP. I can look more tomorrow.

@ggreenway I'm pretty sure we can reuse the same hashing logic and it would effectively be a no op because there would be one value per host? My initial thinking was an option that is shared across all conn pools including TCP. I can look more tomorrow.

Oh right, that makes sense. 👍

Is the feature request here to set SNI by downstream request or upstream endpoint? IMO auto_sni does the former which is from downstream.

I took another look at this and my concrete suggestion is:

Add a common field on the Cluster proto to account for the new functionality. I think its debatable where this is put but potentially on UpstreamConnectionOptions. Whoever actually works on the change can suggest the best place after looking through.
Ultimately hang this option off of ClusterInfo
Do something like wrapTransportSocketOptions (in the HTTP conn pool base) but in the shared conn pool base across all conn pools including TCP. This code can look at the cluster info hanging off of the host and decide if the transport socket options need to be wrapped to provide an override SNI, and then use this override transport socket options when creating connections.

I think if we do ^ it won't even engage the hashing code that @ggreenway was talking about which is fine IMO.
I think this should be pretty straightforward and clean.

However, @mattklein123, could you please elaborate on the 3rd bullet? It doesn't make much sense to many.

You need to provide an override transport socket options to change the SNI. This is how you would do it I think.

Has a solution been found using current's Envoy configuration?


missing util package

Firstly, I installed the dependency of zomato in gardle.build file
implementation 'com.github.zomato:androidphotofilters:1.0.2'

And it is installed successfully but when I try to get ThumbnailItem from com.zomato.photofilters.util.ThumbnailItem I found that the utiil package is missed.

Was it fixed?


Conflicts in odo and Devfile terminology

With moving everything towards Devfiles some of the odo terminology clashes with Devfile terminology.
One of the biggest clashes is the use of the term component.

in odo "component" is part of the application (for example one microservice that is part of a bigger application)
in Devfile "component" is part of the workspace (for example a build container or an IDE plugin)

This should be resolved before we release odo v2 with stable Devfile support.
We have two options:

Change on odo side. This will include big changes in most of the odo commands, making it backward incompatible.
Rename components in devfile spec to something else

/kind discussion
/kind epic
/priority high

in odo "component" is part of the application (for example one microservice that is part of a bigger application)

IMO, if possible, we could use this opportunity to change it on odo side. Personally, in my head, even though I have an idea about what a component (DC+pods+service+url) means in odo, reading its definition still leaves me confused. :confused:
Plus, application means yet another thing in OpenShift (a label that can be assigned to different objects, IIUC) and here in the definition you mention, it means something else.

This might be a good opportunity to even more match odo terminology with OpenShift web console.
One big downside is that this will make odo v2 completely incompatible with the previous version. Which will make it more complicated to adopt odo v2 for IDE plugins

By matching the terminology with OpenShift web console, we don't mean to use the lingo of OpenShift, right? I think a major goal of odo is to abstract k8s/OpenShift for the users so that they don't have to understand those. So, using the web console terminology is fine as long as we don't make things confusing for users.
I think this is a great topic for odo contributor's call.

By matching the terminology with OpenShift web console, we don't mean to use the lingo of OpenShift, right? I think a major goal of odo is to abstract k8s/OpenShift for the users so that they don't have to understand those. So, using the web console terminology is fine as long as we don't make things confusing for users.
I think this is a great topic for odo contributor's call.

Sorry, I should have been more specific. I meant one specific part of the OpenSHift web console - Topology view in Developer console

I think, the above odo definition of component is a subset of devfile definition and odo component command is not able to create everything in the the full definition on the devfile. I do not think odo component command should actually be used to create builders and side-car tools that are useful for development time only either. I am OK if it only deals with a subset of devfile and we let "experts" to modify additional components in devfile only

I think, the above odo definition of component is a subset of devfile definition and odo component command is not able to create everything in the the full definition on the devfile. I do not think odo component command should actually be used to create builders and side-car tools that are useful for development time only either. I am OK if it only deals with a subset of devfile and we let "experts" to modify additional components in devfile only

@gorkem, In other words, you are saying that odo component create still makes sense as it creates devfile components (or a subset of it)?

Logically yes, odo component create can be used to create a subset of devfile components. However the issue is we do not plan to have a catalog of devfile components but complete devfiles so this would not work. Perhaps your original suggestion of synchronizing with the topology view is the implementable option.

Is this relevant any more @kadel? I think we're going to avoid exposing devfile terminology to odo users by using odo config for making changes to devfile. So it shouldn't be a problem, no? But I could be wrong.


Add ffmpegthumbnailer to the staging repo

We need https://packages.fedoraproject.org/pkgs/ffmpegthumbnailer/ffmpegthumbnailer/ put in staging for F40.
This will let us move to negativo and off of rpmfusion entirely. F41 blocker.

Per @KyleGospo's suggestion, this didn't even require adding the spec file to our own packages repo... just created the package in our staging COPR and it built clean first try.
https://copr.fedorainfracloud.org/coprs/ublue-os/staging/build/8106992/