ESP32 STA deauth frame causing reconnect issues  (IDFGH-6544)

Environment

Development Kit:   Custom
Kit version NA
Module or chip used:  ESP32-WROOM-32D

I am not yet up and running with an IDF example, as this was discovered downstream in arduino.
I finally had time to look into this long time issue and am trying to identify/resolve the 2-3 issues this is encompassing.
https://github.com/espressif/arduino-esp32/issues/2501
Problem Description
The Frame in question
This change was made sometime in late 3.x SDK I think. I am assuming this is maybe from a CVE patch , but I cannot find the exact documentation for this, maybe someone can tip me off, most of the dos/injections are against enterprise WPA2, not WPA2 PSK shrug.. I am not wifi expert.
I am hoping PMF/WPA3 solves this.. I have not been able to confirm that yet.
The immediate issue is that this causes some APs to (within a timeout period of last assoc, so device resets mostly!) respond to these sta deauths with a deauth reasoncode 2 or some other bizarro responses, i have seen 4way fails etc.

The router response
This is my unifi nanohd ap sending a deauth back
Nov 20 22:24:01 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: stahtd: stahtd[2269]: [STA-TRACKER].stahtd_dump_event(): {"message_type":"STA_ASSOC_TRACKER","assoc_delta":"0","wpa_auth_failures":"1","mac":"7c:df:a1:00:77:ec","vap":"ra0","event_type":"failure","assoc_status":"0","event_id":"12","auth_delta":"0","auth_ts":"2360096.826707"}

Nov 20 22:49:10 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: hostapd: ra0: STA 7c:df:a1:00:77:ec IEEE 802.11: disassociated
Nov 20 22:49:10 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: kernel: ra0: AUTH - receive DE-AUTH(seq-3796) from 7c:df:a1:00:77:ec, reason=3
Nov 20 22:49:10 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: kernel: ra0: (MlmeDeAuthAction)Send DEAUTH frame with ReasonCode(2) to 7c:df:a1:00:77:ec
Nov 20 22:49:10 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: : wevent[2268]: wevent.ubnt_custom_event(): EVENT_STA_LEAVE ra0: 7c:df:a1:00:77:ec / 9
Nov 20 22:49:10 nanohd f492bf7f354a,UAP-nanoHD-5.60.9+12980: hostapd: ra0: STA 7c:df:a1:00:77:ec IEEE 802.11: disassociated

[  1479][V][WiFiGeneric.cpp:96] set_esp_interface_ip(): Configuring Station static IP: <IP_ADDRESS>, MASK: <IP_ADDRESS>, GW: <IP_ADDRESS>
[WIFI] Connecting to wifi... [20000 ms]

.....................E (7394) wifi:Association refused temporarily, comeback time 1048 mSec
.....................[  5611][V][WiFiGeneric.cpp:289] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: f4:92:bf:7f:35:4b, Reason: 203
[  5612][D][WiFiGeneric.cpp:831] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[  5619][W][WiFiGeneric.cpp:852] _eventCallback(): Reason: 203 - ASSOC_FAIL

Now there are 2 things going on here.

Why is this behavior happening? De-auth protection mechanism on both sides maybe? Can we turn it off, should it be turned off for some 80211 protos? or something ? Is it a security mechanism and thats it, we are stuck with it?

1.b Even with a workaround and reconnect, we are looking at connection times of 8-16 seconds over 1.6s in previous SDKs. Making bssid, and channel caching an absolute requirement now and YET STILL having double the connect times of 3-5s. Battery power devices be damned.. lol

Missing Event reason/codes to properly identify these in arduino and defer a reconnect to handle this independently from autoreconnect maybe? As of now this usually fails with no useful reason other than auth fail which is confusing. Again still looking at 8s reconnects.

refs#
https://github.com/espressif/arduino-esp32/issues/2501#issuecomment-977947879

If you want to test this on arduino, be sure to turn off autoreconnect or you will be fighting 2 things as there is a async state issue in there.  WiFi.setAutoReconnect(false);

Hi @tablatronix , can we have the complete capture to understand the issue better?

First assoc succeeds, second fails
esp32_deauthissue_reset.pcapng.zip

Reason code 2 means: Previous authentication no longer valid, no communication between the devices for long? There should be a QoS NULL keep alive frame sent from ESP32 every 5s, do you see the frames.

Sure let me check those and see if I am not capturing,
this is a reboot not sleep.
this is a popular issue in arduino , 3 years old hundreds of comments.

Acks are there

qos and acks are in capture..
esp32_deauthissue_doublereset.pcapng.zip

@tablatronix From the capture,We can see that the sta is getting deauthed  because there is a shift in beacon time.I see that there is multiple BSSID and couple of beacons have not been transmitted by the AP after STA comes out of power save.since there is a time shift now the STA will not be able to see the consecutive beacons and eventually will scan again and go for reconnect. scan starts from pkt 24709.Once there is probe-response from AP,STA will send deauth and associate again as expected pkt(26849).
But AP is has not cleared the STA from it's list yet. Hence the ap sends deauth  when sta sends authentication and does not reply to assoc req from STA.

Beacon interval in 1024 ms,but we see a 2053 ms difference.To confirm if this is causing the issue,Can you disable the power save on esp32 and check, Also if you have captures during other instance of disconnect ,can you pls share them. we can verify if this is the case every time.

What other instance of disconnect are you interested in? Not sure I understand, this is every time device is reset, well every other time, as the ap goes back and forth with the sta state tracking toggle like. I will capture a bunch of stuff and make a new test so you can see it better.

I wrote some new tests and found something that agrees with a timing issue, This only occurs on hardware resets, not soft resets.

Well here is me hardware reseting every 10 seconds, its clear that every second boot fails with auth fail. Hope it helps figure something out..
every_other_hardware_reset.pcapng.zip

Here is a capture from
ESP-IDF version: v3.2.3-14-gd3e56290
connect succeeds on every boot ( fast too 1.3s! )
Auth issue not present.
every_other_hardware_reset_3_2_3.pcapng.zip
and the ino

#include <rom/rtc.h>
#include <WiFi.h>
#include <esp_wifi.h>
#include <ESPmDNS.h>

long start = 0;
uint16_t reboot = 10000;

void setup(){
	delay(1000);
	Serial.begin(115200);
	Serial.setDebugOutput(true);
	Serial.println("Starting...");

    // size_t freeHeap = heap_caps_get_free_size(MALLOC_CAP_8BIT);
    // DEBUGGER("Free heap:       ", freeHeap);
    Serial.println("ESP-IDF version: " + (String) esp_get_idf_version());

    // WiFi.mode(WIFI_STA);

	// WiFi.printDiag(Serial);

    // btStop();
    WiFi.setSleep(false);
	WiFi.setAutoReconnect(false);
	WiFi.begin("leela","Turdtr0n");
	uint8_t res = WiFi.waitForConnectResult();
	Serial.println(res);
	Serial.println(WiFi.status());
	Serial.println((String)(WiFi.status()== WL_CONNECTED)? "CONNECTED" : "NOT CONECTED");
	Serial.println((String)millis());
	start = millis();
}

void loop(){
	if(millis()-start > reboot){
	// ESP.restart(); // doesn't work, issue only present on hardware reboots.
	}
	Serial.print(".");
	delay(100);
}

Hi @tablatronix , what is the latest build on which you are seeing the issue?
From both the captures we were able to figure out the issue,
The issue is that sta sends deauth to AP before starting a fresh connection.(This behavior was introduced lately as a fix for an another issue).
so the sequence is as follows.
1.Sta sends Deauth to AP before Auth
2.AP Acks the Deauth
3.Sta starts the Auth Process.
4.AP takes time to process the deauth hence is sending the Deauth in between the Auth process. (This issue we are not seen on other Ap's)
5.So Sta is not replying to the further packets from AP.
On the build on which issue is not seen,Deauth is not sent before assoc and hence there is no issue in re connection.
If you can point the build on which the issue is observed,we can port the fix on that build.
Also can you mention the AP model which you are using?

Yup, pretty much what I was seeing hence the title, just wasn't sure how it was causing failures.
I am using a UNIFI Nano HD AP, there are some others in the arduino thread that might have more types.
I will have to do more testing to see what versions, but its been around a while, I have not tested staging yet though

DevBoard: ESP32 OLED WIFI Kit 32 0.96 Inch Blue OLED

I believe I'm having the same issue. I'm using ESP-IDF directly and I'm synced to 5968bf6b0c6ca5965a7bf09a43274f42a0346c49.
I can see the wifi trying to connect and getting a deauth several times. The connection time went from 2s to 10-20-40s.
Please find attached the filtered pcap file.
The device is remote so I can only get the logs later tomorrow but the symptoms are similar to these logs over and over:
I (23440) wifi:state: init -> auth (b0)
I (23480) wifi:state: auth -> assoc (0)
I (23520) wifi:state: assoc -> run (10)
I (26630) wifi:state: run -> init (fc0)
I (26630) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1
I (26630) wifi:new:<2,0>, old:<2,0>, ap:<255,255>, sta:<2,0>, prof:1

I have a mesh network:

Nest Wifi Router is at 7c:d9:5c:9a:7a:e0 on channel 11
Nest Wifi Point is at 7c:d9:5c:9a:7a:e6 on channel 1

My wifi code is here:
https://github.com/csobrinho/hydroponics/blob/master/main/network/wifi.c
Sometimes a hard reboot fixes the issue but the device loses wifi later on.
Thanks for the help.

@csobrinho looks like a different issue, you seem to be getting deuths during and after EAPOL which is strange, seems like an unstable connection or a ton of packet loss, whereas this issue occurs every single time with the exact same timing at the same stage of negotiation before assoc.

Portion of the logs:
I (10209) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (10209) nwifi: Disconnected from Sobrinho, bssid: c6:f5:47:19:5c:64, reason: 2
I (12279) nwifi: Disconnected from Sobrinho, bssid: 00:00:00:00:00:00, reason: 205
I (14329) wifi:new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1
I (14339) wifi:state: init -> auth (b0)
I (14339) wifi:state: auth -> assoc (0)
I (14349) wifi:state: assoc -> run (10)
I (17359) wifi:state: run -> init (fc0)
I (17369) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (17369) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (17379) wifi:new:<1,0>, old:<11,0>, ap:<255,255>, sta:<1,0>, prof:1
I (17379) wifi:state: init -> auth (b0)
I (17419) wifi:state: auth -> assoc (0)
I (17419) wifi:state: assoc -> run (10)
I (21429) wifi:state: run -> init (2c0)
I (21429) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (21429) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (21439) nwifi: Disconnected from Sobrinho, bssid: c6:f5:47:19:5c:64, reason: 2
I (23499) nwifi: Disconnected from Sobrinho, bssid: 00:00:00:00:00:00, reason: 205
I (25559) wifi:new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1
I (25559) wifi:state: init -> auth (b0)
I (25569) wifi:state: auth -> assoc (0)
I (25579) wifi:state: assoc -> run (10)
I (28589) wifi:state: run -> init (fc0)
I (28589) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (28589) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (28599) wifi:new:<1,0>, old:<11,0>, ap:<255,255>, sta:<1,0>, prof:1
I (28609) wifi:state: init -> auth (b0)
I (28669) wifi:state: auth -> assoc (0)
I (28669) wifi:state: assoc -> run (10)
I (28719) wifi:connected with Sobrinho, aid = 1, channel 1, BW20, bssid = c6:f5:47:19:5c:64
I (28719) wifi:security: WPA2-PSK, phy: bgn, rssi: -68
I (28779) wifi:pm start, type: 0
I (28779) wifi:AP's beacon interval = 102400 us, DTIM period = 2
I (31799) wifi:state: run -> init (2c0)
I (31799) wifi:pm stop, total sleep time: 0 us / 3014037 us
I (31799) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (31799) nwifi: Disconnected from Sobrinho, bssid: c6:f5:47:19:5c:64, reason: 2
I (33869) wifi:new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1
I (33869) wifi:state: init -> auth (b0)
I (33879) wifi:state: auth -> assoc (0)
I (33889) wifi:state: assoc -> run (10)
I (35929) wifi:connected with Sobrinho, aid = 4, channel 11, BW20, bssid = 7c:d9:5c:9a:7a:e6
I (35929) wifi:security: WPA2-PSK, phy: bgn, rssi: -67
I (35939) wifi:pm start, type: 0
I (35979) wifi:AP's beacon interval = 102400 us, DTIM period = 2
W (36139) wifi:<ba-add>idx:0 (ifx:0, 7c:d9:5c:9a:7a:e6), tid:0, ssn:0, winSize:64
W (219339) wifi:<ba-add>idx:1 (ifx:0, 7c:d9:5c:9a:7a:e6), tid:6, ssn:4, winSize:64
W (219369) wifi:<ba-del>idx
W (219379) wifi:<ba-add>idx:1 (ifx:0, 7c:d9:5c:9a:7a:e6), tid:6, ssn:5, winSize:64
I (220309) esp_netif_handlers: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>

I (21439) nwifi: Disconnected from Sobrinho, bssid: c6:f5:47:19:5c:64, reason: 2
I (23499) nwifi: Disconnected from Sobrinho, bssid: 00:00:00:00:00:00, reason: 205
Reasons Are AUTH EXPIRE and WIFI_REASON_CONNECTION_FAIL, more than likely unrelated, have you tried a different router, also your rssi is pretty bad

Hi tablatronix, thanks for the help. Yes, I'm using the esp_wifi_set_ps(WIFI_PS_NONE). I already moved the Nest wifi Point closer to the device but I'm still getting -68 for one and -65 for the other. I think the device is trying to connect to both APs on the mesh network and keeps getting bounced around.

I (21439) nwifi: Disconnected from Sobrinho, bssid: c6:f5:47:19:5c:64, reason: 2 I (23499) nwifi: Disconnected from Sobrinho, bssid: 00:00:00:00:00:00, reason: 205
Reasons Are AUTH EXPIRE and WIFI_REASON_CONNECTION_FAIL, more than likely unrelated,

@csobrinho
Please create a new issue.

I will have to do more testing to see what versions, but its been around a while, I have not tested staging yet though I think the first capture was on ESP-IDF version: v3.3.5-1-g85c43024c But I assume its sometime after 3.1 maybe? Ill see if I can get pio to cooperate and narrow down with some version tagging

Since it's reproducable, you can use "git bisect" to find the first bad commit.

I can but my env is not setup to , it will take a while, its easier for someone that knows the idf to know when this was introduced and why.
Platformio uses its own repo for esp32 releases, and using upstream doesn't always build

Hi @tablatronix Can you pls try this patch.
These files needs to be replaced in the following location.
$IDF_HOME/components/esp32/lib
clean the already existing build and rebuild again.
idf.py fullclean
idf.py build
Also pls take the sniffer capture during association using this patch.
patch_for_reconnect_issue.zip
.

Sure thing

If I am using PIO can I do a normal clean and compile?
Also what version of IDF do I need to patch from ?

nm, that didnt work, ill just install the IDF cli and do it there..,

hmm, not seeing any change.. how can I be sure it rebuilt those?
I (626) wifi:wifi firmware version: 4ea405b
I (626) wifi:wifi certification version: v7.0
I (626) wifi:config NVS flash: enabled
I (626) wifi:config nano formating: disabled
I (626) wifi:Init data frame dynamic rx buffer num: 32
I (636) wifi:Init management frame dynamic rx buffer num: 32
I (636) wifi:Init management short buffer num: 32
I (646) wifi:Init dynamic tx buffer num: 32
I (646) wifi:Init static rx buffer size: 1600
I (646) wifi:Init static rx buffer num: 10
I (656) wifi:Init dynamic rx buffer num: 32
I (656) wifi_init: rx ba win: 6
I (666) wifi_init: tcpip mbox: 32
I (666) wifi_init: udp mbox: 6
I (666) wifi_init: tcp mbox: 6
I (676) wifi_init: tcp tx win: 5744
I (676) wifi_init: tcp rx win: 5744
I (686) wifi_init: tcp mss: 1440
I (686) wifi_init: WiFi IRAM OP enabled
I (686) wifi_init: WiFi RX IRAM OP enabled
I (696) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (806) wifi:mode : sta (ac:67:b2:df:85:7c)
I (806) wifi:enable tsf
I (806) wifi station: wifi_init_sta finished.
I (816) wifi:new:<3,0>, old:<1,0>, ap:<255,255>, sta:<3,0>, prof:1
I (816) wifi:state: init -> auth (b0)
I (826) wifi:state: auth -> assoc (0)
E (836) wifi:Association refused temporarily, comeback time 1048 mSec
I (1886) wifi:state: assoc -> assoc (0)
I (2886) wifi:state: assoc -> init (200)
I (2886) wifi:new:<3,0>, old:<3,0>, ap:<255,255>, sta:<3,0>, prof:1
I (2886) wifi station: connect to the AP fail
I (2886) wifi station: Failed to connect to SSID:leela, password:Turdtr0n

DId you mean
esp-idf/components/esp_wifi/lib/esp32/ ?
also same errors, in cli IDF
.text.esp_wifi_deinit+0x70): multiple definition of `esp_wifi_deinit'; e

output.txt.zip

@tablatronix I am assuming that you are using "ESP-IDF version: v3.3" ,  So pls use this path.
patch_for_reconnect_issue_3.3.zip
once the idf v3.3 is cloned,replace the files in the following location "esp-idf/components/esp32/lib" with the patch attached and build.
Yes, clean and build is same even if you use PIO.

shawn@Mac-mini station % idf.py --version
ESP-IDF v5.0-dev-1536-g2522277dfe-dirty

Well I tried that first set against #v4.4 and it still throws those errors.
I ll try this 3.3. one next, or else I am doing something wrong

Tried v3.3
Still failing, different make errors

@nishanth-radja
i am on OSX M1, so 3.x toolchain is a nightmare to get working on this arch, So i give up.
If you can give me a patch for 4.4 and the proper IDF tag or commit to pull, OR better, submodule branch/commit with the patch ??

@tablatronix working with the Dev team on this.Will get back to you soon.

Hi @tablatronix , pls clone the idf 4.4 , "release/v4.4" and checkout to tag "730ca0ea43 ".
replace the files in this location "/home/esppool/idf/4.4/esp-idf/components/esp_wifi/lib/esp32" with the attached files.
now you will be able to build.
Pls take the sniffer capture with the patch.
patch_for_reconnect_issue_4.4_esp32.zip

Thanks, well that builds just fine now. I do not see any change in result or in packets.
Ill try to grab some to be sure, not sure how to check that the patch is really in there, but it built fine after a fullclean after replacing files

not sure how to check that the patch is really in there, but it built fine after a fullclean after replacing files so I am assuming it did

With v4.4 branch(v4.4-172-g730ca0ea43) + patch_for_reconnect_issue_4.4_esp32.zip,
you should observe "-dirty" in wifi firmware version.
I (1094) wifi:wifi firmware version: 7679c42-dirty
Withn a clean v4.4 branch tree:
I (1093) wifi:wifi firmware version: 7679c42

@tablatronix can you pls share the sniffer capture, we can verify from the capture if the patch is applied.

I (27) boot: ESP-IDF v4.4-172-g730ca0ea43-dirty 2nd stage bootloader
I (27) boot: compile time 22:50:44
I (27) boot: chip revision: 1
I (31) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (38) boot.esp32: SPI Speed      : 40MHz
I (43) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 2MB
I (52) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (61) boot: ## Label            Usage          Type ST Offset

Ah ok, good
ESP-IDF v4.4-172-g730ca0ea43-dirty.pcapng.zip

@tablatronix Thanks for the capture, We are working on a better solution for the problem,Will get back to you ASAP.

@tablatronix pls use the attached patch and try to associate.Also pls take the sniffer capture.
patch_for_reconnect_issue_4.4_esp32_20ms.zip
The fix is that there will be a  ~20ms delay between Deauth and Auth sent from the client so that the AP has enf time to process the deauth and will not send the deauth in between association.There is a delay of 18ms in the ref capture which I have tried in my setup.

Note: pls do a idf.py full clean and then build again.so that the patch gets applied.
pls share the sniffer capture with this patch.

No success

ESP-IDF v4.4-172-g730ca0ea43-dirty_PATCH3.pcapng.zip

@nishanth-radja
I'm wondering if https://github.com/espressif/esp32-wifi-lib/commit/5a4e7d21a14522f8b584832ec6b89626b7916b50 is related to this or not?
What was fixed by https://github.com/espressif/esp32-wifi-lib/commit/5a4e7d21a14522f8b584832ec6b89626b7916b50 from user's point of view.

Hi @tablatronix,Thanks for the capture and the initial issue of AP not responding to Assoc req is solved.
Capture before patch -

From the above capture ,we see that the AP sends deauth after auth and does not respond to assoc req.
after the patch ,

we see that the AP responds with the Assoc resp ,with a come back time of 1 sec.This is expected as PMF is enabled and the STA info is not cleared from the AP. But AP is not sending any SA query packets.
And the pkt 16407 is an Ack to the STA but the pkt before is not captured.Which could be the Assoc resp. To confirm this can you take the sniffer capture again.
Also can you disable the PMF on the STA and see if it can connect.Once the PMF is disabled AP will accept the connection the second time without delay.

Hi @tablatronix,Thanks for the capture and the initial issue of AP not responding to Assoc req is solved.
Capture before patch -

From the above capture ,we see that the AP sends deauth after auth and does not respond to assoc req.
after the patch ,

we see that the AP responds with the Assoc resp ,with a come back time of 1 sec.This is expected as PMF is enabled and the STA info is not cleared from the AP. But AP is not sending any SA query packets.
And the pkt 16407 is an Ack to the STA but the pkt before is not captured.Which could be the Assoc resp. To confirm this can you take the sniffer capture again.
Also can you disable the PMF on the STA and see if it can connect.Once the PMF is disabled AP will accept the connection the second time without delay.

AHHH yes, sorry, I had it off in my test, but not in the IDF example I am now using for these..
I will test again

Also can you disable the PMF on the STA and see if it can connect.Once the PMF is disabled AP will accept the connection the second time without delay.

@nishanth-radja
I though below setting on STA should always work.
.pmf_cfg = {
.capable = true,
.required = false
}
Did I misunderstndd something?

It depends on the AP setting, both AP and STA have disabled, capable, required.
Here is the matrix
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-guides/wifi-security.html#api-usage

It works with STA PMF off
ESP-IDF v4.4-172-g730ca0ea43-dirty_PATCH3_pmfcapableFALSE.pcapng.zip
Only issue I can think of is that the IDF says that PMF cannot be disabled on the S2. So I am assuming that this WILL work with PMF on and PMF required on ap, and wpa3 ?
I can test all these things this week.
Test PMF
* [ ]  AP required / STA Optional

* [ ]  AP disabled / STA Optional

* [ ]  AP WP3

yes,Pls test it with PMF setting on and pls take the sniffer capture while testing them.

@tablatronix yes,Pls test with PMF setting on and pls provide the sniffer capture for the same.

@tablatronix
Do you have update for the tests in https://github.com/espressif/esp-idf/issues/8192#issuecomment-1045605653 ?

@AxelLin Yes,with that PMF setting It is supposed to work with all the AP's.We need more captures with the PMF enabled scenario on why it failed to connect with PMF enabled.

@nishanth-radja
I'm wondering if https://github.com/espressif/esp32-wifi-lib/commit/81768e63548385be79e7b35828832a53faba4393 is related to this issue or not? Could you explain a bit about the commit log? Does it fix any known issue? If yes, what was the issue?

Sorry I have not had a chance to do more testing will try soon

@tablatronix Any update?

Sorry I have not had a chance to do more testing will try soon

@tablatronix
Any update?
The PMF is always enabled now, so if it failed there must be some bug needs fix.

@nishanth-radja Is this patched in 4.4.1?
Is this this issue?
Fixed Assoc comeback causing invalid state bug and cleanup in some FTM failure cases
If so can you tag this issue# in release

@tablatronix No ,That is not the patch for the above mentioned issue.

hi @nishanth-radja
Could you share the commit of this fix? (Since this is marked as resolution done).
I'd like to check if the fix is in v4.3 and v4.4 or not.

master: ce1ab731be47fa2d509739b2ce7f0244ce836950
v4.4: 53c186af263ac76fb0a45e6f63037c43a86c3736
v4.3: 53c186af263ac76fb0a45e6f63037c43a86c3736

Anyone notice this fixed? I have not been working much on esp32 lately, I will do some testing, but I have not noticed this issue as much or seen increased or slow connection tries

Anyone notice this fixed? I have not been working much on esp32 lately, I will do some testing, but I have not noticed this issue as much or seen increased or slow connection tries

I haven't noticed it with the latest ESP32 frameworks, thankfully. Keeping my fingers crossed that it stays fixed!


Fixing Pornhub Extractor. PR for Issue #12007

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Explanation of your pull request in arbitrary form goes here. Please make sure the description explains the purpose and effect of your pull request and is worded well enough to be understood. Provide as much context and examples as possible.

Pull requests should be at least working for you. Before that you can paste patches or links to your fork on the relevant issue.


[sanity] Separate out dedicated Partners page under Resources

Rather than having our partners tucked awkwardly under the community links, we should have a dedicated partner page where we can showcase our partners and link to their sites
This is a low priority issue but should be pretty straightforward

https://www.figma.com/file/hMz6ecbna21CqADRrc5Zmm?node-id=1:12#253404803

no longer needed with new website


Print or echo not outputting anything

Just going through 3.0, and in 2.5 we had a method printDebug which let us print debug things as needed.
I tried to reimplement a similar mechanism (actually, just a debug context that needs to output things), but doing echo does not output anything.
Instead of echoing, should I inject some sort of outputter ? Where can I find it then ?
thanks.

OK I think I found why : the RuntimeCallHandler has a bufferization (ob_start at line 128), so basically we have to do somehting like this :
<?php

/// .... in the context
$buffer = ob_get_clean();

echo "...";
//...

ob_start();
echo $buffer;

And then the output is correctly altered. But I think this is really hackish, so unless anyone has a solution...

print should work just fine.
FeatureContext:
public static function printDebug($string) {
  print "$string\n";
}

Example output:
┌─ @BeforeSuite # FeatureContext::setupSuite()
│
│  Testing
│
│

print or echo is the same, and it doesn't work because of the output bufferization. So you basically have to clean the buffer, do your echos (or print or printf, ... outputting things), and then reopen it with the old buffer.

@Taluu why don't you just echo? echo is the new printDebug, you don't need to implement anything.

It wasn't actually outputing anything, that's why. But maybe I did something wrong when I tried (before I opted for the solution of clearing the buffer and restore it afterwards, which works as expected)

@Taluu which formatter do you use?

The progress formatter

short formatters do not output debug information. Switch to pretty and you'll see the output properly.

Fair enough.

Btw, is there anyway to detect the formatter in a AfterScenario event ? Or even change that (i'm using that on a scenario that has a @debug tag or if the scenario fails and I have a debug mode activated)


Button UI test cases

Description
Created new UI Automated test cases for the Button widget.
Type of change

New feature (non-breaking change which adds functionality)

Automated following UI test cases:

for button regarding the property pane:
Button Style Validation
Button Copy and paste
Button Delete
Create api, and then call it upon clicking the button widget.
Create query, and then call it upon clicking the button widget.
All above using JS

Checklist:

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

@arslanhaiderbuttar There is a conflict in your branch, please resolve

@arslanhaiderbuttar also one more thing , we don't commit cypress.json file if there isnt anything specific to add. Please remove it

I have updated the QueryEditor.json file. Missing values are added.


what historical data acceptable?

is only daily historical data acceptable?
can we use hourly (30 min, 5 min, etc.)  historical data?
I want to draw the (sma rsi etc) chart based on hourly data.

Hello @wenny0501,
Since this is related to your other Issue #309, I will be closing this.
Kind Regards,
KJ


[quickfast] Add new port

https://github.com/objectcomputing/quickfast

Could you briefly explain why the patch is necessary.

Line 10:
It is necessary for building as static library.
Line #34:
In Boost v1.67+ class io_service is replaced with 'io_context'.
This is simple fix for the issue
Line #22:
Related to previous. Class AsioService is thin wrapper for io_context. So it needs the same API method get_executor().


Remove volumes when agent containers are terminated by default, or allow users to configure this behaviour

GoCD Server Version: 22.3.0
Environment: DigitalOcean Droplet, Docker 20.10.21 on Ubuntu 22.04
Plugin Version: 3.2.2-329
Currently when agent containers are terminated, their associated volumes are left dangling (thus using GoCD's clean_workspace flag is of no help since new jobs run on new agents). These volumes quickly accumulate and take up all the space on our VMs after not-too-many pipeline runs. (We are using DinD agents, hence anonymous volumes are created for every agent container)
This plugin should either

Expose configuration for the user to tell it to always remove volumes on container termination
Or simply always remove volumes by default, since it feels like that would be the desired behaviour for an ephemeral agent in most cases.

The underlying spotify DockerClient does expose parameters you can pass into the removeContainer function, to specify that volumes should be removed as well, something like this:
https://github.com/spotify/docker-client/blob/9a7c3b4994be9a55988f821f7177029201ff6aef/src/test/java/com/spotify/docker/it/PushPullIT.java#L137
I believe to accomplish 2. all we need to change is this line: https://github.com/gocd-contrib/docker-elastic-agents-plugin/blob/c96272180605a7c1ad0ffe5978f943594cf11f96/src/main/java/cd/go/contrib/elasticagents/docker/DockerContainer.java#L87
I will work on a PR for 2. first, and maybe think of how to do 1. when I have more time.

If these volumes are indeed related to the lifecycle of the elastic agent, then that makes sense to me.
However I am wondering whether the volumes left behind are actually related to the "child" containers that you are starting inside the elastic agent if you are using dind, especially if using docker-compose? I guess if that is the case, then changing the plugin code wouldn't have any effect, but if it "works" then I guess it is associated with the actual elastic agent container.
I have seen similar issues with volumes for folks heavily using docker-compose in other VM environments without docker rm --volumes or docker compose down --volumes but haven't thought about it much in a raw docker dind environment (as opposed to kubernetes which I understand to clean up after pods, including such anonymous volumes whether created by the agent or "child" containers)

Ahh, perhaps what you are experiencing regarding the dind images is that the image itself declares an anonymous volume at /var/lib/docker from the Docker-provided dind base image -> https://hub.docker.com/layers/gocd/gocd-agent-docker-dind/v23.1.0/images/sha256-02929c56963c8968d51184dec3496cc9758dc7d6fce8ec80cea2d6fb2d531686?context=explore
Got it - you are probably right that these are orphaned in a docker elastic agent scenario, which doesn't seem ideal. I guess other volumes might workaround with a cronned docker volume prune or docker system prune periodically but would be good to fix.

Yup, I have confirmed that the issue lies with the type of agent and not whatever jobs the agent is running. I was initially suspecting that the dangling volumes might have been created from database containers we were running in the DinD agents but those volumes are created regardless of what kind of job the agents run, and if you view their contents you can see that they store docker-related data used by the DinD agent. Non-DinD agents on the otherhand (I just tested one of the base alpine images) don't create these anonymous volumes.
Agree that 1. is unnecessary.

FWIW VOLUME instructions in images like this are seen as a bit contentious for reasons like this (hidden implicit anon volumes), they are kind of hidden and it's better to guide users as to use of named volumes or bind mounts etc. I wasn't aware the dind base image had one.
i guess it's intended as a hint that if you want your build cache and child containers to retain over time and survive container recreation you need to mount something there to override the anon volume while potentially allowing the container filesystem to be otherwise readonly, but does have this side effect which isn't obvious.

Thanks! 🙏 - give https://github.com/gocd-contrib/docker-elastic-agents-plugin/releases/tag/v3.2.3-344 a go :-)


[HELP] How to invert the process after alignment?

How do I Invert the alignment after performing edits on the chipped (aligned) images?
From the code the process looks like this:
faces = dlib.full_object_detections()
for detection in dets:
    faces.append(sp(img, detection))
images = dlib.get_face_chips(img, faces, size=320)

Any API call to get the transform, save it in a variable, then revert the alignment? Or a direct call with the chipped image and the cropped image as parameters to get the transform, or a call to embed and render the edited chipped image back on the original uncropped image?

There is tooling in dlib to do that.  It's not exposed to python though.  E.g. dlib::get_mapping_to_chip()

There is tooling in dlib to do that. It's not exposed to python though. E.g. dlib::get_mapping_to_chip()

How do I make a wrapper for that method in Python?

The python bindings are over in the tools/python/src folder and use pybind11.


There are summaries that summarize too many ops, indicating we are not summarizing often enough

Initial attempt to adjust the Summary Configuration options now that we do not rely on the Service to provide them:
a) MaxOps (from 1000 - 100 ops)
b) MaxAckWaitTime (from 10 mins down to 2 mins).
@vladsud  - I'm not sure if changing idleTime right now, together with MaxOps is the right thing to do - should we wait for more data ? Currently, idleTime is 15 secs.
@agarwal-navin FYI.

We need to put note into breaking.md and tell the world that

we are changing settings (and say what is changed and how it will impact summarization)
Ask each scenario to re-evaluate what is required for that scenario, and if our defaults are not good, provide their own (and describe a way to do so).

This is important, as most likely these settings will not work well for WB - their summaries are pretty heavy.
We should reach out to WB and Skyler's team to heads up.
Please also consider if we want to do https://github.com/microsoft/FluidFramework/issues/9990 first. I was looking around and discovered a lot of duplication there that sort made sense when we had it provided by service, but now it's one thing. I'd probably keep ISummaryConfiguration and move all summary related settings into ISummaryConfiguration.

b) MaxAckWaitTime (from 10 mins down to 2 mins).
I'd rather open an issue to look into it. I see 1200 SummaryAckWaitTimeout events in telemetry over last 30 days. These are bugs. It's very hard to say without looking deeper into it if these bugs would be mitigated by lower timeout.
Please note this is not super-urgent (based on counts), but worth having an issue not to forget about it.

I'm not sure if changing idleTime right now, together with MaxOps is the right thing to do - should we wait for more data ? Currently, idleTime is 15 secs.

I've opened https://github.com/microsoft/FluidFramework/issues/10008 with my thoughts on this.
Short story - I think idleTime knob should go away, and it should be calculated property based on unsummarized ops and maxOps, where maxIdle reaches zero when we have maxOps unsummarized ops, and reaches high numbers if we have few unsummarized ops.


Extensions + lights

The function SerializeGltfModel() will serialize extensions added to Model.extensions, but immediately after, it will serialize the lights and overwrite all extensions when adding "KHR_lights_punctual".
My local fix works, but I'm sure it is not the way it should be done.

Actually, it seems that it was planned, but there is a small typo
There is a "!" in front of FindMember() which shouldn't be there.
    {
      json_const_iterator it;
      if(!FindMember(o, "extensions", it))
      {
        JsonAssign(ext_j, GetValue(it));
      }
    }

Oops!
https://github.com/syoyo/tinygltf/blob/3dad303bea479effc8034d5486df0f7288ac6183/tiny_gltf.h#L7312
We want to add "KHR_lights_punctual" to "model.extensions" list, so we need to rewrite a serialization logic a bit(probably we are better to move  SerializeExtensionMap(model->extensions, o); line after the serialization of LIGHTS.

My local fix works

Could you post minimal reproducible .glTF file so that I can add it to regression test scenes?

Thanks again. I hope the file in the attachment will help.
-mkl
On Wed, May 13, 2020 at 2:35 PM Syoyo Fujita<EMAIL_ADDRESS>wrote:

Oops!
https://github.com/syoyo/tinygltf/blob/3dad303bea479effc8034d5486df0f7288ac6183/tiny_gltf.h#L7312
We want to add "KHR_lights_punctual" to "model.extensions" list, so we
need to rewrite a serialization logic a bit(probably we are better to move SerializeExtensionMap(model->extensions,
o); line after the serialization of LIGHTS.
My local fix works
Could you post minimal reproducible .glTF file so that I can add it to
regression test scenes?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/syoyo/tinygltf/issues/261#issuecomment-627952827, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJCP6A6UKUJBQLWPQDD2UELRRKH2HANCNFSM4M67LATA
.

@mklefrancois Where is the attachment?

It is a .7z, maybe the email system has revived it? It there another email
address I can send it to?
-mkl
On Thu, May 14, 2020 at 6:36 AM Syoyo Fujita<EMAIL_ADDRESS>wrote:

@mklefrancois https://github.com/mklefrancois Where is the attachment?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/syoyo/tinygltf/issues/261#issuecomment-628381147, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AJCP6A5GE6TBSQUN2PLC33TRRNYNJANCNFSM4M67LATA
.

@mklefrancois Please post(attach) files to github issue.

extension_test.zip
Sorry, 7-zip is not a supported format. Here is a test which is using two extensions.


Establish test coverage

Description
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

Change Status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Merge several tests. Deprecate Google-sign-in. Deprecate mobile-registration for security, overall coherence, and new verification on Web App.


feat: add option to broadcast rpc psbt

Try out this version of the Hiro Wallet - download extension builds.

This PR adds a param to the signPsbt rpc request so an app can optionally have us finalize and broadcast the transaction.
*Not sure if the param name is great? broadcast? Doesn't seem to suggest a boolean?
Also, I took the time here to add a PsbtSignerContext to remove some of the prop passing and refactored the folder nesting a bit.

@kyranjamie if you are arnd before the wkend, can you review the changes asked for here?


Are you able to reproduce this? I can not.
(Note that sharing via the extension doesn't work in Dev; sharing within the app like that should work, though.)
Trying with the Dev edition:

And the regular edition:

The one you shared appears correct now:


ChannelzRegistry::InternalUnregister invoked after deallocation with gevent

Original issue: https://github.com/grpc/grpc/issues/20299
Temporary fix: https://github.com/grpc/grpc/pull/20399
There is certain ref-counting or deallocation scheduling issue happening here, which causing the InternalUnregister to be invoked after the global ChannelzRegistry is deallocated. This tracks the investigation over that behavior.
@markdroth @veblush

The normal call order is

ChannelzRegistry::InternalUnregister
grpc_shutdown_blocking
ChannelzRegistry::InternalUnregister <- Happen in another thread
ChannelzRegistry::Shutdown <-Deleted the lock

But with gevent IO manager, the order becomes:

ChannelzRegistry::InternalUnregister
grpc_shutdown_blocking
ChannelzRegistry::Shutdown <-Deleted the lock
ChannelzRegistry::InternalUnregister <- Abort

It seems the first InternalUnregister destroys kTopLevelChannel, the second InternalUnregister destroys kSubchannel which happen after the ChannelzRegistry::Shutdown and triggered the SIGSEGV.
(py27_native) lidiz@ddev:i20299$ GRPC_VERBOSITY=debug python a.py
I1030 12:20:07.289461803     958 channelz_registry.cc:47]    ChannelzRegistry::Init
D1030 12:20:07.289762339     958 dns_resolver.cc:314]        Using native dns resolver
I1030 12:20:07.289818403     958 channelz_registry.cc:60]    ChannelzRegistry::InternalRegister <IP_ADDRESS>:12345 0
D1030 12:20:07.290084417     958 dns_resolver.cc:261]        Start resolving.
hello
ChannelConnectivity.IDLE
ChannelConnectivity.CONNECTING
I1030 12:20:07.294495747     958 channelz_registry.cc:60]    ChannelzRegistry::InternalRegister ipv4:<IP_ADDRESS>:12345 2
I1030 12:20:07.294776921     958 subchannel.cc:1001]         Connect failed: {"created":"@1572463207.294767917","description":"connect failed: [Errno 111] Connection refused","file":"./src/core/lib/iomgr/python_util.h","file_line":33,"grpc_status":14}
D1030 12:20:07.294789207     958 dns_resolver.cc:239]        In cooldown from last resolution (from 5 ms ago). Will resolve again in 29995 ms
I1030 12:20:07.294800788     958 subchannel.cc:940]          Subchannel 0x5617bf245d50: Retry in 1000 milliseconds
ChannelConnectivity.TRANSIENT_FAILURE
before client.close() 1
I1030 12:20:07.497124999     958 channelz_registry.cc:67]    ChannelzRegistry::InternalUnregister <IP_ADDRESS>:12345 0
I1030 12:20:07.497321763     958 channelz_registry.cc:51]    ChannelzRegistry::Shutdown
after client.close() 1
hello
before client.close() 2
after client.close() 2
hello
before client.close() 3
after client.close() 3
hello
before client.close() 4
after client.close() 4
hello
before client.close() 5
after client.close() 5
hello
before client.close() 6
after client.close() 6
hello
before client.close() 7
after client.close() 7
hello
before client.close() 8
after client.close() 8
hello
I1030 12:20:08.295455653     958 channelz_registry.cc:67]    ChannelzRegistry::InternalUnregister ipv4:<IP_ADDRESS>:12345 2
E1030 12:20:08.295493646     958 sync_posix.cc:65]           assertion failed: pthread_mutex_lock(mu) == 0
Aborted

The difference in the shutdown procedure might due to the ExecCtx, I'm not sure about the rationale of having two threads competing the deallocation work, but this might fall into the recent effort from @yashykt to improve closure scheduling.
void grpc_shutdown_internal_locked(void) {
  int i;
  {
    grpc_core::ExecCtx exec_ctx(0);
    grpc_iomgr_shutdown_background_closure();
    {
      grpc_timer_manager_set_threading(false);  // shutdown timer_manager thread
      grpc_core::Executor::ShutdownAll();
      for (i = g_number_of_plugins; i >= 0; i--) {
        if (g_all_of_the_plugins[i].destroy != nullptr) {
          g_all_of_the_plugins[i].destroy();
        }
      }
    }
    grpc_iomgr_shutdown();
    gpr_timers_global_destroy();
    grpc_tracer_shutdown();
    grpc_mdctx_global_shutdown();
    grpc_core::HandshakerRegistry::Shutdown();
    grpc_slice_intern_shutdown();
    grpc_core::channelz::ChannelzRegistry::Shutdown();
    grpc_stats_shutdown();
    grpc_core::Fork::GlobalShutdown();
  }
  grpc_core::ExecCtx::GlobalShutdown();
  grpc_core::ApplicationCallbackExecCtx::GlobalShutdown();
  g_shutting_down = false;
  gpr_cv_broadcast(g_shutting_down_cv);
  // Absolute last action will be to delete static metadata context.
  grpc_destroy_static_metadata_ctx();
}

It is fixed by Make sure Core aware of gevent Cython objects #20891


Update go to 1.17

Going to give the bot one more chance.

https://github.com/prometheus/golang-builder/pull/149 fixed it.


fix: Patch accordion dropshadow

Component updates

pfe-accordion

Related issues

(#1287) Drop-shadow introduced on accordion heading

Preview
Link(s) to demo page(s) where this element can be viewed:

Link

What has changed and why
Summarize files edited as part of this MR along with a brief description of what was changed/why.

A commented line included the styles from the previous line due to a prettier clean-up done incorrectly

Testing instructions
Be sure to include detailed instructions on how your update can be tested by another developer.

Open the demo page for pfe-accordion
Click to open the first accordion heading
There should be no drop shadow below the heading section

Ready-for-merge Checklist
Check off items as they are completed.  Feel free to delete items if they are not applicable.

[x] Expected files: all files in this pull request are related to one request or issue (no stragglers or scope-creep).
[x] Repository compiles and tests pass.
[x] Changelog updated.

Merging
Please squash when merging and ensure your commit message uses conventional commit formatting.
Be sure to share your updates with the<EMAIL_ADDRESS>mailing list!

This has already been fixed in another branch now.

This has already been fixed in another branch now.


poetry can't find git on Windows

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: Windows 10
Poetry version: 0.12.11
pyproject.toml:

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

[tool.poetry]
name = "wsl-wrappers"
description = "Wrappers for calling WSL commands from Windows."
version = "0.1.0"
authors = ["Nathan Hunt<EMAIL_ADDRESS>license = "MIT"
readme = "README.md"
repository = "https://github.com/neighthan/wsl-wrappers"
include = ["pyproject.toml"]

[tool.poetry.scripts]
pdf2svg = "wsl_wrappers:scripts_api.pdf2svg"
pdflatex = "wsl_wrappers:scripts_api.pdflatex"

[tool.poetry.dependencies]
python = "^3.7"
toml = "^0.10.0"

[tool.poetry.dev-dependencies]
pytest = "^3.0"
twine = "^1.13"
invoke = {git = "https://github.com/neighthan/invoke.git"}
pytest-datafiles = "^2.0"
pre-commit = "^1.14"
pytest-cov = "^2.6"

Issue
I just added a new dependency to my pyproject.toml which should be installed from GitHub (see invoke in the list above). Now my installing is failing:
>poetry install -vvv
Using virtualenv: C:\Users\neigh\AppData\Local\pypoetry\Cache\virtualenvs\wsl-wrappers-py3.7
Installing dependencies from lock file

[FileNotFoundError]
[WinError 2] The system cannot find the file specified

Exception trace:
 C:\Users\neigh\.poetry\lib\poetry\_vendor\py3.7\cleo\application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 C:\Users\neigh\.poetry\lib\poetry\console\application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 C:\Users\neigh\.poetry\lib\poetry\_vendor\py3.7\cleo\application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 C:\Users\neigh\.poetry\lib\poetry\console\commands\command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 C:\Users\neigh\.poetry\lib\poetry\_vendor\py3.7\cleo\commands\base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 C:\Users\neigh\.poetry\lib\poetry\_vendor\py3.7\cleo\commands\command.py in execute() at line 107
   return self.handle()
 C:\Users\neigh\.poetry\lib\poetry\console\commands\install.py in handle() at line 57
   return_code = installer.run()
 C:\Users\neigh\.poetry\lib\poetry\installation\installer.py in run() at line 76
   self._do_install(local_repo)
 C:\Users\neigh\.poetry\lib\poetry\installation\installer.py in _do_install() at line 216
   ops = solver.solve(use_latest=whitelist)
 C:\Users\neigh\.poetry\lib\poetry\puzzle\solver.py in solve() at line 38
   packages, depths = self._solve(use_latest=use_latest)
 C:\Users\neigh\.poetry\lib\poetry\puzzle\solver.py in _solve() at line 171
   self._package, self._provider, locked=locked, use_latest=use_latest
 C:\Users\neigh\.poetry\lib\poetry\mixology\__init__.py in resolve_version() at line 7
   return solver.solve()
 C:\Users\neigh\.poetry\lib\poetry\mixology\version_solver.py in solve() at line 79
   next = self._choose_package_version()
 C:\Users\neigh\.poetry\lib\poetry\mixology\version_solver.py in _choose_package_version() at line 354
   packages = self._provider.search_for(dependency)
 C:\Users\neigh\.poetry\lib\poetry\puzzle\provider.py in search_for() at line 132
   packages = self.search_for_vcs(dependency)
 C:\Users\neigh\.poetry\lib\poetry\puzzle\provider.py in search_for_vcs() at line 172
   git = Git()
 C:\Users\neigh\.poetry\lib\poetry\vcs\git.py in __init__() at line 37
   self._config = GitConfig(requires_git_presence=True)
 C:\Users\neigh\.poetry\lib\poetry\vcs\git.py in __init__() at line 16
   ["git", "config", "-l"], stderr=subprocess.STDOUT
 C:\Users\neigh\Anaconda3\lib\subprocess.py in check_output() at line 395
   **kwargs).stdout
 C:\Users\neigh\Anaconda3\lib\subprocess.py in run() at line 472
   with Popen(*popenargs, **kwargs) as process:
 C:\Users\neigh\Anaconda3\lib\subprocess.py in __init__() at line 775
   restore_signals, start_new_session)
 C:\Users\neigh\Anaconda3\lib\subprocess.py in _execute_child() at line 1178
   startupinfo)

install [--no-dev] [--dry-run] [-E|--extras EXTRAS] [--develop DEVELOP]

If I comment out the invoke line, installation succeeds, but I do get RuntimeWarning: git executable could not be found which must be the source of the install error.
However, just after that I can run on the command line:
>git --version
git version 2.19.1

Where is poetry looking for git? My git "installation" is, admittedly, somewhat odd, but since I can use it from the command line, why can't poetry find it?

Hm, it seems like this error might come from pip, though poetry could have given some more information about it. Here's what happens with pip:
>pip install git+https://github.com/neighthan/invoke
Collecting git+https://github.com/neighthan/invoke
  Cloning https://github.com/neighthan/invoke to c:\users\neigh\appdata\local\temp\pip-req-build-jqe0wi2b
  Error [WinError 2] The system cannot find the file specified while executing command git clone -q https://github.com/neighthan/invoke C:\Users\neigh\AppData\Local\Temp\pip-req-build-jqe0wi2b
Cannot find command 'git' - do you have 'git' installed and in your PATH?

I'll leave this open because a better error message would at least be nice (e.g. passing through the whole message from pip not just Error [WinError 2]), but I think the real issue is upstream of poetry.

My git "installation" is, admittedly, somewhat odd

You're going to have to explain that. As a random example of why this could happen, you could have git actually be an alias or a function that's generated on shell startup, in which case subprocess can't actually find it because git.exe is not on your PATH.
Can you run where.exe git?

My git is actually git.cmd as a wrapper for the git I have in Windows Subsystem for Linux:
>where git
C:\Users\neigh\Dropbox (MIT)\github\wsl-wrappers\wsl_wrappers\_scripts\git.cmd

I raised this issue in the pip repository (pypa/pip#6289), and it seems that it's because batch files (.bat or .cmd) are not treated the same way as .exe files in Windows and, in particular, can't be used by, e.g., subprocess.run unless you set shell = True. I fixed the problem by creating a simple .exe file which just calls my .cmd file (using shimmy). I'll close this now, since a workaround is present here; I still think the error on poetry's side could be more descriptive, but this issue should come up if searching for it now.


Add strong name to QueryBuilder

We ran into an issue due to using strong named assemblies, and the QueryBuilder assembly does not appear to be strong-named:
CSC : warning CS8002: Referenced assembly 'QueryBuilder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have a strong name.

We found the workaround referenced in issue #158 but that seems sort of....hacky and kind of defeats the purpose of assemblies strong naming themselves.
Is there there any plan to update this project with a strong name?  Thanks,

Have no clear idea how to do this, I appreciate if you can provide more info, or submit a PR


Added two IntelliJ specific settings to scala gitignore

.idea/ - Project settings are stored with each specific project as a set of xml files under the .idea folder. Source
*.iml - IML is a module file created by IntelliJ IDEA, an IDE used to develop Java applications. It stores information about a development module, which may be a Java, Plugin, Android, or Maven component; saves the module paths, dependencies, and other settings. Source

Thanks but see Global/JetBrains.gitignore for this.


Twitching Items

When you jump from high distance and you pause the game as soon you fall on ground, the item in your hand think had too the item will start twitching getting faster and faster

That has nothing to do with this mod. Either a vanilla bug or Not Enough Animations smoothing having issues with the game being paused.

Thx


[Ngrok] Allow Label to be Associated with Cloud Edge for Tunnel Group

Extension
https://www.raycast.com/ubinatus/ngrok
Description
Currently the value of the user input to the Label field in the Add Tunnel interface appears to be sent to Ngrok's Start Tunnel API endpoint as a metadata property.
Per the docs, the  metadata property is

an arbitrary user-defined metadata that will appear in the ngrok service API when listing tunnel sessions

Alternately, the value in the Label field can be sent to the API endpoint as a labels property.
Per the docs, the labels property is

A list of labels (name=value) that can be used to identify a tunnel to an ngrok Edge (specifically a tunnel group backend)

By implementing this, the user can input edge={edge_hts_id} as their label and the tunnel will be created on a secure edge associated with their personal endpoint, of which they can add modules, security restrictions, load balancing, etc.
Who will benefit from this feature?
No response
Anything else?
Thanks!

Hey @csaper ! Thank you for your feedback 🙏. I believe the "label" was added as metadata solely for display purposes in the extension. The original intent was not to create a Labeled Tunnel Configuration but rather just to add a "tag".
However, this might be confusing for ngrok users who are meant to use a "label" for ngrok Cloud Edges purposes.
We'll be addressing this issue later this week (busy with work). I feel that there should be a clear distinction between "tags" and "labels". I'll keep you updated on the progress. Thank you again for your input.


isdir to give false when http url does not exist

@tdhopper I think this was the fix you were after. Here is the s3 counterpart: https://github.com/dask/s3fs/pull/522 (already released).

Thank you!


Synthesis failed for nodejs-security-center

Hello! Autosynth couldn't regenerate nodejs-security-center. :broken_heart:
Please investigate and fix this issue within 5 business days.  While it remains broken,
this library cannot be updated with changes to the nodejs-security-center API, and the library grows
stale.
See https://github.com/googleapis/synthtool/blob/master/autosynth/TroubleShooting.md
for trouble shooting tips.
Here's the output from running synth.py:
 > Running: git log -1 --pretty=%at 14111b3ce3334271d8a7a2bc6c108cfccca9943e
2021-04-17 01:36:13,530 autosynth [DEBUG] > Running: git log -1 --pretty=%at 043cc620d6a6111816d9e09f2a97208565fde958
2021-04-17 01:36:13,532 autosynth [DEBUG] > Running: git log -1 --pretty=%at 1657dd8c79a82b3fe9dde3ff6e0eda3d47fb117f
2021-04-17 01:36:13,535 autosynth [DEBUG] > Running: git log -1 --pretty=%at 898b38a6f4fab89a76dfb152480bb034a781331b
2021-04-17 01:36:13,537 autosynth [DEBUG] > Running: git log -1 --pretty=%at 6e8322421485d0937cb4758db812d8fbca0bbedd
2021-04-17 01:36:13,540 autosynth [DEBUG] > Running: git log -1 --pretty=%at b33b0e2056a85fc2264b294f2cf47dcd45e95186
2021-04-17 01:36:13,543 autosynth [DEBUG] > Running: git log -1 --pretty=%at c6706ee5d693e9ae5967614170732646590d8374
2021-04-17 01:36:13,546 autosynth [DEBUG] > Running: git log -1 --pretty=%at ff6b759fcb58f216f62b48d5be0bb85fafbc3bb2
2021-04-17 01:36:13,549 autosynth [DEBUG] > Running: git checkout 8be515a99f331448df2a92909b9050477cdd1c69
Note: checking out '8be515a99f331448df2a92909b9050477cdd1c69'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 8be515a chore(deps): update dependency @types/sinon to v10 (#365)
2021-04-17 01:36:13,589 autosynth [DEBUG] > Running: git checkout ff6b759fcb58f216f62b48d5be0bb85fafbc3bb2
Note: checking out 'ff6b759fcb58f216f62b48d5be0bb85fafbc3bb2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at ff6b759 chore: Fix python owlbot post processor image cloudbuild.yaml (#1054)
2021-04-17 01:36:13,596 autosynth [DEBUG] > Running: git checkout a8cd11e2c420a194348839c6490a8a1bef2835d3
Note: checking out 'a8cd11e2c420a194348839c6490a8a1bef2835d3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at a8cd11e2 feat: publish serviceusage/v1beta1 API
2021-04-17 01:36:13,641 autosynth [DEBUG] > Running: git branch -f autosynth-267
2021-04-17 01:36:13,645 autosynth [DEBUG] > Running: git checkout autosynth-267
Switched to branch 'autosynth-267'
2021-04-17 01:36:13,650 autosynth [INFO] > Running synthtool
2021-04-17 01:36:13,650 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2021-04-17 01:36:13,650 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/nodejs-security-center/267/sponge_log.log
2021-04-17 01:36:13,651 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2021-04-17 01:36:13,864 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py.
On branch autosynth-267
nothing to commit, working tree clean
2021-04-17 01:36:13,986 synthtool [DEBUG] > Ensuring dependencies.
DEBUG:synthtool:Ensuring dependencies.
2021-04-17 01:36:13,995 synthtool [DEBUG] > Cloning googleapis.
DEBUG:synthtool:Cloning googleapis.
2021-04-17 01:36:13,996 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
DEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2021-04-17 01:36:14,000 synthtool [DEBUG] > Which version of bazel will I run?
DEBUG:synthtool:Which version of bazel will I run?
bazel 3.0.0
2021-04-17 01:36:14,004 synthtool [DEBUG] > Generating code for: //google/cloud/securitycenter/v1:securitycenter-v1-nodejs.
DEBUG:synthtool:Generating code for: //google/cloud/securitycenter/v1:securitycenter-v1-nodejs.
2021-04-17 01:36:44,473 synthtool [SUCCESS] > Generated code into /tmpfs/tmp/tmpxi2aj2jz.
SUCCESS:synthtool:Generated code into /tmpfs/tmp/tmpxi2aj2jz.
2021-04-17 01:36:44,492 synthtool [DEBUG] > Which version of bazel will I run?
DEBUG:synthtool:Which version of bazel will I run?
bazel 3.0.0
2021-04-17 01:36:44,496 synthtool [DEBUG] > Generating code for: //google/cloud/securitycenter/v1beta1:securitycenter-v1beta1-nodejs.
DEBUG:synthtool:Generating code for: //google/cloud/securitycenter/v1beta1:securitycenter-v1beta1-nodejs.
2021-04-17 01:36:48,720 synthtool [SUCCESS] > Generated code into /tmpfs/tmp/tmp4poa993x.
SUCCESS:synthtool:Generated code into /tmpfs/tmp/tmp4poa993x.
2021-04-17 01:36:48,733 synthtool [DEBUG] > Which version of bazel will I run?
DEBUG:synthtool:Which version of bazel will I run?
bazel 3.0.0
2021-04-17 01:36:48,737 synthtool [DEBUG] > Generating code for: //google/cloud/securitycenter/v1p1beta1:securitycenter-v1p1beta1-nodejs.
DEBUG:synthtool:Generating code for: //google/cloud/securitycenter/v1p1beta1:securitycenter-v1p1beta1-nodejs.
2021-04-17 01:36:52,821 synthtool [SUCCESS] > Generated code into /tmpfs/tmp/tmpsazph8hw.
SUCCESS:synthtool:Generated code into /tmpfs/tmp/tmpsazph8hw.
2021-04-17 01:36:52,835 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/synthtool
DEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/synthtool
2021-04-17 01:36:52,852 synthtool [INFO] > successfully generate `src/index.ts`
INFO:synthtool:successfully generate `src/index.ts`
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 40, in <module>
    source_location='build/src', versions=versions, default_version='v1')
  File "/tmpfs/src/github/synthtool/synthtool/gcp/common.py", line 301, in node_library
    return self._generic_library("node_library", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/common.py", line 65, in _generic_library
    kwargs["metadata"]["repository"]
  File "/tmpfs/src/github/synthtool/synthtool/gcp/common.py", line 374, in _get_default_branch_name
    github_req.raise_for_status()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/googleapis/nodejs-security-center
2021-04-17 01:36:52,947 autosynth [ERROR] > Synthesis failed
2021-04-17 01:36:52,947 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 8be515a chore(deps): update dependency @types/sinon to v10 (#365)
2021-04-17 01:36:52,960 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2021-04-17 01:36:52,972 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 356, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 191, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 336, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 68, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 259, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Koha requires mpm_itk

Got this error fromfd88134:
koha          | Koha requires mpm_itk to be enabled within Apache in order to run.
koha          | Typically this can be enabled with:
koha          |
koha          |     sudo a2enmod mpm_itk
koha          |
koha exited with code 1

Rolled back to fe360b6 (last commit 16 days ago) and the error disappeared. Didn't try the commits in-between. Have you run into this?

Hi,
depends on how you setup/start your environment? Do you use plain docker or
docker-compose? We recommend the latter as it makes configuration much
easier.
sounds like it crashes on apache restart in the docker-entrypoint?
Anyways the mpm_itk is standard as from ubuntu 16.04 so this should not be
a problem. Perhaps
the error is somewhere else in your log?
2017-01-04 22:41 GMT+01:00 Dan Michael O. Heggø<EMAIL_ADDRESS>
Got this error fromfd88134:
koha          | Koha requires mpm_itk to be enabled within Apache in order to run.
koha          | Typically this can be enabled with:
koha          |
koha          |     sudo a2enmod mpm_itk
koha          |
koha exited with code 1
Rolled back to fe360b6 (last commit 16 days ago) and the error
disappeared. Didn't try the commits in-between. Have you run into this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/digibib/koha-docker/issues/8, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWLSnjPYeJq1ybldkIKtvAWTNLfcsvUks5rPBImgaJpZM4LbGRl
.

Turned out to be this test in koha_create failing because of invalid Apache config, caused by APACHE_TIMEOUT not being defined.
The apache2 configtest failed. ... (warning).
Output of config test was:
AH00526: Syntax error on line 4 of /etc/apache2/sites-enabled/sonen.conf:
Timeout takes one argument, Timeout duration (sec)
Action 'configtest' failed.
The Apache error log may have more information.

After extending my docker-compose.yml with more of the environment variables in https://github.com/digibib/koha-docker/blob/master/docker-compose/common.yml , everything worked again :)


Dialect in custom_modules samples linked as whole archive

The dialect iree::samples::custom_modules::dialect is not explicitly registered. Instead the dialect is marked alwayslink and linked as whole archive into custom-opt and custom-translate. If possible the dialect should be explicitly registered, but the dialect is only extending an existing dialect and not a whole dialect on its own. Also affects the forked sample https://github.com/iml130/iree-template-cpp/tree/master/custom_modules.

Surprisingly, just dropping alwayslink works with CMake, but is does not with Bazel. To get rid of linking in the whole archive, a helper function that explicitly registers the dialect is necessary. Such a function needs to be called within the main function, implemented in iree_opt_main and iree_translate_main. However, with does not work out for external dialects, which are not known to iree.
One possible solution would be to "fork" the source files "opt_main.cc" and "translate_main.cc" and extend them by the call of a registration function (implemented in an addition header, "init_custom_dialect.h"). This is also the way used in MLIR's out-of-tree example and I will probably choose it for the iree-template-cpp out-of-tree example. Do we further want to choose this solution for the in-tree example?

Following the same conventions as out-of-tree examples for the in-tree samples seems good. If maintenance gets annoying we could keep alwayslink but add comments about alternatives.

Will solve this out-of-tree and get to the in-tree sample afterwards.


chore: migrate JavaScript to TypeScript in plugin-packer

Using airbnb/ts-migrate, src/*.js files are renamed to */.ts files with ts-migrate rename src.
To fix TypeScript errors, I run ts-migrate migrate src.

Why

What

How to test

Checklist

[ ] Read CONTRIBUTING.md
[ ] Updated documentation if it is required.
[ ] Added tests if it is required.
[ ] Passed yarn lint and yarn test on the root directory.

duplicate #671


Chat - Message received after attachment isn't displayed in LHN until reply is sent and deleted

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com or open Expensify App on two devices as user A and user B
User A open chat with user B
User A send attachment (image or PDF) to user B
User B send text message to user A
=== (see expected / actual result) ===
User A sends a reply to this message and then deletes this reply
Message from step 4 is displayed in LHN

Expected Result:

User A receives a message and this message is displayed in LHN

Actual Result:

User A receives a message but this message is NOT displayed in LHN

Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/b9037e0a-6a3a-42c5-b562-5aa552b34780
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:

This looks like a regression of https://github.com/Expensify/App/pull/21780

Thanks @eh2077, made a note on the corresponding issue as well.

Hey @eh2077 Is there a PR for this yet?

@stephanieelliott I think the contributor or the C+ will submit a PR to fix this. They'll update in the linked original issue.

Oops, thanks @eh2077  -- meant to tag the 🙃 the original C+.

Working on a fix in #19449 via https://github.com/Expensify/App/pull/21780

Some back end changes needed on this PR, see https://github.com/Expensify/App/issues/19449#issuecomment-1647576502

PR still under review, internal changes requested.

PR still under review, internal changes requested.

This bug is still happening - going to reopen this so it can be addressed independently
https://github.com/Expensify/App/issues/19449

I'm suggesting we have the original reviewer and author to continue in this issue @tienifr / @eVoloshchak

Hey @tienifr, any update on the PR?

Just checking in @tienifr, do we have a PR for this yet?

Cool, thanks @tienifr!


Update docs version to match latest release

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Update the version docs to match the latest release.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/lgtm


USHIFT-1050: Set textrel_shlib_t SELinux context on hadolint static executable

Set textrel_shlib_t SELinux context to prevent hadolint crash.
Optimize the script to explicitly declare tmp variable in the global scope and rename it to WORK_DIR

Closes USHIFT-1050
Context
hadolint executable is statically linked and it causes the following errors on some systems when SELinux is enabled.

Apr 11 06:30:57 microshift-dev-rhel92 setroubleshoot[32487]: SELinux is preventing /home/microshift/microshift/hadolint-Linux-x86_64 from execmod access on the file /home/microshift/microshift/_output/bin/hadolint.#012#012*****  Plugin allow_execmod (53.1 confidence) suggests   ****************#012#012If this issue occurred during normal system operation.#012Then this alert could be a serious issue and your system could be compromised. Setroubleshoot examined '/home/microshift/microshift/_output/bin/hadolint' to make sure it was built correctly, but can not determine if this application has been compromised.#012Do#012contact your security administrator and report this issue#012#012  Plugin catchall_boolean (42.6 confidence) suggests   *************#012#012If you want to allow all unconfined executables to use libraries requiring text relocation that are not labeled textrel_shlib_t#012Then you must tell SELinux about this by enabling the 'selinuxuser_execmod' boolean.#012#012Do#012setsebool -P selinuxuser_execmod 1#012#012  Plugin catchall (5.76 confidence) suggests   **************************#012#012If you believe that hadolint-Linux-x86_64 should be allowed execmod access on the hadolint file by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'hadolint-Linux-' --raw | audit2allow -M my-hadolintLinux#012# semodule -X 300 -i my-hadolintLinux.pp#012

It's LGTM for me. Let's have someone more to review.

/lgtm


Switch to the azure-storage-for-go sdk

This seems to be the supported going forwards sdk which also adds
the possibility to use AzureAD based authentication (Working on
seperate PR).

What does this PR change? What problem does it solve?
Switches the SDK used for Azure to Azure Storage for GO which
will support other built-in authentication methods rather then just
the SharedKey (Sepeperate PR)

Was the change discussed in an issue or in the forum before?
No

Checklist

[X] I have read the Contribution Guidelines
[X] I have enabled maintainer edits for this PR
[ ] I have added tests for all changes in this PR
[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[X] I have run gofmt on the code in all commits
[X] All commit messages are formatted in the same style as the other commits in the repo
[X] I'm done, this Pull Request is ready for review

Hi @ekarlso , really cool you started working on this. Was just looking at the very same topic, glad I found your PR. Having support for service-principal-based authN (and managed identity) would be a great addition to restic.
Via which environment variables are you planning to convey the service principal credentials, or whether to use MSI instead, or (in case there are multiple MSIs attached to a node) the objectID of the MSI to use? I think Restic's approach of using environment variables into the runtime is great, but would have appreciated if these could be prefixed with something like RESTIC_AZURE_ or so... If you need to introduce additional ones, would be great if these would not start with just AZURE_ :-)

The SDK also seems to require Go 1.14, so we'd have to bump the minimum go version supported by restic. But that shouldn't be a problem.

@ekarlso Did you make any progress on this PR?

Are you still interested in completing this PR?

Closed as there seems currently to be no interest in the PR.


Please add Japanese Translated document for this

Hello, please consider to add Japanese Translated version for this document please.

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

ID: 90384a23-170c-478a-778f-f9bc7aebf27a
Version Independent ID: 2c372e27-cb79-2ae8-c204-da115b30af82
Content: Migrate your existing Azure SQL Data Warehouse to Gen2
Content Source: articles/sql-data-warehouse/gen2-migration-schedule.md
Service: sql-data-warehouse
GitHub Login: @mlee3gsd
Microsoft Alias: anumjs

@KeiroKamioka0000 Thank you for this. I have assigned to the content owner to evaluate and update as necessary.

@KeiroKamioka0000 Hello, Thank you for your feedback. I am looking into this issue.

@KeiroKamioka0000 Hello, The document is now rendering in Japanese. I hope this addressed your issue. I will proceed with closing this issue. Please feel free to contact us if we can be of further assistance.

#please-close


Rework implicit serialization rules

Things to test:

serialization works always based on the populate hint if its available
partial loading hint is also respected the same way
add a way to set the populate hint to existing entities
ensure the populate hint is correctly set in em.populate

Discussed in https://github.com/mikro-orm/mikro-orm/discussions/4111
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property, wrap } from '@mikro-orm/core';
import { MikroORM } from '@mikro-orm/sqlite';

@Entity()
class User {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @Property()
  email!: string;

  @OneToMany(() => Shop, shop => shop.owner)
  shop = new Collection<Shop>(this);

  @OneToMany(() => Product, product => product.owner)
  product = new Collection<Product>(this);

}

@Entity()
class Shop {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @OneToMany(() => Product, product => product.shop)
  products = new Collection<Product>(this);

  @ManyToOne(() => User)
  owner!: User;

}

@Entity()
export class Product {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @ManyToOne(() => Shop)
  shop!: Shop;

  @ManyToOne(() => User)
  owner!: User;

}

let orm: MikroORM;

beforeAll(async () => {
  orm = await MikroORM.init({
    entities: [User, Shop, Product],
    dbName: ':memory:',
  });
  await orm.schema.refreshDatabase();
});

beforeEach(async () => {
  orm.em.create(User, {
    name: 's1',
    email<EMAIL_ADDRESS>  });
  orm.em.create(User, {
    name: 'sp-2',
    email<EMAIL_ADDRESS>  });
  orm.em.create(Shop, {
    name: 'shop-1',
    owner: 1,
  });
  orm.em.create(Product, {
    name: 'product-1',
    shop: 1,
    owner: 1,
  });
  orm.em.create(Product, {
    name: 'product-2',
    shop: 1,
    owner: 2,
  });

  await orm.em.flush();
  orm.em.clear();
});

test('serialization', async () => {
  const [shop] = await orm.em.find(Shop, {}, {
    populate: ['products', 'owner'],
  });

  expect(wrap(shop).toObject()).toEqual({
    id: 1,
    name: 'shop-1',
    products: [
      { id: 1, name: 'product-1', shop: 1, owner: 1 },
      { id: 2, name: 'product-2', shop: 1, owner: 2 },
    ],
    owner: { id: 1, name: 's1', email<EMAIL_ADDRESS>},
  });
});

FYI @sumitpaultechnoexponent I gave this a closer and fixing it might be a bit breaking, so will leave that for v6 and try to fix this once for good.
For now you could use explicit serialization:
https://mikro-orm.io/docs/serializing#explicit-serialization

Would love to see this as well 👍
This would save a lot of bandwidth as well on the response KB
For example, I have a route which populates a list with like 50 one-to-many relations and one many-to-one
My one-to-many relations have that exact same many-to-one relation as well so it get serialized, that's a good chunk of my response KB

Closing via #4203


Setting of the n_ctx value

Hello!
Can you tell me something about the value n_ctx?
Does his size make a big difference to the results of the experiment?
Can he set it to 1?
I really hope to hear from you. Thank you!

Hi @dana-niu,
The variable n_ctx denotes the number of prompt vectors that will be learned during the training process. You can also set it to 1, in which case there will be a single learnable vector at each layer.
Increasing the number of learnable prompt vectors usually increases the learning capacity of the model. However, this could also lead to overfitting on the training dataset.
In summary, increasing n_ctx is recommended only in a supervised setting, while it should be lowered if one is performing generalization experiments, such as base-to-novel or domain generalization.

Thank you very much for your detailed explanation.