Intermittently working on Edison

When running test.js on the edison, sometimes the android scanner sees it advertise as 'test' and I'm able to connect and all works as I would expect. Mostly, it sees it as "BCM433..." and I'm unable to connect

Well it works fine with iOS. Seems to be something with any of the off the shelf BLE scanners on Android. Any ideas welcome

@mikaye hm, strange, I'm wondering if this is driver related.
Could you please capture an hcidump capture, while running the test.js:
hcidump -t -x

Hi Sandeep,
This is what I see.
HCI sniffer - Bluetooth packet analyzer ver 5.24
device: hci0 snap_len: 1500 filter: 0xffffffff
From iOS lightblue application I see
edisonNo Services
after connect
edison
uuid: ...  (and all expected services)
2015-09-28 10:58:12.122561 > HCI Event: LE Meta Event (0x3e) plen 19
LE Connection Complete

  status 0x00 handle 64, role slave

  bdaddr 66:C1:D7:AA:C3:1F (Random)

on -> accept, client: 66:c1:d7:aa:c3:1f
2015-09-28 10:58:12.134761 < HCI Command: Read RSSI (0x05|0x0005) plen 2
handle 64

2015-09-28 10:58:12.135492 > HCI Event: Command Complete (0x0e) plen 7
Read RSSI (0x05|0x0005) ncmd 1

status 0x00 handle 64 rssi 127

on -> rssiUpdate: 127
2015-09-28 10:58:12.200699 > ACL data: handle 64 flags 0x02 dlen 7
ATT: MTU req (0x02)

  client rx mtu 158

2015-09-28 10:58:12.205808 < ACL data: handle 64 flags 0x00 dlen 7
ATT: MTU resp (0x03)

  server rx mtu 158

2015-09-28 10:58:12.290769 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Group req (0x10)

  start 0x0001, end 0xffff

  type-uuid 0x2800

2015-09-28 10:58:12.296682 < ACL data: handle 64 flags 0x00 dlen 18
ATT: Read By Group resp (0x11)

  attr handle 0x0001, end group handle 0x0005

  value 0x00 0x18

  attr handle 0x0006, end group handle 0x0009

  value 0x01 0x18

2015-09-28 10:58:12.410768 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Group req (0x10)

  start 0x000a, end 0xffff

  type-uuid 0x2800

2015-09-28 10:58:12.411129 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:12.412740 < ACL data: handle 64 flags 0x00 dlen 26
ATT: Read By Group resp (0x11)

  attr handle 0x000a, end group handle 0x0019

  value 0xf0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff
2015-09-28 10:58:12.470767 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Group req (0x10)

  start 0x001a, end 0xffff

  type-uuid 0x2800

2015-09-28 10:58:12.473296 < ACL data: handle 64 flags 0x00 dlen 9
ATT: Error (0x01)

  Error: Attribute not found (10)

  Read By Group req (0x10) on handle 0x001a

2015-09-28 10:58:12.530787 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Type req (0x08)

  start 0x0006, end 0x0009

  type-uuid 0x2803

2015-09-28 10:58:12.531146 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:12.535728 < ACL data: handle 64 flags 0x00 dlen 13
ATT: Read By Type resp (0x09)

  length: 7

    handle 0x0007, value 0x20 0x08 0x00 0x05 0x2a

2015-09-28 10:58:12.590704 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0009, end 0x0009

2015-09-28 10:58:12.595192 < ACL data: handle 64 flags 0x00 dlen 10
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0009, uuid 0x2902 (GATT(desc) Client Characteristic

Configuration)
2015-09-28 10:58:12.650760 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Write req (0x12)

  handle 0x0009 value  0x02 0x00

2015-09-28 10:58:12.651047 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:12.657255 < ACL data: handle 64 flags 0x00 dlen 5
ATT: Write resp (0x13)

2015-09-28 10:58:12.710774 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Type req (0x08)

  start 0x000a, end 0x0019

  type-uuid 0x2803

2015-09-28 10:58:12.714724 < ACL data: handle 64 flags 0x00 dlen 132
ATT: Read By Type resp (0x09)

  length: 21

    handle 0x000b, value 0x02 0x0c 0x00 0xf1 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    handle 0x000e, value 0x02 0x0f 0x00 0xf2 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    handle 0x0010, value 0x02 0x11 0x00 0xf3 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    handle 0x0012, value 0x0c 0x13 0x00 0xf4 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    handle 0x0014, value 0x10 0x15 0x00 0xf5 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    handle 0x0017, value 0x20 0x18 0x00 0xf6 0xff 0xff 0xff 0xff 0xff

0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
2015-09-28 10:58:12.800748 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x000d, end 0x000e

2015-09-28 10:58:12.801048 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:12.802487 < ACL data: handle 64 flags 0x00 dlen 14
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x000d, uuid 0x2901 (GATT(desc) User Description)

    handle 0x000e, uuid 0x2803 (GATT Characteristic)

2015-09-28 10:58:12.860837 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0010, end 0x0010

2015-09-28 10:58:12.862609 < ACL data: handle 64 flags 0x00 dlen 10
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0010, uuid 0x2803 (GATT Characteristic)

2015-09-28 10:58:12.920735 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0012, end 0x0012

2015-09-28 10:58:12.921318 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:12.921844 < ACL data: handle 64 flags 0x00 dlen 10
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0012, uuid 0x2803 (GATT Characteristic)

2015-09-28 10:58:12.980965 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0014, end 0x0014

2015-09-28 10:58:12.982028 < ACL data: handle 64 flags 0x00 dlen 10
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0014, uuid 0x2803 (GATT Characteristic)

2015-09-28 10:58:13.040714 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0016, end 0x0017

2015-09-28 10:58:13.041050 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:13.042386 < ACL data: handle 64 flags 0x00 dlen 14
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0016, uuid 0x2902 (GATT(desc) Client Characteristic

Configuration)
    handle 0x0017, uuid 0x2803 (GATT Characteristic)

2015-09-28 10:58:13.100794 > ACL data: handle 64 flags 0x02 dlen 9
ATT: Find Information req (0x04)

  start 0x0019, end 0x0019

2015-09-28 10:58:13.101823 < ACL data: handle 64 flags 0x00 dlen 10
ATT: Find Information resp (0x05)

  format: uuid-16

    handle 0x0019, uuid 0x2902 (GATT(desc) Client Characteristic

Configuration)
2015-09-28 10:58:13.160706 > ACL data: handle 64 flags 0x02 dlen 7
ATT: Read req (0x0a)

  handle 0x000d

2015-09-28 10:58:13.161276 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:13.165289 < ACL data: handle 64 flags 0x00 dlen 21
ATT: Read resp (0x0b)

  75 73 65 72 20 64 65 73 63 72 69 70 74 69 6F 6E

2015-09-28 10:58:13.220763 > ACL data: handle 64 flags 0x02 dlen 7
ATT: Read req (0x0a)

  handle 0x0016

2015-09-28 10:58:13.222178 < ACL data: handle 64 flags 0x00 dlen 7
ATT: Read resp (0x0b)

  00 00

2015-09-28 10:58:13.280724 > ACL data: handle 64 flags 0x02 dlen 7
ATT: Read req (0x0a)

  handle 0x0019

2015-09-28 10:58:13.281146 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 2

2015-09-28 10:58:13.281819 < ACL data: handle 64 flags 0x00 dlen 7
ATT: Read resp (0x0b)

  00 00

2015-09-28 10:58:13.498929 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 1

2015-09-28 10:58:15.200799 > ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Type req (0x08)

  start 0x0001, end 0x0005

  type-uuid 0x2a00

2015-09-28 10:58:15.202633 < ACL data: handle 64 flags 0x00 dlen 14
ATT: Read By Type resp (0x09)

  length: 8

    handle 0x0003, value 0x65 0x64 0x69 0x73 0x6f 0x6e

2015-09-28 10:58:15.487355 > HCI Event: Number of Completed Packets (0x13)
plen 5
handle 64 packets 1

2015-09-28 10:59:27.622226 > HCI Event: Disconn Complete (0x05) plen 4
status 0x00 handle 64 reason 0x13

Reason: Remote User Terminated Connection

on -> disconnect, client: 66:c1:d7:aa:c3:1f
2015-09-28 10:59:27.698625 < HCI Command: LE Set Advertise Enable
(0x08|0x000a) plen 1
01
2015-09-28 10:59:27.699636 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1

status 0x00

On Android (5.1.1 on Nexus 6)
application BLE Scanner
Peripheral: BCM4334080..
hcidump -t -x
HCI sniffer - Bluetooth packet analyzer ver 5.24
device: hci0 snap_len: 1500 filter: 0xffffffff
When I tap on connect, nothing. This is true for BLE Scanner, BLE Tool and
my own app.
Strange, because the first time I tried it, it worked flawlessly from
Android. Since then, I've been unable to get it to work.
Also tried a Nexus 5 running 5.1.1. Same behavior.
Both phones show the Edison as "dual mode" device. However, I doubt that
should matter.
Thanks,
Mike
On Sun, Sep 27, 2015 at 5:42 PM, Sandeep Mistry<EMAIL_ADDRESS>wrote:

@mikaye https://github.com/mikaye hm, strange, I'm wondering if this is
driver related.
Could you please capture an hcidump capture, while running the test.js:
hcidump -t -x
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-143607540
.

@mikaye we really need an hcidump capture running before you start bleno, and trying to connect from Android. I want to see the advertising commands in the hcidump capture.
Maybe you could reboot your phone?
Btw, you don't have bluetoothd running right? http://rexstjohn.com/configure-intel-edison-for-bluetooth-le-smart-development/

Hi Sandeep,
The advertising data is below. No success with either Android phone even
though I run BLE Scanner after boot. All I can say is it worked from the
build I pulled several weeks ago before your latest checkin. I don't
remember if it was consistent though. And to confirm, yes, I followed the
instructions and bluetoothd is not running. iOS connects and disconnects
flawlessly.
I noticed that if android BLE scanner starts to connect, I do not see any
dump from hcidump but if I then try connecting from iOS (lightblue app) it
first says something like it is disconnected from the peripheral. All
subsequent iOS attempts work fine.
see below
Thx,
Mike
Advertising data
HCI sniffer - Bluetooth packet analyzer ver 5.24
device: hci0 snap_len: 1500 filter: 0xffffffff
2015-09-29 08:44:38.990421 < HCI Command: Set Event Mask (0x03|0x0001) plen
8
Mask: 0xfffffbff07f8bf3d

2015-09-29 08:44:38.997108 > HCI Event: Command Complete (0x0e) plen 4
Set Event Mask (0x03|0x0001) ncmd 1

status 0x00

2015-09-29 08:44:38.997223 < HCI Command: LE Set Event Mask (0x08|0x0001)
plen 8
mask 0x1f00000000000000 (Reserved)

2015-09-29 08:44:38.997970 > HCI Event: Command Complete (0x0e) plen 4
LE Set Event Mask (0x08|0x0001) ncmd 1

status 0x00

2015-09-29 08:44:38.998065 < HCI Command: Read Local Version Information
(0x04|0x0001) plen 0
2015-09-29 08:44:38.998731 > HCI Event: Command Complete (0x0e) plen 12
Read Local Version Information (0x04|0x0001) ncmd 1

status 0x00

HCI Version: 4.0 (0x6) HCI Revision: 0xa6

LMP Version: 4.0 (0x6) LMP Subversion: 0x410e

Manufacturer: Broadcom Corporation (15)

2015-09-29 08:44:38.998826 < HCI Command: Read BD ADDR (0x04|0x0009) plen 0
2015-09-29 08:44:38.999562 > HCI Event: Command Complete (0x0e) plen 10
Read BD ADDR (0x04|0x0009) ncmd 1

status 0x00 bdaddr 98:4F:EE:03:26:2B

2015-09-29 08:44:39.038835 < HCI Command: LE Set Advertise Enable
(0x08|0x000a) plen 1
00
2015-09-29 08:44:39.039970 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1

status 0x0c

Error: Command Disallowed

2015-09-29 08:44:39.041078 < HCI Command: LE Set Advertising Parameters
(0x08|0x0006) plen 15
min 100.000ms, max 100.000ms

type 0x00 (ADV_IND - Connectable undirected advertising) ownbdaddr 0x00

(Public)
directbdaddr 0x00 (Public) 00:00:00:00:00:00

channelmap 0x07 filterpolicy 0x00 (Allow scan from any, connection from

any)
2015-09-29 08:44:39.041895 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Parameters (0x08|0x0006) ncmd 1

status 0x00

2015-09-29 08:44:39.058031 < HCI Command: LE Set Scan Response Data
(0x08|0x0009) plen 32
06 05 08 74 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
2015-09-29 08:44:39.059281 > HCI Event: Command Complete (0x0e) plen 4
LE Set Scan Response Data (0x08|0x0009) ncmd 1

status 0x00

2015-09-29 08:44:39.059391 < HCI Command: LE Set Advertising Data
(0x08|0x0008) plen 32
15 02 01 06 11 06 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF 00 00 00 00 00 00 00 00 00 00
2015-09-29 08:44:39.060256 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Data (0x08|0x0008) ncmd 1

status 0x00

2015-09-29 08:44:39.060347 < HCI Command: LE Set Advertise Enable
(0x08|0x000a) plen 1
01
2015-09-29 08:44:39.061798 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1

status 0x00

2015-09-29 08:44:39.061908 < HCI Command: LE Set Scan Response Data
(0x08|0x0009) plen 32
06 05 08 74 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
2015-09-29 08:44:39.062905 > HCI Event: Command Complete (0x0e) plen 4
LE Set Scan Response Data (0x08|0x0009) ncmd 1

status 0x00

2015-09-29 08:44:39.064513 < HCI Command: LE Set Advertising Data
(0x08|0x0008) plen 32
15 02 01 06 11 06 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF 00 00 00 00 00 00 00 00 00 00
2015-09-29 08:44:39.065442 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Data (0x08|0x0008) ncmd 1

status 0x00

2015-09-29 08:44:39.065535 < HCI Command: LE Set Advertising Data
(0x08|0x0008) plen 32
1F 02 01 0A 02 0A 04 18 08 42 43 4D 34 33 33 34 30 42 30 20
33 37 2E 34 20 4D 48 7A 20 57 4C 42
2015-09-29 08:44:39.066642 > HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Data (0x08|0x0008) ncmd 1

status 0x00

On Mon, Sep 28, 2015 at 5:17 PM, Sandeep Mistry<EMAIL_ADDRESS>wrote:

@mikaye https://github.com/mikaye we really need an hcidump capture
running before you start bleno, and trying to connect from Android. I want
to see the advertising commands in the hcidump capture.
Maybe you could reboot your phone?
Btw, you don't have bluetoothd running right?
http://rexstjohn.com/configure-intel-edison-for-bluetooth-le-smart-development/
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-143908827
.

I'm not sure how to help you next, if nothing is showing on the hcidump for Android, it doesn't look likes it trying to connect.
Btw, what app are you using on the Android side? I highly recommend nRF Master Control panel, I've had no issues connecting to a bleno Linux peripheral using it on my Nexus 7 running Android 5.1.1.

Having this issue too now, have had it before.. like 6+ months ago and i found back then a post where someone said bluez 5.24 wasnt the best one to use on edison with bleno.
As i recall, when i ran Bluez5.18 everything worked smoothly, but now with 5.24 nothing works anymore :/

I have confirmed that running nRF Master Control Panel on both Nexus 7,
Nexus 6 and Nexus 5 (all running 5.1.1) have the same problem. iOS on the
other hand, no problem.
Should I try installing an older version of bluez?
As I said, I have it seen this run at least for a short period on Android
before the latest npm install but can't seem to get back their even when
using the older dependencies.
Thanks,
Mike
On Mon, Oct 5, 2015 at 7:00 AM, danki<EMAIL_ADDRESS>wrote:

Having this issue too now, have had it before.. like 6+ months ago and i
found back then a post where someone said bluez 5.24 wasnt the best one to
use on edison with bleno.
As i recall, when i ran Bluez5.18 everything worked smoothly, but now with
5.24 nothing works anymore :/
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-145536421
.

@mikaye pas weeks ive had loads of problems with bleno, node, npm and node-gyp
Every time i install bleno (as ive tried to re-install it) i get all kinds of errors from node, bleno, xpc-connection, node-gyp and npm.
As of 5.18, ive tried to find that but seems its gone from the web, dunno tho if i could take it directly from bluez web and install from the tar. (ill make a try in a bit).
Few months ago people wanted to use gatttool which seemed to be available in 5.24 but there was just too much issues and i think Alex_T form intel forums even said that 5.18 is best one for edison.
Now, theres tho something else im thinking of (could be the actual issue with bleno).
when ever i clear my edison back to factory, i run all the setups thats needed and install later bleno. In the installation i get errors and warnings. I think it could be nodejs version.
If im correct, bleno is "compiled" on the device  while installed. Tho i cant confirm that theory either cause i tried to update my nodejs to the latest one, same for the npm.. and node-gyp too but then my other nodejs applications stopped working.
The only thing im sure of is that when i used Bluez5.18 and nodejs 0.10.28 and some older bleno, everything worked as expected.
Im currently trying to figure out whats going on and  testing all kinds of theories, when ever i find something, ill uppdate here.
Sidenote... also my rfkill unblock bluetooth stopped working... now after every reboot, i need to unblock that again :/

Here's  output from my edison.
Ive now tried literally everything, flashed eddy, setup, reinstalled, tested multiple version, diabled bluetooth, kille bluetoothd, tested node 0.10.28, tested latest releases...
No idea whats going on, getting these errors on bleno install all the time
http://pastebin.com/0bLLr0WE

Another update...
Previously when node app was running using bleno, in ps i could grep l2cap-ble and hci-ble.
Could that be a bleno issue or more of a bluez issue ?

Ive now updated poky to ww25 (17) and tried with same results.
One thing that i noticed now is that any app using bleno, broadcasts themselves as DUAL (Classic and BLE). Ealier  this year when i had similar issue, i found that unless my phone doesnt see bleno app as BLE, it wont connect.
I have disabled bluetooth, killed the process but still, something is catching my connection attempts so bleno never gets any events.
Really really frustrating not to even have at least some success :/

Here's my setup:
root@edison:~# configure_edison --latest-version
146

root@edison:~/test# uname -a
Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Wed Apr 29 03:54:01 CEST 2015 i686 GNU/Linux

root@edison:~/test# node -v
v0.10.35

Previously when node app was running using bleno, in ps i could grep l2cap-ble and hci-ble.

Those are no longer used, node-bluetooth-hci-socket is used instead now.
hcidump from test.js:
device: hci0 snap_len: 1500 filter: 0xffffffff
2015-10-07 23:49:29.480250 < HCI Command: Set Event Mask (0x03|0x0001) plen 8
    Mask: 0xfffffbff07f8bf3d
2015-10-07 23:49:29.486881 > HCI Event: Command Complete (0x0e) plen 4
    Set Event Mask (0x03|0x0001) ncmd 1
    status 0x00
2015-10-07 23:49:29.487009 < HCI Command: LE Set Event Mask (0x08|0x0001) plen 8
    mask 0x1f00000000000000 (Reserved)
2015-10-07 23:49:29.487724 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Event Mask (0x08|0x0001) ncmd 1
    status 0x00
2015-10-07 23:49:29.487813 < HCI Command: Read Local Version Information (0x04|0x0001) plen 0
2015-10-07 23:49:29.489511 > HCI Event: Command Complete (0x0e) plen 12
    Read Local Version Information (0x04|0x0001) ncmd 1
    status 0x00
    HCI Version: 4.0 (0x6) HCI Revision: 0xa6
    LMP Version: 4.0 (0x6) LMP Subversion: 0x410e
    Manufacturer: Broadcom Corporation (15)
2015-10-07 23:49:29.490194 < HCI Command: Read BD ADDR (0x04|0x0009) plen 0
2015-10-07 23:49:29.491539 > HCI Event: Command Complete (0x0e) plen 10
    Read BD ADDR (0x04|0x0009) ncmd 1
    status 0x00 bdaddr 98:4F:EE:03:5A:E9
2015-10-07 23:49:29.518509 < HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
  00
2015-10-07 23:49:29.519600 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertise Enable (0x08|0x000a) ncmd 1
    status 0x0c
    Error: Command Disallowed
2015-10-07 23:49:29.519815 < HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15
    min 100.000ms, max 100.000ms
    type 0x00 (ADV_IND - Connectable undirected advertising) ownbdaddr 0x00 (Public)
    directbdaddr 0x00 (Public) 00:00:00:00:00:00
    channelmap 0x07 filterpolicy 0x00 (Allow scan from any, connection from any)
2015-10-07 23:49:29.520621 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertising Parameters (0x08|0x0006) ncmd 1
    status 0x00
2015-10-07 23:49:29.535513 < HCI Command: LE Set Scan Response Data (0x08|0x0009) plen 32
  06 05 08 74 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00
2015-10-07 23:49:29.536780 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Response Data (0x08|0x0009) ncmd 1
    status 0x00
2015-10-07 23:49:29.536884 < HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
  15 02 01 06 11 06 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF 00 00 00 00 00 00 00 00 00 00
2015-10-07 23:49:29.537693 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertising Data (0x08|0x0008) ncmd 1
    status 0x00
2015-10-07 23:49:29.537781 < HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
  01
2015-10-07 23:49:29.538485 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertise Enable (0x08|0x000a) ncmd 1
    status 0x00
2015-10-07 23:49:29.539191 < HCI Command: LE Set Scan Response Data (0x08|0x0009) plen 32
  06 05 08 74 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00
2015-10-07 23:49:29.539714 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Scan Response Data (0x08|0x0009) ncmd 1
    status 0x00
2015-10-07 23:49:29.539819 < HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
  15 02 01 06 11 06 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF 00 00 00 00 00 00 00 00 00 00
2015-10-07 23:49:29.541395 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertising Data (0x08|0x0008) ncmd 1
    status 0x00
2015-10-07 23:49:29.541479 < HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32
  1F 02 01 0A 02 0A 04 18 08 42 43 4D 34 33 33 34 30 42 30 20
  33 37 2E 34 20 4D 48 7A 20 57 4C 42
2015-10-07 23:49:29.542405 > HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertising Data (0x08|0x0008) ncmd 1
    status 0x00

nRF master control panel:

Also showing CLASSIC and BLE, flags also show BeErd enable when bleno uses 0x6. I think the kernel or driver is doing something weird .... also having issues connecting from my Nexus 7 running 5.1.1 ...

@danki @mikaye
If I modify: https://github.com/sandeepmistry/bleno/blob/master/lib/hci-socket/gap.js#L152 to:
    // this._hci.setScanResponseData(scanData);
    // this._hci.setAdvertisingData(advertisementData);
    this._hci.setAdvertiseEnable(true);
    this._hci.setScanResponseData(scanData);
    this._hci.setAdvertisingData(advertisementData);

The Nexus 7 + nRF Master Control Panel is much happier and can connect. The edison peripheral shows up as BLE only and flags GeneralDiscoverable,BrEdrNotSupported as expected as well.
Can you please try? I need to make sure the change doesn't break newer kernels used in the Raspberry Pi etc.

@sandeep thank you, ill confirm that for you in few hrs after some sleep.

@sandeepmistry ive tested it now, and unfortunately its not working as well for me.
Im using Nexus 4 and BLE Scanner (sometimes nrf master as well) tho ive found that blescanner is most reliable to use to detect if connection is possible or not.
If Ble scanner says DUAL MODE, i will never be able to connect (experience from allmost a years dev on app with bleno) but when it says BLE then its all good for me. Currently i get DUAL
Here is my steps:
rfkill of course and the rest
root@seddec:~# node -v
v0.10.38
root@seddec:~# configure_edison --version
159
root@seddec:~# uname -a
Linux seddec 3.10.17-poky-edison+ #1 SMP PREEMPT Fri Jun 19 12:06:40 CEST 2015 i686 GNU/Linux
root@seddec:~#
root@seddec:~# hciconfig hci -a
hci0:	Type: BR/EDR  Bus: UART
	BD Address: 98:4F:EE:02:E5:69  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING
	RX bytes:3055 acl:0 sco:0 events:210 errors:0
	TX bytes:2855 acl:0 sco:0 commands:210 errors:0
	Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
	Link policy: RSWITCH SNIFF
	Link mode: SLAVE ACCEPT
	Name: 'BCM43340B0 37.4 MHz WLBGA_iTR Intel Edison-0122-N'
	Class: 0x000000
	Service Classes: Unspecified
	Device Class: Miscellaneous,
	HCI Version: 4.0 (0x6)  Revision: 0xa6
	LMP Version: 4.0 (0x6)  Subversion: 0x410e
	Manufacturer: Broadcom Corporation (15)

root@seddec:~# systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled)
   Active: inactive (dead)
     Docs: man:bluetoothd(8)

Oct 07 22:55:54 seddec systemd[1]: Starting Bluetooth service...
Oct 07 22:55:54 seddec bluetoothd[229]: Bluetooth daemon 5.24
Oct 07 22:55:54 seddec bluetoothd[229]: Starting SDP server
Oct 07 22:55:54 seddec bluetoothd[229]: Bluetooth management interface 1.3 i...d
Oct 07 22:55:55 seddec systemd[1]: Started Bluetooth service.
Oct 08 01:09:24 seddec systemd[1]: Stopping Bluetooth service...
Oct 08 01:09:24 seddec systemd[1]: Stopped Bluetooth service.
Hint: Some lines were ellipsized, use -l to show in full.
root@seddec:~# ps  | grep bluetooth
  192 root      3228 S    /usr/sbin/bluetooth_rfkill_event
 1609 root      2664 S    grep bluetooth
root@seddec:~#
´´´

@danki how did you get version 159?
root@edison:~# configure_edison --version
146
root@edison:~# configure_edison  --latest-version
146
root@edison:~# configure_edison  --upgrade
The latest version is already installed.

With version 146, I no longer have to run rfkill ...
root@edison:~# hciconfig -a
hci0:	Type: BR/EDR  Bus: UART
	BD Address: 98:4F:EE:03:5A:E9  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING
	RX bytes:1774 acl:33 sco:0 events:107 errors:0
	TX bytes:2195 acl:33 sco:0 commands:83 errors:0
	Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
	Link policy: RSWITCH SNIFF
	Link mode: SLAVE ACCEPT
	Name: 'BCM43340B0 37.4 MHz WLBGA_iTR Intel Edison-0122-N'
	Class: 0x000000
	Service Classes: Unspecified
	Device Class: Miscellaneous,
	HCI Version: 4.0 (0x6)  Revision: 0xa6
	LMP Version: 4.0 (0x6)  Subversion: 0x410e
	Manufacturer: Broadcom Corporation (15)

@sandeepmistry i rarely use -latest-version, have seen multiple times it being "not updated", the image is otherwise available on  intels web for downloading, which i did 2 days ago.
I just tested NRF master, and yes it finds the bleno advertising, but is tho unable to connect, android logcat does not reveal anything either why its not connecting.

@sandeepmistry Ive tried now a bit more, with your fix.
Im able to connect now, tho i had to pair phone with edison  in bt settings first. It is now connected, but not getting all the services and characteristics defined in Bleno app, is there any changes in the bleno that needs to be adapted in app ?

Here's what I'm seeing with Nexus 6 (5.1.1). My edison configuration is
below the image. The changes I made to gap.js are,
// this._hci.setScanResponseData(scanData);
// this._hci.setAdvertisingData(advertisementData);
this._hci.setAdvertiseEnable(true);
this._hci.setScanResponseData(scanData);
this._hci.setAdvertisingData(advertisementData);
}
From nRF Master

My edison is pretty much like yours except for node.

node -v
v0.10.38
After pairing in Bluetooth, I am now able to connect and I see the
following. Of course, I shouldn't have to pair first. And it is missing
services.

One last thing I tried. I reverted gap.js and as long as I'm paired, I'm
still able to connect.
--Mike
On Thu, Oct 8, 2015 at 4:29 AM, danki<EMAIL_ADDRESS>wrote:

@sandeepmistry https://github.com/sandeepmistry Ive tried now a bit
more, with your fix.
Im able to connect now, tho i had to pair phone with edison in bt settings
first. It is now connected, but not getting all the services and
characteristics defined in Bleno app, is there any changes in the bleno
that needs to be adapted in app ?
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-146509576
.

I forgot to mention that in all cases, iOS continues to behave well. I can
connect/disconnect and it shows all services
On Thu, Oct 8, 2015 at 12:05 PM, Michael Kaye<EMAIL_ADDRESS>wrote:

Here's what I'm seeing with Nexus 6 (5.1.1). My edison configuration is
below the image. The changes I made to gap.js are,
// this._hci.setScanResponseData(scanData);
// this._hci.setAdvertisingData(advertisementData);
this._hci.setAdvertiseEnable(true);
this._hci.setScanResponseData(scanData);
this._hci.setAdvertisingData(advertisementData);
}
From nRF Master

My edison is pretty much like yours except for node.

node -v
v0.10.38
After pairing in Bluetooth, I am now able to connect and I see the
following. Of course, I shouldn't have to pair first. And it is missing
services.

One last thing I tried. I reverted gap.js and as long as I'm paired, I'm
still able to connect.
--Mike
On Thu, Oct 8, 2015 at 4:29 AM, danki<EMAIL_ADDRESS>wrote:

@sandeepmistry https://github.com/sandeepmistry Ive tried now a bit
more, with your fix.
Im able to connect now, tho i had to pair phone with edison in bt
settings first. It is now connected, but not getting all the services and
characteristics defined in Bleno app, is there any changes in the bleno
that needs to be adapted in app ?
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-146509576
.

@sandeepmistry you mentioned  GeneralDiscoverable,BrEdrNotSupported flags, i tried to find info on what exactly those flag but couldnt find  anything "useful", could you explain what these do (in Bleno).
With Edison default BLE (non bleno app) i det BleBrEdrSupported, which kind of feels should be what we look for :P
Yesterday i had everything working, but over the night my edison was powered off and now when i try to run bleno app again and command it with NRFMaster / Blescanner, i get no response from Edison.

@mikaye @danki I haven't had a chance to update to the latest firmware but here's my current setup:

edison version 146
bluetoothd disabled vis systemctl disable bluetooth
NO rfkill unblock bluetooth run after reboot
bleno patch mentioned above

I did not need to pair for it to work with Android.

@sandeepmistry you mentioned GeneralDiscoverable,BrEdrNotSupported flags, i tried to find info on what exactly those flag but couldnt find anything "useful", could you explain what these do (in Bleno).

With Edison default BLE (non bleno app) i det BleBrEdrSupported, which kind of feels should be what we look for :P

bleno uses an advertisement type of GeneralDiscoverable (0x00 - see this line in hci.js) and does not support GATT over BrEdr. So if you ever see type "Classic and BLE" instead of BLE only and/or LEandBrEdrCapable in nRF Master Control panel something is wrong. Then I think Android will try to use GATT over BrEdr (non low energy) and have issues connecting.
Btw, @rexstjohn also mentioned a workaround for Android was to turn Bluetooth off and on again, as he and someone from Amazon suspects a bug in the BLE stack. I still need to look into incorporating my suggested patch into master ... maybe it's not needed if it's an Android OS issue ...

Hi,
Just wondering if there are any updates planned to address the problems
we've experienced? Otherwise I have two options. The first is to switch to
ios where it works fine and hope for a future updates to android. The
second is to look more into the possibility of using WiFi direct
Thanks,
Mike
On Mon, Oct 12, 2015, 5:48 PM Sandeep Mistry<EMAIL_ADDRESS>wrote:

@mikaye https://github.com/mikaye @danki https://github.com/danki I
haven't had a chance to update to the latest firmware but here's my current
setup:

edison version 146
bluetoothd disabled vis systemctl disable bluetooth
NO rfkill unblock bluetooth run after reboot
bleno patch mentioned above

I did not need to pair for it to work with Android.
@sandeepmistry https://github.com/sandeepmistry you mentioned
GeneralDiscoverable,BrEdrNotSupported flags, i tried to find info on what
exactly those flag but couldnt find anything "useful", could you explain
what these do (in Bleno).
With Edison default BLE (non bleno app) i det BleBrEdrSupported, which
kind of feels should be what we look for :P
bleno uses an advertisement type of GeneralDiscoverable (0x00 - see this
line in hci.js
https://github.com/sandeepmistry/bleno/blob/master/lib/hci-socket/hci.js#L202)
and does not support GATT over BrEdr. So if you ever see type "Classic and
BLE" instead of BLE only and/or LEandBrEdrCapable in nRF Master Control
panel something is wrong. Then I think Android will try to use GATT over
BrEdr (non low energy) and have issues connecting.
Btw, @rexstjohn https://github.com/rexstjohn also mentioned a
workaround for Android was to turn Bluetooth off and on again, as he and
someone from Amazon suspects a bug in the BLE stack. I still need to look
into incorporating my suggested patch into master ... maybe it's not needed
if it's an Android OS issue ...
—
Reply to this email directly or view it on GitHub
https://github.com/sandeepmistry/bleno/issues/131#issuecomment-147560198
.

@mikaye sorry for hi-jacking you post, the original issue you described, iven seen that behaviour as well in my project. Tho ive found a mini workaround to BCM... advertising.
First, in bleno app, onconnect, add a timeoutlike this:
global.g_timeout = setTimeout(function(){
    if(bleno){
        bleno.disconnect();
        bleno.stopAdv(); }
}, 10000); // Give it 10 sec to establish connection

Then create a characteristics, where you set read or write properties, which when executed, clears the timeout
clearTimeout( global.g_timeout );

First when you scan for Bleno, lets say you find it as BCM...
Make a connection, which eventually will be disconnected, you will need to scan and connect again afterwards, where hopefully your phone sees bleno as advertised name and as BLE (in bluetooth low energy it would be type 2). BCM usually is type 3 and when your phone sees that type, your node app has failed initiate properly i think.
When you see that advertising name in scannings, make a connection which hopefully is success, and right after that write/read the characteristics which clears the timeout.

You may also do some pre-initiation in bleno app (ive had to do that few times)
When ever the main.js is started in nodejs, you use exec to dovarious things:
Run this as first thing in bleno app, just to be sure
// You may want to change hciconfig to run up command instead of reset, test around to see what works
exec("rfkill unblick bluetooth && hciconfig hci0 reset && sleep 5 && echo 'OK'",function(err, in, ou){
	if(err){
		console.log(err);

		if (ou.indexOf("No such device") > -1 || ou.indexOf("(110)") > -1) {
			console.log("This is big problem, HCI is completely dead!!!!")
			console.log("Need to reboot the system...")
			setTimeout(function () {
				exec("reboot", null);
				return;
			}, 3000);
		}

		// Use this ONLY if you have a service running, which is setup to restart app if it exits
		setTimeout(function () {
			console.log("Exiting APP!");
			process.exit(2);
		}, 5000);
	}else{
		// Just to clear any cache
		for ( var i in require.cache ){
			if(i.indexOf("/bleno/") > -1 ){
				delete require.cache[i];
			}
		}
		if(in.indexOf("OK") > -1){
        // Initiate Bleno library like
			bleno = require("bleno");
        // add event listeners as no on
		}
	}
});

Another tip, set a timeout to exit the app after like 5 seconds.
Now when Bleno initiated and you get event  stateChanged poweredOff or unsupported, exit the app so service can re-start it again. If statechanged gives you poweredOn OR your startAdvertising is triggered, you can kill this timeout so app would not exit when everything is correct.
Ive tested around all kinds of solutions, and (cant share code tho) what i do is that my bleno app runs as service, (boots up with edison). The service is set to restart the app whenever the exit code is non clean. In my Case clean exit is 0, so any other exit are non clean ones.
Also, you could tie bleno lib event stateChanged  poweredOff and unsupported to some kind of behaviour to re-enable your app and its advertising.
I hope this might help you a little and you'll find a good way to get it back working.
PS. these above examples were what ive tried and tested, at some, my current setup is similar, and so far only "way" that assures the right conditions for bleno to work and i have not has any issues so far.

@mikaye I'm surprised my suggested patch to gap.js hasn't fixed things.
I plan to have fix for it in eventually. Have you had a chance to recreate your edison setup as per my notes in https://github.com/sandeepmistry/bleno/issues/131#issuecomment-147560198?

Based on @danki's comment from https://github.com/sandeepmistry/bleno/issues/84#issuecomment-156472920 it looks like version 146 is the best version to use with bleno.
If you can confirm my suggested patch from https://github.com/sandeepmistry/bleno/issues/131#issuecomment-146371117, I can update bleno with it.

I can confirm #131 to solve, every reinstall of bleno stops working and applying this fix, enables BLE behaviours again on Edison for Android.

I've implemented the workaround in master via https://github.com/sandeepmistry/bleno/commit/ceb2151ac9656ce96234e58eb5b880be9d120a38.
You can test it out via npm install sandeepmistry/bleno before a new version is published to npm.

I'm just able to do some additional testing with the following configuration and everything appears to be working quite well between edison bleno and android 5.1.1 (with or without the patch #131)
edison - 159.devkit
3.10.17-poky-edison+
hci0: hci0:	Type: BR/EDR  Bus: UART
BD Address: 98:4F:EE:02:E3:AE  ACL MTU: 1021:8  SCO MTU: 64:1
UP RUNNING
RX bytes:23856 acl:127 sco:0 events:1193 errors:0
TX bytes:18556 acl:126 sco:0 commands:1103 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'BCM43340B0 37.4 MHz WLBGA_iTR Intel Edison-0122-N'
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Version: 4.0 (0x6)  Revision: 0xa6
LMP Version: 4.0 (0x6)  Subversion: 0x410e
Manufacturer: Broadcom Corporation (15)
I had to do a fresh install of 159.devkit due to some issue I had. Furthermore I installed Node v0.12.7 in order to get Promises.
I also added @danki exec("rfkill unblick bluetooth && hciconfig hci0 reset && sleep 5 && echo 'OK'",function(err, stdin, ou){  to bleno app but have noticed that as long as rfkill unblick bluetooth is run at startup it appears to have the same result.
with these changes, bleno is running like a champ.
Thanks,
Mike

@mikaye great, thanks for the trying it out, the change has also been published to npm.

Well, I thought I had this completely resolved. Seems I'm back to square one. I'm using several androids (5.1.1 and 6.0) and randomly, an android sees the advertised device as "Classic and BLE." I've even seen one reporting as BLE and the other as both. Always works fine in iOS though. Certainly seems to be an Android issue. FYI, > npm ls bleno -><EMAIL_ADDRESS>Once I'm seeing "Classic and BLE", no connection can be made.

@mikaye please try with firmware version 146 as @danki has suggested.


[react-redux] Parameterize MapStateToProps on Redux state

Context in #1934. This PR parameterizes the MapStateToProps function on Redux state so that the first parameter to that function doesn't have to be Object. This avoids forcing library users to either any-cast the Redux state or to do runtime assertions on it.

@Ashoat The specs need to be fixed before we can merge this in.

Sorry what are the "specs"? You mean the failing tests? I don't have the bandwidth to address those right now, unfortunately. Context for why they are failing is here.
Up to you whether to merge this PR, but I'm pretty sure that the test failures are unrelated and that this change represents an improvement to the libdef.

@Ashoat can you elaborate the issue still? Why parametarization was needed? I think I've been able to specify the type for state object just fine, like Component = connect((state: {prop: number}) => state.prop). It didn't seem to affect any current tests, and I didn't see any additional test to point out the problem.

@villesau, here is a minimal repro if you'd like to play around to understand the problem more.

It didn't seem to affect any current tests, and I didn't see any additional test to point out the problem. Without test case it's very hard to understand what it potentially fixed.

I agree with this philosophy; my first thought was to figure out why the tests were passing, and what would have to be added. But when I realized the tests were broken I decided not to bother. If you can get the tests fixed up I'll gladly add a test case for this :)

@Ashoat Ok now I got it, thanks! Yeah I didn't come up with that kind of use case back when rewriting the libdefs so no wonder why I couldn't find benefits of paremeterizing it. Once I have time I could check out what could be done for test suite so that it wouldn't run unrelated tests.

I'm still not seeing what would be the benefit of writing out something like this?
function connect<S: Object, SP: Object>(
  mapStateToProps: (state: S) => SP,
) {
  return reactReduxConnect(mapStateToProps);
}

Just genuinely curious. :)

That’s just the minimal repro :)
Here is how I actually use it. Basically, I have a wrapper around connect that combines Redux state with the dispatch function to create state-dependent action creators.


Identity or token does not match when relogin

Description

Identity or token does not match when relogin.
Describe How to Reproduce

1.login bob
curl -X POST --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" -d '
{ "enrollId": "bob", "enrollSecret": "NOE63pEQbL25" }
' "http://localhost:7050/registrar"
{"OK":"Login successful for user 'bob'."}
2.logout bob
curl -X DELETE --header 'Accept: application/json' 'http://localhost:7050/registrar/bob'
{"OK":"Deleted login token and directory for user bob."}
3.relogin bob
curl -X POST --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" -d '
{ "enrollId": "bob", "enrollSecret": "NOE63pEQbL25" }
' "http://localhost:7050/registrar"
{"Error":"rpc error: code = 2 desc = "Identity or token does not match.""}
Attachments

@zuowang  - see my comment here:   https://jira.hyperledger.org/browse/FAB-2

Password  will change after your login.

@zuowang closing this as I believe that @mastersingh24 comment above should cover this. Note also that we've migrated to using Jira for issue tracking, If you need to re-open, please open an issue there and close this one. You'll need a Linux Foundation ID to login.
Thanks


website rendering a white page

Your website appears to just be render a white/empty page.

@ghostsquad Thanks so much for drawing my attention to this! Will investigate 🔍

Fixed in https://github.com/nfriend/tree-online/commit/a29c148165a38cc67c30dd31c2fc6b6cc70e226a 🙂
Thanks again for the report @ghostsquad!


[user-managerd] Add script execution on user switch, user session. Add late service. JB#55415

Added new two points of the script execution:

user pre switch is called before switching to the another user.
user session on the new user session: user boot up or after switch to the another user. That point was added via new command line arg --session because user-managerd does not catch that state.

I've removed everything that's related to the session, and keep pre-switch state. I believe there is no need to rename that state.


Make explicit that apostrophe-users config affects groups admin bar button

Looks like you opened bold (two asterisks) but didn't close it?

Thanks for catching that Tom. See 6d66f95.

One more tweak (:
Configuration apostrophe-users at project level? A-OK! Lots of reasons you might do that. Adding fields, etc.
Setting the groups option is the one and only no-no. It means "I want to provide a short list of simple groups so there's no groups UI."


Users/twinkle/in process grpc

What does this Pull Request accomplish?
Created an entry point GetSFPSessionAccessEnabled(), that needs to be called from initialize() workflow to understand if the session asked is from  SFP with Session Access enabled
Feature : https://dev.azure.com/ni/DevCentral/_workitems/edit/2325036
Design : https://nio365.sharepoint.com/:w:/r/sites/RFmx/Shared Documents/Framework/Feature Specifications/RFmx In-Process Debug Feature Spec.docx?d=we631d559421b4514bd843a187199a8bd&csf=1&web=1&e=CQgJZ5
Why should this Pull Request be merged?
This entry point will be called from SFP, as part of the Initialize workflow. Hence it is required to define in the grpc-device
What testing has been done?
Built it locally
Tested with NotImplementedException(), works fine

After you resolve the comments and the Build completes feel free to merge in. Alex (astarche) is out this week so no need to wait on his review.

Can you update the PR title to describe the changes? That PR title's usually what gets set as the commit message by default when squash-merged into main.


Crash in CIFAR10 tutorial

Description
sampler = DDIMSampler(averaged, steps=1).to(device) tries to access .schedule, which is an attribute of denoiser but not of AveragedModel.
Reproduce
Run the notebook.
Expected behavior
Should not crash
Causes and solution
averaged.schedule = VPSchedule() is a possible solution.
Environment

Azula version: 0.2.0
PyTorch version: 2.4.0+cu121
Python version: Python 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:36:13) [GCC 12.3.0] on linux
OS:

LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	RedHatEnterprise
Description:	Red Hat Enterprise Linux release 8.6 (Ootpa)
Release:	8.6
Codename:	Ootpa

Hello @OmerRochman, thank you for the reporting this bug! I thought that averaged was simply a copy of denoiser but it is actually a wrapper around a copy 😅 The copy is the attribute .module. The following should work:
sampler = DDIMSampler(averaged.module, steps=64).to(device)

Can you tell me if this fixes the issue?

Indeed, thanks!

Thanks I'll update the tutorial!


ntp: favorites drag and drop

Asana Task/Github Issue: https://app.asana.com/0/0/1208684961069939/f
Description

[x] Added drag+drop for favorites
[x] Tested on Windows during development
[ ] Will be subject to security review before deployed to production

Testing Steps

visit https://deploy-preview-1150--content-scope-scripts.netlify.app/build/pages/new-tab/
ensure you can drag and drop items
ensure you can toggle the section entirely

Checklist

Please tick all that apply:

[x] I have tested this change locally
[x] I have tested this change locally in all supported browsers
[ ] This change will be visible to users
[ ] I have added automated tests that cover this change
[ ] I have ensured the change is gated by config
[ ] This change was covered by a ship review
[ ] This change was covered by a tech design
[ ] Any dependent config has been merged

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1150  👈
#1149
main

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

Join @shakyShane and the rest of your teammates on  Graphite

@mgurgel and I reviewed this over Zoom :)


NullReferenceException in CreateOrAddVirtualEnvironment

Can't tell exactly where it is, though presumably it's after the await.
Wild guess says we're cleaning up and _interpreters is null.
First-chance exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.PythonTools.Project.PythonProjectNode.<CreateOrAddVirtualEnvironment>d__148.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Project.AddVirtualEnvironmentOperation.<Run>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Project.AddVirtualEnvironmentView.<Create>d__105.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

This affects WebProjectInstallOnNew, which apparently still passed despite the crash.


SCRUM-1522 Cascade delete of bulkloadfile to bulkloadhistory

Deletion of bulkloadfile entries fails due to FK constraint to bulkloadhistory.  Need to cascade delete to be able to clean up old FMS loads.
Restart required after initial merge to rebuild constraints following deletion by migration.

@markquintontulloch If you would have some time, maybe you can implement a flyway callback to automatically restart the curation application after every successfull migration (as describe here)? That would give hibernate the chance to rebuild anything needed after all migrations, rather than requiring us to remember to restart the application manually after every deployment (including rolling this change forward to beta & prod).


MermaidJS Rederer Support

I love that Zulip can render LaTeX blocks nicely in the browser. Is this being explored for other rendering options? Projects like GitLab and Gitea (https://github.com/go-gitea/gitea/pull/12334) have recently added support for MermaidJS (https://mermaid-js.github.io/mermaid/) that adds a markdown like syntax for drawing diagrams and would be very useful in Zulip!

https://chat.zulip.org/#narrow/stream/137-feedback/topic/Mermaid.20Js.20renderer.20support

Kroki seems like overkill for this feature . I think it makes more sense to simple implement a library that renders mermaid's markdown syntax directly. It doesn't need to use an external service.


Oled?

Hi,
This keyboard is really near from perfection for me layout wise! I like the inner keys and the 1.5 in the thumb cluster. The only missing think for me is support for at least one OLED screen so I can put which layer is active, caps lock/shift/ctrl/alt status indicator.
Is there a plan to add support for an OLED screen in the future?

Hi, I don't have any plans for OLED support right now. Thought about it a while ago but couldn't decide on a suitable location.

I understand, by looking quickly, I would say after the inner keys, but I don't know if it's compatible with the wiring as I'm totally ignorant about electronics :-/
Thanks for your answer! You can close this issue if you feel it will never be done :)


Specify City ID required or switch to ?q=$CITY

I found it unclear that the openweathermap-fullfeatured.sh and openweathermap-detailed.sh scripts need a city ID as the CITY parameter. I'd prefer to see this indicated in the README or in a comment. Alternatively, we could use q=$CITY instead of id=$CITY.

So you tried CITY="Berlin"?

Hello! First off, thank you for your great work.
When I access http://api.openweathermap.org/data/2.5/forecast?APPID=6f9b0c20232eb046ec3d0328fefefd40&id=Berlin&units=Imperial&cnt=1, I receive the following JSON response:
{"cod":"400","message":"Berlin is not a city ID"}
By changing id=$CITY to q=$CITY, I receive the correct JSON response for CITY="Berlin".

Thanks a lot!
Yes. CITY is actually misleading. I should fix that with a comment in the docs.
The City ID for Berlin is 2950159. That would be the needed ID for CITY.
You should drop your API-Token now. :wink:

Thank you! Almost forgot my API token...


Make Farkas proof available in MPSolverInterface

We would like to use a Farkas proof. This functionality is given by most of the solvers. Would be nice to have it available in MPSolverInterface.

Sorry, we have no bandwidth for this.
We welcome PR though :-)


Fresh install- EASYROMS(2) issue. When I remove sd card and put into device it does its set up then I put sd back into pc and the EASYROM folder is hidden and in Dick Genius it says its now EASYROM(2), also all 3 partitions are different formats

All 3 partitions are of different format.  Partition 1 is a fat32 partition used by the system for loading settings.  Partition 2 is a ext4 partition for the Linux system.  Partition 3 is a exfat partition where you can load and managed your roms.  I'm not sure why the 3rd partition is hidden on your end.  If you're using a Windows 10 version 1703 or newer machine, you just need to assign a drive letter to the EASYROMS partition so you can access it again.  From the instructions in the wiki:
FOR WINDOWS 10 1703 or newer USERS: If you don't see a drive letter named EASYROMS when you plug the SD card into a card reader, it's most likely that Windows did not automatically assign a drive letter to that partition on your SD card. This can be resolved by going to disk management (type disk management in the search bar in Windows 10 and select the first control panel app that comes up at the top as the best match), then going to the SD card with the EASYROMS partition label, then assign a drive letter to the EASYROMS partition by right clicking on the EASYROMS partition and selecting Assign Drive Letter or Change Driver letter and Path, then follow the directions from there. Once completed, the drive should show up under My Computer. You typically only need to ever do this once on the Windows machine.

Awesome!! It worked!! Thanks 😊
On Mon, Dec 14, 2020, 10:15 PM christianhaitian<EMAIL_ADDRESS>wrote:

All 3 partitions are of different format. Partition 1 is a fat32 partition
used by the system for loading settings. Partition 2 is a ext4 partition
for the Linux system. Partition 3 is a exfat partition where you can load
and managed your roms. I'm not sure why the 3rd partition is hidden on your
end. If you're using a Windows 10 version 1703 or newer machine, you just
need to assign a drive letter to the EASYROMS partition so you can access
it again. From the instructions in the wiki:
FOR WINDOWS 10 1703 or newer USERS: If you don't see a drive letter named
EASYROMS when you plug the SD card into a card reader, it's most likely
that Windows did not automatically assign a drive letter to that partition
on your SD card. This can be resolved by going to disk management (type
disk management in the search bar in Windows 10 and select the first
control panel app that comes up at the top as the best match), then going
to the SD card with the EASYROMS partition label, then assign a drive
letter to the EASYROMS partition by right clicking on the EASYROMS
partition and selecting Assign Drive Letter or Change Driver letter and
Path, then follow the directions from there. Once completed, the drive
should show up under My Computer. You typically only need to ever do this
once on the Windows machine.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/christianhaitian/arkos/issues/74#issuecomment-745078282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASD7M3ZWOEVNEX27SVXRM2DSU35JHANCNFSM4U3Z3YZA
.

Is there a way I can add my own cover art to games?
On Tue, Dec 15, 2020, 12:30 AM Chris Smith<EMAIL_ADDRESS>wrote:

Awesome!! It worked!! Thanks 😊
On Mon, Dec 14, 2020, 10:15 PM christianhaitian<EMAIL_ADDRESS>wrote:

All 3 partitions are of different format. Partition 1 is a fat32
partition used by the system for loading settings. Partition 2 is a ext4
partition for the Linux system. Partition 3 is a exfat partition where you
can load and managed your roms. I'm not sure why the 3rd partition is
hidden on your end. If you're using a Windows 10 version 1703 or newer
machine, you just need to assign a drive letter to the EASYROMS partition
so you can access it again. From the instructions in the wiki:
FOR WINDOWS 10 1703 or newer USERS: If you don't see a drive letter
named EASYROMS when you plug the SD card into a card reader, it's most
likely that Windows did not automatically assign a drive letter to that
partition on your SD card. This can be resolved by going to disk management
(type disk management in the search bar in Windows 10 and select the first
control panel app that comes up at the top as the best match), then going
to the SD card with the EASYROMS partition label, then assign a drive
letter to the EASYROMS partition by right clicking on the EASYROMS
partition and selecting Assign Drive Letter or Change Driver letter and
Path, then follow the directions from there. Once completed, the drive
should show up under My Computer. You typically only need to ever do this
once on the Windows machine.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/christianhaitian/arkos/issues/74#issuecomment-745078282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASD7M3ZWOEVNEX27SVXRM2DSU35JHANCNFSM4U3Z3YZA
.

The easiest way to do this is to scrape your existing collection using the builtin scraper then replace the resulting images with your own.  Closing this issue ticket as the original issue was resolved.  For additional assistance, you're encouraged to join the retrogamehandheld discord.  See the main wiki page for the link.


Add changelog note for Go extraction reconciliation

Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

Need another non-stale ✅ from @henrymercer or @aeisenberg 🙏


Add config for keyring

Adds optional config for the keyring secrets store that Granted uses to store cached AWS SSO credentials.
Example config (~/.granted/config):
DefaultBrowser = "FIREFOX"
[Keyring]
Backend="keychain"

The above config forces the keychain backend for keyring.
For any local testing of this PR, you'll need to update ~/.dgranted/config rather than the release config file.

Another suggestion here is to set keyring.Debug = true when the verbose flag is used in the cli.
This will enable internal logging messages to be shown from keyring


gRPC Volume Server BLOB read/write API

Case
The workflow described in the main README document is not out of the box achievable trough gRPC (see https://github.com/seaweedfs/seaweedfs/discussions/2297). This includes reading & writing a BLOB to a volume server, after it has been assigned trough the master. Currently, it seems like only the http api supports this trough the following:
curl -F<EMAIL_ADDRESS>http://<IP_ADDRESS>:8080/3,01637037d6

In the previously linked discussion, it seems like running the filer server or manually implementing write is the solution. I was wondering if there are any reasons why gRPC read/write is not supported, or if the project would be open for a patch adding at least read & write.
Why
The change could improve interoperability between other distributed systems also using gRPC, by not requiring them to also bundle a http client with multipart support. This would also not require bundling the filer server just for uploads, making the system lighter.
How
My thought would be to simply copy the behaviour from the volume server http handler, and instead take parameters from a protobuf object ReadRequest/WriteRequest.
Relevant code

weed/pb/volume_server.proto:10
weed/server/volume_server_handlers_write.go:18 for current implementation of the http write API.

This may be a good idea. A few points to keep in minde:

do add some tests to cover this, since it is not used in normal code path.
avoid scope creeping. Not sure how much code change it may incur.

@chrislusf great to hear. Suprised this hasn't been commented on earlier. I'm thinking a first pass would be Write/Read, but I guess in the long run more API:s could be supported trough gRPC. I will submit a patch when I have the time. Future API:s can be reported in new issues and discussed further to avoid feature creep.


407 error on DO instances

Current Behavior
When I use DO instances with my project I get a 407 error.
I do not get the same error with using IPRoyal proxies with scrapoxy.
I use curl_cffi to emulate a browser's TLS fingerprint. It works fine with IP royale
Expected Behavior
I should get a 200 response code
Steps to Reproduce

Install & Setup DO Connector
Send a request

Failure Logs
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/curl_cffi/requests/session.py", line 929, in request
    await task
curl_cffi.curl.CurlError: Failed to perform, ErrCode: 56, Reason: 'Received HTTP code 407 from proxy after CONNECT'. This may be a libcurl error, See https://curl.se/libcurl/c/libcurl-errors.html first for more details.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks
    result = context.run(
  File "/usr/local/lib/python3.10/dist-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/local/lib/python3.10/dist-packages/scrapy/core/downloader/middleware.py", line 54, in process_request
    return (yield download_func(request=request, spider=spider))
  File "/usr/local/lib/python3.10/dist-packages/twisted/internet/defer.py", line 1065, in adapt
    extracted = result.result()
  File "/usr/local/lib/python3.10/dist-packages/scrapy_impersonate/handler.py", line 44, in _download_request
    response = await self.client.request(**RequestParser(request).as_dict())  # type: ignore
  File "/usr/local/lib/python3.10/dist-packages/curl_cffi/requests/session.py", line 934, in request
    raise RequestsError(str(e), e.code, rsp) from e
curl_cffi.requests.errors.RequestsError: Failed to perform, ErrCode: 56, Reason: 'Received HTTP code 407 from proxy after CONNECT'. This may be a libcurl error, See https://curl.se/libcurl/c/libcurl-errors.html first for more details.
2024-02-07 01:42:01 [scrapy.core.engine] INFO: Closing spider (finished)

Scrapoxy Version
latest
Custom Version

[X] No
[] Yes

Deployment

[X] Docker
[ ] Docker Compose
[ ] Kubernetes
[ ] NPM
[ ] Other (Specify in Additional Information)

Operating System

[X] Linux
[ ] Windows
[ ] macOS
[ ] Other (Specify in Additional Information)

Storage

[X] File (default)
[ ] MongoDB & RabbitMQ
[ ] Other (Specify in Additional Information)

Additional Information
EDIT: I also tried without curl_cffi library. I still get the same response.
2024-02-06 23:33:43 [scrapy.core.engine] INFO: Spider opened
2024-02-06 23:33:43 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2024-02-06 23:33:43 [scrapy.extensions.telnet] INFO: Telnet console listening on <IP_ADDRESS>:6023
2024-02-06 23:33:50 [scrapy.core.engine] DEBUG: Crawled (407) <GET https://www.ah.nl/sitemaps/entities/products/detail.xml> (referer: None)
2024-02-06 23:33:50 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <407 https://www.ah.nl/sitemaps/entities/products/detail.xml>: HTTP status code is not handled or not allowed
2024-02-06 23:33:50 [scrapy.core.engine] INFO: Closing spider (finished)

Ok perfect. I will try to reproduce. Thanks

Hello @mntolia ,
I use scrapy-impersonate with Scrapoxy:
Here is the spider:
from typing import Iterable

import scrapy
from scrapy import Request

class ExampleSpider(scrapy.Spider):
    name = "example"
    allowed_domains = ["www.ah.nl"]

    def start_requests(self) -> Iterable[Request]:
        yield Request(
            url="https://www.ah.nl/sitemaps/entities/products/detail.xml",
            dont_filter=True,
            meta={
                "impersonate": "chrome110",
                "impersonate_args": {
                    "verify": False,
                },
            },
            callback=self.parse
        )

    def parse(self, response):
        pass

And settings.py:
BOT_NAME = "testscrapy"
SPIDER_MODULES = ["testscrapy.spiders"]
NEWSPIDER_MODULE = "testscrapy.spiders"
ROBOTSTXT_OBEY = False
DOWNLOADER_MIDDLEWARES = {
    'scrapoxy.ProxyDownloaderMiddleware': 100,
}
REQUEST_FINGERPRINTER_IMPLEMENTATION = "2.7"
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"
FEED_EXPORT_ENCODING = "utf-8"
SCRAPOXY_MASTER = "http://localhost:8888"
SCRAPOXY_API = "http://localhost:8890/api"
SCRAPOXY_USERNAME = "<USERNAME>"
SCRAPOXY_PASSWORD = "<PASSWORD>"
DOWNLOAD_HANDLERS = {
    "http": "scrapy_impersonate.ImpersonateDownloadHandler",
    "https": "scrapy_impersonate.ImpersonateDownloadHandler",
}

Scrapoxy has 1 droplet on Digital Ocean.
Requests correctly go through Scrapoxy (I've got 403 but it is the antibot).
Did you set "verify": False on the request?

It worked Thanks @fabienvauchelles
It was indeed the issue with me not setting verify. I appreciate you taking the time to test!

you're welcome. Thank for using Scrapoxy!


InvalidModelError: spaCy model error

python -V
Python 3.7.10

pip3 install -r requirements-dev.txt
python -m spacy download en_core_web_md en
Requirement already satisfied: en in /home/joggerjoel/.pyenv/versions/3.7.10/lib
/python3.7/site-packages (0.0.1)
Requirement already satisfied: en_core_web_md==2.2.5 from https://github.com/exp
losion/spacy-models/releases/download/en_core_web_md-2.2.5/en_core_web_md-2.2.5.
tar.gz#egg=en_core_web_md==2.2.5 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/
python3.7/site-packages (2.2.5)
Requirement already satisfied: spacy>=2.2.2 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from en_core_web_md==2.2.5) (2.2.4)
Requirement already satisfied: setuptools in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (47.1.0)
Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (4.59.0)
Requirement already satisfied: requests<3.0.0,>=2.13.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (2.25.1)
Requirement already satisfied: plac<1.2.0,>=0.9.6 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.1.3)
Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (2.0.5)
Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.5)
Requirement already satisfied: srsly<1.1.0,>=1.0.2 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.5)
Requirement already satisfied: catalogue<1.1.0,>=0.0.7 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.0)
Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (3.0.5)
Requirement already satisfied: blis<0.5.0,>=0.4.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (0.4.1)
Requirement already satisfied: numpy>=1.15.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.18.5)
Requirement already satisfied: thinc==7.4.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (7.4.0)
Requirement already satisfied: wasabi<1.1.0,>=0.4.0 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (0.8.2)
Requirement already satisfied: certifi>=2017.4.17 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (2020.12.5)
Requirement already satisfied: chardet<5,>=3.0.2 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (2.10)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (1.26.4)
Requirement already satisfied: importlib-metadata>=0.20; python_version < "3.8" in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->en_core_web_md==2.2.5) (4.0.1)
Requirement already satisfied: zipp>=0.5 in /home/joggerjoel/.pyenv/versions/3.7.10/lib/python3.7/site-packages (from importlib-metadata>=0.20; python_version < "3.8"->catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->en_core_web_md==2.2.5) (3.4.1)

✔ Download and installation successful
rasa train
2021-04-24 08:23:39 INFO     rasa.nlu.utils.spacy_utils  - Trying to load spacy model with name 'en_core_web_md'
InvalidModelError: Please confirm that en_core_web_md is an available spaCy model. You need to download one upfront. For example:
python -m spacy download en_core_web_md
More informaton can be found on https://rasa.com/docs/rasa/components#spacynlp

Thanks for raising this issue, @joejuzl will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

Hi @joggerjoel
Have you also linked the spacy model? i.e.
spacy link en_core_web_md en

Yes I issued this command as well.
spacy link en_core_web_md en
✘ Link 'en' already exists
To overwrite an existing link, use the --force flag
On Tue, Apr 27, 2021 at 7:29 AM Joe Juzl @.***> wrote:

Hi @joggerjoel https://github.com/joggerjoel
Have you also linked the spacy model? i.e.
spacy link en_core_web_md en
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RasaHQ/financial-demo/issues/117#issuecomment-827534751,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSHPUYYECUZB6PMBCHHZKTTK2NZ7ANCNFSM43QDCFAQ
.


Eliminate repetition in the construction of AnalyzerRuns

A non-function refactoring which first eliminates some obsolete constants for default values and
then makes use of AnalyzerRun.EMPY.copy() to eliminate quite a bit of repetition.
In context of #5681.

Unfortunately, there's a test failure in "AnalyzerRun without timestamps can be deserialized".

Unfortunately, there's a test failure in "AnalyzerRun without timestamps can be deserialized".

I've dropped the test. Hope the other tests pass now.

I've dropped the test. Hope the other tests pass now.

Yes, but now there are a few unused imports.


Update UG

Codecov Report

Merging #197 (4806365) into master (a8f9394) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #197   +/-   ##
=========================================
  Coverage     52.39%   52.39%
  Complexity      727      727
=========================================
  Files           141      141
  Lines          3363     3363
  Branches        463      463
=========================================
  Hits           1762     1762
  Misses         1476     1476
  Partials        125      125

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


PostgreSQL integration pipelines SOURCES fail to quote schema name, so fail on schemas with invalid characters

For a schema name with a character such as a hyphen, mage.ai isn't quoting that schema name and so the queries are failing, for PostgreSQL (and maybe other DBs) as SOURCES.
This is a reopening of bug #2903 , as the commit on that bug fixed the issue for these databases as DESTINATIONS, but not as SOURCES.
I believe the issue is on line 38 of mage-ai/mage_integrations/mage_integrations/sources/postgresql /__init__.py, where the table prefix should have backticks around the schema name. I'm not proposing a pull request as I might be wrong, and not sure what other databases this issue might affect.

ah, got it. we'll fix this issue in Postgres source.


Enable listing cart on explore items and collection pages

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[ ] Refactoring

Needs QA check

@kodadot/qa-guild please review

Context

[x] branch from #7333
[x] Closes #7355
[ ] Requires deployment <snek/rubick/worker>

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

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed UI

Copilot Summary

🤖 Generated by Copilot at 119ff1d
This pull request adds a listing cart feature that allows users to list multiple NFTs for sale or buy multiple NFTs at once. It modifies the ItemsGrid, ProfileDetail, and explore-layout components to integrate the feature, and adds new files and functions to handle the data fetching and configuration logic. It also refactors some existing code to improve performance and readability.

🤖 Generated by Copilot at 119ff1d

We are the masters of the listing cart
We can sell our NFTs with a single click
We don't need no ItemsGridImage logic
We have the power of the useItemsGrid trick

best to merge #7333 before reviewing this one
drafting it until then

Not related with this pr
That amount of zeroes after decimal, is it needed ?

pay 30 usd

😍 Perfect, I’ve sent the payout
💵 $30 @ 4.05 USD/DOT ~ 7.407 $DOT
🧗 1cAsKZYNRb8dkSCpn4eVkEn6ycNZTGoDo5dGDgB8J1UUWK8
🔗 0x74bdf3e66e60d4b175ebcb860cd5ac15c906ea6d9172c3ca71a15ac50f6f92d5
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


How to extract data on a particular lat and long?

I am able to extract the data for a particular region with the help of documentation. How do I extract for a specif location say lat 13.0 and lon 80.0?

I am also interested in a solution for this. Or at least documentation on the structure of the message value arrays.

Understand that a grib message is a 2D array of data, and the entire message needs to be decoded at once.  You can't just decode one grid point on the grid.  The best way to extract one point is to grab the entire 2d grid, then use the lat and lon arrays to determine the grid index of the point you want (or interpolate to that point).

Is there any built-in implementation for data interpolation in pygrib? e.g. something similar to the wgrib2 command:
$wgrib2 originalfile.grb2  -set_grib_type same -new_grid_winds earth -new_grid latlon -127:30:0.5 22:30:0.5 newfile.grb2
which interpolate the data to lat/lon meshgrid?
I have tried using scipy interp2d for the task, but (perhaps as I need to cover a large area), this was too heavy (compared to the wgrib command which runs in <sec).

grbs_old = pygrib.open('nomads.ncep.noaa.gov/cgi-bin/'+str(grib_filename))
data=grbs_old[6].values

The command above will print a 2d array with dimmensions 720 x 360 ( my grib file is 0.5 deg * 0.5 deg).
[[ 52.87586589  52.87586589  52.87586589 ...  52.87586589  52.87586589
52.87586589]
[ 51.75276693  51.78610026  51.81443359 ...  51.61772786  51.64939453
51.72276693]
[ 49.90931641  49.96931641  50.02431641 ...  49.70261068  49.75594401
49.81427734]
...
[-11.11582031 -11.15415365 -11.18915365 ... -11.05585938 -11.08752604
-11.08082031]
[ -8.13052734  -8.10548828  -8.12048828 ...  -8.08886068  -8.10219401
-8.11552734]
[ -4.54554687  -4.54554687  -4.54554687 ...  -4.54554687  -4.54554687
-4.54554687]]
To find specific coordinates within this 720 x 360 array i just extrapolate the coordinates to the array. Ex: If I want to find data for New York New York coordinates ~40.5N 74 W I'll map those coordinates to the array to by doing 2x(90-40.5) and 2x (180-74) to find the following result:
data[99][212]
This returns the temperature result converted to Fahrenheit of (79 degrees).

Right now I am performing the steps above, but my extrapolation is not correct.
To fix this problem I need to know how grib files are formatted in relation to latitude and longitude. Are they formatted top to bottom or bottom to top?
Ex if I am looking for coordinates 40.5N and 75 W do I find the corresponding grib file by doing 2x(90-40.5) North coordinate and 2x(180-74) West Coordinate to find
data[99][212] Or do I something else like 2x(180-40.5) North and 2x(360-74) west?


CIT textures not loading properly

I have a pack custom-made where it transforms papers into letters for my wordle game, and it hasn't transformed any of the letters.  I have no idea how to debug anything.
Log
Pack
Mods

Solved, just renamed part in files...


Latency issues on tracet

[x] Log integration test times on github somewhere
[ ] Record webapp logs somewhere with logs for each step to get some transparency into what is delaying processing

racet scheduled the following MWA_VCS observations:
Event Details are:
TraceT proposal:      MWA_VCS_GRB_swif
Detected by: SWIFT
Event Type:  GRB
Duration:    12.16
RA:          6:34:22.584 hours
Dec:         49:50:24.36 deg
Error Rad:   0.05 deg
Event observed (UTC): None
Set time (UTC):       2023-01-16 21:06:00.508045
Decision log:
2023-01-16 21:06:00.480131: Event ID 337357: Beginning event analysis.
2023-01-16 21:06:00.481585: Event ID 337357: SWIFT rate significance > 0.000 sigma.
2023-01-16 21:06:00.481603: Event ID 337357: Event duration between 0.0 and 10000.0 s so triggering.
2023-01-16 21:06:00.503437: Event ID 337357: Not triggering due to horizon limit: alt_beg -20.1842 < 10.0000 and alt_end -22.4989 < 10.0000.

The GRB Fermi+Swift handler did NOT trigger an MWA observation for a
Fermi/Swift GRB. Log messages are:
2023-01-16 21:05:46.874=(1357938364): Event created
2023-01-16 21:05:46.876=(1357938364): New VOEvent added
2023-01-16 21:05:46.878=(1357938364): Probably a long GRB: t=12.16 > 2
2023-01-16 21:05:46.881=(1357938364): Position added
2023-01-16 21:05:46.883=(1357938364): RA 98.5941, Dec 49.8401, err 0.05
2023-01-16 21:05:46.885=(1357938364): Reducing request time to 15 for VCS observation
2023-01-16 21:05:47.499=(1357938365): Current schedule empty
2023-01-16 21:05:47.502=(1357938365): First trigger sent
2023-01-16 21:05:47.535=(1357938365): Triggered observation at an elevation of -20.1508437299
2023-01-16 21:05:47.537=(1357938365): not triggering due to horizon limit: alt -20.1508437299 < 30

updating logging to try and get insight into what is happening. Have not had a delay since this issue was raised so happy to close for now.


Please publish to open-vsx for open source distributions of VS Code.

This extension is not available for VS Code that ships with various open source Linux distributions.

To make it available, you can publish to https://open-vsx.org, which is a place that host VS Code extensions that open source distributions connect their versions of VS Code to (in OSS distros, the name VS Code can't be used, so they change it. F.e. in Manjaro Linux the VS Code app is called "Code - OSS").
Here's the result for "assemblyscript" on open-vsx:
https://open-vsx.org/?search=assemblyscript&category=&sortBy=relevance&sortOrder=desc
That explains why I don't see it in my "Code - OSS" app. I just found out about open-vsx. Thought there was a bug.

@trusktr the extension is now on open-vsx https://open-vsx.org/extension/saulecabrera/asls


[feat]: Add overflow-auto and max-h-screen styles to popover

Feature description
Sometimes when the screen height is too small, it's better to have PopoverContent with max-h-screen and overflow-auto so the UI will be usable. Notice: this can be handled inside PopoverContent child component in the userland, but I think it's better to have this safety feature here.
Affected component/components
Popover
Additional Context
Related to https://github.com/shadcn-ui/ui/pull/478
Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues and PRs

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Use upstreamed utilities

See https://github.com/Liqwid-Labs/liqwid-plutarch-extra/pull/5

I'll merge this after https://github.com/Liqwid-Labs/liqwid-plutarch-extra/pull/5 gets merged.


tf.saturate_cast errors for tf.complex type tensor

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
2.10.0
Custom Code
No
OS Platform and Distribution
Ubuntu 20.04.5 LTS
Mobile device
No response
Python version
3.8.10
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
From code below, the tf.saturate_cast need to check dtype's min
https://github.com/tensorflow/tensorflow/blob/v2.1.0/tensorflow/python/ops/math_ops.py#L713-L743

However, from code below, min is not support for complex64 or complex128
https://github.com/tensorflow/tensorboard/blob/master/tensorboard/compat/tensorflow_stub/dtypes.py#L188-L194

The documentation for tf.saturate_cast said it support any tensor or dtype desired. Therefore, either code or documentation need to be changed
https://github.com/tensorflow/tensorflow/blob/v2.1.0/tensorflow/python/ops/math_ops.py#L716-L729

Standalone code to reproduce the issue
Code like:

import tensorflow as tf
arg_0_tensor = tf.complex(tf.random.uniform([2, 1], dtype=tf.float32),tf.random.uniform([2, 1], dtype=tf.float32))
arg_0_tensor = tf.saturate_cast(arg_0_tensor,dtype=tf.float32)

Relevant log output
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/dtypes.py", line 110, in min
    raise TypeError(f"Cannot find minimum value of {self} with "
TypeError: Cannot find minimum value of <dtype: 'complex64'> with type <dtype: 'complex64'>.

Yes. That is the same issue

Thanks for reporting the issue, I have updated the document with the above PR to show the list of supported dtypes in the args.

We don't have comparisons for complex types, so there is no real "minimum" or "maximum" value at which to saturate.
What is your intention here?

The saturate_cast function will use  minimum value which not implemented in complex type as you said, but in the documentation of saturate_cast, it did not said we cannot use complex dtype. Thats why I suggest change the documentation for saturate_cast.

The documentation doesn't list any types at all.  That doesn't mean it supports all types.  I'm wondering why this is important.  Did you actually intend to use saturate_cast on a complex type? and if so, what is your desired outcome?
We don't typically list all the types an op supports unless we have good reason.

Yes,  I am actually doing saturate_cast on the complex type and got an error saying that min value is not supported and when I try to search documentation online, there is little info regarding this function. So I do think it is important to explain more in saturate_cast args otherwise someone else may get an unexpected error from math_ops.py and take time to debug.
Apart from user side, I am also doing testing with tensorflow api, I found it very hard to collect some type information of inputs for tensorflow library. If there is more documentation available, it will be more helpful to find bugs and doing testing.
Thanks for your consideration!

and if so, what is your desired outcome?

In the documentation, it said This function casts the input to dtype without applying any scaling.
I want to cast a complex type to float type.

it said This function casts the input to dtype without applying any scaling.

So does tf.cast.  The difference is that if the input doesn't fit within the range of the output, it clips the values into a finite range instead of converting to inf.

I want to cast a complex type to float type.

Casting from complex to real will produce a warning.  If you want the real component, you should use tf.math.real.  You can saturate-cast on that if you like, for example if trying to cast from tf.complex128 to tf.float32, you would do:
y = tf.saturate_cast(tf.math.real(x), dtype=tf.float32)

I totally get your point, but why this could not be added in the documentation?  If not adding in documentation, where could we found those information?

"Cast" has as very specific meaning.  Is the confusion in documentation about what the purpose of "cast" is?  Is the confusion how to extract the real component of a complex tensor?  That's why I'm trying to understand what the use-case is.
Simply listing "cannot be used for complex types" wouldn't help you accomplish what you're trying to do.

The tf.cast documentation does not have any confusion here: https://www.tensorflow.org/api_docs/python/tf/cast
It mentioned everything I need and I am wondering why there is no link to cast from saturate_cast or any explanation like that?:
The operation supports data types (for x and dtype) of uint8, uint16, uint32, uint64, int8, int16, int32, int64, float16, float32, float64, complex64, complex128, bfloat16. In case of casting from complex types (complex64, complex128) to real types, only the real part of x is returned. In case of casting from real types to complex types (complex64, complex128), the imaginary part of the returned value is set to 0. The handling of complex types here matches the behavior of numpy.
Note casting nan and inf values to integral types has undefined behavior.

Again, I don't think listing input types solves the issue.  The problem with doing something like that is that saturate_cast is just a composite op that calls other ops, including tf.maximum and tf.cast.  If we ever modify the valid input types for tf.maximum or tf.cast, it would implicitly modify the valid input types to tf.saturate_cast.  They would all need to be kept synced.
We could add a link to the tf.cast documentation for further details.
And perhaps it should work for complex inputs.  Complex to real should do what I described above (although again, would produce a warning just as tf.cast does).  Complex to complex should probably saturate-cast the real and imaginary components separately.

I agree with you if you guys could add link of tf. Cast and if could add some instruction of how to use complex type as you said


Logs in a ./logs folder, to download more, also volume logs

solved https://github.com/grebtsew/dcDeployControl/commit/8ccd617a18a4ebd8d3f87380787b939acbf487e4


Skeleton.devs Docs Search allow for the container holding the options to be tabbed on in FireFox

Current Behavior
When tabbing through the items from the search on the docs site, the first thing you tab onto it the container that holds all the searchable options, this doesn't server any purpose.
Expected Behavior
When tabbing off the search you'd want to tab onto the first element in the list.
Steps To Reproduce

Open Firefox
Go to https://www.skeleton.dev/
hit Ctrl + K
hit tab
Your tab focus should now be on the container holding the searchable elements

Link to Reproduction / Stackblitz
No response
More Information
This is fixable by setting the tabindex to -1 on the container to make it avoid tabs, this shouldn't concern accessability since it does not serve any purpose

Note:

This only happens when the container is scrollable (there are more items than we can display)
when focusing on the container, a mouse click on the input will not shift the focus there. however a shift + tab will focus on the input.
The same behavior occurs in Autocomplete.

Note:
1. This only happens when the container is scrollable (there are more items than we can display)

2. The same behavior occurs in `Autocomplete`.

Oh Interesting, I though this only occured on the DocsSearch because I was convinced it was a custom implementation, should I apply the same fix to the Autocomplete Component?

I really don't know... better ask @endigo9740 in these situations 😄.

@Hugos68 also to clarify - the search and autocomplete are two separate components. They may act in a similar manner, but they are not the same thing. I might recommend we update the title to reflect this, and consider logging this as two separate issues.

@Hugos68 also to clarify - the doc search and autocomplete are two separate components. They may act in a similar manner, but they are not the same thing. I might recommend we update the title to reflect this, and consider logging this as two separate issues.

Will do, it actually first was only an issue targeted at the doc search but @Mahmoud-zino said it also affected the Autcomplete component, I should have probably tested it first but I took his word. I will change it back to only targeting the doc search

@Hugos68
sorry for the confusion 😄, I mentioned that:

The same behavior occurs in Autocomplete.

which is still true, but could be caused by another bug in the code of the Autocomplete and we need to handle that also. 👍

@Hugos68
sorry for the confusion 😄, I mentioned that:

The same behavior occurs in Autocomplete.

which is still true, but could be caused by another bug in the code of the Autocomplete and we need to handle that also. 👍

Yeah I agree it works on the autocompletes but for autocompletes it should be handled by the developer implementing the surrounding container

I have spent some more time investigating this and here is what I have found:
Both problems (Autocomplete and DocSearch) are indeed related, let me explain:
The problem is that overflow- CSS class behaves differently in Firefox, it sets the tabIndex to 0 by default to support keyboard-only-users.
quoting mdn docs:

A scrolling content area cannot be scrolled by a keyboard-only user, with the exception of users on Firefox (which makes the container keyboard focusable by default).

So this bug is not related to the focus-trap and we can solve it by adding tabindex="-1" to every div that has overflow.
@endigo9740 as the CSS wizard, maybe you have a better solution for this... 😄
and it would be noice if we add a note in the docs somewhere to explain this behavior and how we would fix it.

@Mahmoud-zino great work, and of course it's due to typical browser BS heh. I can't really imagine a better solution than the tabindex option provided here. I'd say for components we control we set that for users, and for areas that we don't (wrapping elements provided by users) we at least give a small warning.
I'm thinking something like:

Browser Support
In Firefox, when wrapping the autocomplete component in an element that has an overflow, make sure to set tabindex="-1". This will ensure tab navigation works as expected.

Something along those lines.
@Hugos68 it sounds like your changes to the focus-trap may not be needed in this case? How would you like to handle the PR? Should we go ahead and close that out for now.
@Hugos68 @Mahmoud-zino - I'd welcome a PR with the above changes. I'd say the first to respond can take it so we're not doubling up on effort here.

@Mahmoud-zino great work, and of course it's due to typical browser vendor BS heh. I can't really imagine a better solution than the tabindex option provided here. I'd say for components we control we set that for users, and for areas that we don't (wrapping elements provided by users) we at least give a small warning.
I'm thinking something like:

Browser Support
In Firefox, when wrapping the autocomplete component in an element that has an overflow, make sure to set tabindex="-1". This will ensure tab navigation works as expected.

Something along those lines.
@Hugos68 it sounds like your changes to the focus-trap may not be needed in this case? How would you like to handle the PR? Should we go ahead and close that out for now?
@Hugos68 @Mahmoud-zino - I'd welcome a PR with the above changes. I'd say the first to respond can take it so we're not doubling up on effort here.
I'd encourage all three of us test this when ready though.

I think you are confusing 2 seperate problems here Chris, as I stated above I already knew this was fixable with tabindex="-1" the focus easy related to trap focus is unrelated to this one.

@Hugos68 that's right, you mentioned some of the changes were related to performance optimization strategies for monitoring changes to the children. In that case let's split off the tabindex issue to it's own dedicated. Give you're handling that update in the current PR @Hugos68 do you mind if @Mahmoud-zino takes the other?

Thanks @Mahmoud-zino, I'm going to modify Hugos PR to implement the suggestions above. That should be in shortly. Per discussion on Discord - I think there's still relevance to review the focus trap changes he's submitted as well, so I'll review that in isolation soon. Mahmoud, I would appreciate you reviewing those changes as well - give you're familiar with the feature from your recent additions. But no pressure.

Yeah sure 👍


does it supprt .net core project.

.net core project has not assemblyinfo
i have create this file manaully.  but also not work

sorry,old-style .net core project with project.json not supported.It is recommended that upgrade to VS2017 project.


cPanel DNS SSL plugin give errors

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
No
Are you sure you're not using someone else's docker image?
Yes
Have you searched for similar issues (both open and closed)?
Yes

Describe the bug
If the module is enabled its give this error in the docker log

app_1  | [12/20/2022] [10:09:08 PM] [SSL      ] › ✖  error     Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --preferred-challenges "dns,http" --disable-hook-validation
app_1  | An unexpected error occurred:
app_1  | AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
app_1  |
app_1  |     at ChildProcess.exithandler (node:child_process:402:12)
app_1  |     at ChildProcess.emit (node:events:513:28)
app_1  |     at maybeClose (node:internal/child_process:1100:16)
app_1  |     at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
app_1  | QueryBuilder#allowEager method is deprecated. You should use allowGraph instead. allowEager method will be removed in 3.0
app_1  | QueryBuilder#eager method is deprecated. You should use the withGraphFetched method instead. eager method will be removed in 3.0
app_1  | QueryBuilder#omit is deprecated. This method will be removed in version 3.0
app_1  | Model#$omit is deprected and will be removed in 3.0.

Nginx Proxy Manager Version
v2.9.19
To Reproduce
Steps to reproduce the behavior:

Go to SSL cert and add
Type domain.com and *.domain.com
Select DNS challenge
Select cPanel and set all settings

Error in NPM

Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-2" --agree-tos --email<EMAIL_ADDRESS>--domains "*.domain.com,domain.com" --authenticator cpanel --cpanel-credentials "/etc/letsencrypt/credentials/credentials-2"
An unexpected error occurred:
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-ok7p235n/log or re-run Certbot with -v for more details.
at ChildProcess.exithandler (node:child_process:402:12)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1100:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)

Operating System
Ubuntu X86

Its look like the problem its newer create /etc/letsencrypt/credentials/credentials-2

https://github.com/NginxProxyManager/docker-nginx-full/pull/10