Possibility of connecting bumble tcp-server controller with Zephyr application?

I am reading the docs but something was not clear to me.
My use case is the following, I am developing a BLE peripheral with Zephyr OS. This RTOS has the option of compiling as a linux posix binary to do unit tests, host debugging, etc. It also allows to use an hci linux interface to use the bluetooth controller from host.
https://github.com/zephyrproject-rtos/zephyr/blob/e47fc45c4d4ed3c04d6a147e10d2a52630b7f0d7/drivers/bluetooth/hci/userchan.c#L193
My question is if its possible to add a virtual hci with bumble and make my linux binary (BLE Peripheral) connect to it. Afterwards I would like to have a second virtual hci that I can connect to test that my bluetooth application (BLE Central) works (integration tests).
(BLE Peripheral)_________________________________________________________________(BLE Central)
Zephyr OS Linux Binary   <----> Virtual HCI    < -----> Virtual HCI <-----> Integration test application (python, C, java...)
From the bumble website I see that this would be covered in Use Case 4. Which example should I refer to create the two virtual HCI interfaces and link my "emulated devices" to these virtual HCIs.?
In addition I might be interested in Use Case 3, where I do my integration tests directly with Bumble. Which example should I refer to for this purpose?

Yes, this should be possible. What's needed here is to link the two 'virtual HCI' interfaces together. Unfortunately, the Linux HCI interfaces don't support that themselves. But you can do that with the Bumble 'local link', to which any number of virtual controllers can be attached, and communicate with each other. The app bumble-controllers (apps/controllers.py) does exactly that: instantiate N controllers, each with its own HCI transport, and link them together. For the HCI transport, you have a choice of several candidates (see the doc for a list of all the transports supported), but typically, for a local link, tcp-server:_:<port> is a reasonable choice, this will create a TCP socket on localhost:, on which HCI packets can be sent/received (the counterpart transport for a Bumble app that needs to connect to that controller is tcp-client:localhost:<port>). Now, what's left to do is tell the Zephyr app to also connect to one of the virtual HCI transports. Unfortunately, it seems that the userchan transport in Zephyr only supports HCI sockets (socket(PF_BLUETOOTH, ... in userchan.c), there's no way to ask for a TCP socket instead. So what would need to be done is to either create a new HCI transport in Zephyr, for which Bumble can act at the server (tcp socket, websocket, PTY, UDP, ...). Looks like a pretty straightforward addition (or modification of userchan.c).
Another option with Zephyr would be to configure your build to do HCI over UART, and enable the virtual PTTY UART mode, which can then be bridged to the Bumble controller (https://google.github.io/bumble/transports/pty.html), but I don't know if Zephyr can be configured that way.

For the HCI transport over TCP is there document I could refer to implement it or any client example (any language is fine).
Zephyr has an example with HCI Uart but I would have to check if its available for the posix port
samples/bluetooth/hci_uart
Thanks for the detailed answer!

I have checked the code again from the zephyr transport layer.
So if I understand correctly I need to replace this line
https://github.com/zephyrproject-rtos/zephyr/blob/e47fc45c4d4ed3c04d6a147e10d2a52630b7f0d7/drivers/bluetooth/hci/userchan.c#L193
and this one

For HCI over TCP, it's just like HCI or UART and many other stream-based channels: the data is a one-byte packet type (see the H4_XXX constants followed by the packet payload).
For a TCP socket instead of a BLUETOOTH socket, you would need to call connect instead of bind, to connect to the address/port of the TCP server.
NOTE: the hci_socket.py transport from Bumble is yet another type of transport, not a TCP socket, but an "HCI socket" which exists on Linux and allows connecting to the Bluetooth controller managed by the kernel, so that's not applicable here. The Python equivalent of what you want with Zephyr here is Bumble's tcp_client.py transport.

Thanks that should give me a good starting point.
I checked more in detail what zephyr  and from what I understand it uses the H4 transport protocol. So if I make a TCP client it should be able to connect to the TCP Server of Bumble.
If I implement it it could be a good integration to use IoT devices from Zephyr OS and conduct integration tests without hardware :)

Another question. For my endeavor of integrating Zephyr to bumble I want to do a simple test.

Build a BLE Hear rate sensor peripheral with Zephyr.
Create a virtual controller with apps/controllers.py tcp-server:localhost:port
3.Run the zephyr binary and connect to the controller in point 2.
Create another controller and verify that I get advertisement packets.

For the last point can I run run_controller_with_scanner.py tcp-client:localhost:<port> ?

As you said the modification to TCP was relatively easy. I know get from bumble the following when the Zephyr app starts
WARNING:bumble.controller:--- Unsupported command HCI_HOST_BUFFER_SIZE_COMMAND:
  host_acl_data_packet_length:             69
  host_synchronous_data_packet_length:     0
  host_total_num_acl_data_packets:         6
  host_total_num_synchronous_data_packets: 0

The Unsupported command HCI_HOST_BUFFER_SIZE_COMMAND error means that the Bumble virtual controller doesn't implement this command. The virtual controller is pretty minimal at this stage, so it doesn't implement all the HCI commands that a full featured (real) controller would, it only implements enough to get some basic interop working. It hasn't been tested much with other stacks than Bumble, so it's not surprising to encounter stacks that issue commands that it doesn't yet support.
There's a longer term plan to replace the Bumble virtual controller implementation with something much more comprehensive, from another open source project. But that's not quite ready yet, so for now, I will add support for that command in the controller.
Expect a PR soon.

thanks, will be looking forward to test the changes :)

I made a fork from the PR you made since the Zephyr App still did not work. The controller was missing the Set Controller To Host Flow Control Command.
See the changes I made
https://github.com/vChavezB/bumble/commit/66620dbd4860889695c21ccd98223f23112c0d47
I  am not sure if thats enough to fool the Zephyr stack but now with bumble-scan I do not get any adv. packets.
Commands (seperate terminals)
python3 controllers.py tcp-server:<IP_ADDRESS>:9000 tcp-server:<IP_ADDRESS>:9001
 ./zephyr.exe --bt-dev=<IP_ADDRESS>:9001
python3 scan.py tcp-client:<IP_ADDRESS>:9001

Zephyr Log:
*** Booting Zephyr OS build v3.3.99-ncs1 ***
[00:00:00.420,000] <wrn> bt_ecc: bt_pub_key_gen: ECC HCI commands not available
[00:00:00.420,000] <inf> bt_hci_core: bt_dev_show_info: Identity: F4:27:2F:2A:4D:FE (random)
[00:00:00.420,000] <inf> bt_hci_core: bt_dev_show_info: HCI: version 5.0 (0x09) revision 0x0000, manufacturer 0xffff
[00:00:00.420,000] <inf> bt_hci_core: bt_dev_show_info: LMP: version 5.0 (0x09) subver 0x0000
Bluetooth initialized
Advertising successfully started

Bumble controller log
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_RESET_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_RESET_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
  return_parameters:<PHONE_NUMBER>00c000000000e40000002822000000000000040000f7ffff7f00000030f0f9ff01008004000000000000000000000000000000000000000000000000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
  return_parameters:       00ff49010000000000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
  return_parameters:<PHONE_NUMBER>ffff0000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_SET_EVENT_MASK_COMMAND:
  event_mask: ffffffffffffff3f
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_EVENT_MASK_COMMAND:
  le_event_mask: fffff00000000000
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_BUFFER_SIZE_COMMAND
  return_parameters:       001b0040
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       001b004801
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND:
  suggested_max_tx_octets: 251
  suggested_max_tx_time:   2120
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_BD_ADDR_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_BD_ADDR_COMMAND
  return_parameters:<PHONE_NUMBER>0000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_RANDOM_ADDRESS_COMMAND:
  random_address: F0:F1:F2:F3:F4:F5
DEBUG:bumble.controller:new random address: F0:F1:F2:F3:F4:F5
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_RANDOM_ADDRESS_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_CLEAR_RESOLVING_LIST_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_CLEAR_RESOLVING_LIST_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_SCAN_PARAMETERS_COMMAND:
  le_scan_type:           1
  le_scan_interval:       96
  le_scan_window:         96
  own_address_type:       RANDOM
  scanning_filter_policy: 0
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_SCAN_PARAMETERS_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_SCAN_ENABLE_COMMAND:
  le_scan_enable:    1
  filter_duplicates: 1
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_SCAN_ENABLE_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.transport.tcp_server:connection from None
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_RESET_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_RESET_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
  return_parameters:<PHONE_NUMBER>60000000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_VERSION_INFORMATION_COMMAND
  return_parameters:<PHONE_NUMBER>ffff0000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_LOCAL_SUPPORTED_COMMANDS_COMMAND
  return_parameters:<PHONE_NUMBER>00c000000000e40000002822000000000000040000f7ffff7f00000030f0f9ff01008004000000000000000000000000000000000000000000000000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_RAND_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_RAND_COMMAND
  return_parameters:       0068448f4e3cffed7a
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_RAND_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_RAND_COMMAND
  return_parameters:       003d89bb1016505b53
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_RAND_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_RAND_COMMAND
  return_parameters:       00e49e3ea8d624e8e0
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_RAND_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_RAND_COMMAND
  return_parameters:       0026422ad6acd3d5d2
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_RAND_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_RAND_COMMAND
  return_parameters:       001da9c42991d7943e
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_HOST_BUFFER_SIZE_COMMAND:
  host_acl_data_packet_length:             69
  host_synchronous_data_packet_length:     0
  host_total_num_acl_data_packets:         6
  host_total_num_synchronous_data_packets: 0
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_HOST_BUFFER_SIZE_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_COMMAND: 01
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_COMMAND
  return_parameters:       00ff49010000000000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_BUFFER_SIZE_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_BUFFER_SIZE_COMMAND
  return_parameters:       001b0040
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_SUPPORTED_STATES_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_SUPPORTED_STATES_COMMAND
  return_parameters:       00ffff3fffff030000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_MAXIMUM_DATA_LENGTH_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_MAXIMUM_DATA_LENGTH_COMMAND
  return_parameters:       001b0010271b001027
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND:
  suggested_max_tx_octets: 27
  suggested_max_tx_time:   10000
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_READ_RESOLVING_LIST_SIZE_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_READ_RESOLVING_LIST_SIZE_COMMAND
  return_parameters:       0008
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_EVENT_MASK_COMMAND:
  le_event_mask: 7e0a000000000000
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_SET_EVENT_MASK_COMMAND:
  event_mask:<PHONE_NUMBER>800020
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_SET_EVENT_MASK_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_READ_BD_ADDR_COMMAND
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_READ_BD_ADDR_COMMAND
  return_parameters:<PHONE_NUMBER>0000
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_RANDOM_ADDRESS_COMMAND:
  random_address: F4:27:2F:2A:4D:FE
DEBUG:bumble.controller:new random address: F4:27:2F:2A:4D:FE
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_RANDOM_ADDRESS_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_ADVERTISING_PARAMETERS_COMMAND:
  advertising_interval_min:  160
  advertising_interval_max:  240
  advertising_type:          ADV_IND
  own_address_type:          RANDOM
  peer_address_type:         PUBLIC_DEVICE_ADDRESS
  peer_address:              00:00:00:00:00:00/P
  advertising_channel_map:   7
  advertising_filter_policy: 0
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_ADVERTISING_PARAMETERS_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_ADVERTISING_DATA_COMMAND:
  advertising_data:<PHONE_NUMBER>0d180f180a18
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_ADVERTISING_DATA_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_SCAN_RESPONSE_DATA_COMMAND:
  scan_response_data: 18095a6570687972204865617274726174652053656e736f72
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_SCAN_RESPONSE_DATA_COMMAND
  return_parameters:       HCI_SUCCESS
DEBUG:bumble.controller:<<< [C1] HOST -> CONTROLLER: HCI_LE_SET_ADVERTISING_ENABLE_COMMAND:
  advertising_enable: 1
DEBUG:bumble.controller:>>> [C1] CONTROLLER -> HOST: HCI_COMMAND_COMPLETE_EVENT:
  num_hci_command_packets: 1
  command_opcode:          HCI_LE_SET_ADVERTISING_ENABLE_COMMAND
  return_parameters:       HCI_SUCCESS

Bumble scan log
<<< connecting to HCI...
<<< connected

Nevermind my last comment, I understood incorrectly how to use the script app/controllers.py. The connecting port hast to be different for each device.
python3 controllers.py tcp-server:<IP_ADDRESS>:9000 tcp-server:<IP_ADDRESS>:9001
 ./zephyr.exe --bt-dev=<IP_ADDRESS>:9000
python3 scan.py tcp-client:<IP_ADDRESS>:9001

Now I get the following :)
 C5:DE:28:83:D1:CE [RANDOM](static):
  RSSI: -50 ██████████████████████
  [Flags]: LE General,No BR/EDR
  [Complete List of 16-bit Service Class UUIDs]: UUID-16:180D (Heart Rate), UUID-16:180F (Battery), UUID-16:180A (Device Information)
  [Flags]: LE General,No BR/EDR
  [Complete List of 16-bit Service Class UUIDs]: UUID-16:180D (Heart Rate), UUID-16:180F (Battery), UUID-16:180A (Device Information)

I want to do a small proof of concept with android emulator to showcase what could be done if the TCP client patch I made is added to zephyr.
Would it be possible to make the bluetooth interface from Android Emulator (Android Studio) connect to bumble´s virtual controller?
I saw this here
https://google.github.io/bumble/transports/android_emulator.html
I am familiar with Android Studio and Android Emulator as some time ago I developed an app but honestly I do not know how can I setup the Android emulator to connect to bumble.  I made a device but Im trying to figure out where are the settings that bumble needs

I think I found the docs about the android emulator, I will try to follow them to see if I can make it work
https://developer.android.com/studio/run/emulator-commandline

This issue should be solved by PR
https://github.com/google/bumble/pull/216
plus this commit I made
https://github.com/vChavezB/bumble/commit/66620dbd4860889695c21ccd98223f23112c0d47

Just as a follow up, I was testing another zephyr app and the following commands also need to be mocked in controllers.py

hci_le_set_extended_advertising_parameters_command
hci_le_set_advertising_set_random_address_command
hci_le_set_extended_advertising_data_command
hci_le_set_extended_scan_response_data_command
hci_le_set_extended_advertising_enable_command


Etcd syc

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4678 (1986945) into master (0c28097) will decrease coverage by 0.14%.
The diff coverage is 23.91%.

@@             Coverage Diff              @@
##             master    #4678      +/-   ##
============================================
- Coverage     66.89%   66.75%   -0.14%
+ Complexity     8017     8012       -5
============================================
  Files          1099     1099
  Lines         31801    31845      +44
  Branches       2882     2880       -2
============================================
- Hits          21273    21258      -15
- Misses         8837     8891      +54
- Partials       1691     1696       +5

Impacted Files
Coverage Δ

...dmin/listener/AbstractNodeDataChangedListener.java
81.48% <0.00%> (-11.48%)
:arrow_down:

...min/listener/etcd/EtcdDataDataChangedListener.java
100.00% <ø> (ø)

...e/shenyu/common/constant/DefaultPathConstants.java
80.00% <0.00%> (-8.89%)
:arrow_down:

...che/shenyu/sync/data/etcd/EtcdSyncDataService.java
68.49% <27.27%> (-7.45%)
:arrow_down:

...henyu/admin/listener/etcd/EtcdDataChangedInit.java
100.00% <100.00%> (ø)

... and 11 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Provide Guidance for How to Sign in with a Group Membership

This document mentions the following:

When the administrator is a group account, it can be used by any group member, enabling multiple Microsoft Entra administrators for the flexible server. Using a group account as an administrator enhances manageability by allowing you to centrally add and remove group members in Microsoft Entra ID without changing the users or permissions in the flexible server.

But, the document and the related documentation with step-by-step instructions are missing some very critical information about how to actually sign in when you are a group member. Specifically, what username to use, and how to get an access token with the appropriate group membership if a user has been added to an Entra admin group since the last time that the user refreshed their AZ CLI access token. If a user tries to sign-in using their Entra ID (e.g<EMAIL_ADDRESS>and an access token, they'll get the message ERROR 1045 (28000): Access denied for user 'user<EMAIL_ADDRESS>(using password: YES) even when they are a member of the group.
Regarding that first part, I see this part from "Microsoft Entra authentication with Azure Database for PostgreSQL - Flexible Server":

What is the difference between group login and individual login?
The only difference between logging in as Microsoft Entra group member and an individual Entra user lies in the Username, while logging in as an individual user you provide your individual Microsoft Entra ID whereas you'll utilize the group name while logging in as a group member. Regardless, in both scenarios, you'll employ the same individual Entra token as the password.

Based on this, I tried to sign in using the group name as the username. But, this resulted in the following error message:

ERROR 9106 (HY000): Azure AD access token is not valid for user 'My Group Name' (or does not contain group ID 'ID OF MY GROUP').

I confirmed that the group ID matched the "Object ID" of the group and that my user account was in the group, so this didn't initially make sense. But, then I realized that the group membership listed in the access token from az account get-access-token --resource-type oss-rdbms might not be correct. I decoded it with https://jwt.io/ and confirmed that the new group did not appear in the list shown in the groups claim. I also noticed that when you run az account get-access-token multiple times, it always returns the same token, so it must be cached. Eventually. I came across https://github.com/Azure/azure-cli/issues/17578, which indicated that to get an updated token, I needed to log out of the Azure CLI and then sign back in.
Based this, I would add a note to this documentation that if the Entra administrator group is new or your user account was recently added to, you will need to sign out of the Azure CLI and sign back in, in order to get a token that reflects the new membership.

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

ID: 6b06f9ea-7c6e-7165-e58d-d43dd32ff50f
Version Independent ID: cdda2920-e68e-994c-7ed5-2db4f9c72360
Content: Microsoft Entra authentication - Azure Database for MySQL - Flexible Server
Content Source: articles/mysql/flexible-server/concepts-azure-ad-authentication.md
Service: mysql
Sub-service: flexible-server
GitHub Login: @SudheeshGH
Microsoft Alias: sunaray

@GuyPaddock
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Article planned to be updated by end of the year.
After careful consideration, we have decided to discontinue further updates.
This decision was not made lightly. Our team is committed to delivering the best possible experience, and focusing our efforts on Flexible Server will benefit you more in the long run.
#please-close


Added period button for mobile. Also hidden legend for mobile.

Closes #402.

Thanks @jdhodges431 - looking good, just a few comments above.

:+1:


[DCOS_OSS-1202] Choose docker version / enable overlay2

This allows users to set the Docker version to 1.13.1.
This supports overlay2.
https://jira.mesosphere.com/browse/DCOS_OSS-1202 - Support the overlay2 storage driver on DC/OS Docker
I have not tested 1.13.1 with the integration tests but I am happy to do whatever testing is requested.

cc @karlkfi


[RELEASE] mc MULTIPLE VERSIONS

RELEASE.2023-07-21T20-44-27Z

[ ] (OPTIONAL) mc admin info includes version/delete marker information PR4642
[ ] mc admin prometheus metrics now supports cluster, node, and bucket metrics PR4632

RELEASE.2023-07-18T21-05-38Z

[ ] mc replicate diff -> mc replicate backlog PR4568
[ ] Add mc support top net PR4626
[ ]

RELEASE.2023-07-11T23-30-44Z

[x] No updates which require documentation

RELEASE.2023-07-07T05-25-51Z

[ ] New support command for replication performance testing PR4609
[ ] mc replicate ... --sync flag deprecated, move to --mode PR 4623
[ ] mc admin user info can return metadata for internal/external users PR 4613

RELEASE.2023-06-28T21-54-17Z

[x] No updates which require documentation

RELEASE.2023-06-23T18-12-07Z

[ ] Optional + test, all mc CLI commands should return help if entered w/ no params PR4609

RELEASE.2023-06-19T19-31-19Z

[x] No updates which require documentation

RELEASE.2023-06-15T15-08-26Z

[x] No updates which require documentation

I'm working on 4632 while adding Grafana info.

Quick test indicates the auto-help works as long as you get the right root.


allow forward_fn to accept more arguments

AFAIK there is no downside, and it does allow some extra innovation when handling request by allowing to monitor HTTP headers or other params etc directly in forward_fn. This also helps with debugging.
While enabling it, I refactored this function a little to reduce code duplication & improve the readability of it.

@mjurbanski-reef thank you! We will test this out to ensure backwards compatibility.

@mjurbanski-reef we plan on getting this into 7.0.0

superseded by #1822 which includes other related changes


Kingdoms of Amalur: Reckoning

The Game Run and work great but no have possibility to change resolution.
more here: https://github.com/ValveSoftware/Proton/issues/783
Important: When reporting an issue with a specific game or application, such as crashes or rendering issues, please include log files and a D3D11 Apitrace (see https://github.com/apitrace/apitrace) so that the issue can be reproduced. In order to create a trace, run wine apitrace.exe trace -a dxgi YOURGAME.exe. DO NOT use DXVK together with apitrace!
Software information
Kingdoms of Amalur: Reckoning, All in max.
System information

GPU: GTX 1060 6 GB
Driver: Nvidia 410
Wine version: Proton 3.16-3 Beta
DXVK version: 0.90

Apitrace file(s)

Put a link here

Log files

d3d11.log:
dxgi.log:

Dude it's DirectX 9 game. So no dxvk!


provide accurate completions when triggered from the middle of an instance method

(Partly) Fixes https://github.com/fwcd/KotlinLanguageServer/issues/75
Referencing the test:
if there is a call SomeClass().instanceFoo() and you place the cursor right after the F in instanceFoo, you should get the options of instanceFoo and instanceFee instead of nothing.
Is there any documentation on these Kotlin classes because I have no idea if I'm doing this right at all? The only thing I was judging by was debugging and calling el.text, el.parent.text, etc and saw that el.text returns instanceFoo, el.parent.text returns instanceFoo() but el.parent.parent.text returns SomeClass().instanceFoo().  I don't know if this will fix every expression.
I'm guessing a possible refactor would be checking if el has any ancestor that is a KtQualifiedExpression but not sure what other cases are unhandled by this change.

Thanks for this, great work! I am going to merge this, unhandled edge cases could be addressed in a later PR.
Unfortunately, the Kotlin compiler internals are heavily underdocumented. However, there are some resources for working with the compiler API:

kotlin-web-demo: The source code to the Kotlin playground by JetBrains themselves. Its implementation of code completion and linting can be found here
kotlin-eclipse: The official Eclipse plugin. Also contains implementations of code completion (referred to as "content assist")
kotlin-netbeans: The official NetBeans plugin. Unfortunately not really actively maintained anymore.


Add asset_host and relative_url_path to config file

Summary
This is a follow-up PR, implementing what has been discussed here.
Pull Request checklist

[x] Add/update test to cover these changes
[x] Update documentation
[x] Update CHANGELOG file

Note
This PR is made on top of make-compilation-stale-on-host-change branch and is supposed to get merged after the PR #364 merge.
Concerns

Do we actually use relative_url_path? It seems this is a leftover from some old feature which is now completely removed from Shakapacker. If so, we should remove it.

@G-Rath I think we just need one PR for all this work.
@ahangarha if @G-Rath agrees, please consolidate the comments into this PR and change the base to main/master.

I think it's useful giving it a dedicated changelog entry because this is a feature whereas the other PR is a bug

I initially aimed to add this to the previous PR but then I thought it better to keep it separate to make a decision about it independently.
Since this PR is on top of the #364 PR, I would propose merging that PR first and then merging this one.


Allow transition between armed states

Thanks a lot for your initiative!
I'm currently a bit occupied with changes in my other project (scheduler integration) so I appreciate the efforts.
Hope you can process my feedback, if you don't agree then feel free to ignore.


Preserve ordering of LogEvents.

We need to get log events in the same order as they were written, but TestCorrelator.GetLogEventsFromCurrentContex result is randomly ordered (all timestamp values are the same).

Hey @projektsdb. Check this  preview version out and see if it works for you. If it does I'll complete this PR and publish the Nuget package.

The system cannot find the file specified.":"System.ValueTuple.
There is some version mismatch. Not sure why.

How are you installing the preview version?

Try this:
copying the preview version of the Nuget package to a local directory on your machine,and then installing i

@projektsdb have you had a chance to try?

When I install it as nucket pagacke into my project, it throws System.ValueTuple when I run project.

This works well. After some testing it seems that ordering also is correct.

Great! I've completed the PR and it should show up in the package feed soon.


Missing Vue setup context (on client side) in some cases after switching from Vue 3.3.x to 3.4.x

Environment

Operating System: Windows_NT
Node Version:     v20.9.0
Nuxt Version:     3.9.1
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      ssr, dev, hooks, nitro, build, modules, typescript, runtimeConfig, devtools
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-wq5vyx?file=app.vue
Describe the bug
I got some strange behavior after upgrading Nuxt from 3.9.0 to 3.9.1 (and Vue from 3.3.x to 3.4.x implicitly). Some of my composables that wraps other composable (from 'vue-intl in my case)'  was broken (only on client side and not in all cases).
It happens somewhere in Vue.inject method.
I couldn't reproduce this on plain Vue project. Please see reproduction link for more info.
Additional context
No response
Logs
No response

The issue is gone after updating Vue to latest 3.4.6 version
I think it's fixed by this commit


Use git ls-files instead of git ls-tree to find files in the git repo

Fixes https://github.com/github/licensed/issues/77
The manifest source is not finding files inside of submodules due to using git ls-tree to find files in the git repo.  This PR uses git ls-files --recurse-submodules --full-name instead which can enumerate files from within submodules.
Using --full-name returns the full path to the files from the repository root, no matter where in the repository the command is called.
In looking up the differences between the two functions online, it seems like git ls-files returns files based on the cached index while git ls-tree is finding files specifically for the HEAD tree.  The difference should be negligible though, as both solutions require the source to be run after the last commit to pick up the most recent commit hash for versioning.

I've built and tested licensed with this change manually for both manifest + submodule and go sources.  Everything looks good and I think with https://github.com/github/licensed/pull/78/commits/036a0dfdd6684cab629625d45d0c249434509bc2 tests should be 💚  .
/cc @lildude FYI this took a little longer to put together than I was expecting


Problem ingesting csv data using Jupyter Lab

Dear Zipline Maintainers,
I hope you do not get bored answering a beginner's question; but I am really struggling making zipline work during the previous days.... I have finally managed to install & run it via jupyter lab & conda; but I cannot manage to ingest a simple csv file:

Operating System: (Windows)
numpy==1.22.3
pandas==1.4.4
Python 3.8.15
Excel File Location and data:
<C:\Users\x\Documents\csvdir\daily\META.csv>
date,open,high,low,close,volume,dividend,split
2012-01-03,58.48,58.92,58.42,58.74,75555200,0,1
2012-01-04,58.57,59.24,58.46,59.06,65005500,0,1
2012-01-05,59.27,59.79,58.95,59.71,67817400,0,1
2012-01-06,59.96,60.39,59.88,60.34,79573200,0,1
2012-01-09,60.78,61.1,60.19,60.24,98506100,0,1
2012-01-10,60.84,60.85,60.21,60.46,64549100,0,1
2012-01-11,60.38,60.4,59.9,60.36,53771200,0,1
Zipline Folder:
C:\Users\x\ .zipline
Now that you know a little about me, let me tell you about the issue I am
having:
I first run this code in Jupyter lab:
import numpy as np
import pandas as pd
from zipline.examples import buyapple
from zipline.api import order, record, symbol
from platform import python_version
%load_ext zipline
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities
start_session = pd.Timestamp('2012-01-03', tz='utc')
end_session = pd.Timestamp('2012-01-11', tz='utc')
register(
'custom1',
csvdir_equities(
["daily"],
'/Users/x/Documents/csvdir'),
start_session = start_session,
end_session = end_session
)
After running the above codes I get this feedback: <bound method CSVDIRBundle.ingest of <zipline.data.bundles.csvdir.CSVDIRBundle object at 0x0000016A26CFD970>>
So, I thought that the custom1 is now registered and ready to be ingested....
I tried to ingest the data using anaconda powershell prompt; so I closed Jupyter lab; & opened a new powershell prompt; activated the relevant environment and typed:
(clone_zipline) PS C:\Users\x> zipline ingest -b custom1
I got the error:
Error: No bundle registered with the name 'custom1'
Any help will be highly appreciated.
Thanks & Greetings

How about running
!zipline ingest -b custom1

in jupyter lab?

then I get this error:
'zipline' is not recognized as an internal or external command, operable program or batch file.

Try this at the command line:
zipline bundles
That lists all your bundles. If you don't see the one you created, Zipline does not know about it.
The bundle system requires "registering" them in memory.
When you define your custom bundle, make sure it's registered. You can see an example here.
Here are the steps to register the bundle from the documentation:
Once you have your data in the correct format, you can edit your extension.py file in ~/.zipline/extension.py and import the csvdir bundle, along with pandas.
import pandas as pd

from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities

Change from zipline.data.bundles.csvdir import csvdir_equities to point to the Python file you created with your custom bundle.
We’ll then want to specify the start and end sessions of our bundle data:
start_session = pd.Timestamp('2016-1-1', tz='utc')
end_session = pd.Timestamp('2018-1-1', tz='utc')

And then we can register() our bundle, and pass the location of the directory in which our .csv files exist:
register(
    'custom-csvdir-bundle',
    csvdir_equities(
        ['daily'],
        '/path/to/your/csvs',
    ),
    calendar_name='NYSE', # US equities
    start_session=start_session,
    end_session=end_session
)

To finally ingest our data, we can run:
$ zipline ingest -b custom-csvdir-bundle

Link to docs is here (scroll to the end).

Thank you Jason!
I followed your instructions & did everything this time in anaconda PowerShell (no jupyter lab) by saving the codes in extension.py (in .zipline folder), setting the current directory to this folder & running .py in PowerShell using python extension.py command.
I somehow managed to ingest the data. & load them. No idea why Jupyter lab does not work. Even after digesting the data bundle, jupyter lab does not show the ingested bundle (although everything works fine in anaconda PowerShell & the bundle is there too).
Am I missing something here? Should I set any specific path or directory or Zipline Root in jupyter lab? I am a beginner & the probability that I have problems with defined path, directory or Zipline Root can be high ;)
Any advice?
Greetings

I’m not in front of a laptop but the magics should be set up automatically with the install. Make sure your Jupyter Notebook is launching from the same environment that you installed Zipline in. This gets a little complicated if you’re just getting started.On Jan 29, 2023, at 12:15, thetehtrader @.***> wrote:
Thank you Jason!
I followed your instructions & did everything this time in anaconda PowerShell (no jupyter lab) by saving the codes in extension.py (in .zipline folder), setting the current directory to this folder & running .py in PowerShell using python extension.py command.
I somehow managed to ingest the data. & load them. No idea why Jupyter lab does not work. Even after digesting the data bundle, jupyter lab does not show the ingested bundle (although everything works fine in anaconda PowerShell & the bundle is there too).
Am I missing something here? Should I set any specific path or directory or Zipline Root in jupyter lab? I am a beginner & the probability that I have problems with defined path, directory or Zipline Root can be high ;)
Any advice?
Greetings
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

my jupyter lab is launching from base .... I made another environment for zipline package and connected it to jupyter lab via ipykernel. Can that be the reason?

See also here for custom bundle registration / ingestion.

You have to run Jupyter from the same environment you installed Zipline (base or otherwise).On Jan 29, 2023, at 14:08, thetehtrader @.***> wrote:
my jupyter lab is launching from base .... I made another environment for zipline package and connected it to jupyter lab via ipykernel. Can that be the reason?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

ok, I installed the jupyterlab directly in the zipline environment & called it from there. I saw some improvements; for instance the command, which Stefan wrote above (!zipline ingest -b custom1) works again in jupyter lab.
I, however, do not understand, why the codes written below do not work in jupyter lab directly but in extension.py. Let me explain:
import os
os.getcwd()
os.chdir('C:\Users\x\.zipline')
os.getcwd()
import numpy as np
import pandas as pd
from zipline.examples import buyapple
from zipline.api import order, record, symbol
%load_ext zipline
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities
from zipline.data.bundles import bundles
print(bundles.keys())
start_session = pd.Timestamp('2012-1-3', tz='utc')
end_session = pd.Timestamp('2012-1-11', tz='utc')
register(
'custom2-jupyter',
csvdir_equities(
["daily"],
'/Users/x/'),
calendar_name='NYSE', # US equities
start_session = start_session,
end_session = end_session
)
!zipline ingest -b custom2-jupyter
ERROR
............ So if I run these codes in jupyterlab, I get an error bundle not registered. However, if I copy following blocks into a extension.py file (which is saved in the folder C:\Users\x\.zipline ) & run it in jupyterlab it magically works:
import pandas as pd
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities
start_session = pd.Timestamp('2012-1-3', tz='utc')
end_session = pd.Timestamp('2012-1-11', tz='utc')
register(
'custom2-jupyter',
csvdir_equities(
['daily'],
'C:/Users/x/',
),
calendar_name='NYSE', # US equities
start_session=start_session,
end_session=end_session
)
....... so I wrote the above codes in extension.py and run it in jupyter lab:
import os
os.getcwd()
os.chdir('C:\Users\x\.zipline')
os.getcwd()
import numpy as np
import pandas as pd
from zipline.examples import buyapple
from zipline.api import order, record, symbol
%load_ext zipline
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities
from zipline.data.bundles import bundles
print(bundles.keys())
!python extension.py
!zipline ingest -b custom2-jupyter
.... then I get these warnings, but it ingests the data:
Merging daily equity files:
[2023-01-30 20:49:28.394021] INFO: zipline.data.bundles.core: Ingesting custom2-jupyter.
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\zipline\data\bundles\csvdir.py:226: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
divs_splits["splits"] = splits.append(split)
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\zipline\data\bundles\csvdir.py:241: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
divs_splits["divs"] = divs.append(div)
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
C:\Users\x\miniconda3\envs\clone_zipline\lib\site-packages\pandas\io\sql.py:762: UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy
warnings.warn(
Loading custom pricing data:
| META: sid 0
..... then I run a simple test to see if it has any data:
from zipline import run_algorithm

def initialize(context):
    pass

def handle_data(context, data):
    order(symbol('META'),10)
    record(META=data.current(symbol('META'), 'price'))

start, end = (pd.Timestamp("2012-1-1", tz="UTC"), pd.Timestamp("2012-1-11", tz="UTC"))
capital_base = 1e7
performance = run_algorithm(start=start,
                            end=end,
                            initialize=initialize,
                            capital_base=capital_base,
                            handle_data=handle_data,
                            bundle='custom2-jupyter'
                            )

performance

..... the data that it shows is a little bit strange, but I was not able to generate even this before:

When calling the Zipline command line, extensions are loaded from the extensions.py file. When you write the extension code in Jupyter, Zipline does not see it and cannot register your bundle in memory. In other words, don't write your extension code in Jupyter Notebook, write them in the extensions file like in the documentation I shared.
The pandas warnings are because some features used in Zipline are being removed. Make sure you use the version of pandas that is in Zipline requirements.txt file.
I don't know what the other warnings are about.

thank you

Closing in the hope this was resolved; feel free to reopen if the issue persists.


ELEX with DXVK freeze at startup

Hello,
When I tried to run ELEX with DXVK game freeze at splash screen (it's really easy to reproduce, just run a game). I tested it on both Ubuntu 18.10 x64:

ELEX from GoG + latest wine + DXVK 0.8-0.9
ELEX from Steam + Proton 3.16-4
and Windows 10 x64:
ELEX from GoG + DXVK 0.8-0.9 + Radeon Software Adrenalin Edition 18.10.x
ELEX from Steam + DXVK 0.8-0.9 + Radeon Software Adrenalin Edition 18.10.x
but all the time with the same results. With RADV this game works without problems, but I want to check how performance looks with AMDVLK and use faster driver.
My PC: AMD Ryzen 5 1600X + 16GB RAM + Radeon RX580 8GB.
Best regards,

@nadrolinux
The hang issue should be fixed internally. You can try latest closed driver on amd.com. If you want to relace with AMDVLK open source driver, you can try it, there may be a crash issue that has been fixed and may be not public yet.
BTW, can you tell me how to do benchmark for this game ? Thanks!

@crystalJinamd
This is great news. I'll download new drivers when those will be available. For a benchmark purposes I use this save game (paste it at 'STEAM_GAMES_PATH/steamapps/compatdata/411300/pfx/drive_c/users/steamuser/Saved Games/ELEX/SaveGames' on Linux (Proton) and 'C:\Users\username\Saved Games\ELEX\SaveGames' on Windows 10):
https://www.sendspace.com/file/yfex1m
Wait few seconds and observe a fps when a 'doctor' stay near a table (I have 55 FPS on Linux and 64 FPS on Windows in this place on ultra settings + FXAA T2X + 1920x1080) and next just move around a Tavar or any other place (this is a save game with completed all main quests and unlocked teleports) and check fps.

I don't see improvements in Radeon Software Adrenalin Edition 18.12.1 drivers and hope that next version will contain those fixes.

@crystalJinamd I tested v-2019.Q1.6 and this bug still exists

@nadrolinux Thanks for your response, this glitches issue is under working.

@crystalJinamd Any progress about this issue?

@nadrolinux It is fixed internally, not sure if it is synced to github. Maybe you can try with latest codes in GPUOpen-Drivers/xgl.

It might be fixed by https://github.com/GPUOpen-Drivers/xgl/commit/9795e006e9adb7b49b8abd32cd47c49b290fa3fc

Thanks for info, I'll check it today.

I tested v2019.Q2.1, but after that I checked that 9795e00 commit is missing in this release, so I'll wait for new release and check that again.

@crystalJinamd @jinjianrong With v2019.Q2.2 all seems to work fine. I added 'solved' prefix to issue title. Ticket should be closed. Thanks!


[MM-27936]: Allow resizing the channel sidebar and right-hand sidebar

Summary

make lhs and rhs resizable
add size property to sidebar store

Ticket Link

Fixes https://github.com/mattermost/mattermost-server/issues/21675
Screenshots

For window widths <900:
not resizable
For window widths 900-1199:
https://user-images.githubusercontent.com/59413880/209613520-4defe4d2-8cd4-47ac-9b3c-56929e8ed2a1.mov
For window widths 1200-1679:
https://user-images.githubusercontent.com/59413880/209613621-411d0279-c16b-4bdf-b430-4130b41d6d43.mov
For window widths >= 1680px:
https://user-images.githubusercontent.com/59413880/209613761-d9d2c49b-144f-4def-b784-1f4c8776ba0b.mov
Release Note

Allow resizing the channel sidebar and right-hand sidebar

Hello @kyeongsoosoo,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

@kyeongsoosoo Thanks. A heads up, many people are out for the holidays, so there will be some delay in reviews.

Thanks for the review, @matthewbirtch. I missed some parts.
I fixed all the issues.

Two options: 1) change the min width to 380px, or 2) make changes to the formatting toolbar to hide more icons under the ••• icon when it gets below 380px.

I chose the second option. If the other option is better, I'll fix it again.

Thanks for resolving most of those @kyeongsoosoo. It's looking great.

The snapping seems to snap to the minimum width, but it should actually snap to the default width. (see this note in the confluence doc)

This looks fixed, however, the default width for the RHS changes depending on the screen width. For screens >= 1680px, the default width for the RHS is 500px. For screens < 1680 and > 768, the default width for the RHS is 400px

Can we make sure the resize controls appear when within 8px of either side of the division? Right now, it seems like it's only appearing if I'm within 8px of the left side of the division.

✅ Fixed

For the double-click behavior, it looks like it animates back to the default width in the RHS, but not for th LHS. It should be consistent. And I don't think we need the animation at all.

✅ Fixed

When I expand the LHS beyond a certain point, the highlighted channel's background doesn't span the full width

✅ Fixed

In the RHS, if I use the expand button, it expands properly, but it seems like it won't collapse now.

✅ Fixed

When the RHS is resized below 375px, we get some collisions of icons in the formatting toolbar in the reply input box. Two options: 1) change the min width to 380px, or 2) make changes to the formatting toolbar to hide more icons under the ••• icon when it gets below 380px.

✅ Fixed. I'm good with this option.

 The widths should persist on refresh.

✅ Fixed
New

While viewing at 1920 screen width, I resized the RHS to it's max width. Then I resized the browser width to 1100px and noticed I have an RHS that is too large and not resizable. I guess we need to do some checks when the browser width changes to make sure the RHS width adjusts properly.

I noticed that sometimes when I open the RHS it animated the width as it opens. Can we remove this animation? See GIF here:

@matthewbirtch I've fixed the remaining issues.

This looks fixed, however, the default width for the RHS changes depending on the screen width. For screens >= 1680px, the default width for the RHS is 500px. For screens < 1680 and > 768, the default width for the RHS is 400px

Fixed!

While viewing at 1920 screen width, I resized the RHS to it's max width. Then I resized the browser width to 1100px and noticed I have an RHS that is too large and not resizable. I guess we need to do some checks when the browser width changes to make sure the RHS width adjusts properly.

If the width is not between max and min when the window size changes, width returns to default.

I noticed that sometimes when I open the RHS it animated the width as it opens. Can we remove this animation? See GIF here

Fixed!

Looking great @kyeongsoosoo. I wanted to test this out with the Threads view when Collapsed Reply Threads are enabled, but I can't seem to enable that on this test server. @jgilliam17 any ideas why CRT would not be available as a setting in the system console?

@matthewbirtch I don't see the flag anymore and the setting for CRT is missing in SysConsole Site Configuration>Posts
@vish9812 Can you please take a look if the CRT feature flag removal had some unintended consequences? Thanks

/update-branch

Error trying to update the PR.
Please do it manually.

@kyeongsoosoo Can you please rebase branch with master? CRT flag was removed after this PR was created, rebasing may fix the issue with missing CRT - Thanks

@jgilliam17 branch updated!

Hmm, test server creation seems to be failing. Thanks for working on this @kyeongsoosoo!

@esethna I updated the branch again!

This is awesome, thanks @kyeongsoosoo!
@matthewbirtch one improvement to consider, should we put a slight delay on the blue highlight effect, so that you can move your mouse over the sidebar or RHS quickly without triggering it. As an example, Slack only triggers the highlight effect if you hover your mouse over the grab area for more than 1 second, otherwise it's just a cursor change so it's less distracting.

@matthewbirtch one improvement to consider, should we put a slight delay on the blue highlight effect, so that you can move your mouse over the sidebar or RHS quickly without triggering it. As an example, Slack only triggers the highlight effect if you hover your mouse over the grab area for more than 1 second, otherwise it's just a cursor change so it's less distracting.

Great suggestion @esethna. Let's do that

@esethna  I put a delay on the highlight effect. Can you please check?
https://user-images.githubusercontent.com/59413880/212336658-bb63732b-2155-4f13-bbe0-a61d9a935714.mov

reassigning to @M-ZubairAhmed as I think someone from webplatform should take a look at the changes

adding @calebroseland As recently worked layouts

@calebroseland  When we snap the panel width to the default, the sync between the cursor position and the resizing line becomes out of sync.
In this situation, can you help me which UX would be good to sync again?
https://user-images.githubusercontent.com/59413880/215628024-a5d566ba-3445-43d3-8812-dc6f4852b2de.mov

@hmhealey I agree it's not right to name it ref. I changed the prop name.

I made breakpoints to be set on the initial window load. And I synchronized the cursor and the sidebar.
The only problem is that when we snap the panel width to the default, the sync between the cursor position and the resizing line becomes out of sync.
In this situation, could you help me which UX would be good to synchronize them again?

@kyeongsoosoo can we re-sync the position when the cursor moves > 16px beyond the snap point in either direction? In addition, I wonder if there is anything we can do to detect the speed of the mouse movement and disable the snapping if the user is expending or collapsing the panels quickly. Right now, it just gets stuck on the snap point no matter how quickly you're adjusting the width.
I would recommend playing around with Slack's current implementation for snap points to see what they've done.

Removing myself as there are already enough dev reviewers

@matthewbirtch I tested the implementation of Slack and updated two things.

can we re-sync the position when the cursor moves > 16px beyond the snap point in either direction?

2023-02-<IP_ADDRESS>.mov

I wonder if there is anything we can do to detect the speed of the mouse movement and disable the snapping if the user is expanding or collapsing the panels quickly.

2023-02-<IP_ADDRESS>.mov

This is a really great improvement @kyeongsoosoo. Love it! @calebroseland I think this should fix some of the issues you were identifying.

3. For the double-click behavior, it looks like it animates back to the default width in the RHS, but not for th LHS. It should be consistent. And I don't think we need the animation at all.

One other thing I just noticed. I thought we fixed the above, but the RHS still seems to animate when I double-click. I think we can just remove the animation and make it snap back to the default width immediately when you double-click.

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

Hi @kyeongsoosoo, I apologize for the delay in getting back to you, and thank you for all the work you've done on this.
I've been testing and experimenting with this, and I think it's close to the finish line. However, there's now a pause on any new features until sometime later this year, so we'll be closing this for now. We will likely reopen the ticket down the road, so there may be a possibility for it later this year.
I and I'm sure others were looking forward to this one, but we'll have to wait and see given the pause. Again, thank you for all your work on this.

Hi @kyeongsoosoo, I apologize for the delay in getting back to you, and thank you for all the work you've done on this.
I've been testing and experimenting with this, and I think it's close to the finish line. However, there's now a pause on any new features until sometime later this year, so we'll be closing this for now. We will likely reopen the ticket down the road, so there may be a possibility for it later this year.
I and I'm sure others were looking forward to this one, but we'll have to wait and see given the pause. Again, thank you for all your work on this.

That's really too bad, we were so close here (at least from a UX standpoint)

@calebroseland @matthewbirtch
That's too bad😭
I hope this PR will be useful when ticket is reopened for this feature :)
(If possible, I will participate!)

Hi @kyeongsoosoo hope you are well! We have migrated to using a monorepo 🎉 and thus the web app code is located here https://github.com/mattermost/mattermost-server
Would you be open to reopening this PR in the new repository? I can assist you with any issues you might have along the way, although setup is quite straightforward!

@kyeongsoosoo awesome. Feel free to add me as a reviewer as well :))


EHLO/HELO multiple MAIL FROM

Postal forces EHLO/HELO before every MAIL FROM when sending multiple mails in the same connection.
From what I can gather this breaks SMTP RFC; is this by design or a bug?
Althogh eg. Postfix handles this well, other legacy SMTP clients fail.
Example logs:
[smtp.1:145737] [2017-05-15T10:25:12.762] DEBUG -- : [D9WT5N]    Connection opened from ::ffff:XX.XX.XX.XX
[smtp.1:145737] [2017-05-15T10:25:12.762] DEBUG -- : [D9WT5N]    Client identified as ::ffff:XX.XX.XX.XX
[smtp.1:145737] [2017-05-15T10:25:12.820] DEBUG -- : [D9WT5N] <= EHLO app.example.com
[smtp.1:145737] [2017-05-15T10:25:12.822] DEBUG -- : [D9WT5N] => 250-My capabilities are
[smtp.1:145737] [2017-05-15T10:25:12.822] DEBUG -- : [D9WT5N] => 250 AUTH CRAM-MD5 PLAIN LOGIN
[smtp.1:145737] [2017-05-15T10:25:12.883] DEBUG -- : [D9WT5N] <= AUTH CRAM-MD5
[smtp.1:145737] [2017-05-15T10:25:12.883] DEBUG -- : [D9WT5N] => 334 ---
[smtp.1:145737] [2017-05-15T10:25:12.885] DEBUG -- : [D9WT5N] <= ---
[smtp.1:145737] [2017-05-15T10:25:12.896] DEBUG -- : [D9WT5N] => 235 Granted for XXX
[smtp.1:145737] [2017-05-15T10:25:12.898] DEBUG -- : [D9WT5N] <= MAIL<EMAIL_ADDRESS>AUTH=<>
[smtp.1:145737] [2017-05-15T10:25:12.898] DEBUG -- : [D9WT5N] => 250 OK
[smtp.1:145737] [2017-05-15T10:25:12.900] DEBUG -- : [D9WT5N] <= RCPT<EMAIL_ADDRESS>[smtp.1:145737] [2017-05-15T10:25:12.900] DEBUG -- : [D9WT5N] Added external address<EMAIL_ADDRESS>[smtp.1:145737] [2017-05-15T10:25:12.900] DEBUG -- : [D9WT5N] => 250 OK
[smtp.1:145737] [2017-05-15T10:25:12.902] DEBUG -- : [D9WT5N] <= DATA
[smtp.1:145737] [2017-05-15T10:25:12.902] DEBUG -- : [D9WT5N] => 354 Go ahead
[smtp.1:145737] [2017-05-15T10:25:12.903] DEBUG -- : [D9WT5N] <= Received: from app.example.com ([XX.XX.XX.XX]) by app.example.com with ESMTP ; Mon, 15 May 2017 07:00:09 +0200
[smtp.1:145737] [2017-05-15T10:25:12.904] DEBUG -- : [D9WT5N] Not logging further message data.
[smtp.1:145737] [2017-05-15T10:25:13.002] DEBUG -- : [D9WT5N] => 250 OK
[smtp.1:145737] [2017-05-15T10:25:13.010] DEBUG -- : [D9WT5N] <= MAIL<EMAIL_ADDRESS>AUTH=<>
[smtp.1:145737] [2017-05-15T10:25:13.010] DEBUG -- : [D9WT5N] => 503 EHLO/HELO first please
[smtp.1:145737] [2017-05-15T10:25:13.022] DEBUG -- : [D9WT5N]    Connection closed

I think this is related to #137

Agree

This should now be fixed. Slightly different issue than #137 but an easy fix to set the SMTP server into the correct state after an email is sent successfully. Most clients manually send an "RSET" between messages, but this should not be necessary.


Grid full fit backwards

Investigate this. https://twitter.com/bp_userx/status/754730959153442816

Seems to be a non-issue so far


Named locations, where to find, make clear

Hi,
There are at least three Conditional Access Interfaces in Azure. Only one of them has the "Named locations" option. It is the one that you reach by going to Azure Active Directory > Conditional Access.
The Intune > Conditional Access does not contain the "named locations" configuration button (although you can use a named loction in a condition)
The "conditional access" service does not contain it either.
So when you read this article and you pick on of the other two conditional access buttons, you don't find as documented. Please clearly state HOW to get to the right place.
Maybe you can also ask the developers to add the same options no matter which way you chose to access conditional access?
Bart

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

ID: 74b164a7-31c5-7cb3-c8e2-7533d375bd43
Version Independent ID: 11399252-d935-2cba-a414-a44e51e67007
Content: What is the location conditions in Azure Active Directory conditional access?
Content Source: articles/active-directory/conditional-access/location-condition.md
Service: active-directory
GitHub Login: @MarkusVi
Microsoft Alias: markvi

We will be closing this thread now. You can re-open the thread if you need further help.

Hi.
My comments were about the documentation in the hope that Microsoft would
make the document easier to read for others. I have indeed found how to
create named locations. But your document should directly link to or
explain how to create those rather than expecting us to hunt that down.
Thank you
Bart
On Wed, Jan 30, 2019 at 6:53 AM NeeleshRay-MSFT<EMAIL_ADDRESS>wrote:

@blouwagie https://github.com/blouwagie
Let us know if you need further assistance on this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/23416#issuecomment-458917313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASWZ9fKg2yb-av11PMnn50ZJb_BtJStcks5vIYfOgaJpZM4aVFHT
.

Hi @blouwagie, the location  condition has a for more information link that points to What is the location condition in Azure Active Directory conditional access?.
What is missing in this article?


Connecting without clientID

Please help. How made connecting without clientID, if i use mysql authorization?
I have mysql table DDL:
CREATE TABLE `vmq_auth_acl` (
  `mountpoint` varchar(10) NOT NULL,
  `client_id` varchar(128) NOT NULL,
  `username` varchar(128) NOT NULL,
  `password` varchar(128) DEFAULT NULL,
  `publish_acl` text,
  `subscribe_acl` text,
  `date_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`mountpoint`,`client_id`,`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

And I have data:
mountpoint	client_id	username	password	publish_acl	        subscribe_acl	        date_update
                myclientID	myUsername	myPassword	[{"pattern":"/test/#"}]	[{"pattern":"/test/#"}]	2020-06-17 09:46:18

If I have empty clientID row, I will get message "invalid_credentials"
I change code on this lua script:
/usr/share/vernemq/lua/auth/mysql.lua
Original script:
function auth_on_register(reg)
    if reg.username ~= nil and reg.password ~= nil then
        results = mysql.execute(pool,
            [[SELECT publish_acl, subscribe_acl
              FROM vmq_auth_acl
              WHERE
                mountpoint=? AND
                client_id=? AND
                username=? AND
                password=]]..mysql.hash_method(),
            reg.mountpoint,
            reg.client_id,
            reg.username,
            reg.password)
        if #results == 1 then
            row = results[1]
            publish_acl = json.decode(row.publish_acl)
            subscribe_acl = json.decode(row.subscribe_acl)
            cache_insert(
                reg.mountpoint,
                reg.client_id,
                reg.username,
                publish_acl,
                subscribe_acl
                )
            return true
        else
            return false
        end
    end
end

My FIX:
function auth_on_register(reg)
    if reg.username ~= nil and reg.password ~= nil then
        results = mysql.execute(pool,
            [[SELECT publish_acl, subscribe_acl
              FROM vmq_auth_acl
              WHERE
                mountpoint=? AND
                username=? AND
                password=]]..mysql.hash_method(),
            reg.mountpoint,
            reg.username,
            reg.password)
        if #results == 1 then
            row = results[1]
            publish_acl = json.decode(row.publish_acl)
            subscribe_acl = json.decode(row.subscribe_acl)
            cache_insert(
                reg.mountpoint,
                reg.username,
                publish_acl,
                subscribe_acl
                )
            return true
        else
            return false
        end
    end
end

I restarted vernemq, clear clientID on my device, but I get "invalid_credentials"
Why? Please help.

Not a contributor, but I think cache_insert requires a client_id argument. You could try replacing it with an empty string in the call to that function.

We are also very interested in omitting/wildcaring clientId from the auth process for automated connectors like telegraf. We would much rather have one user/pass for all telegraf instances that spin up and need duplicate connections.

@CD-UNCC
I made it and it works for me
my mysql.lua from /usr/share/vernemq/lua/auth/mysql.lua
-- Copyright 2018 Erlio GmbH Basel Switzerland (http://erl.io)
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
--     http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.

-- MySQL Configuration, read the documentation below to properly
-- provision your database.
require "auth/auth_commons"

-- In order to use this Lua plugin you must deploy the following database
-- schema and grant the user configured above with the required privileges:
--[[
   CREATE TABLE vmq_auth_acl
   (
     mountpoint VARCHAR(10) NOT NULL,
     client_id VARCHAR(128) NOT NULL,
     username VARCHAR(128) NOT NULL,
     password VARCHAR(128),
     publish_acl TEXT,
     subscribe_acl TEXT,
     CONSTRAINT vmq_auth_acl_primary_key PRIMARY KEY (mountpoint, client_id, username)
   )
  ]] --
-- To insert a client ACL use a similar SQL statement:
-- NOTE THAT `PASSWORD()` NEEDS TO BE SUBSTITUTED ACCORDING TO THE HASHING METHOD
-- CONFIGURED IN `vmq_diversity.mysql.password_hash_method`. CHECK THE MYSQL DOCS TO
-- FIND THE MATCHING ONE AT https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html.
--
--
--[[
--
   INSERT INTO vmq_auth_acl
   (mountpoint, client_id, username,
    password, publish_acl, subscribe_acl)
 VALUES
   ('', 'test-client', 'test-user',
    PASSWORD('123'), '[{"pattern":"a/b/c"},{"pattern":"c/b/#"}]',
                     '[{"pattern":"a/b/c"},{"pattern":"c/b/#"}]');

]]--
--      The JSON array passed as publish/subscribe ACL contains the topic patterns
--      allowed for this particular user. MQTT wildcards as well as the variable
--      substitution for %m (mountpoint), %c (client_id), %u (username) are allowed
--      inside a pattern.
--
--
-- IF YOU USE THE SCHEMA PROVIDED ABOVE NOTHING HAS TO BE CHANGED IN THE
-- FOLLOWING SCRIPT.
function auth_on_register(reg)
    if reg.username ~= nil and reg.password ~= nil then
        results = mysql.execute(pool,
            [[SELECT publish_acl, subscribe_acl
              FROM vmq_auth_acl
              WHERE
                mountpoint=? AND
                -- client_id=? AND
                username=? AND
                password=]]..mysql.hash_method(),
            reg.mountpoint,
            -- reg.client_id,
            reg.username,
            reg.password)
        if #results == 1 then
            row = results[1]
            publish_acl = json.decode(row.publish_acl)
            subscribe_acl = json.decode(row.subscribe_acl)
            cache_insert(
                reg.mountpoint,
                reg.client_id,
                reg.username,
                publish_acl,
                subscribe_acl
                )
            return true
        else
            return false
        end
    end
end

pool = "auth_mysql"
config = {
    pool_id = pool
}

mysql.ensure_pool(config)
hooks = {
    auth_on_register = auth_on_register,
    auth_on_publish = auth_on_publish,
    auth_on_subscribe = auth_on_subscribe,
    on_unsubscribe = on_unsubscribe,
    on_client_gone = on_client_gone,
    on_client_offline = on_client_offline,

    auth_on_register_m5 = auth_on_register_m5,
    auth_on_publish_m5 = auth_on_publish_m5,
    auth_on_subscribe_m5 = auth_on_subscribe_m5,
}


Add endpoint to create new data

Currently, we ingest data by parsing KWCOCO sample data via a django-admin management command. Instead, the creation of data should be exposed via RESTful endpoints.

Closed via #116


prisma generate failed due to file's missing

Bug description
npx prisma generate
Environment variables loaded from prisma/.env

Downloading Prisma engines for debian-openssl-3.0.x [                    ] 0%Error: Not Found https://binaries.prisma.sh/all_commits/3c463ebd78b1d21d8fdacdd27899e280cf686223/debian-openssl-3.0.x/introspection-engine.gz (

How to reproduce

execute prisima generate
Expected behavior
No response
Prisma information

Irrelevant.
Environment & setup

OS:  Ubuntu
Database:  Mysql
Node.js version:  v14.18.1

Prisma Version
npx prisma -v
Environment variables loaded from prisma/.env
> Downloading Prisma engines for debian-openssl-3.0.x [                    ] 0%Error: Not Found https://binaries.prisma.sh/all_commits/3c463ebd78b1d21d8fdacdd27899e280cf686223/debian-openssl-3.0.x/migration-engine.gz

You need to use Prisma 3.13.0 for OpenSSL 3 to be supported.
(If prisma -v does not work, you can also figure out your version with npm list prisma.)

@janpio
Thanks, seems caused by ubuntu OS version, My OS is Ubuntu is 22.04 now.

Yes, exactly. And we release Prisma 3.13.0 to support Ubuntu 22.04 which ships with OpenSSL 3.
Upgrade your Prisma version, and this will work.


Cilium not working with Docker Multi Host (Mesos)

We want to use IP per container using cilium, here are problems we have.
We have 2 EC2 instance for test purpose.

Host 1 (for e.g., <IP_ADDRESS>) setup using steps provided in "Getting Started Using Docker Compose" but using central consul.

IFACE device - ens3
cilium-agent  --debug -d ens3 --kvstore consul --kvstore-opt consul.address 172.16..:8500 --tunnel vxlan

Host 2 (for e.g., <IP_ADDRESS>) same as Host 1.

IFACE device - ens3
cilium-agent  --debug -d ens3 --kvstore consul --kvstore-opt consul.address 172.16..:8500 --tunnel vxlan

Host 1

Running a simple docker application using cilium network, produces a IP address for container(<IP_ADDRESS>)
Able to access the application  using http://<IP_ADDRESS>:4000

Problems:
Unable to access application from Host 2

Wanted to access the application running in Host 1 using http://<IP_ADDRESS>:4000 from Host 2,  It doesn't work.
Problem in accessing vice versa as well.

Cilium not forming a cluster mesh

When I run cilium status --all-controllers --all-health --all-redirects in Host 1 I get the below result.
KVStore:             Ok         Consul: 172.16.*.*:8300 ContainerRuntime:    Ok         docker daemon: OK Kubernetes:          Disabled Cilium:              Ok         OK NodeMonitor:         Disabled IPv4 address pool:   3/65535 allocated IPv6 address pool:   2/65535 allocated Controller Status:   4/4 healthy Name                       Last success   Last error   Count   Message cilium-health-ep           never          never        0       no error kvstore-lease-keepalive    5s ago         never        0       no error lxcmap-bpf-host-sync       3s ago         never        0       no error metricsmap-bpf-prom-sync   3s ago         never        0       no error Proxy Status:   OK, ip <IP_ADDRESS>, port-range 10000-20000 Cluster health:                1/1 reachable   (2018-08-01T14:59:58Z) Name                         IP              Reachable   Endpoints reachable ip-172-0-1-1 (localhost)   <IP_ADDRESS>     true        false

When I run cilium status --all-controllers --all-health --all-redirects in Host 2 I get the below result.
KVStore:             Ok         Consul: 172.16.*.*:8300 ContainerRuntime:    Ok         docker daemon: OK Kubernetes:          Disabled Cilium:              Ok         OK NodeMonitor:         Disabled IPv4 address pool:   3/65535 allocated IPv6 address pool:   2/65535 allocated Controller Status:   4/4 healthy Name                       Last success   Last error   Count   Message cilium-health-ep           never          never        0       no error kvstore-lease-keepalive    5s ago         never        0       no error lxcmap-bpf-host-sync       3s ago         never        0       no error metricsmap-bpf-prom-sync   3s ago         never        0       no error Proxy Status:   OK, ip <IP_ADDRESS>, port-range 10000-20000 Cluster health:                1/1 reachable   (2018-08-01T14:59:58Z) Name                         IP              Reachable   Endpoints reachable ip-172-0-1-2 (localhost)   <IP_ADDRESS>     true        false

Tried:
On Host2

Added  ip route add <IP_ADDRESS>/16 via <IP_ADDRESS>  dev ens3 still it doesn't work.

Old Cilium Version

Used v1.0.0-rc9 with   --tunnel disabled and adding route entry as above still have the same problem

Cilium Version: v1.1.2
Kernel version: 4.15.0-29-generic
can you please help on this problem. May be I am doing something wrong.
Please let me know if you need anymore details.

cilium-agent --debug -d ens3 --kvstore consul --kvstore-opt consul.address 172.16..:8500 --tunnel vxlan

Direct routing mode requires you to run a routing daemon or install routes manually to tell each node how to reach container IPs on other nodes. Alternatively you can run in tunnel mode to avoid this.

Cilium not forming a cluster mesh

The node discovery was relying on k8s in 1.1. 1.2 will feature kvstore based node discovery:
https://github.com/cilium/cilium/pull/4270
It's available in :latest already.

Its working now. Thanks

Hi,
I want to do the exact same thing as @krishnabigdata but it's not clear for me how it was fixed?
I don't want to use kubernetes but only docker.
You (@tgraf) said he should add the ip routes manually but isn't this what he did in (Added ip route add <IP_ADDRESS>/16 via <IP_ADDRESS> dev ens3 ) ?


bias segfault workaround

this pr works around an issue with bias leading to segfaults on some configs.
the issue is that the configs can lead to a pointer arithmetic overflow.
the solution is to split the tests with different configs.

What code does this part of the description:

this pr works around an issue with bias leading to segfaults on some configs.

Might be good to add an assert if the size of the bias tensor is > 2^31.

@vgokhale Bad wording on my part. I have updated the description and the assert.

The core dump mentioned in the removed skip was from the issue fixed here right?  Do we still need to run a separate UT over parameterizing bias?

@groenenboomj
@micmelesse please correct me if I'm wrong, but this isn't a "core dump issue" as such. The issue here is that triton cannot address a tensor that is > 2^31 elements. Note that it is not that Triton cannot address > 2^31 bytes. We can have several tensors in memory of size 2^30, and this will be fine. But a single tensor cannot be > 2^31.


[Request] Dock Controller.

Dock Controller 1.3.1 by Tomasz Poliszuk tries to work with your tweak but lines are outside of dock for some reason and when animated they move from bottom to top of icon.
Duplicate the behavior and maybe make it compatible, thanks.

Fixed for the next update.


Add status/health of services

While showing Kubernetes services is fine, it would be great if you also got some sort of health indicator for them.
So you can see a green checkmark or green icon next to each service.
There are many ways to check health in Kubernetes (count number of active pods, curl the service, define healthcheck etc)

Added in #44


get rid of unnecessary DOM interceptors

It seems there are still several cases where the CPS IR is introducing interceptors where SSA is not. Debugging some tests I ran into this case:
import 'dart:html';
main() {
  document.createElement('object').setAttribute('form', 'form_id');
}

SSA generates:
t1.createElement("object").setAttribute("form", "form_id")

CPSIR generates:
J.setAttribute$2$x(document.createElement("object"), "form", "form_id");

// where:
J.setAttribute$2$x = function(receiver, a0, a1) {
    return J.getInterceptor$x(receiver).setAttribute$2(receiver, a0, a1);
};

J.getInterceptor$x = function(receiver) {
    if (receiver == null)
      return receiver;
    if (typeof receiver != object) {
      if (typeof receiver == function)
        return J.JavaScriptFunction.prototype;
      return receiver;
    }
    if (receiver instanceof P.Object)
      return receiver;
    return J.getNativeInterceptor(receiver);
};
 ...

Note that we generate the same code as SSA if the source-program is written as:
new ObjectElement().setAttribute(...);

It was a problem with the inliner: https://codereview.chromium.org/1685643002/

cool - good find!


Initial set of regression tests

This adds a number of simple test

Basic tests to make sure that the LCOW is working
Some build tests with some more advanced features such as multi-stage builds etc
A basic networking and volume sharing test each
A script to run the tests and updated documentation

Note, some of the tests are failing and issues have been filed/updated (https://github.com/Microsoft/opengcs/issues/156 https://github.com/Microsoft/opengcs/issues/168 https://github.com/Microsoft/opengcs/issues/169)

one minor nit but LGTM. tests are good!


docs: update README.md

Combining multiple PRs:
doc: fix example
doc: apply a uniform code style for examples
docs: remove link to non-working gemnasium project
docs: add info about the minimum package size
docs: replace http links with https
docs: add package installation instructions
docs: correcting the partition sequence
docs: make all the Rules in one section
docs: simplify Transform example

Has been reviewed, It's ok.