T8210 Doorbell P2P video stream stuck on PREPARING, yet video queue size increases

Describe the bug
My T8210 Doorbell's P2P video stream is stuck on PREPARING, yet the video queue size increases after I press Start P2P stream. If I press stop P2P stream, the status properly reverts back to IDLE.
To reproduce
Steps to reproduce the behavior:

Go to Settings
Click on Eufy Security integration
Scroll down to T8210 Doorbell
Click start P2P Stream
See status changing to PREPARING and Video Queue Size increasing
Status does not change to STREAMING

Expected behavior
Status should change to STREAMING and Doorbell should display video stream via P2P.
Additional information

Home Assistant Installation Type (OS - Supvervised - Core):  Container/Docker
Home Assistant Core Version: 2023.1.1
Eufy Security Add-on Version:  1.3.0 (Docker container)
Eufy Security Integration Version: 6.1.1

Hardware Information;

Camera Model: T8210 Doorbell

Live Streaming Protocol (RTSP/P2P): P2P

Debug Logs from Home Assistant (https://github.com/fuatakgun/eufy_security/discussions/624)

2023-01-08 23:47:55.889 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:55.890 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:55.891 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:55.891 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:55.892 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:56.395 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:56.396 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:56.396 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:56.398 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:56.399 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:56.614 ERROR (MainThread) [frontend.js.latest.202301040] :0:0 ResizeObserver loop completed with undelivered notifications.
2023-01-08 23:47:56.902 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:56.905 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:56.905 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:56.907 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:56.910 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:57.413 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:57.415 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:57.415 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:57.416 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:57.418 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:57.925 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:57.927 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:57.928 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:57.930 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:57.932 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:58.429 ERROR (Thread-12 (setup)) [custom_components.eufy_security.eufy_security_api] Exception [Errno 104] Connection reset by peer - traceback: Traceback (most recent call last):
  File "/config/custom_components/eufy_security/eufy_security_api/p2p_stream_handler.py", line 103, in setup
    client_socket.sendall(bytearray(self.camera.video_queue.get()))
ConnectionResetError: [Errno 104] Connection reset by peer
2023-01-08 23:47:58.435 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:58.438 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:58.439 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:58.441 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:58.443 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:58.947 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:58.949 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:58.950 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:58.951 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:58.954 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:59.476 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:59.477 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:59.477 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:59.478 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:59.478 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)
2023-01-08 23:47:59.981 INFO (MainThread) [aiortsp.rtsp.reader] try loading stream rtspt://<IP_ADDRESS>:8554/T8210P0020420265
2023-01-08 23:47:59.982 INFO (MainThread) [aiortsp.rtsp.reader] connected!
2023-01-08 23:47:59.982 INFO (MainThread) [aiortsp.rtsp.reader] receiving interleaved RTP (0) and RTCP (1)
2023-01-08 23:47:59.983 INFO (MainThread) [aiortsp.rtsp.reader] session options: {'DESCRIBE', 'GET_PARAMETER', 'RECORD', 'TEARDOWN', 'PLAY', 'PAUSE', 'ANNOUNCE', 'SETUP'}
2023-01-08 23:47:59.983 INFO (MainThread) [aiortsp.rtsp.reader] connection to RTSP server <IP_ADDRESS>:8554 closed (error: None)

Logs from Eufy Security Add-on (either from Add-ons page of Home Assistant or Docker output):
No log was written during this event

Would you share your device with me in case further debugging required? (Yes/No):
Yes

Additional context
Other camera's, like the Eufycam 2 Pro, work fine via P2P. although sometimes I need to restart the integration because they get stuck on PREPARING as well.

+1
Can't get P2P stream running.  Manual service call fails, as does call from within doorbell config settings in integration.
Also noticed that, while stuck in PREPARING, the video queue size is cycling round and round (1-8)....
Other cameras (2 x T8142-Z) seem to be working fine.
Eufy security app works OK too....

+1
I have two S40 cameras that get stuck in the same StreamStatus.PREPARING state. When they get stuck in that state <camera>_video_queue_size seems to just increase indefinitely.
I am able to get the into StreamStatus.STREAMING at least once after restarting HA, but subsequent calls to that service all fail until I again restart HA.
Happy to provide my own logs if that is helpful.
Eufy Security Integration Version: 6.2.0

Raspberry Pi4
Home Assistant 2022.12.9 (Docker)
Eufy Security Add-on Version: 1.3.0 (Docker)
Eufy Security Integration Version: 6.2.0
Aler9/rtsp-simple-server 0.21.1 (Docker)
T8210 Doorbell
Sometimes I have start problems. In that cast it stays in Preparing. But most of the time I can start/stop and it's working fine.

Believe it or not, but this issue resolved 'itself' for me. I didn't change anything related to the Eufy integration but as of today it's working fine for me. However, I do see the Docker container updated itself last night because of an update of the LS.IO HASS Docker Image, but I doubt it's related. I'm leaving this issue open for now, since others are facing the same problem.

You run Home Assistant in a docker, me too. Supervised! How did you do that? Updating itself? Please tell me more about this. I have a normal docker install, no supervisor and no auto updates.

You run Home Assistant in a docker, me too. Supervised! How did you do that? Updating itself? Please tell me more about this. I have a normal docker install, no supervisor and no auto updates.

Let's not hijack this issue and keep it short ;) I use WatchTower to automatically update Docker containers once a new image is available. Check https://containrrr.dev/watchtower/

2.3.1 let me use 3 cameras, but no doorbell. 3.0-beta5 has errors for all cameras 😅

When using new version of webrtc, use a different browser via incognito mode because custom card content is heavily cached on browser end.

I invited you, thanks a lot. The image is also visually broken.

Eufy Security Addon
2023-01-16 16:13:33.428  INFO  Connected to station T8010P2320171F23 on host <IP_ADDRESS> and port 12985
2023-01-16 16:13:42.196  ERROR Message error
 LivestreamAlreadyRunningError  Livestream for device T8210P002021204C is already running
error stack:
• message_handler.ts:231 handle
    src/lib/device/message_handler.ts:231:31
• task_queues:96 processTicksAndRejections
    node:internal/process/task_queues:96:5
• server.ts:125 receiveMessage
    src/lib/server.ts:125:21
2023-01-16 16:15:02.632  INFO  Client disconnected with ip: <IP_ADDRESS> port: 47340 code: 1006 reason: Abnormal Closure
2023-01-16 16:31:09.236  INFO  Client disconnected with ip: <IP_ADDRESS> port: 34906 code: 1006 reason: Abnormal Closure
2023-01-16 16:35:55.412  ERROR Message error
 LivestreamAlreadyRunningError  Livestream for device T8210P002021204C is already running
error stack:
• message_handler.ts:231 handle
    src/lib/device/message_handler.ts:231:31
• task_queues:96 processTicksAndRejections
    node:internal/process/task_queues:96:5
• server.ts:125 receiveMessage
    src/lib/server.ts:125:21
2023-01-16 16:37:28.245  INFO  Client disconnected with ip: <IP_ADDRESS> port: 56466 code: 1006 reason: Abnormal Closure
2023-01-16 16:42:35.131  ERROR Message error
 LivestreamAlreadyRunningError  Livestream for device T8210P002021204C is already running
error stack:
• message_handler.ts:231 handle
    src/lib/device/message_handler.ts:231:31
• task_queues:96 processTicksAndRejections
    node:internal/process/task_queues:96:5
• server.ts:125 receiveMessage
    src/lib/server.ts:125:21

RTSP for version 2.3.1
2023/01/16 16:45:25 I [-7/0] [RTSP] [conn <IP_ADDRESS>:37312] closed
2023/01/16 16:45:25 I [-7/0] [RTSP] [session 391163098] closed
2023/01/16 16:45:25 I [-7/0] [RTSP] [session 277108685] closed
2023/01/16 16:45:26 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58866] opened
2023/01/16 16:45:26 I [-7/0] [path T8210P002021204C] created
2023/01/16 16:45:26 I [-7/0] [path T8210P002021204C] runOnDemand command started
2023/01/16 16:45:30 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58874] opened
2023/01/16 16:45:34 I [-7/0] [RTSP] [conn <IP_ADDRESS>:43730] opened
2023/01/16 16:45:36 I [-7/0] [path T8210P002021204C] runOnDemand command stopped
2023/01/16 16:45:36 I [-7/0] [path T8210P002021204C] destroyed
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58874] ERR: source of path 'T8210P002021204C' has timed out
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58874] closed
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58866] ERR: source of path 'T8210P002021204C' has timed out
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:58866] closed
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:43730] ERR: source of path 'T8210P002021204C' has timed out
2023/01/16 16:45:36 I [-7/0] [RTSP] [conn <IP_ADDRESS>:43730] closed

Will now try to use the beta 5

Ok, with 3.0-beta 5 it works in chrome now (never used that browser before with HASS).
023/01/17 11:07:00 I [-7/0] [RTSP] [conn <IP_ADDRESS>:49018] opened
2023/01/17 11:07:00 I [-7/0] [RTSP] [session 219656145] opened by <IP_ADDRESS>:49018
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 219656145] is publishing to path 'T8210P002021204C', 1 track with TCP
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 527413351] opened by <IP_ADDRESS>:49002
2023/01/17 11:07:00 I [-6/1] [RTSP] [session 527413351] is reading from path 'T8210P002021204C', 1 track with TCP
2023/01/17 11:07:00 I [-6/1] [RTSP] [conn <IP_ADDRESS>:49002] closed
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 527413351] closed
2023/01/17 11:07:00 I [-6/0] [RTSP] [conn <IP_ADDRESS>:49034] opened
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 624856661] opened by <IP_ADDRESS>:49034
2023/01/17 11:07:00 I [-6/0] [RTSP] [conn <IP_ADDRESS>:49036] opened
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 667214595] opened by <IP_ADDRESS>:49036
2023/01/17 11:07:00 I [-6/0] [RTSP] [session 759635651] opened by <IP_ADDRESS>:49036
2023/01/17 11:07:00 I [-6/1] [RTSP] [session 759635651] is reading from path 'T8210P002021204C', 1 track with TCP
2023/01/17 11:07:00 I [-6/2] [RTSP] [session 624856661] is reading from path 'T8210P002021204C', 1 track with TCP
2023/01/17 11:07:00 I [-6/2] [RTSP] [conn <IP_ADDRESS>:49044] opened
2023/01/17 11:07:00 I [-6/2] [RTSP] [session 618526239] opened by <IP_ADDRESS>:49044
2023/01/17 11:07:00 I [-6/3] [RTSP] [session 618526239] is reading from path 'T8210P002021204C', 1 track with TCP
2023/01/17 11:07:02 I [-6/3] [RTSP] [conn <IP_ADDRESS>:49036] closed
2023/01/17 11:07:02 I [-6/3] [RTSP] [session 667214595] closed
2023/01/17 11:07:02 I [-6/2] [RTSP] [session 759635651] closed

Will remove the shared home for now.

Now firefox is complaining:

Will check fully kiosk browser later today

Strange with no browser it's possible to get a valid preview image for the doorbell. so I will invite you again.

Browser:
*👎 Firefox 108.0.2 (64-Bit) (Caches cleared multiple times, new profile)

✅ Chrome Version 108.0.5359.124 (Offizieller Build) (arm64)
✅ Hass Client

HASS:

Home Assistant 2023.1.4
Supervisor 2022.12.1
Operating System 9.4
Frontend 20230110.0 - latest
Eufy Security Add-on - Current version: 1.3.0
RTSP Simple Server Add-on - Current version: v0.17.6
WebRTC Camera - v3.0-beta.5
Doorbell Firmware: <IP_ADDRESS>

So maybe it's a firefox problem ... but I'm pretty sure it worked before.

Aler9/rtsp-simple-server 0.21.1 (Docker) newer but that's not the problem. On Android, in home assistant app, video is playing fine with WebRTC v3.0-beta.4. Chome is not working.

thanks a lot - sounds strange to me.

Now firefox is complaining:

Will check fully kiosk browser later today

Like I said above, FireFox does not support H.265 codec: https://bugzilla.mozilla.org/show_bug.cgi?id=1332136

In the UI I get this feedback:

I had this one in the past as well. Try upgrading to the latest WebRTC Beta (3.0-beta5) integration in HACS. Also, if your Doorbell streams H265, you cannot use FireFox (try Chrome/Edge etc) due to codec licensing...

streaming works with the latest updates of webrtc, etc.
But the still image of the doorbell still looks ahh strange.
It looks like just one frame is caught from the camera and stored, where it needs more than one or a keyframe:

The stream looks good (pixeled by me):

I have the same issue with my T8210 doorbell.
Or the picture is grayed with some pixels showing. Or I gto a still frame. but fluent streaming has never happened so far. Following

Has anyone managed to get the doorbell working ?  I've gone back to a really simple couple of cards in the UI to try and debug a bit.  A picture entity card (for the still image) and web-etc for any stream....  and while I seem to be able to stop and start the stream (idle -> streaming -> idle) - i can't seem to get any of it to actually show up in either card...
Confused.....
PS - other cameras seem to work OK.  Just T8210 doorbell.
PPS - HA is running on an RPI4/SSD and am using Safari on Mac to configure....

Aler9/rtsp-simple-server 0.21.1 (Docker) newer but that's not the problem. On Android, in home assistant app, video is playing fine with WebRTC v3.0-beta.4. Chome is not working.

Like I said before, it's working fine!!
Raspberry Pi4
Home Assistant 2022.12.9 (Docker)
Eufy Security Add-on Version: 1.3.0 (Docker)
Eufy Security Integration Version: 6.2.0
Aler9/rtsp-simple-server 0.21.1 (Docker)
WebRTC Camera v3.0.0
T8210 Doorbell
On Android, in home assistant app, video is playing fine with WebRTC v3.0.0.
I start on motion detection (with Node-Red) and grab video (10 sec) from T8210 RTSP stream and send it directly to Telegram. All without problems. I only miss the first 1-8 seconds because Motion must be detected bij HA and stream must be started.

Working for me too but image is grey. Video stream is fine, can start and stop etc.
Ubuntu server
Home Assistant 2023.1.7 (Docker)
Eufy Security Add-on Version: 1.3.0 (Docker)
Eufy Security Integration Version: 6.2.0 (HACS)
Aler9/rtsp-simple-server 0.21.2 (Docker)
WebRTC Camera v3.0.1
T8210 Doorbell

Same here.
Can you share your node red „script“?

This is how I capture video fragments. I start this command in a bash file with a Home Assistant trigger on doorbell motion:
ffmpeg -y -i rtsp://<IP_ADDRESS>:8554/T8210P0020330C10 -c copy -map 0 -f segment -strftime 1 -segment_time 10 -reset_timestamps 1 /home/pi/ha/tmp/mpeg_capture-%Y%m%d_%H%M%S.mp4
At the same time a node-red flow is handling the rest. It will detect the mp4 files and send those to Telegram.

Same here.
Can you share your node red „script“?

What part do you have questions about.

I’m just starting with nodered, so I’m taking every inspiration to get better. A screenshot of the flow would be cool.

I’m just starting with nodered, so I’m taking every inspiration to get better. A screenshot of the flow would be cool.

I mailed you.

Thanks a lot - Just learned, i have a lot to learn 😅

After upgrading everything I've faced same issue, so after cleaning all tests made 3 months ago. Just resolved by luck by logging the Eufy app with HA dedicated account and refresh the doorbell stream from there. Dunno why but it fixes everything and T8210 now streams well from HA dashboard and stop button works as thumbnail display.

it fixes everything and T8210 now streams well

Unfortunately that process didn’t fix it for me. My streams were still getting stuck in Preparing.
However, I did find out that I was having a port conflict between RTSP Add On and the WebRTC integration, both trying the broadcast an RTSP stream on 8554. I changed the port to 8555 in the configuration of the on the RTSP Add-on, and in the configuration of the Eufy Security integration. Now my streams are working again!
Eufy Security Add-on 1.3.0
RTSP Simple Server Add-on 0.17.6
Eufy Security integration 6.2.0
WebRTC Camera integration 3.0.2
Home Assistant 2023.2.2
Home Assistant OS 9.5
Eufy Homebase 2 T8010
Eufy Battery Wireless Doorbell 2K T8210

both trying the broadcast an RTSP stream on 8554. I changed the port to 8555

i'm also running on another port than 8554. might be the trick.

Similar / same problem?
#668 Stream Status stuck on PREPARING (for me on  T8200 - Wired Doorbell)

https://github.com/fuatakgun/eufy_security/issues/668#issuecomment-1412737871

Similar / same problem?

Reading the original issue in #668 was from a RTSP native camera, which appears to stream on port 554. In retrospect my solution of changing ports in RSTP Simple Server was not applicable to #668.
There are some comments, including yours that mention having issues with P2P, so perhaps this issue is more applicable.
My issue was similar to yours, just with a battery camera rather than wired. Press the Start P2P Stream, stream_status changes to StreamStaus.PREPARING, video_queue_size goes up and doesn’t stop unless it crashes or is manually stopped. I didn’t enable debug so can’t confirm the logs were the same.
In WebRTC v3 the devs enabled by default a RTSP stream broadcast on port 8554. This seems to be the same port that RSTP Simple Server uses by default, or at least it is mentioned in the README of this repository.
To test weather your issues are the same as mine, you can check if RSTP Simple Server Addon will start, or if it is blocked due to port in use.

Just leaving here what worked for me. As suggested change the port to something else than 8554. I used 8555 and work great. Next I had a problem with google chrome browser as this doesn't support the H3265 codec. So the camera woks but just no in google chrome. The android seems to work fine.
As a work a set the video codec of the eufy doorbell to low (this uses the H264 codes which chrome supports). Next in the HA integration I set the video streaming quality of the eufy to HIGH / LOW Encoding. I then reloaded the integration and it worked.
Still hope to see a fix so that I can use the H265 codec in google chrome. but for now I'm happy that it finally works.

@PV-Web thanks, are you getting the thumbnail generated?

Same issue I use p2p and the solution change RSTP port not compatible :(

Setting quality to low and restarting everything does not fix it.. ;(

I have the same problem, well its a 50/50 shot. Sometimes it work, sometimes it doesnt, just get stuck on preparing.
Normally i dont need this, but as the latest image still doesnt update for some reason, i use the snapshot feature but have of the time the stream stays stuck

@kvanbiesen , do you have any data on what might be causing this?
After checking the diagram on readme about P2P, you can see that there are many components involved and I need more information what might be failing?

are bytes coming from add-on to integration?
is integration forwarding the bytes to ffmpeg correctly over tcp?
is rtsp add-on receiving bytes correctly?

My general takeaways for this issue;

either ffmpeg local process is killed for some reason and TCP port is closed
or bytes from add-on are not received (timeout)


Full pending transaction listeners are not updated with all transactions moved to pending pool

Describe the feature
the full tx object subscription only subscribes to new transactions added to pending pool on insert
https://github.com/paradigmxyz/reth/blob/afebb2b20b584a8664feb4042309679d47b1131e/crates/rpc/rpc/src/eth/pubsub.rs#L279-L279
https://github.com/paradigmxyz/reth/blob/afebb2b20b584a8664feb4042309679d47b1131e/crates/transaction-pool/src/pool/mod.rs#L240-L249
https://github.com/paradigmxyz/reth/blob/afebb2b20b584a8664feb4042309679d47b1131e/crates/transaction-pool/src/pool/mod.rs#L446-L447
TODO

also notify on promoted txs on state updates here:

https://github.com/paradigmxyz/reth/blob/afebb2b20b584a8664feb4042309679d47b1131e/crates/transaction-pool/src/pool/mod.rs#L595-L595
Additional context
No response

Please assign this to me.

@mattsse Isn't this already implemented here?
https://github.com/paradigmxyz/reth/blob/f18845d2518df8666c2f044547f50c1895b7d5c0/crates/transaction-pool/src/pool/mod.rs#L566-L572

@mattsse Isn't this already implemented here?
https://github.com/paradigmxyz/reth/blob/f18845d2518df8666c2f044547f50c1895b7d5c0/crates/transaction-pool/src/pool/mod.rs#L566-L572

https://github.com/paradigmxyz/reth/blob/f18845d2518df8666c2f044547f50c1895b7d5c0/crates/transaction-pool/src/traits.rs#L148-L155
The pending pool streams uses transactions_listener not pending_transaction_listener (because it outputs H256 only I believe). That's the bug.
Remark: If you notify transactions_listener on promotion, someone subscribed to all_transaction would get many doubles so idk if that's what you'd want

I created a commitment, but I am honestly not super confident on it achieving what you are looking for, I would like some clarification if it does not.
There seems to be multiple points in the transaction-pool where listeners can be notified of transactions, so I am not entirely sure that this is optimal achievement.
Should there be some field in TransactionListener to indicate if it wants all new transactions, or only those that are pending? Or does it make more sense that pending_transaction_listener is refactored to include both full pending tx listeners, along with hash-only pending tx listeners? The latter seems to make more sense to me.

Or does it make more sense that pending_transaction_listener is refactored into a PendingTransactionListener with a field that indicates hash-only or not? The latter seems to make more sense to me.

actually I think this is a good point, this would simplify a few things

Anything left on this?

I think this can be closed


 The user should be able to see why certain commits are highlighted (and why others are not).

Some options?

Creating a new column in the graph table
Adding a new panel to the file history panel - see myDetailsPanel in FileHistoryUi


OpenTelemetry

We need to do some investigation around OpenTelemetry and implement something akin to what OpenTracing does today.
As OpenTelemetry goes beyond what OpenTracing does, we need to take into account the changes around tracing and whether Metrics are impacted with this.

Moved to Quarkus.


Flashing black screen after calibration

Hello,
I've recently calibrated the Kinect sensor with the checker board pattern. When I look at the output from kinect2_viewer, however, the screen is constantly flashing black. I've attached some screenshots. I've also noticed that when the viewer is black, the RGB topic outputs a bunch of zeros, and the viewer fps shots to above 100, compared to 20 fps when there is a crisp image. Is it possible that the amount of data is too high for the computer to handle? kinect2_bridge is also flooding the output with

[OpenCLDepthPacketProcessor] avg. time: 0ms -> ~infHz
[DepthRegistrationOpenCL::registerDepth] ERROR: clEnqueueWriteBuffer(-5)
[DepthRegistrationOpenCL::registerDepth] ERROR: clEnqueueWriteBuffer(-5)
[DepthRegistrationOpenCL::registerDepth] ERROR: clEnqueueWriteBuffer(-5)
...

Is there a way to fix this?
Thanks,
Jim

I don't know. I never experienced anything like that before. Since it's an OpenCL error, maybe it is related to the GPU. What GPU are you using. What is the CPU usage while running kinect2_bridge and the viewer?
Try to run kinect2_bridge and then subscribe to a topic with rostopic hz /kinect2/hd/image_depth_rect. Do the errors show up too?

The laptop is running on NVIDIA® GTX 860M. It has built-in Intel HD graphics.
I've ran the kinect2_bridge, and here is a screenshot of the output:

It doesn't seem to generate any error.

It's probably related to the opencl errors, if it is not running correctly, the depth image is wrong to.
The -5 means CL_OUT_OF_RESOURCES, maybe running the cloud viewer and the kinect2_bridge is using to much VRAM, or there are also some other applications using the GPU. I don't know how to solve this issue, maybe it helps to use a newer nvidia driver, or by closing windows that are not needed, or don't use point cloud viewer and use rosrun kinect2_viewer kinect2_viewer ... -image instead.
One other thing that looks wrong is ... avg. time: 0ms So there is something wrong with the measurement in libfreenect2.

Hi, I updated the OpenCL code. Could you pull the lastest changes and check again?


Question about salary

Hey!
I have a question like in the title. I'd like to get payment not by cash or something, but in item. I mean, economy on my server is based on two items (the 1st one is normal cash, the second is better cash). And now: How to set the payment that gives players X amount of block? (The block is skeleton_skull)
Probably it's somewhere in Your Wiki, but I can't find it

You can find that in the wiki :)
https://github.com/Picono435/PicoJobs/wiki/Economy-Types
If you need further help send me a message over on discord.

Ok, I'll ask you  on discord. But I don't see Your discord anywhere xD

https://discord.com/invite/wQj53Hy


Urobiome package term suggestion gu_instrumentation

New term details
Term name - recent genitourinary instrumentation
Structured comment name - gu_instrumentation
Definition - Any catheterization, cystoscopy, urodynamic studies, genitourinary surgery within the last 30 days.
Expected value -  free text
Value syntax - {boolean}{text}
Example - yes; Urodynamics
Preferred unit -
Package - Urobiome

Additional context
Suggested as part of the Urobiome package.

Investigate if instrumentation exists as a general term; how specific terms should be and if there is an existing vocabulary; level of specificity

Discussed 7/21 - This should not be a separate term but should be captured in related terms (comorbidities #273)


[REVIEW] authorizer

Project link
https://github.com/authorizerdev/authorizer

Reviewed on live stream https://www.youtube.com/watch?v=YVJyz7DZMQo

suggest removing "table of contents" in README as this is autogenerated by github
suggest hiding packages section if not used


Convex hull calculation used for density doesn't take into account the diameters

For example, with SWC:
# SWC structure:
# index, type, x, y, z, radius, parent
#
#           (1, 5)
# (-5, 5)----- ------ (6, 5)
#             |
#             |
#             |
#             | Type = 3
#             |
#             o origin

# note all the diameters are 4

 1 1  0  0 0 1. -1
 2 3  0  0 0 4.  1
 3 3  0  5 1 4.  2
 4 3 -5  5 0 4.  3
 5 3  6  5 0 4.  3

The test case:
import neurom as nm
n = nm.load_neuron('bad_convex_density.swc')
nm.get('neurite_volume_density', a.neurites[0])

returns 89.27, which is not a valid density.
This was originally pointed out by @lidakanari

@arnaudon , is this issue still relevant? Does considering the radii make a big difference. given the extent of the morphology?


Replace anchor with form button

More semantic and allows for submit via return key

I've been making some other changes that would turn this into a/the 'Hello World' example, but I'm not sure if a PR like that would be welcome. Feel free to use any of my changes if they're useful https://github.com/rosano/webxdc-dev/commits/hello


Hide Sidebar when users not logged in, using $wgHooks

I would like to hide the Pivot sidebar when users are not logged in, using a hook, but I don't understand how Pivot's $bar array is structured. What do I add to the following function in localSettings.php?
function lfHideSidebar( $skin, &$bar ) {
 global $wgUser;
  if ( !$wgUser->isLoggedIn() ) {
    $bar = array(
        // What do I put here?
      )
    );
  } else {
    // Display the sidebar as usual.
  }
  return true;
}

Thank you

You have to build an array of values based on what you want to show for a non logged in user. Based on you code // What do I put here?
Your array is text, href, and id. active is optional. href can be optional. Just leave it unset.
This page https://mediawiki.org/wiki/Manual:Interface/Sidebar/Hacks gives a  good example on how to create your own anonymous sidebar for unlogged in users.  This way you can build a anonymous sidebar with wiki mark up and display it when a anonymous user views the site.
If you’re looking to hide the sidebar completely and not display it, Pivot  doesn’t do that.

Thanks for your help.
In the end I got round it by making an empty sidebar for anonymous users, then hiding the remnants of it with some CSS injected via localSettings.php

No Activity


Publish a list of Features

User Story
As a user of Opentecture/Product Manager
I want to see what Features this tool has
So that I can effectively communicate the capabilities and limitations of the software to others users.
Acceptance Criteria
Given this repo exists
When a user visits /FEATURES.md
User can read a list of Features.
Maintenance
Developers are encouraged to update FEATURES.md when working on Pull Requests in Feature Branches. Commonly, the FEATURE will similar to a good, descriptive commit message.

for reference: #16

@afomi
Very often I include at least some hints about what is going in in the read me file
example: https://github.com/opentecture/mindmapping/tree/master/connect-edit

Yep. That works well.
I'd like to have a consolidated list of features as the tools develops, something to synthesize the demos and features across releases - and ideally, a bit of a roadmap with our forward thoughts.

@afomi
How about we start a Markdown file with a list of features?
The list could be standalone and not tied to any particular code. A house can be built out of wood or out of bricks and still satisfy the feature list. Similarly, whatever we specify should be able to be built in JavaScript, Python or whatever.
At the moment I am building little demos that gather snippets of code or whatever. One we have a spec then I should start to be able to pull all the bits together,

@theo-armour,
The referenced Pull Request https://github.com/opentecture/mindmapping/pull/16 is exactly this - a markdown file with a list of Features.
Also, thanks for the note about pulling the bits together. That helps me understand a bit more about how you're approaching the code.

Are you familiar with git-flow or the Pull Request model? Ideally, I'd like to get in a rhythm of working on distinct features, tied more-or-less to GitHub Issues.  Ultimately, we'll want a flow where code is reviewed before making it into master branch - because master should (at some point) be continually shippable.     Feature work is done in branches and merged in, methodically - ideally along with test coverage.    This is a bit in the future. I don't want to add to much ceremony now, but rather share the flow I'm accustomed to, for shipping working software continuously.

@afomi
oops I overlooked #16. file has been merged

Are you familiar with git-flow or the Pull Request model?

I'm highly aware but a beginner. Mostly I live in sole-operator cowboy anything-goes country. But once there's a team git-flow is essential.
The fun bits are deciding when and where to switch from one mode to the other. So, for example, if e want lots of peeps to contribute to open-standards and open-resources then they should got-flow from the get-go.
As far as the MindMapping code is going it's too early. But for the feature list, why not? If so, will you be the maintainer and merge the pull-requests?

@theo-armour - i think we'd both have commit rights, so we could both be maintainers. Getting the Pull Request pattern established early at least ensures visibility of changes.
Whether or not we want to layer-in code reviews, etc. is something we can decide as we proceed.

We're now tracking work at:

GitHub Issues
README of /build


Missing styles on "next dev" (only sometimes, no errors)

When running the dev server sometimes there's styles missing from components inside the page.
The first SCSS files are always loaded correctly but ones further down the tree seem to be missed off sometimes. If I reload the page the page renders as expected with the missing styles.
I noticed it's when [hmr] bundle rebuilding appears in the console when navigating page mostly...
Is there something I'm doing wrong? My SCSS include is line 1 of each of the pages. It doesn't seem to be limited to a single page.

Possible duplicate of zeit/next-plugins#282


Remove state option from goto

This came from #1643 and references #1641 but doesn't actually do anything useful as far as I can tell — it's one part of a three part proposal that was never discussed and is useless without the other two
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Going to close this as @gustavopch described a use case in https://github.com/sveltejs/kit/issues/3236#issuecomment-1011436921. I think we can probably do a better job of enabling that use case (and related ones, like the modal overlay you get when you click a photo in on an instagram.com profile, instead of being navigated to the photo page) without the drawbacks of exposing history.state like this (namely that goto triggers a useless navigation, and we're forced to mutate the state object), but that can come later.


Added from_bytes() method to MetaMessage class

I've tested this only on a Windows 10 system on python 3.6.1. Tested it on all possible kinds of
MetaMessage messages. I don't know if there's some standards that I should have abided by in
writing the function. I think this is quite useful and I was missing this feature.

I have added tests for your new method and will merge your changes soon.
Thank you for your contribution!


python: Ignore *args and **kwargs when generating cxxMethod pybinding script

When generating a @cxxMethod decorated Python method, a method
  @cxxMethod
  def f(arg1, arg2):
    pass

will be generated into
  ...
  .def("f", &f, py::arg("arg1"), py::arg("arg2"))
  ...

This align with the general pybind usage.
However, for function signatures including *args and **kwargs, these shouldn't be in the pybinding def arguments. (reference)
This commit attempts to fix this and thus to support *args and **kwargs.

@ivanaamit It seems like the CI process is taking a while. It's my first time submitting a pull request, so I'm wondering whether this is normal, or is there something I should be aware of? Thanks!

Do you mean the following?
Currently, gem5 will do the following:
  @cxxMethod
  def f(arg1, arg2,  *args, **kwargs):
    pass

gem5 will generate:
  .def("f", &f, py::arg("arg1"), py::arg("arg2"), py::arg("*args"), py::arg("**kwargs"))

And this is wrong.
If so, please explain how your change solves this problem. What will now happen when someone writes def f(arg1, arg2,  *args, **kwargs)?

The generated binding script will become
.def("f", &f, py::arg("arg1"), py::arg("arg2)), which aligns with the pybind documentation.

@handsomeliu-google (Apologies, I asked @ivanaamit to write the message above and it is my confusion)
I am still unclear as to what is the correct result and what is the incorrect result. Can you please describe what the problem is that you're solving and what the correct output should be?

This is a guess, but I think a better description of your PR would be the following:
According to the pybind documentation, "When combining *args or **kwargs with Keyword arguments you should not include py::arg tags for the py::args and py::kwargs arguments."
Currently, if you use the cxxMethod decorator on a function that has *args or **kwargs, gem5 will incorrectly add these variables to the pybind generated declaration.
I.e., def f(arg1, arg2,  *args, **kwargs): -> .def("f", &f, py::arg("arg1"), py::arg("arg2"), py::arg("*args"), py::arg("**kwargs")) which is incorrect pybind code.
To fix this problem, we should ignore variables in the generator if they are *args or **kwargs. This change skips these variables when creating the pybind declaration.

Thanks @powerjg and @ivanaamit for the clarification and suggestion!
The description from @powerjg is so informative. I'll just copy them to this PR. Thanks a lot 😄


Allow users to view data for a pathway

Currently the website only allows users to view data for one gene.
During our last meeting @hirscheylab mentioned that supporting a pathway oriented view of the data would be a meaningful expansion to the value this website provides.
For this improvement we need to consider how to organize the content into separate pages.

Organizing Pages
Below are two approaches I have come across for supporting a larger shiny app with more pages.
Option1: Shiny server directory of Applications
The shiny server supports hosting multiple apps each within a separate directory.
Instead of:
code/app.R

We would have something like:
code/gene/app.R
code/pathway/app.R

These two app.R files would serve datadrivenhypothesis.org/gene/ and datadrivenhypothesis.org/pathway/ respectively.
With this option a user is expected to create an index.html file in the top directory to allow the user to navigate to the various apps. So we would also need to add:
code/index.html

The only downsides I have come across to this are

RStudio runs apps one at a time so debugging hyperlinks that navigate between apps will be more difficult. There is no native mac support for shiny-server so it requires docker to test multiple apps cohesively.
This might use more memory than the more complicated options below due to apps not sharing data.

It could provide a URL that looks similar to: datadrivenhypothesis.org/gene/?symbol=BRCA1 for viewing the BRCA1 gene.
Option2: Use shiny.router
There is R library that lets you support multiple "pages" via one app named shiny.router
Each page ends up with a separate ui and server type function.
A good walkthrough is available here:
https://appsilon.com/shiny-router-a-simple-routing-package-for-shiny/
The downsides from this are:

It makes use of unexpected URLs. For example we might end up with something like datadrivenhypothesis.org/?symbol=BRCA1#!/gene for the URL for viewing the BRCA1 gene. In the code this url is referred to as /gene which I found confusing.
The code will require more effort to keep it well organized since everything is handled within a single app.R file.

The only positive I can see is the "pages" should be able to share data between them.

Option3: More conditional pages
We could still use one app.R file, but instead dictate the downstream behavior based on what is input into the search box.
Benefits are:

It makes one app to maintain rather than two
It would allow for easier linking between genes and pathways

Drawbacks are:

More complicated conditional code
Could make longer load up times and/or memory allocation, as additional data files would likely need to be loaded that might never be used in a use case

Made a pathways branch (https://github.com/hirscheylab/ddh/tree/pathways) to test option #2 above

In testing out Option2: Use shiny.router I have hit a problem where the app is unresponsive after a user clicks the browser back button multiple times. I think it is related to this issue: https://github.com/Appsilon/shiny.router/issues/67
I also noticed that shiny.router seems to be using an iframe which was unexpected. I haven't used iframes in a while, but when I did I found them difficult to get right.

@johnbradley:
As I build out the pathways UI and reports, it might be helpful to have a content page type specifically for the custom gene list. We currently have
content=gene&symbol=BRCA1
content=pathway$go=123456
content=pathway&custom_gene_list=BRCA1,BRCA2
Can you make the custom_gene_list a content type?
This way it could be programmatically accessible for report generation.

Can you make the custom_gene_list a content type?

Sure. I will create a PR @matthewhirschey

PR #87 adds this feature


use SBE generated message types as plain C/C++ structure

[C++]
I understood that SBE is for sending messages on wire, but often we use same types in our program to pass to functions and get values populated before doing so. Here we always need to provide buffer externally and maintain its lifetime
e.g.
Car carObj;
carObj.serialNumber(1234); //segmentation fault, as expected
can we generate something as below, this will enable developers not to maintain buffer explicitly. This will be backward compatible as we will not touch auto generated Car object.
struct CarWrapper{
CarWrapper(){
obj.wrap(buffer, 0, ...,  ...)
}
Car obj;
char buffer[];
};

This could be auto-generated, yes. But I think it is also possible to use a template to do this. Create a template that can hold an SBE codec (the template param) and use operator() to return the codec for usage. The template would hold the buffer as a std::array with the length being the largest expected length.


Cargo Import not working

Describe the problem
For my current city I'm unable to recieve any imports for the commercial or industrial areas either by road or rail (I don't have a cargo harbour). No cargo trains or vehicles spawn with goods or materials directed into the city, however dummy traffic is still able to spawn. I am also recieving the following error within the game using the extended error outputs;
An exception occured during VehicleAI simulation step.
Asset: Forestry Truck
VehicleID: 10312
Type: CargoTruckAI
Severity: High
System.IndexOutOfRangeException: Array index is out of range.
at PassengerPlaneAI.StartPathFind (uint16,Vehicle+) <0x002a8>
at PassengerPlaneAI.SetTarget (uint16,Vehicle+,uint16) <0x00122>
at (wrapper dynamic-method) CargoTruckAI.DMD<DMD<ChangeVehicleType_Patch2>?1253452672..ChangeVehicleType_Patch2> (VehicleInfo,uint16,Vehicle+,PathUnit/Position,uint) <0x00960>
at CargoTruckAI.ChangeVehicleType (uint16,Vehicle+,PathUnit/Position,uint) <0x0004a>
at TrafficManager.Custom.AI.CustomVehicleAI.CustomUpdatePathTargetPositions (uint16,Vehicle+,UnityEngine.Vector3,int+,int,single,single) <0x02554>
at CarAI.SimulationStep (uint16,Vehicle+,Vehicle/Frame+,uint16,Vehicle+,int) <0x00880>
at VehicleAI.SimulationStep (uint16,Vehicle+,uint16,Vehicle+,int) <0x003b9>
at TrafficManager.Custom.AI.CustomCarAI.CustomSimulationStep (uint16,Vehicle+,UnityEngine.Vector3) <0x005cf>
at TrafficManager.Custom.AI.CustomCargoTruckAI.CustomSimulationStep (uint16,Vehicle+,UnityEngine.Vector3) <0x00199>
at HealkitMod.Patches.VehicleManagerPatch.SimulationStep (VehicleAI,uint16,Vehicle+,UnityEngine.Vector3) <0x00062>
This seems to occur for each alternate type of vanilla cargo vehicle. I have tried launching the save in safe modes using LSM but this has not fixed the issue and I have also tried the broken node finder to no success (in terms of seeing if it was a cause, no broken nodes were found).
Steps to reproduce
Since it occurs due to import of cargo all that needs to be done is to wait until the error appears.
Log files
output_log.txt

I've found this steam thread as well with a seemingly identical issue:
https://steamcommunity.com/app/255710/discussions/0/2296220207949815906/

Hi, I need savegame to reproduce that issue. Guide how to share saved game

https://steamcommunity.com/sharedfiles/filedetails/?id=2168233496
Mods and Asset list .txt:
Mod Asset List.txt

Hmm, I tried you savegame, downloaded all assets and mods and I can't reproduce issue.
I was running simulation at full speed more than 30 min and nothing, not even one single error appeared. Also I didn't spot any issues with import/export
Make sure that all necessary assets are enabled, like train stations, because if missing, game might throw some errors and skip whatever is doing at a time of error, including sending trucks to other buildings.

Okay thank you so much for having a look, I've had a further check and it turns out there's something impacting the entire vehicle path finding AI all together, no matter whether it's through TMPE or vanilla pathfinding. Anyway thank you for the assistance (and cheers for maintaining this excellent mod).

I'm closing this issue. If problem returns, please reopen it again 😉

Of importance: Enhanced District Services (ID:<PHONE_NUMBER>) is known to ruin industry area imports (both vanilla and with industries DLC). Many people in the mod's comments section have commented with industry supply problems, some saying that an older version of the mod appears to work fine. I know this from experience, as subscribing and enabling the mod destroyed my city's economy and removing the mod caused instant improvement.

Do you have an airport or passenger helicopter outside the central 25 tile area? It's known to break 81 Tiles mod.


Games And People

Hello eveyone so this is somthing about the games it have alot games and the people is playing along time we need to shut it down and put more stuff so is will be good

Hello Shut Down All The severs Thank you!


refactor: throw instead of succeeding with an error

Type of change

[x] 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)
[ ] Documentation update

Describe the changes you have made in this PR -
Instead of resolving with error messages we should throw errors. This currently leads to weird things such as SendPaymentResponse being two responses.

ahh, I think we have to be careful there... due to that messaging between the content script and the background script we can not have real error objects there. We need to pass a object..
This means the error somewhere must be transformed into an object with an error key... not sure if this happens somewhere?


make rest API depend on db manager interface rather than structure

Currently there is no way to mock or use different implementation of EntityDbManager that is used by rest api. Replacement of this dependency with interface makes it possible

As we decided that it won't help us in DB instance tracking, I'm closing this one


Is it possible to add custom obstacles

Hello,
It's a very much useful tool, thanks for your efforts in developing it. It would be very nice to see the tool working, withh adding option to include custom object.
Regards,
Ajay

Hi Ajay,
This repository is meant to provide an interface to simulate lidar sensors in Gazebo Classic. The models spawned in a Gazebo environment are independent of the functionalities of this package.
We provide an example launch file within this package where the lidar is simulated in an empty world. Perhaps changing the world file to another world file containing the obstacles of your choice would help.
If you feel that I have not understood your question correctly, could you please elaborate your question?
Thanks,
Mihir Kulkarni

Closing this as issue is related to use case for other repositories.


Replacing url by variables batch3

Summary
Replacing the last urls by variables. This is the third and final batch.
Ticket Link
https://mattermost.atlassian.net/browse/MM-42599
Related Pull Requests
First batch was  https://github.com/mattermost/mattermost-webapp/pull/10208
Second batch was https://github.com/mattermost/mattermost-webapp/pull/10299
Release Note
NONE

Huge thanks to @hmhealey for his patience and his help
As discussed: you would fix "announcement_bar.error.site_url_gitlab.full and "announcement_bar.error.site_url.full
These are only modified in en.json

I'm going to be out for the next week, so I've assigned Nevy and Zubair to finish up the reviews on this once that last comment is resolved and the CI is fixed

@nevyangelova and @M-ZubairAhmed
It's ready for e2e-tests :pray:

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

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

/e2e-test

@ctlaltdieliet can you please fix the conflicts

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/216853

Thanks @ctlaltdieliet
Tested, looks good to merge.

Verified urls/links; e2e report - no PR related failures.


functional simulation test

Addresses #1105 by replacing tests on simulation results that target specific values to target relations between values based on the transition equations of the model.
Maybe to introduce another way to test simulations also.
Please ensure your pull request adheres to the following guidelines:

[x] Tests for new functionality/models or Tests to reproduce the bug-fix in code.
[x] Updated documentation of features that add new functionality.
[x] Update CHANGELOG.md with major/minor changes.

Codecov Report

Merging #1148 (8953c1b) into master (ea73795) will increase coverage by 0.24%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1148      +/-   ##
==========================================
+ Coverage   73.83%   74.07%   +0.24%
==========================================
  Files          69       70       +1
  Lines       10636    10809     +173
==========================================
+ Hits         7853     8007     +154
- Misses       2783     2802      +19

Impacted Files
Coverage Δ

...tionSaving/tests/test_PerfForesightConsumerType.py
100.00% <100.00%> (ø)

...tionSaving/tests/test_TractableBufferStockModel.py
100.00% <100.00%> (ø)

HARK/frame.py
84.89% <0.00%> (-7.59%)
:arrow_down:

HARK/utilities.py
31.59% <0.00%> (-0.06%)
:arrow_down:

HARK/tests/test_distribution.py
100.00% <0.00%> (ø)

...mptionSaving/tests/test_ConsPortfolioFrameModel.py
100.00% <0.00%> (ø)

HARK/tests/test_frame.py
100.00% <0.00%> (ø)

HARK/ConsumptionSaving/ConsIndShockModel.py
85.86% <0.00%> (+0.03%)
:arrow_up:

HARK/core.py
91.47% <0.00%> (+1.06%)
:arrow_up:

HARK/distribution.py
85.39% <0.00%> (+2.05%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

@Mv77 thanks for looking over all of this.
To elaborate a bit on the history, @sbenthall and I had some past disagreements about what should be tested, until finally I realized that his point was that the traditional purpose of such tests was to discover places where a change just caused code to stop working in even the most elemental sense.  What I had wanted was to test whether the code produced the "right answer" in a substantive sense (or at least the same answer to a substantive question that had been produced by previous versions of the code).
We now have some tests of one kind and some of the other, and perhaps we ought to try to distinguish them more explicitly so that any software engineers who come to the project will understand which tests are of the "does it run" kind and which are of the "is it right" kind.  (I can see how "is it right" doesn't make sense for many software projects, like, say, a Word processor or whatever).
In any case, for the "is it right" kinds of tests my sense is that the appropriate choice is probably to set some threshold of the kind you propose -- is the new answer within x percent of the old answer.  But I think "x" should probably be something like 0.1 percent, not 15 percent, and not the 12 digits or 8 digits of floating point precision we had used in some of the "is it right" tests before.

Yes, I remember I was part of some of thise conversations and I remember them generating some disagreement.
I see the value for having both kinds of tests.
I trust @sbenthall's wisdom that perhaps a unit test is not the right way to check whether the stochastic properties of objects "behave well." Maybe we should figure out a more fitting way to do that, raising warnings or who knows what.
But that's one for the future, I think. With this PR Seb clears a bunch of tests that we have agreed definitely should not be there, and that is a very good thing. So I'd be very happy to merge this in and postpone the useful discussion of how to do the other type of tests.

Go ahead and merge.  (My message was partly just to codify our past
conversations for future contributors).
On Wed, Sep 21, 2022 at 6:01 PM Mateo Velásquez-Giraldo <
@.***> wrote:

Yes, I remember I was part of some of thise conversations and I remember
them generating some disagreement.
I see the value for having both kinds of tests.
I trust @sbenthall https://github.com/sbenthall's wisdom that perhaps a
unit test is not the right way to check whether the stochastic properties
of objects "behave well." Maybe we should figure out a more fitting way to
do that, raising warnings or who knows what.
But that's one for the future, I think. With this PR Seb clears a bunch of
tests that we have agreed definitely should not be there, and that is a
very good thing. So I'd be very happy to merge this in and postpone the
useful discussion of how to do the other type of tests.
—
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/1148#issuecomment-1254379029, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK72WXI37A5TW53VTYFDV7OVV3ANCNFSM5XOVTTGA
.
You are receiving this because you commented.Message ID:
@.***>

--
Sent from Gmail Mobile

Hello,
Thanks for the review @Mv77
I've removed/repaired tests as per your recommendations.
As for testing sampled moments, I see it like this:

We do not want to have tests that sometimes, rarely, fire a false positive. Why? Because in 10 years when HARK is being used by the Fed, ECB, and Goldman Sachs to dynamically model the economy with trillions of dollars on the line, we don't want a stochastic test failure in a Continuous Integration pipeline (that runs the tests a hundred times a day) to set off a lot of mysterious, hard-to-debug warning bells and cost the economy because we wrote some sloppy tests when it didn't matter.
Technically, with a fixed random seed, these won't be stochastic tests. But we are rewriting these tests so that we don't need to rely on a particular RNG or distribution implementation; in the future we may support many alternatives.
I think you, @Mv77 , are totally right to ask, of tests, "What is this a test for?" When we have tests that some value, computed from a bunch of given parameters, is within some approximate range will, with a negative result, tell you 'something went wrong'. But it's better to test smaller pieces of the functionality, so they tell you what went wrong.

Yup, I accept your wisdom about false positives, and your optimism about the future!
This is not a concern that blocks this PR but a question instead, which could be placed somewhere else for a continued discussion: how does the comp-sci/software development deal with 'testing' the robustness of things that should always be true in a fuzzy sense about the software? Like the accuracy of a numerical method: you know that changes to the algorithm can introduce small changes in the exact output, but you'd like to have a check that lets you know if the output moves away from a known theoretical answer.
I trust your advice that unit tests are not the place to do this. But is there some other way to do this? How do Matlab and Mathematica check that their differential equation solvers do not break when they make a marginal improvement to their matrix multiplication algorithm?

My sense is that the way to proceed on all of this is to set fairly loose tests regarding the final results, and successively tighter tests for the components that lead to the final result.
If the existing code says that the value of $\bar{A}/\bar{P}$ is $w$, and some change to the code produces a number that is not within 1 percent of $w$, it is almost certain that somewhere a bug has been introduced.  Since there are a bunch of steps (W, X, Y, and Z) that contribute to producing the value of x, the natural progression would be to successively introduce tests for whether the Z step produces the correct value $z$, the Y step produces the correct value $Y$, and the X step produces the correct value $X$.
But I would not agree with the proposition that we should not test for $w$ being within 1 percent of the "correct" value of $w$ because that would not immediately tell us which step was the culprit.  Seems like the natural process of debugging why $w$ is off would be to introduce the tests at each of the earlier stages.  You might only get to the X test and realize the bug was there; then adding the tests fro the Y and Z stages can wait until there's a case where the W test fails and the X test fails, in which case you need to write a Y test, and if the model passes that Y test you need to write a Z test.
This lets us build our testing apparatus as needed, and prevents us from writing tests for cases where in practice there is never a problem.

how does the comp-sci/software development community deal with 'testing' the robustness of things that should always be true in a fuzzy sense about the software?

I assume that you mean probabilistic, rather than fuzzy. Fuzzy logic being a rather different beast which allows for continuously valued truth values.
It's a good question, and not one I've looked into carefully before. But after doing a little searching and intuiting...
It looks like there are at least a couple things we haven't considered:

Getting a good probabilistic estimate requires sampling the system over multiple realizations (or seeds). That means that the accuracy of the test comes with a computational cost, which has to be traded off.
Rigorous thinking about the statistics of what's being measured is important for calibrating these tests. Hand-waving "almosts" won't cut it.

These two articles (from 2016 and 2018) are near-top Google hits on the topic, and indicate that this is an active research area and unsolved problem. "Probabilistic programming" is a relatively recent research area which has yet to find mainstream uptake and applications.
https://alexey.radul.name/ideas/2016/on-testing-probabilistic-programs/
https://www.cs.cornell.edu/~legunsen/pubs/DuttaETAL18ProbFuzz.pdf

I think I meant fuzzy in the fuzzy logic sense. The tests we are talking about would not be of the type "Is A==B" which is either true or false. We'd like to have an answer to "Is moment_a close to true answer B?" which admits answers like "kind of."
The fuzzy truth value of the answer to that question is, as you said, stochastic.


Properly handle command errors (e.g. OOM)

fixes #18

also, branch issue-18-v1.0.0 is a rebase on v1.0.0 tag, hope to see a 1.0.1 version with a fix soon!

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then  say 'jenkins, test it'.

please jenkins, test this.


drivers: ethernet: Add Xilinx AXI Enet driver

The Xilinx AXI Ethernet subsystem is commonly found in FPGA designs. This patch adds a driver and device tree bindings for the Ethernet MAC core.
The driver was tested on a RISC-V softcore in an FPGA design, with an RGMII phy and Ethernet subsystem version 7.2 Rev. 14. Device tree bindings match the device tree generated by Vitis hsi. Note that Vitis generates one of the two included compatible strings depending on version.
Please not that TX checksum offloading depends on https://github.com/zephyrproject-rtos/zephyr/pull/73985.

https://github.com/zephyrproject-rtos/zephyr/pull/73985 needs to be resolved before this can be merged, possibly necessitating modifications.

Note that the Ethernet MAC driver depends on the Ethernet MDIO and the AXI DMA drivers.

@WorldofJARcraft Is it on purpose that zephyr_library_sources_ifdef(CONFIG_XILINX_AXI_ENET dma_xilinx_axi_enet.c) is not included in zephyr/drivers/ethernet/CMakeLists.txt`?
I'm fairly new to zephyr so forgive if I am missing something.

CI failure is expected as long as the DMA (https://github.com/zephyrproject-rtos/zephyr/pull/73926) has not been merged. As the DMA has uses outside of the Ethernet subsystem (e.g., with custom AXI-Stream IP), I think it should be a separate PR.

I have removed the kernel panics from the driver, relying on error messages and appropriate return codes instead.

I have rebased this PR to main after the DMA was merged. I think this ready to be merged as well if you are satisfied.

@HariniKatakamX I pushed a new version, trying to address your comments. However, I have not managed to get the ethernet subsystem working without having the MDIO driver separate, with a separate (artificial) compatibility - in my understanding, zephyr's device tree macros and device model just do not allow this. Please see my more detailed comments above.


ideviceinfo returned an error: ERROR: Could not connect to lockdownd, error code -8

Hi I am getting this error every single time when running the flutter app using usb debugging almost all the time. running flutter clean works sometimes. I would have to reconnect the usb cable  for the app to run again.
ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -8

flutter doctor -v

[✓] Flutter (Channel master, v0.11.7-pre.52, on Mac OS X 10.14 18A391, locale en-US)
    • Flutter version 0.11.7-pre.52 at /Users/shashi/flutterNbeta
    • Framework revision 79b5e5bc8a (2 days ago), 2018-11-19 10:37:55 +0100
    • Engine revision cebde437a1
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/shashi/Library/Android/sdk
    • Android NDK at /Users/shashi/Library/Android/sdk/ndk-bundle
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 30.0.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[!] IntelliJ IDEA Ultimate Edition (version 2018.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins

[!] IntelliJ IDEA Community Edition (version 2017.3.5)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins

[!] VS Code (version 1.28.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • Pixel XL        • HT6AL0200842       • android-arm64 • Android 9 (API 28)

"Xcode Command Line Tools" are installed?

I'm having the same issue.

在项目目录下执行 flutter doctor -v，看有哪些出错了，该更新更新，该安装安装。详细https://www.yuque.com/wanghuajian620/mnrxri/psp8te

应该是你之前开启的模拟器没有正常关机而是直接退出导致的，重启大法或者重开模拟器关机就行

follow this, one by one
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.2)
✗ Flutter requires Android SDK 28 and the Android BuildTools 28.0.3
To update using sdkmanager, run:
"/Users/changzhongwei/Library/Android/sdk/tools/bin/sdkmanager" "platforms;android-28" "build-tools;28.0.3"
or visit https://flutter.io/setup/#android-setup for detailed instructions.
[!] iOS toolchain - develop for iOS devices (Xcode 10.2)
✗ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
[!] Android Studio (version 3.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] Connected device
! No devices available

I don't not why. But I solved it with restart Computer or run:
brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller

it solved my problem.Thanks.

我不是为什么。但我用重启计算机解决了它或运行：
brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller

为什么 我的不行？已经试过好多次了

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17
Who can help me resolve this question

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.5 18F118d, locale zh-Hans-CN)
⣷Unhandled exception:
Exception: ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17
#0      IMobileDevice.getInfoForDevice (package:flutter_tools/src/ios/mac.dart:141:9)

#1      IOSDevice.getAttachedDevices (package:flutter_tools/src/ios/devices.dart:156:55)

#2      IOSDevices.pollingGetDevices (package:flutter_tools/src/ios/devices.dart:110:57)
#3      PollingDeviceDiscovery.devices (package:flutter_tools/src/device.dart:171:52)

#4      DeviceManager.getAllConnectedDevices (package:flutter_tools/src/device.dart:99:46)

#5      DeviceValidator.validate (package:flutter_tools/src/doctor.dart:694:54)

#6      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:116:52)
#7      Doctor.diagnose (package:flutter_tools/src/doctor.dart:189:41)
#8      _AsyncAwaitCompleter.start (dart:async/runtime/libasync_patch.dart:49:6)
#9      Doctor.diagnose (package:flutter_tools/src/doctor.dart:179:24)
#10     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:48:39)
#11     _AsyncAwaitCompleter.start (dart:async/runtime/libasync_patch.dart:49:6)
#12     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:34:42)
#13     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:545:18)
#14     _asyncThenWrapperHelper. (dart:async/runtime/libasync_patch.dart:77:64)
#15     _rootRunUnary (dart:async/zone.dart:1132:38)
#16     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#17     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#18     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#19     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#20     Future._complete (dart:async/future_impl.dart:473:7)
#21     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#22     _AsyncAwaitCompleter.complete. (dart:async/runtime/libasync_patch.dart:33:20)
#23     _rootRun (dart:async/zone.dart:1124:13)
#24     _CustomZone.run (dart:async/zone.dart:1021:19)
#25     _CustomZone.bindCallback. (dart:async/zone.dart:947:23)
#26     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#27     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#28     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#29     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17

Who can help me resolve this question
I've reconfigured the environment twice

解决了吗？

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17

Who can help me resolve this question
I've reconfigured the environment twice

解决了吗？

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17

Who can help me resolve this question
I've reconfigured the environment twice

解决了吗？

没解决，但是我删掉了flutter 环境 重新下载 就ok了

我现在不用安卓那个开发工具了直接用vscode了，现在没有这个问题了。谢谢了
| |
<EMAIL_ADDRESS><EMAIL_ADDRESS>|
Signature is customized by Netease Mail Master
On 05/17/2019 14:20, sm9i wrote:
ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17
Who can help me resolve this question
I've reconfigured the environment twice
解决了吗？
没解决，但是我删掉了flutter 环境 重新下载 就ok了
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -17

Who can help me resolve this question
I've reconfigured the environment twice

解决了吗？

没解决，但是我删掉了flutter 环境 重新下载 就ok了

I have the same issue and didn't figure it out even reinstall the flutter environment.

On MacOS using Android Studio kept getting the same error,

Removed the USB Device
Closed all Emulator and iOS Simulator
Run Flutter Doctor
Connected USB Device

It started working, weird but It worked for me
Same for working on Emulator

Removed the USB Device
Closed all Emulator and Simulator
Run Flutter Doctor
Open a new emulator or iOS Simulator

It will work.
Please give it a try

It

I don't not why. But I solved it with restart Computer or run:
brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller

This worked flawlessly

We should be handling this exception in the flutter tool

I got this because I had an iPhone plugged into my laptop that was busy with a system update. When I unplugged the device, Flutter could see the simulator.
My error code was

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -21

I went crazy, thinking I did something wrong, turns out my iPad charging was the issue.

This has been resolved with https://github.com/flutter/flutter/pull/38629

I got this because I had an iPhone plugged into my laptop that was busy with a system update. When I unplugged the device, Flutter could see the simulator.
My error code was

ideviceinfo returned an error:
ERROR: Could not connect to lockdownd, error code -21

When I connected  my android phone and iphone meanwhile, this problem happened. So I disconnected my Iphone ,so this problem solved.


Allow LaunchTemplateSpecification in LaunchTemplateOverrides

As per AWS document:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html

Thanks!


[CI] Fix check-labels.yml

Fixes a bug where check-labels CI check wouldn't work on forked repositories.

@s3krit can we please get some no-audit-required label to make the check happy for prs that touch the code, but really don't require any audit :P

@bkchr Oops yeah, for some reason I had it in my mind that those labels already existed. Will create those labels and PRs ASAP


What's Blocking The 2.0 Release Please?

We were hopping to get phpdotenv 2.x into Laravel 5.1. Is there anything we can do to help out?

I am backing out some of the stricter changes I made so that phpdotenv 2.0 will be able to accept values with single quotes and no quotes at all if there are no spaces in the value. After that, I will do an official release.

Cool. Is that likely to be done before the end of April, because we're likely to not accept dependency changes in Laravel 5.1 into May.

I am actually doing it right now :)

Changes done - Seeing as how you guys are very experienced staging major releases, what is the best way to go about this?
We currently have a v2 branch, and at some point, I want to move that to master and tag an official v2.0.0 release. Are there any problems with just going ahead and doing that now that everything else (code and README) is ready? Are there any "gotchas" I should know about with composer?

It's fine to move the code over to the master. I don't know if maintaining 1.1 is something you want to do. If so, make a "1.1" branch, and composer will automatically alias that to 1.1.x-dev for you, then you can alias the master to 2.0.x-dev, and everything will work fine. :) Otherwise, you can just maintain a single master branch, aliased to 2.0.x-dev. All the 1.x releases will still be available due to the tags either way. :)

Tagging a 1.1.1 release before moving v2 to the master might be a good idea too. :)

Ping. :)

Ping @vlucas.

Ping @vlucas. Laravel 5.1 needs to ship in the next few days. :)

@GrahamCampbell you might consider an alternative - josegonzalez/php-dotenv.  ;)

I have not abandoned this - just hesitant to push this out as 2.0 right now. I ran into some issues with the current Variable class architecture that I am not 100% happy with. I am also thinking I don't want to commit to supporting JSON and PHP loaders (currently in 2.0 branch), so I can keep this project very simple and shell-style only.
I will probably end up creating a new 2.0 branch that basically just updates phpdotenv to an instantiated object (non-static) with a proper PSR-4 namespaced loader with some re-vamped require checks, and then move some of the current stuff to a 2.1 release.

Works for me. :)

Is 1.x being maintained for a long period of time then?

@mamchenkov Suggesting another package in a package's issue is not very nice.
Since 2.0 is coming up I think it is safe to create a 1.x branch for version 1.x and move v2 to master as @GrahamCampbell. Even if you are not releasing right now. You can also tag pre-releases if you are not entirely happy with the current code and want to give a preview of the current state of the package. This way people can start to use it.

Personally I think ditching json etc is a good idea. Environment is environment and those who understand why will use it. There already are gazillion of general config managers.

:+1:

Yep. That's the main motivation behind it - way too many people are thinking this is a general config replacement, asking for things like array support, etc. This is sensitive config values only, not a full config replacement, and since it emulates Environment variables, it should only support setting variables the same way the shell does. Adding JSON, PHP, and YAML loaders will just confuse more people, and is beyond the scope of this library.

Is it possible to get 2.0.0 out today so laravel 5.1 can switch to it?

With my current idea for a 2.0, that should be possible. I am working on it now and will try my best!

Great. :)

"1.1" is a better branch name than "1.x" because composer will automatically understand it as being "1.1.x-dev".

Just submitted PR #87 for community review. Will update the comments on it shortly.

@GrahamCampbell deleted the 1.x branch and re-named it 1.1 :)

It also might make sense to keep "2.0" as a "2.0" branch, and have the master aliased to "2.1". Laravel and symfony follow this approach. :)

Okay. Good advice. I am still waiting on the results from Travis-CI, and I am going to be busy tonight. I will give this 24 hours for other comments from the community who are following this tickets, and then will publish a 2.0 tagged release tomorrow morning.

Ok. Sounds great. :)

v2.0.0 has been tagged in a release: https://packagist.org/packages/vlucas/phpdotenv
:fireworks: :100:


DocSearch is showing no result sometimes

I'm not sure where it's coming from. It's the same config as on most of the websites, but some queries are failing. I opened a bug back here: https://github.com/algolia/docsearch/issues/1041

Fixed


ADD: Resources to Topology for External Authorizer (OSSM)

Add the resources used in the setting up of external authorizer to the topology for using OSSM.

Not need


Document workflow for users of the application

Currently, the application is pretty much in an "experimental" state, and usage may lead to getting burnt real quick.
We'll need documentation on how maintainers are supposed to behave, specifically in regards to milestone handling.
As it currently stands, the tool is intelligent enough to stop if not all milestone issues are closed, but that's pretty much it for now.

@doctrine/doctrinecore please check the README and see if the proposed workflow is acceptable for all repositories in the organisation so far.
I'm gonna use this only on a test repository until we have consensus about the branching model, and the current implementation as of #1 proposes maintenance branches being pushed into development branches..

Duplicate of https://github.com/laminas/automatic-releases/issues/13


allow to suppress leptonica messages by environment variables

Rationale: if  user intentionally built leptonica without tiff support, leptonica would  produce errors even it has no effect on tesseract:
> f:\win64\bin\tesseract.exe F:/Project/tesserocr/tests/eurotext.png -
Error in pixReadMemTiff: function not present
Error in pixReadMem: tiff: no pix returned
Error in pixaGenerateFontFromString: pix not made
Error in bmfCreate: font pixa not made
The (quick) [brown] {fox} jumps!
Over the $43,456.78 <lazy> #90 dog
& duck/goose, as 12.5% of E-mail
from<EMAIL_ADDRESS>is spam.
Der ,schnelle” braune Fuchs springt
iiber den faulen Hund. Le renard brun
«rapide» saute par-dessus le chien
paresseux. La volpe marrone rapida
salta sopra il cane pigro. El zorro
marron rdpido salta sobre el perro
perezoso. A raposa marrom ripida
salta sobre o cdo preguigoso.

This modification would allow user to control leptonica messaging by environment variable. E.g.
> set LEPT_MSG_SEVERITY=6
> f:\win64\bin\tesseract.exe F:/Project/tesserocr/tests/eurotext.png -
The (quick) [brown] {fox} jumps!
Over the $43,456.78 <lazy> #90 dog
& duck/goose, as 12.5% of E-mail
from<EMAIL_ADDRESS>is spam.
Der ,schnelle” braune Fuchs springt
iiber den faulen Hund. Le renard brun
«rapide» saute par-dessus le chien
paresseux. La volpe marrone rapida
salta sopra il cane pigro. El zorro
marron rdpido salta sobre el perro
perezoso. A raposa marrom ripida
salta sobre o cdo preguigoso.

Parameter would effect only executable. Env. variable (EV) would effect also library, so this would effect also other program build with tesseract library without need to implement such parameter.
In case of EV user do not need to care about version of tesseract (parameter would rise error on older tesseract version, while EV cause no harm)

We already call setMsgSeverity in main. Removing the preprocessor conditions there would solve the reported problem for the tesseract executable (it worked in earlier builds which defined NDEBUG). This should be done.
Any users of the Tesseract library can simply call setMsgSeverity(L_SEVERITY_EXTERNAL) to control the Leptonica messages via environment variable.

Why the all change can't be just
if (std::getenv("LEPT_MSG_SEVERITY"))
  setMsgSeverity(L_SEVERITY_EXTERNAL);

For tesseract it is sufficient to remove the preprocessor conditionals to get rid of all but error messages from Leptonica. The suggested code can optionally be added if you want to allow more Leptonica messages.

PR #3349 implements the code as suggested by @egorpugin.


toggl: Add version 7.5.454

Not sure what changes need to happen as the error seems with the automated check on PS6? Need a little more handholding here, apologies.

/verify

By the way, persist is not needed because config is stored at $Env:LocalAppdata\TogglDesktop.

Isn't 7.5.454 a pre-release?

/verify

Sorry this is a little confusing. The GitHub repo mentions latest stable release as 7.5.363 (released Oct 30, 2020), but their website says 7.5.445 (released Mar 25, 2021). See - https://toggl.github.io/toggldesktop/
The strange part is that the homepage doesn't contain 7.5.363 release.

The problem is that the changelog (https://toggl.github.io/toggldesktop/) is generated by javascript.
It cannot be parsed by checkver.

The changelog is parsed from https://toggl-open-source.github.io/toggldesktop/assets/changelog/win.json, the version number could be extracted from here.


How to show vue-devtools in electron?

Just follow these commands:
vue init simulatedgreg/electron-vue my-project
cd my-project
yarn
yarn run dev
By default, It should appear the vue-devtools, but it doesn't.
Screenshot

After electron startup for a while, console show this message:
┏ Electron -------------------
Failed to fetch extension, trying 4 more times
┗ ----------------------------
Development environment

vue-electro: 1.0.6
Node version: 7.9.0
NPM version: 5.6.0
vue-cli version: (if necessary) 2.9.2
Operating System: win7-sp1 x64-based

Any idea where this folder would be on linux or mac?

@jeeftor
It is under /Users/<usrname>/Library/Application Support/Electron/extensions on mac


python310Packages.google-cloud-asset: 3.18.0 -> 3.19.0

Changelog: https://github.com/googleapis/python-asset/blob/v3.19.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

2 packages built:

python310Packages.google-cloud-asset
python310Packages.google-cloud-asset.dist


Update README.md

Grammar -- the subjunctive is appropriate here.

Oh dear, I just realized that this is a direct quote from the DataScript readme.  So perhaps you don't want this change.  The sentence is still wrong, though.

Perhaps open a PR on the DataScript repo?

Oh dear, I just realized that this is a direct quote from the DataScript readme. So perhaps you don't want this change. The sentence is still wrong, though.

Yeah, we'll take this.  Thanks!


Change asdf-pandoc to be maintained by StephanMeijer and Fbrisset

asdf-pandoc does not seem to have been claimed as community repository. I would like to do so so that I can work on my changes as a community effort.
@Fbrisset is the current maintainer of the repository present in the Index.

CC: @sys9kdr

ya, I know Feberist/asdf-pandoc is in index. But Feberist/asdf-pandoc isn't good, IMHO. It doesn't meet basic requirements, and we can only download a few versions of Pandoc with this plugin. see https://github.com/asdf-vm/asdf-plugins/issues/995
I am against putting the current Feberist/asdf-pandoc that doesn't implement basic features into the Community.
If sys9kdr/asdf-pandoc is added to the official index, I will add it to the community.  see https://github.com/asdf-vm/asdf-plugins/pull/996

and we can only download a few versions of Pandoc with this plugin

Correct. I put out a pull request for that.

I am against putting the current Feberist/asdf-pandoc that doesn't implement basic features into the Community.

I'm proposing to put my fork out.

If sys9kdr/asdf-pandoc is added to the official index, I will add it to the community.

I'm not against that. Either is fine for me to be honest.

See also: https://github.com/Fbrisset/asdf-pandoc/pull/6 https://github.com/jgm/pandoc/issues/9810

I saw @StephanMeijer's PR, but there are still some issues https://github.com/Fbrisset/asdf-pandoc/pull/6 . I'll create issues and send a PRs to @Fbrisset later.

@sys9kdr @Fbrisset What do you think going forward making contributions as a team of three? effectively merging all our efforts?

I think it's a good idea. We can only get better by being together.

@StephanMeijer @Fbrisset okay. I'll close my PRs in asdf-vm.

@smorimoto I confirmed that the quality was good enough. Please merge it.


[CSM-562] First draft of the proposed V1 API for Updates

Rendered
This documents is mostly a brain dump (from me) in the attempt of reworking the current update API for the wallet backend in preparation for the new version of the API (V1).
I have tried to gather the state (and limitations) of the current API by conversations with @domenkozar and @flyingleafe , but I suspect this will be just the beginning of the discussion and not the end.
The TL;DR of the proposed API:

Updates are divided in optional and mandatory;
Updates can be skipped, downloaded & applied separately;
Updates can be downloaded (and checked for data integrity) and installed at a later stage;
Downloads are now explicit and not implicit.
Users can check for updates at any time.

As this is now a whiteboard and a chance for all of us as a team to have an active discussion, I would like basically everybody to have a look and share their feedback (especially if what I'm proposing is too naive and doesn't make sense at all 😜 ).
cc @dcoutts @flyingleafe @domenkozar @georgeee @DominikGuzei @darko-mijic

@flyingleafe I have addressed most of your concerns, and the rendered new version is here.
Would you mind having another go and see if it's any better than before? 😉

@flyingleafe (Hopefully) final version rendered here 😉

Okay, this looks solid now. I still don't like that you've decided to leave full WalletSoftwareUpdates as POST/PUT requests inputs, but I can live with it.
As this is only a documentation, I propose you to clean up all the changes in default.nix (cleaning up history with rebase will be the best, but if it turns out to be too cumbersome, a new commit cancelling changes will do), and then we can pretty safely merge this PR without waiting for CI.
(Though we're merging that to your branch, so even this might be unnecessary)

I still don't like that you've decided to leave full WalletSoftwareUpdates as POST/PUT requests inputs, but I can live with it.

@flyingleafe I left that out with the following rationale:

the caveat that I have introduced this type [the checksum] as part of the proposal, and there might be extra work (which might not happen for weeks) to include such checksum in an UpdateProposal from the core layer, whereas we could go straight to my proposal and maybe still defer such "data integrity" decisions for later.

My honest commitment: let's roll out V1, let's have the frontend folks and the core team review the update part, let's amend later if we can with just the updateId. After all up until the Shelley release we can still iterate on V1 up until it won't tick all the satisfaction boxes ;)

I still don't like that you've decided to leave full WalletSoftwareUpdates as POST/PUT requests inputs, but I can live with it.

@flyingleafe I left that out with the following rationale:

the caveat that I have introduced this type [the checksum] as part of the proposal, and there might be extra work (which might not happen for weeks) to include such checksum in an UpdateProposal from the core layer, whereas we could go straight to my proposal and maybe still defer such "data integrity" decisions for later.

My honest commitment: let's roll out V1, let's have the frontend folks and the core team review the update part, let's amend later if we can with just the updateId. After all up until the Shelley release we can still iterate on V1 up until it won't tick all the satisfaction boxes ;)

CI is failing on Darwin just due to timeout. Merging this.

    , wsuSha256Checksum  :: !Sha256Checksum

Why SHA-256? Default hash is Blake2b-256. And we have it as part of update proposal already (exactly, a hash of installer).
data UpdateSeverity = Mandatory
                    | Optional

I don't like to distinguish this by soft/hard forks.
If we want to support this field, this should go as a new attribute to update proposal (my opinion).

I also believe, though, than this restriction was an historical vestige of the fact we were using binary patching (bsdiff) on the executables, but this is no longer true as we ship full installers on S3.

I would argue we should have this option in mind and plan it for post-Shelley. We can't make really frequent updates with 100mb installers, this is absurd.

Regarding API in general I dislike us sticking to idea of "latest" update. I would rather have an endpoint to get list of updates (maybe also past updates), and then have all operations like download/etc described in format like /api/v1/update/<updId>/download

Thank you for the excellent review @georgeee , that's really appreciated! Let me try clarifying some of the details in my thought process. I'm very open to changes, and hopefully this will only clarify where I'm coming from 😉

Why SHA-256?

No particular reason, I just thought that SHA256 is probably the most common hash function used for checksums and it's easily verifiable, so that's way I was proposing using it. But I don't have any strong feelings, I'm perfectly OK to use Blake2b-256 as it seems exactly what we need and is a piece of info we have already.

I don't like to distinguish this by soft/hard forks.
If we want to support this field, this should go as a new attribute to update proposal (my opinion).

I'm open to suggestions. I just thought it was a good idea to have the ability to force an upgrade on the user. There was a similar discussion with @flyingleafe which became a bit philosophical as one may argue that users should be able to choose whether or not they want to support the old or the new chain, so I tend to agree with you distinguishing this via soft/hard forks is not a great idea. The main use case I had in mind, to be honest, was critical security fixes, where definitely we might want to force the user to upgrade. What do you think?

I would argue we should have this option in mind and plan it for post-Shelley.

I hear you, and I think using bsdiff was a laudable idea. However, when I spoke with @domenkozar , he made very clear this was a lovely idea on paper, but that it cannot work in practice due to the intricacies of supporting multi-platform installers, for example things which writes stuff into Window's registry. Maybe Domen can expand further, but here is my outlook: as long as we are not giving away the possibility of refactoring the internals without changing the external API, we should be good.
In other terms, we should answer the question: will using this proposed API put ourselves in a future condition of not being able to support binary patching?

We can't make really frequent updates with 100mb installers, this is absurd.

Maybe 100mb installers are big, this is true, but a very nice advantage over binary patching is that they are self-contained. You install one thing, and you are done. Also, this way updates are stateless, which means independent one between the others. If we use binary patching we are effectively introducing a temporal dependency between updates. What would happen if a user install Daedalus 2 years from now? He will have to go throw a painful process of downloading and installing pieces of small incremental updates. What happens if one of the updates along the chain gets corrupted, stale or removed? That would mean users won't be able to update.
Shipping one single installer solves all of this. If we want to prefer stability over size, the fat-installer is the way to go, in my honest opinion.

Regarding API in general I dislike us sticking to idea of "latest" update. I would rather have an endpoint to get list of updates (maybe also past updates)[..]

I do agree that is not very RESTful to have this weird concept of latest update, and I would be very happy to make the endpoints more homogeneous. However, I guess this is more one for @darko-mijic and @DominikGuzei . If they can work with an endpoint which returns the full list of updates, and use query params filtering to get the latest, I'm very, very happy to make this way more uniform. The question would be, though: do we care?

[..]and then have all operations like download/etc described in format like /api/v1/update//download

Another good idea, and potentially essential if we want in the future to support binary patching. In this case, I think the question should be: Do we really need to download an arbitrary update, even a past one?

Binary diffing is not a high priority. I' reasonably sure that if we ever decide to add it, we could do so transparently to this API since we do the download in the background anyway.

Binary diffing is not a high priority. I' reasonably sure that if we ever decide to add it, we could do so transparently to this API since we do the download in the background anyway.

Whilst I agree is not a high priority, in the proposed API we are actually advocating for an explicit download mechanism, so the idea would be that the user would check for new updates in Daedalus and see a download bar progress after he clicked "download". This means conceptually there is a difference between downloading a single, fat installer vs chasing a chain of small incremental updates. I haven't thought too hard about the implications on the endpoints, but I would say that now that we have a versioned API probably the most pragmatic course of action is to get the ball rolling with a decently-sensible update API and the minute we need to do a substantial overhaul, we do so as part of the version V2 of the API (i.e. mounting the new update API under /api/v2/...).
What do you think folks?


Token error: Missing unauthorized token

While on my dev setup, I am getting "AuthTokenError at /oauth/complete/mediawiki/", precisely a missing unauthorized token error.
@tonythomas01 Is it because we are using a different MediaWiki OAuth consumer and I have some old credentials?

I think it should be. At this moment, you will have to create a new one with the bulk edit rights which we have and update your localsettings.py. Do tell me how this goes. Also see that you are pointing it to test2.wikipedia.org for testing.