Sometimes VAD Freezes/Unable to detect speech end

We are encountering a very weird bug where sometimes in conversation, VAD/Agent cannot detect end of speech.. the usual flow is that user starts speaking and we can get live transcripts for it but when they stop there is no OpenAI call or subsequent agent response (even after waiting for long time), the solution here is to add on something more (user speaks one or two more words and then again stop), then it detects the whole speech segment and now agent replies back.
Very peculiar but annoying bug, Please fix

We're experiencing this too.

it's strange that I still get the user finished speaking events, but the message never comes.

Indeed, my team is creating automated interviewing solutions and we are rigorously using live kit, there is few bugs popping up but overall this is amazing

Hey, I just took a look at the VAD implementation and I'm quite sure it isn't coming from it.
So I think something froze inside the VoicePipelineAgent?
Can you share the debug logs of your agent when this is happening? It would be useful to track where the pipeline hangs.

@theomonnom I'll get some debug logs, but here are some info level ones:
{"message": "Agent state thinking -> speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:32.386400+00:00"}
{"message": "Agent stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.647632+00:00"}
{"message": "logging agent message to backend", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.648797+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.977859+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_QzsLJZ9CtTo3, identity=agent-AJ_6Z4b4mTfh6eR, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.977885+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.977901+00:00"}
{"message": "Agent state speaking -> listening", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:38.977914+00:00"}
{"message": "User started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:39.767192+00:00"}
{"message": "User stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:40.309368+00:00"}
{"message": "Silence timeout", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:46.082361+00:00"}
{"message": "Agent started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:53.329993+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'speaking'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:53.351021+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_QzsLJZ9CtTo3, identity=agent-AJ_6Z4b4mTfh6eR, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 23642, "job_id": "AJ_6Z4b4mTfh6eR", "timestamp": "2024-10-04T21:10:53.351101+00:00"}

The user started speaking/agent started speaking are the event handlers (assistant.on('user_started_speaking') etc)
The silence timeout is a 5 second timeout I have that gets called after 5 seconds of silence.
After the agent's silence timeout (note it says user stopped speaking), the agent still didn't know about the user's message.

@theomonnom here's another one:
{"message": "synthesizing agent reply", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_transcript": "school graduate.", "speech_id": "312d2586ff54", "elapsed": 2.702, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:22.675932+00:00"}
{"message": "first LLM token", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "bec352999b1a", "elapsed": 0.443, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:23.077241+00:00"}
{"message": "first LLM token", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "312d2586ff54", "elapsed": 0.498, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:23.174693+00:00"}
{"message": "first TTS frame", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "bec352999b1a", "elapsed": 1.097, "streamed": true, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.176101+00:00"}
{"message": "started playing the first frame", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "bec352999b1a", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.176384+00:00"}
{"message": "Agent started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.176455+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'speaking'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.196528+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_pHNdhKh2rCu9, identity=agent-AJ_iP27DxV2BajX, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.196603+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'speaking'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.196625+00:00"}
{"message": "Agent state thinking -> speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.196641+00:00"}
{"message": "first TTS frame", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "312d2586ff54", "elapsed": 1.11, "streamed": true, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:24.284736+00:00"}
{"message": "Agent stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:28.817733+00:00"}
{"message": "playout finished", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "bec352999b1a", "interrupted": false, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:28.820274+00:00"}
{"message": "committed agent speech", "level": "DEBUG", "name": "livekit.agents.pipeline", "agent_transcript": " <agent transcirpt>", "interrupted": false, "speech_id": "bec352999b1a", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:29.056301+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:29.056529+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_pHNdhKh2rCu9, identity=agent-AJ_iP27DxV2BajX, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:29.056566+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:29.056587+00:00"}
{"message": "Agent state speaking -> listening", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:29.056601+00:00"}
{"message": "User started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:30.661539+00:00"}
{"message": "User stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:31.241238+00:00"}
{"message": "validated agent reply", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "312d2586ff54", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:32.787292+00:00"}
{"message": "committed user transcript", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_transcript": "<commited transcript>", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:32.787785+00:00"}
{"message": "started playing the first frame", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "312d2586ff54", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:32.998715+00:00"}
{"message": "Agent started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:32.998815+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'speaking'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:33.020321+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_pHNdhKh2rCu9, identity=agent-AJ_iP27DxV2BajX, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:33.020402+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'speaking'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:33.020434+00:00"}
{"message": "Agent state listening -> speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:33.020458+00:00"}
{"message": "Agent stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.759998+00:00"}
{"message": "playout finished", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "312d2586ff54", "interrupted": false, "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.762560+00:00"}
{"message": "committed agent speech", "level": "DEBUG", "name": "livekit.agents.pipeline", "agent_transcript": "<committed transcript>", "interrupted": false, "speech_id": "312d2586ff54", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.940394+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.940600+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_pHNdhKh2rCu9, identity=agent-AJ_iP27DxV2BajX, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.940630+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.940649+00:00"}
{"message": "Agent state speaking -> listening", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:37.940663+00:00"}
{"message": "User started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:39.211851+00:00"}
{"message": "User stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:39.813066+00:00"}
{"message": "validated agent reply", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "456a8f63bf42", "pid": 24696, "job_id": "AJ_iP27DxV2BajX", "timestamp": "2024-10-04T21:41:41.086804+00:00"}

https://github.com/livekit/agents/blob/ab0f446cb0eebd770f820dade1e168cad1503fdd/livekit-agents/livekit/agents/pipeline/pipeline_agent.py#L911
Could it be here?  I feel like that 1.0 should be delay (just poking around)

I added a bunch of logging - it seems to be getting stuck in _commit_user_question_if_needed
{"message": "Agent state listening -> speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:19.534668+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:20.014278+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:20.014572+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:20.515413+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:20.515586+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:21.016198+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:21.016333+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:21.517238+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:21.517434+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:22.017888+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:22.018884+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:22.519314+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:22.519444+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:23.020008+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:23.020445+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:23.520987+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:23.521194+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:24.021886+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:24.022096+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:24.522955+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:24.523102+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:25.024159+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:25.024238+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:25.525787+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:25.525994+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.026618+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.026950+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.527442+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.527633+00:00"}
{"message": "Agent stopped speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.675035+00:00"}
{"message": "playout finished", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "6b4f4f352660", "interrupted": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.675941+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.676034+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.676068+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.676086+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "I got a car.", "interrupted": false, "user_committed": true, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.676145+00:00"}
{"message": "https://app.purplefish.com:443 \"POST /api/engagements/cm1vaq4c5005qta4wtb4gnssw/messages HTTP/11\" 201 None", "level": "DEBUG", "name": "urllib3.connectionpool", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.856574+00:00"}
{"message": "committed agent speech", "level": "DEBUG", "name": "livekit.agents.pipeline", "agent_transcript": "<agent speech>", "interrupted": false, "speech_id": "6b4f4f352660", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.856988+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.857175+00:00"}
{"message": "participant: rtc.LocalParticipant(sid=PA_mSQQdiSUFyHr, identity=agent-AJ_Wk6PhiMXZFnv, name=)", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.857210+00:00"}
{"message": "Participant attributes: {'lk.agent.state': 'listening'}", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.857237+00:00"}
{"message": "Agent state speaking -> listening", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:26.857250+00:00"}
{"message": "Silence timeout", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.208893+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.210598+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.210675+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.711407+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.711620+00:00"}
{"message": "User started speaking", "level": "INFO", "name": "livekit.agents.pipeline", "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:32.987479+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.212177+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.212252+00:00"}
{"message": "playout finished", "level": "DEBUG", "name": "livekit.agents.pipeline", "speech_id": "045a914759a2", "interrupted": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.401319+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.401407+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.401432+00:00"}
{"message": "Checking if user question needs to be committed", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.401446+00:00"}
{"message": "User question not committed: conditions not met", "level": "DEBUG", "name": "livekit.agents.pipeline", "user_question": "", "interrupted": false, "user_committed": false, "pid": 25845, "job_id": "AJ_Wk6PhiMXZFnv", "timestamp": "2024-10-04T22:32:33.401457+00:00"}

mmh interesting, tho the playout should be started before the user question is committed

I think it has something to do with interruption handling. It seems more likely if I start talking right as the agent is about to finish.

It seems to be when there are two user messages being committed - the first one gets committed, but the second gets stuck. Check out this (they're reversed so read from the bottom upl
So the "Yeah." which I said first gets committed, but the "Sure that works." hangs until I reply again. And then it gets appended to the outstanding one. So I think it's... only one message gets committed at a time?
{
  "message": "User question not committed: conditions not met",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "user_question": "Yeah.",
  "interrupted": false,
  "user_committed": true,
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:06.116402+00:00"
}
{
  "message": "User question committed successfully",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:05.114075+00:00"
}
{
  "message": "Committing user transcript",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "user_transcript": "Yeah.",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.950239+00:00"
}
{
  "message": "Checking if user question needs to be committed",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "user_question": "Yeah.",
  "interrupted": false,
  "user_committed": false,
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.950128+00:00"
}
{
  "message": "validated agent reply",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "speech_id": "6279ab903224",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.949863+00:00"
}
{
  "message": "Received end of speech, validating reply",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "transcript": "Sure that works.",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.573735+00:00"
}
{
  "message": "User stopped speaking",
  "level": "INFO",
  "name": "livekit.agents.pipeline",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.573610+00:00"
}
{
  "message": "Not validating reply: human is still speaking",
  "level": "DEBUG",
  "name": "livekit.agents.pipeline",
  "transcript": "Sure that works.",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:04.511658+00:00"
}
{
  "message": "User started speaking",
  "level": "INFO",
  "name": "livekit.agents.pipeline",
  "pid": 344,
  "job_id": "AJ_BC6jbvzYeVL7",
  "timestamp": "2024-10-05T01:22:02.492610+00:00"
}

Another hypothesis:

The AI synthesis kicks off because of high latency.
The user talks and finishes before the agent speaks.
The agent speaks (in response to the previous message, having not seen what the user said). The user's message in #2 is "stuck open".
The user repeats themselves, and that causes their outstanding message to get committed.

@theomonnom As per my debugging, this is difficult to reproduce  but a common pattern/issue I think is due to STT (I am using deepgram)
I think it happens due to un-certainty of text to be transcribed, I was able to somewhat consistently reproduce this by saying a confusing word then making loud noises immediately, then my existing sentences is shown as " ...", it keeps being there until I say something else
probably STT being uncertain what next to come? One pattern also.. You can say exact different sentence and your existing word/sentence (before being stuck), can be replaced/changed with better now-spoken version

@theomonnom what seems to happen is that _play_speech is waiting with an empty transcript, while there's an actual transcript behind it. so until the user says something that causes the empty transcript to get committed, it's waiting in the _speech_q

This is weird, it basically means that Deepgram is never sending final transcripts. Only interim transcripts

That would make a lot of sense, I will try changing providers to Azure maybe and report If it fixes anything


Enhance compatibility and process molecule Services

Changes the compatibility flag to a string to indicate which compatibility layer to use. Adds a quick proof of concept to support @wearemolecule's annotation semantics.
As this is API related it should land in v0.3.
@iterion I would love your feedback on it. It's just a quick hack but I think we're close to supporting your case.

/cc @iterion @ideahitme

LGTM but I am not really aware of how https://github.com/wearemolecule/route53-kubernetes operates

One small comment, but, otherwise LGTM too.

forgot to mention changelog :(


Could it corrupt VS 2017?

I've been using VS 2017 Community (15.5.2) only for .NET development. When I installed the C++ part of it, I immediately faced this issue. Could it be caused by having installed this package? I tried the repair option in the VS installer, tried to uninstall it and install again. Neither helped. I use Windows 7 Professional x64 SP1. A very basic flow is broken in VS, and I have no idea how to fix it.

Hmmmm, possible, but unlikely. I wouldn't put it past Visual Studio to freak out the moment you install a new component, but the build tools installer should do exactly that - install C++ and disappear without breaking anything. I'm very sorry.
In addition, we're installing the 2015 Build Tools, so it should double not touch your VS 2017. windows-build-tools uses the Visual C++ Build Tools directly from Microsoft (http://landinghub.visualstudio.com/visual-cpp-build-tools), I'd be in touch with Microsoft and their support.


Do not print a newline in launchable record session

The output of launchable record session is expected to be passed in to --session in later commands, and the examples in the documentation suggest that this output should be piped to a file and read back in. This output includes a newline character, which makes working with it annoying: you need to ensure your shell removes the newline with proper quoting. By removing the newline, we make this easier to work with. For example, it can be read in by a Jenkins readFile Pipeline step and then passed through to a shell step without quoting.

Thank you! I'm just amazed at the speed in which you are digging!!
Now, what if we make the receiver of the --session option more lenient (for example by stripping whitespace off from both ends)? It seems marginally nicer that the session output contains NL. Plus, where people pass around these session IDs, it's easy to imagine NL creeps in somewhere.

Now, what if we make the receiver of the --session option more lenient

Unfortunately, I do not think this is possible. Consider this Pipeline job:
node {
  withCredentials([string(credentialsId: 'launchable-prototype', variable: 'LAUNCHABLE_TOKEN')]) {
    […] # create a dummy Git repository
    sh 'launchable verify'
    sh 'launchable record build --name basil-test-delete-me --no-commit-collection'
    sh 'launchable record session --build basil-test-delete-me >session.txt'
    def session = readFile('session.txt')
    echo "Session ends with newline? ${session.endsWith('\n')}"
    sh "launchable record tests --session ${session} maven i-dont-exist"
  }
}

Note that here I am using Groovy string interpolation to pass the result of readFile('session.txt') to the sh step without any quoting, naïvely expecting that it doesn't contain anything that needs quoting.  The commit data must be collected separately.
16:53:49  Launchable recorded build basil-test-delete-me to workspace jenkins/bom with commits from 1 repository:
16:53:49
16:53:49  | Name   | Path   | HEAD Commit                              |
16:53:49  |--------|--------|------------------------------------------|
16:53:49  | .      | .      | d8d4ae166c53103cb2cb99b2d6f26c860ca01fce |
16:53:49  [Pipeline] sh
16:53:49  + launchable record session --build basil-test-delete-me
[Pipeline] readFile
[Pipeline] echo
Session ends with newline? true
[Pipeline] sh
+ launchable record tests --session builds/basil-test-delete-me/test_sessions/1848393
Usage: launchable record tests [OPTIONS] COMMAND [ARGS]...
Try 'launchable record tests --help' for help.

Error: Missing command.

Note the + launchable record tests --session builds/basil-test-delete-me/test_sessions/1848393 coming from the shell (an implicit sh -x), which indicates the rest of the command (maven i-dont-exist) isn't even making it to the Launchable CLI process argument vector at all. This means there is nothing I can do to be more lenient about parsing the output within the Launchable CLI process.
In contrast, the output with this PR is as expected:
+ launchable verify
Organization: 'jenkins'
Workspace: 'bom'
Proxy: None
Platform: 'Linux-5.15.0-69-generic-x86_64-with-glibc2.35'
Python version: '3.10.6'
Java command: 'java'
launchable version: '1.61.2'
16:52:48  Your CLI configuration is successfully verified 🎉
16:52:48  [Pipeline] sh
16:52:48  + launchable record build --name basil-test-delete-me --no-commit-collection
16:52:48  Warning: Commit collection is turned off. The commit data must be collected separately.
16:52:48  Launchable recorded build basil-test-delete-me to workspace jenkins/bom with commits from 1 repository:
16:52:48
16:52:48  | Name   | Path   | HEAD Commit                              |
16:52:48  |--------|--------|------------------------------------------|
16:52:48  | .      | .      | d8d4ae166c53103cb2cb99b2d6f26c860ca01fce |
16:52:49  [Pipeline] sh
16:52:49  + launchable record session --build basil-test-delete-me
16:52:49  [Pipeline] readFile
16:52:50  [Pipeline] echo
16:52:50  Session ends with newline? false
16:52:50  [Pipeline] sh
16:52:50  + launchable record tests --session builds/basil-test-delete-me/test_sessions/1848392 maven i-dont-exist
16:52:50  No matches found: i-dont-exist

Of course, I could quote ${session} in my Groovy string or trim it first, but that is the point of this PR: it was surprising and unexpected behavior (to me).
Opinions seem to vary: for example, /var/run/docker.pid on my system does not contain a newline, while /var/run/sshd.pid does. In this case, since the examples are all recommending that you deal with the output yourself (rather than returning an opaque session file to be passed in by filename), I think it makes sense to omit the newline.

Aha, thanks for the context. Yes, that explains it well.

I think this change makes sense but I'll leave it to our engineers to make the final call.

@basil
Thank you for your PR.
Since it requires to pass GitHub Actions to merge to the main branch, and the GA requires to be triggered in Launchable's repository, I merge this to launchable:fix-no-new-line branch.

@basil
This is released as v1.61.3. Thank you!
https://github.com/launchableinc/cli/releases/tag/v1.61.3


Players unable to build/mine in wilderness

Could someone help me out here??
Once I installed this plugin its impossible to edit any land, unless you are given the "*" permission.
I've tried installing different versions, giving a ton of different permissions to regular players but nothing seemed to work it just displays something like "you dont have administrators permissions to interact with minecraft:dirt" and im really confused why.
If any one knows why this happens it will save me so much trouble :/

GriefPrevention is no longer maintained or supported. It is highly recommended to migrate to GriefDefender https://github.com/bloodmc/GriefDefender/wiki/GriefPrevention
See https://github.com/bloodmc/GriefDefender/wiki/GriefPrevention#sponge
on steps to upgrade.
Note: GriefDefender is free to use but If you require support, purchase it on https://www.spigotmc.org/resources/griefdefender.68900/ to get access to the private discord.


atlassian-confluence: 7.5.0 -> 7.5.1

Motivation for this change
https://confluence.atlassian.com/doc/issues-resolved-in-7-5-1-1005800342.html
Things done

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

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

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

backported: 1f54141da1dc5c2623023476126e54d2299ed0c0


Adding auditing and external auth feature docs

Update the commit message to reference the JIRA ticket, i.e. "Fixes: DOC-171"


Following "Building Projects..." Docs Produces Error: "Development server returned response error code: 500"

[X] Review the documentation: https://facebook.github.io/react-native
[X] Search for existing issues: https://github.com/facebook/react-native/issues
[X] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
React Native Environment Info:
System:
OS: Windows 7
CPU: x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Memory: 2.38 GB / 15.96 GB
Binaries:
Yarn: 1.9.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-181.55<IP_ADDRESS>14246
Description
After following the react-native guide to both setup my react-native app, and my android studio AVD, I have received my current error (I will paste it in full below).
Prior to posting I tried to search around, and couldn't find any recent solutions, or working ones. I had tried downgrading react-native to version 55,2, but ran into other errors. I have also tried the four steps the console produces (clear watchman, delete node_modules, etc). Other than what was installed with react-native init, I have no other dependencies.

package.json:
{
"name": "metronome",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.5.0",
"react-native": "0.55.2"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.47.0",
"react-test-renderer": "16.5.0"
},
"jest": {
"preset": "react-native"
}
}

Error:
The development server returned response error code: 500
URL: http://<IP_ADDRESS>:8081/index.delta?platform=android&dev=true&minify=false
Body:
{"originModulePath":"C:\Code\Self-Projects\Metronome\nativeMetronome\index.js","targetModuleName":"@babel/runtime/helpers/interopRequireDefault","message":"Unable to resolve module @babel/runtime/helpers/interopRequireDefault from C:\\Code\\Self-Projects\\Metronome\\nativeMetronome\\index.js: Module @babel/runtime/helpers/interopRequireDefault does not exist in the Haste module map\n\nThis might be related to https://github.com/facebook/react-native/issues/4968\nTo resolve try the following:\n  1. Clear watchman watches: watchman watch-del-all.\n  2. Delete the node_modules folder: rm -rf node_modules && npm install.\n  3. Reset Metro Bundler cache: rm -rf /tmp/metro-bundler-cache-* or npm start -- --reset-cache.\n  4. Remove haste cache: rm -rf /tmp/haste-map-react-native-packager-*.","errors":[{"description":"Unable to resolve module @babel/runtime/helpers/interopRequireDefault from C:\\Code\\Self-Projects\\Metronome\\nativeMetronome\\index.js: Module @babel/runtime/helpers/interopRequireDefault does not exist in the Haste module map\n\nThis might be related to https://github.com/facebook/react-native/issues/4968\nTo resolve try the following:\n  1. Clear watchman watches: watchman watch-del-all.\n  2. Delete the node_modules folder: rm -rf node_modules && npm install.\n  3. Reset Metro Bundler cache: rm -rf /tmp/metro-bundler-cache-* or npm start -- --reset-cache.\n  4. Remove haste cache: rm -rf /tmp/haste-map-react-native-packager-*."}],"name":"Error","stack":"Error: Unable to resolve module @babel/runtime/helpers/interopRequireDefault from C:\\Code\\Self-Projects\\Metronome\\nativeMetronome\\index.js: Module @babel/runtime/helpers/interopRequireDefault does not exist in the Haste module map\n\nThis might be related to https://github.com/facebook/react-native/issues/4968\nTo resolve try the following:\n  1. Clear watchman watches: watchman watch-del-all.\n  2. Delete the node_modules folder: rm -rf node_modules && npm install.\n  3. Reset Metro Bundler cache: rm -rf /tmp/metro-bundler-cache-* or npm start -- --reset-cache.\n  4. Remove haste cache: rm -rf /tmp/haste-map-react-native-packager-*.\n    at ModuleResolver.resolveDependency (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:209:1301)\n    at ResolutionRequest.resolveDependency (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:83:16)\n    at DependencyGraph.resolveDependency (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\node-haste\DependencyGraph.js:238:485)\n    at Object.resolve (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\lib\transformHelpers.js:180:25)\n    at dependencies.map.result (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\DeltaBundler\traverseDependencies.js:311:29)\n    at Array.map ()\n    at resolveDependencies (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\DeltaBundler\traverseDependencies.js:307:16)\n    at C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\DeltaBundler\traverseDependencies.js:164:33\n    at Generator.next ()\n    at step (C:\Code\Self-Projects\Metronome\nativeMetronome\node_modules\metro\src\DeltaBundler\traverseDependencies.js:266:307)"}
processBundleResult
BundleDownloader.java:296
access$200
BundleDownloader.java:37
onResponse
BundleDownloader.java:174
execute
RealCall.java:153
run
NamedRunnable.java:32
runWorker
ThreadPoolExecutor.java:1162
run
ThreadPoolExecutor.java:636
run
Thread.java:764

Reproducible Demo
Follow this guide on a Windows 7 machine:
https://facebook.github.io/react-native/docs/getting-started.html

I see the same on macOS, but with a different dependency. Output of metro bundler:
┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│  Running Metro Bundler on port 8081.                                         │
│                                                                              │
│  Keep Metro running while developing on any JS projects. Feel free to        │
│  close this tab and run your own Metro instance if you prefer.               │
│                                                                              │
│  https://github.com/facebook/react-native                                    │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Looking for JS files in
   /Users/maxclarke/Development/ReactNative/NotesTestRig

Loading dependency graph, done.
error: bundling failed: Error: Unable to resolve module `./../react-transform-hmr/lib/index.js` from `/Users/maxclarke/Development/ReactNative/NotesTestRig/App.js`: The module `./../react-transform-hmr/lib/index.js` could not be found from `/Users/maxclarke/Development/ReactNative/NotesTestRig/App.js`. Indeed, none of these files exist:
  * `/Users/maxclarke/Development/ReactNative/react-transform-hmr/lib/index.js(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
  * `/Users/maxclarke/Development/ReactNative/react-transform-hmr/lib/index.js/index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
    at ModuleResolver.resolveDependency (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:209:697)
    at ResolutionRequest.resolveDependency (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:83:16)
    at DependencyGraph.resolveDependency (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/node-haste/DependencyGraph.js:222:485)
    at Object.resolve (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/lib/transformHelpers.js:149:25)
    at dependencies.map.result (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/DeltaBundler/traverseDependencies.js:316:29)
    at Array.map (<anonymous>)
    at resolveDependencies (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/DeltaBundler/traverseDependencies.js:312:16)
    at /Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/DeltaBundler/traverseDependencies.js:169:33
    at Generator.next (<anonymous>)
    at step (/Users/maxclarke/Development/ReactNative/NotesTestRig/node_modules/metro/src/DeltaBundler/traverseDependencies.js:271:307)

Did you try:
npm add @babel/runtime
npm install
as shown in #21310?

@ahardin I will attempt that right now and report back what it does.

It got me past my initial error, but I've run into the same one that I got when I had tried the downgrade route.
This error looks like:

Seems to me that this bundler issue is the same as https://github.com/facebook/react-native/issues/21490, can you try the workaround described there, and if you recognize that the issue is the same please close this so that we can keep everyone on the other one and avoid redundancy?

I tried adding babel to the runtime on the most recent release and it's working, and I didn't run into my second error.
Will close the issue, but just to be explicit in the report of my solution; my issue was solved by @ahardin's suggestion to:
npm add @babel/runtime npm install

Replace package.json to:
{
  "name": "albums",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.5.0",
    "react-native": "0.57.0"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.45.3",
    "react-test-renderer": "16.5.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

Then follow this steps as is described in Link
Go to your project directory and check if this folder exists android/app/src/main/assets
i) If it exists then delete two files viz index.android.bundle and index.android.bundle.meta
ii) If the folder assets doesn't exist then create the assets directory there.
From your root project directory do
cd android
./gradlew clean
Finally, navigate back to the root directory and check
i) If there is only one file i.e. index.js then run following command
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
ii) If there are two files i.e index.android.js and index.ios.js then run this
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Now run react-native run-android

same error any update?

run

react-native init --version="0.55.4" MyProject

rather than >react-native init MyProject

I get this when trying to start a product flavor.


Configurable FlatXmlDataSetBuilder

Hi,
i'm trying to use your excelent extension and i think that ther are two issues it would be nice to have resolved:

Possibility to specify 'null' values in flat xml files as described here http://www.dbunit.org/faq.html#flatxmlnull

Now i have no possibility to do something like
<sandbox_dict ID="10" version="0" dict_type="COUNTRIES" name="Countries" system_="true" some_property="[null]"/>
where [null] is placeholder for null value.

and i also think that add columnSensing option would be nice as described here
http://www.dbunit.org/faq.html#differentcolumnnumber

Best Regards
and Best Wishes in the New Year
Jarek Gilewski

Hi,
thanks a lot for the feedback and great suggestions. With regards to column sensing and replacable [null]s I will make it available as default.
Or maybe you are interested in contributing this improvements?
Cheers,
Bartosz

Fixed. Will be released with Alpha4. Thx for the feedback.


storage: remove obsolete TODO

This was solved one layer deeper with #11687.
Which also implies that #11273 has been fixed. Thanks @fatsheep9146 for noticing.

Test failures are clearly unrelated.


setOnItemClickListener not Works

I'm using this library https://github.com/emilsjolander/StickyListHeaders to have a sticky header listview, and i also want to use this one on each listview row, but setOnItemClickListener setting SwipeLayout as root view of my custom list row, does not work anymore.
Thanks

Anyone can help on this please?

im also having this issue after i implemented StickyHeader.

it works with adapter. so i made my intent from adapter. on public View generateView(int position, ViewGroup parent) {
swipeLayout.getSurfaceView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, ClassDetailView.class);
intent.putExtra("selectedObject", myJson);
mContext.startActivity(intent);
}
});


App crashing on the showImage in IOS 9

Hello Developer,
I am using this component to show the image Preview. In IOS 9 the application is crashing in this code.
//View photo
URBMediaFocusViewController *mediaFocusController; mediaFocusController = [[URBMediaFocusViewController alloc] init];
[mediaFocusController showImage:profileImageBtn.imageView.image fromView:self.view];
Also note that This is called in UIAlertcontroller action block.  And also tried to put this in main thread from the block called by performselector in main thread.
Can anyone help over this.

@vickyrappier If you're calling this within an UIAlertController action block, then it's likely getting released when the block finishes running before interacting with the view. You'll likely want to retain your URBMediaFocusController instance on a private property until you no longer need it to prevent this.
Also, if you can provide a stack trace of the crash that would help narrow it down as well.


Consistent treatment of base class methods

The TOD base class is currently acting as both an interface definition for internal methods called by the high-level read/write functions and as a memory-backed generic TOD container.  We should split this functionality into the actual base class where the internal methods (prefixed with underscore) raise exceptions when called and a separate derived class which has a memory-based backend.

This was implemented and closed by 3279ef63d68d01018ec3ee30c09a1544cfce5c35.


PHP 8.3 Support required...

Feature Request

Q
A

New Feature
yes

Summary
@boesing when will PHP 8.3 support be available in this package?
Actually the most packages uses the filesystem Adapter. This is the reason why the most applications are have a hard dependency to this package.
This results into a high prio for this package... Or I am wrong...
Br
Nusphere

Meh, "high priority" would be a security issue, but what's done here is in good faith, and when possible.

Resolved


Report: By Population

For the population reports, the following information is required:

The name of the continent/region/country
The total population of the continent/region/country
The total population of the continent/region/country living in cities (including a %)
The total population of the continent/region/country not living in cities (including a %)

Population Report
For the population reports, the following information is requested:
The name of the continent/region/country.
The total population of the continent/region/country.
The total population of the continent/region/country living in cities (including a %).
The total population of the continent/region/country not living in cities (including a %).

As a member of organisation X
I want to view a report of a continent/region/country's population
So that I can identify population information about the continent/region/country
Acceptance Criteria
Given I run the query
When I provide two parameters
Then I will see population information about the continent/region/country that was provided
The query should filter the results using parameters provided by the user in order to display what the user requires to see.


Beta: cancel various cursors

Added ability to cancel several cursors with right mouse click, which makes it easier to cancel spell casting etc.
It's not specific to DM so may need moving and a setting rename.
Could be applied to other cursors if useful.

Will merge and reorg on another request


First Where in list problem

Hi, i propose to flutter to edit list.firstWhere() function with a nullable return.
This because as dev i have to create a constructor of the list to use orElse method, and if i forget the orElse the app stop working if can't find the element.
the implementato will be:
E firstWhere(bool test(E element), {E orElse()?}) {
for (E element in this) {
if (test(element)) return element;
}
if (orElse != null) return orElse();
throw IterableElementError.noElement();
}
E? firstWhere(bool test(E element)) {
if(element in this){
if (test(element)) return element;
}else{
return null;
}
}
or something like that.
Thank you

Hello @bruzzers. Thanks for filing this feature request. You are expected to use the official collection package's firstWhereOrNull method. Since this is not a valid feature request, I am closing this issue.


notNull Violation: Tier.name cannot be null, Validation error: In undefined's tier, "Amount" is required

Describe the bug
I got this issue when i pressed save but it was saved when i realoded the page

To Reproduce
Steps to reproduce the behavior:

Go to 'edit profil'
Click on 'save'
Scroll down to 'bottom'
See error

Hi @KorbiZac, we've fixed it in https://github.com/opencollective/opencollective/issues/3014. The deploy is on its way.

Fix deployed, sorry for the issue and thanks for reporting it :pray:


Schema editor

Editing data schemas by hand can be time consuming - instead there should be a graphical editor for them.
This editor should allow users to easily add properties onto their data type objects, and should allow them to configure nested data types - such as arrays of objects and related child objects.

Done and pushed into latest!


Support for expanded sflow

Does vflow support expanded sflow? We recently had an issue sending sflow data to vflow from a couple of Nexus 3K switches and we believe they are sending expanded flow and counter data instead of compact.
Thanks,

It doesn't support expanded flow sample / type 3. It supports type 1 and 2.

It doesn't support expanded flow sample / type 3. It supports type 1 and 2.

Is it in the roadmap?
I saw a couple of other tickets with similar concerns because they were using Cisco Nexus switches. It may worth adding support for it at some point.
Thanks,

Is it in the roadmap?
I saw a couple of other tickets with similar concerns because they were using Cisco Nexus switches. It may worth adding support for it at some point.
Thanks,

we don't have any plan for this.

we don't have any plan for this.


Unit3: Removed order of magnitude for timesteps and a duplicated ffmpeg installation

With n_timesteps: !!float 1e7 it takes a whole day to train a model. As it was suggested in the discord channel change number of timesteps to 1e6
ffmpeg is being installed twice. Removed 2nd attempt.

LGTM thanks for this update. I'm merging it after your other PR 🤗 .
Thanks again for your contribution.


Unbound: do not add entries for "ifconfig"

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
On a query to the local host name of OPNsense, unbound will return A/AAAA records for ALL interfaces. This doesn't make sense for my setup, as my OPNsense machine (or rather: Web GUI and SSH) is reachable via one of those IPs only. This (also) due to the respective Listen Interfaces configuration.
When I now try to use the hostname to connect to either SSH or Web GUI, most of the time it won't work because unbound will answer queries with a "wrong" IP. This also renders my TLS certificate for the GUI (via ACME/LE) useless. This also decreases security in a way, because to the browser, the certificate always is "wrong".
Describe the solution you like
As a "minimal" solution, there should be a flag in the Unbound configuration which lets one turn off generation of all "ifconfig" records for unbound.
A more sophisticated solution might take a look at the listen interface configuration for the Web GUI and generate only the record(s) needed without the need to create an extra override record.
Describe alternatives you considered
The only alternative I can think of is overriding the IP address in the local hosts file of the (web) client, which in reality isn't an alternative, but a nasty workaround.
dnsmasq unfortunately isn't an alternative either, as it behaves the same way.
Additional context
No additional context here.

I'm not sure I understand. If you set the specific listen interface Unbound should not generate more entries than required?
Cheers,
Franco

As a workaround, I now changed the hostname to something random. In order to make GUI access work, I had to disable
DNS Rebinding Checks and the HTTP_REFERRER enforcement check. Not really a desireable configuration.

Hmm, I'm in the same boat. I've got an always-on OpenVPN on my Android phone, and when I connect even on internal Wi-Fi, unbound frequently resolves the local lan OpenVPN host record, to the external IP, instead of the internal IP. This possibly could be prevented by disabling the function "function unbound_add_host_entries($ifconfig_details = null)" via e.g. a checkbox, similar to the one there is for DNSmasq ("Don't read the hostnames in /etc/hosts." - but then for interfaces ..)

Same problem here. I have a High-Availability setup with two OPNSense-Servers. Both Servers are physically connected to two Networks. One is the usual LAN, the other one I call WANCONNECTOR which is the link from each OPNSense to a modem. The WAN is pppoe via the same physical interface as WANCONNECTOR.
The problem with unbound now is that a DNS-query for either OPNSense server will return ALL IP-Address on ALL interfaces, that is the one assigned to LAN (the one I would want to get) but also the WAN AND the WANCONNECTOR ones which I would like to have removed from the DNS reply.
Restricting the "Network Interfaces" on the Unbound General settings page to LAN stopped working for me after the update from OPNSense-22.1 to OPNSense-22.1.1_1: With OPNSense-22.1.1_1 DNS-queries to the LAN-CARP-Address are ignored while they were answered with OPNSense-22.1. I would like to keep sending the DNS-queries to the CARP-Address though.


better error messages when user passes a wrong table/schema name

some of our commands table/schema names as arguments (for example %sqlplot); however, if a user passes a value and the table/schema doesn't exist, they might get cryptic errors (for an example, see https://github.com/ploomber/jupysql/issues/153)
The problem is that the error is raised by the database driver, so the error message differs depending on the database. I think we should have some logic to improve the experience here.
At the very least, we could add another line to the error message saying: "verify that the table/schema is correct". The problem is that if the problem is something unrelated, saying "verify the table/schema name" will take users in a different direction.
So if we want to be a bit more specific, perhaps we can only show the "verify table name" when the error message from the database driver matches (but this means we'd have to list the expected error messages)
Finally, we could inspect the existing table names and see if there's any close matches, if so, we could display the "verify the table name" message.

Yeah, this approach makes sense.
A few questions: is there any case where 2) is executed? I'm thinking that 1) will succeed if the table exists, right?
I'm not following why in 4) we won't raise an error, given that under those conditions the query will fail because the table doesn't exist. The use case here is to suggest the user a potential fix for the error, example:

Table "inventori" doesn't exist, did you mean "inventory"?

2 will be executed if we get an exception when running select * table_name but I'm not sure this means the table doesn't exist. The purpose of not raising an exception in (4) is to make sure we're not missing any other error (bad query, invalid function, etc)

also, what about these messages? Can we move them to this validation function and run this function before invoking the inspect class in %sqlcmd as well?


ACME v2 Support

In January 2018 Lets Encrypt will launch a new ACME v2 Endpoint that will allow wildcard certificates.
Any plans to implement this?

Is your mic on?

Yes! I have a few use cases for wildcard certificates too, so this will definitively get implemented!

Great news!
Do you have any timeline?
Is there any way we can collaborate / help you in this effort?
Leonid Belkind, Co-Founder & CTO, Luminate Security
Mobile: +972-52-3476783
leonid<EMAIL_ADDRESS><EMAIL_ADDRESS>
This message may contain confidential and/or proprietary information, and is intended only for the person / entity to whom it was originally addressed.The content of this message may contain private views and opinions which do not constitute a formal disclosure or commitment unless specifically stated.
From: Lukas Schauer<EMAIL_ADDRESS>Reply-To: lukas2511/dehydrated<EMAIL_ADDRESS>Date: Thursday, 14 December 2017 at 1:30
To: lukas2511/dehydrated<EMAIL_ADDRESS>Cc: Leonid Belkind<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [lukas2511/dehydrated] ACME v2 Support (#420)
Yes! I have a few use cases for wildcard certificates too, so this will definitively get implemented!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/lukas2511/dehydrated/issues/420#issuecomment-351558980, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXVzSfParsPJJ9oBTpPq0yXIfcqGPj-dks5tAF4igaJpZM4OyNHQ.

I haven't actually read the spec yet... If not too much has changed this may be implemented in January, certainly only pushed to master after the new endpoint is online. If it's more time consuming I'm guessing late Feb or Mar.
Certificate handling probably doesn't need to be touched a lot, support for wildcard certificates should be easily handled (script-internally) as if they would just be a normal subdomain, I'm kinda hoping that only a few api calls have to be changed.
A great help would be a short summary (if in any way possible...) of the major changes in the protocol.
If a lot has changed a proof of concept shell or python (or some other easily readable language) script with api calls against the new version would be great. Just something that gives a good starting point for figuring out how stuff works, nothing more.

Can’t say that I am familiar with the current Boulder implementation of ACME enough to comment on the diff.
I am looking at the latest IETF-standardized ACME implementation (which, according to the ITRG people will serve as the basis for their ACME V2 Endpoint): https://tools.ietf.org/html/draft-ietf-acme-acme-07 [this is, at least, the latest available draft]
I am looking at the RFC diff: https://tools.ietf.org/rfcdiff?url1=https://tools.ietf.org/id/draft-ietf-acme-acme-01.txt&url2=https://tools.ietf.org/id/draft-ietf-acme-acme-07.txt
The protocol was enriched significantly, the question is, what is the minimal delta to support the new capabilities (My personal interest in ACME V2 is around the wildcard certificates).
From: Lukas Schauer<EMAIL_ADDRESS>Sent: Friday, December 15, 2017 3:49 AM
To: lukas2511/dehydrated<EMAIL_ADDRESS>Cc: Leonid Belkind<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [lukas2511/dehydrated] ACME v2 Support (#420)
I haven't actually read the spec yet... If not too much has changed this may be implemented in January, certainly only pushed to master after the new endpoint is online. If it's more time consuming I'm guessing late Feb or Mar.
Certificate handling probably doesn't need to be touched a lot, support for wildcard certificates should be easily handled (script-internally) as if they would just be a normal subdomain, I'm kinda hoping that only a few api calls have to be changed.
A great help would be a short summary (if in any way possible...) of the major changes in the protocol.
If a lot has changed a proof of concept shell or python (or some other easily readable language) script with api calls against the new version would be great. Just something that gives a good starting point for figuring out how stuff works, nothing more.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/lukas2511/dehydrated/issues/420#issuecomment-351890016, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXVzSWWmB3qd2rzABmIIg_rGd_5K_boiks5tAc_zgaJpZM4OyNHQ.

I am looking at the latest IETF-standardized ACME implementation (which, according to the ITRG people will serve as the basis for their ACME V2 Endpoint): https://tools.ietf.org/html/draft-ietf-acme-acme-07 [this is, at least, the latest available draft]

@lbelkind That's actually two drafts behind the latest :-) Draft-09 is the latest and was cut a few days ago. The Boulder divergences doc is a little bit behind.

A great help would be a short summary (if in any way possible...) of the major changes in the protocol.

@lukas2511 I'd love to eventually sit down and write something like this but I'm still tied up implementing the new protocol & getting ready for launch in Jan/Feb.
Here's a (off-the-top-of-my-head) summary of some major changes that will hopefully help:

The authorization/issuance flow has changed.  Now you submit a request for an order for a set of identifiers, the server gives you back authorizations to satisfy, and you issue a certificate by POSTing a CSR to the order's finalize URL.
The JWS authorization of requests has changed. Only the new-account JWS has an embedded JWK now, all other endpoints consume a JWS with a key ID.
JWS bodies don't include the "resource" field anymore, the client needs to put the URL it intends the message for in a protected header of the JWS.
Lots of resources changed to be camelCase throughout (revokeCertificate, newAccount, etc)

In terms of LE specific things to know:

Order identifiers with a wildcard prefix will be given an authorization with only a DNS-01 challenge to solve.
The TLS-SNI-01 challenge type won't be present in the V2 API - We'll only offer its successor TLS-SNI-02

Those are some of the bigger changes that come to mind right off the bat. Definitely not a comprehensive list. I would certainly welcome a community contribution of a more thorough document as a PR to the Let's Encrypt website if someone is feeling like spending more time diffing RFCs :-)

@cpu thank you. that doesn't sound too bad, sure a lot of changed things but it actually sounds quite easy to implement and a lot faster and less error-prone than the previous api.

Requesting new certificate order from CA...
Received 1 authorizations URLs from the CA
Handling authorization for test.org
1 pending challenge(s)
Deploying challenge tokens...
Waiting 600 seconds to propagate DNS changes
Responding to challenge for test.org authorization...
Challenge is valid!
Requesting certificate...
ERROR: An error occurred while sending post-request to https://acme-staging-v02.api.letsencrypt.org/acme/order/5358218/3754/finalize-order (Status 403)

Details:
{
"type": "urn:ietf:params:acme:error:unauthorized",
"detail": "Error finalizing order :: Order includes different number of names than CSR specifies",
"status": 403
}
CSR included test.org and *.test.org
So something is not working with CSR, when launching dehydrated --accept-terms --ocsp --signcsr ./test.csr

@belliash should be fixed with 45f5c17260a7a76a392f11c8a4c762c355476ba0

Yes, seems to be working now, but I am not sure if I am updating DNS in a right way.
I have written short PHP script to do that but I think it needs some adjustments.
The data that is passed to my script looks the following:
array(1) {
["test.org"]=>
array(2) {
["file"]=>
string(43) "8GvVlpAkr_vESJJNYGDTwXS0oW6LrlwhNsDanZajmJA"
["token"]=>
string(43) "qNipbS_bokld5wp3IYyGn36xixuWNE2MGV6_aIduCCI"
}
}
Since now I only used the token parameter, so that the DNS entry looks as below:
_acme-challenge.test.org. 60 IN TXT "qNipbS_bokld5wp3IYyGn36xixuWNE2MGV6_aIduCCI"
And I got only 1 such DNS entry. What is "file" for?
Should I use it as another token?

I forgotten to add that I use chaining.

INFO: Using main config file /etc/dehydrated/config

Requesting new certificate order from CA...
Received 2 authorizations URLs from the CA
Handling authorization for test.org
Handling authorization for test.org
2 pending challenge(s)
Deploying challenge tokens...

array(2) {
["file"]=>
string(43) "qrJB4iHDj31jBnoRob5Cupm0h-xmtoGNqC3vYJOy220"
["token"]=>
string(43) "A6jqehG6Tei6JkYo6-4S4xIjXzPnP-3N4XCzzzUfatk"
}
array(2) {
["file"]=>
string(43) "8GvVlpAkr_vESJJNYGDTwXS0oW6LrlwhNsDanZajmJA"
["token"]=>
string(43) "qNipbS_bokld5wp3IYyGn36xixuWNE2MGV6_aIduCCI"
}
Waiting 600 seconds to propagate DNS changes

Responding to challenge for test.org authorization...
ERROR: An error occurred while sending post-request to https://acme-staging-v02.api.letsencrypt.org/acme/challenge/28wW8W6Y01GR7EbeqERTKKnKgZcnzzRbmU6sUv6ml_U/97842001 (Status 400)

Details:
{
"type": "urn:ietf:params:acme:error:malformed",
"detail": "Unable to update challenge :: The challenge is not pending.",
"status": 400
}
As you can see the autorization is for test.org twice... not test.org and *.test.org. Im not usre if its ok or not, but afterwars, my DNS hook script written in PHP has added the following entries:
_acme-challenge.test.org. 60 IN TXT "A6jqehG6Tei6JkYo6-4S4xIjXzPnP-3N4XCzzzUfatk"
_acme-challenge.test.org. 60 IN TXT "qNipbS_bokld5wp3IYyGn36xixuWNE2MGV6_aIduCCI"
so it looks ok to me, but anyway I cannot obtain wildcard certificate.
Any ideas what is wrong?

@belliash nothing wrong, that's exactly how it's supposed to be, wildcards are validated at the upper level domain. the issue you are running into seems to be the boulder bug that was already mentioned in this discussion: https://github.com/letsencrypt/boulder/issues/3333. it's fixed now, but I guess it isn't yet deployed to the staging environment. as a workaround you can delete your account key and register a new one, that should work.

I'm closing this as ACME v2 support seems to be quite stable by now 🎉
There are still a few things that might be implemented before the next release (e.g. order-reuse after certain failures would be nice), but main support for the new protocol and wildcard certificates is there and seems to be working fine 😄
If you are having issues with ACME v2 please create new issues instead of replying to this one.

+1 for *.domain.com not being a good idea. Most CAs usually use star_domain_com, we might as well resort to star_domain.com.

How do I tell dehydrated to request a wildcard cert? Can't seem to find this info anywhere. Is it *.domain.com in domains.txt?

@bviktor *.domain.com in domains.txt, just like every other domain. but keep in mind that it only works with ACMEv2, so currently only with the staging api.

Yeah, thanks, successfully requested a wildcard one from staging v2, no change needed for the DNS hook, sweet :) Can't wait for prod rollout. Will there be no dns-02? Coz I assumed so.

v2 should be available, no? https://letsencrypt.org/2017/06/14/acme-v2-api.html But where's the directory? And the announcement?

LetsEncrypt has delayed the release of the production ACME v2 API end point. See https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018.html and the linked post at https://community.letsencrypt.org/t/acmev2-and-wildcard-launch-delay/53654 for more information.

And now the ACMEv2 API is public with wildcard support! 🎉 https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579
Congrats on the hard work, LE team! Thanks @lukas2511 for being ahead of this and landing ACMEv2 support already!

Awesome work everyone! Feels goood to use Dehydrated for reals. All worked perfectly!

@lukas2511 I hope it's appropriate if i hihack this issue, as i think this is the same, or at least a similar issue.
I've updated dehydrated, changed my domains.txt to:
betadiff.com *.betadiff.com

and now i'm only getting this error:
ERROR: Challenge is invalid! (returned: invalid) (result: {
  "type": "dns-01",
  "status": "invalid",
  "error": {
    "type": "urn:ietf:params:acme:error:unauthorized",
    "detail": "Incorrect TXT record \"5QqvUbs0BLtz5h9wpypVtmwtiHvzlXJlSN9T10bSDR4\" found at _acme-challenge.betadiff.com",
    "status": 403
  },
  "url": "https://acme-v02.api.letsencrypt.org/acme/challenge/kXZvhKmuF6G5VTLcj3JYed6Qe-P_tDrUfh9EiB8OTCI/3812418200",
  "token": "VLkybskPD-purQx1i8TXQ_Cx85v5KCSFIh1I0sP7sBQ",
  "keyAuthorization": "VLkybskPD-purQx1i8TXQ_Cx85v5KCSFIh1I0sP7sBQ.ymn7rrjFsLBQUTzWYgdoacDjsIe-B36saKrAYkAh2Tk"
})

The DNS-01 challenge was previously working fine, and my DNS slaves do the AXFR well within the wait period i've set (using pdns_api.sh, by the way), so i'm assuming this is directly related to the ACME v2 endpoint change?

I just checked with only the wildcard domain, so my domains.txt looked like this
*.betadiff.com > betadiff.com

This works, but i'd still like to have both the apex and the wildcard in the same cert, so i tried with the apex, the wildcard and also defining an alias:
betadiff.com *.betadiff.com > betadiff.com

And this now also works!
So it looks like the alias is mandatory if you're using a wildcard?

Another observation, for a different domain: It only works if i first request the wildcard cert with an alias, and then add the apex and renew the certificate with the additional name (which doesn't need the alias anymore).
So for every domain i need two separate runs,
first:
*.betadiff.com > betadiff.com

then:
betadiff.com *.betadiff.com

Yes, the alias is mandatory for wildcard, see https://github.com/lukas2511/dehydrated/issues/483

Yes, i know that it's mandatory if you use only a wildcard, but it seemed as if it was also mandatory if you're using a wildcard (as the alternative name) together with a regular domain name - because it worked for me on the second try, after successfully requesting a cert for only the wildcard.
But...
... as my most recent comment showed, that assumption by me is not true - it just doesn't work at all (for me) if i request a cert for a regular domain with the wildcard as a SAN (with or without the alias), unless i first request it for only the wildcard (using the alias), and then for the domain and the wildcard combined (either with or without alias, again).
btw, is your Amazon Wishlist still up to date? ;-)

Certificates like
betadiff.com *.betadiff.com

work perfectly for me. Does your DNS hook add and keep 2 records?

Ah, that's a good point! I'm using pdns_api.sh, but didn't check if that is able to handle multiple names... i kinda took that for granted.
It makes me wonder why it works on subsequent runs with multiple names, though?

Somebody else has the same issue with pdns in #504. Probably safe to say there's something wrong with either the hook or pdns itself.

thanks @txr13, and @jangrewe yes, my wishlist is always up to date ;)
I'm going to lock this conversation so that new issues will land in their own tickets instead of this big collection, makes it easier for me (and others) to find duplicates :smile:


Depreciation warning from numpy

Depreciation warning from numpy
Name: numpy
Version: 1.24.2
Name: nevergrad
Version: 0.6.0
https://github.com/facebookresearch/nevergrad/blob/8087bca851f5538f17f8a06a418ca77a5604c700/nevergrad/optimization/utils.py#L271
.../python3.8/site-packages/nevergrad/optimization/utils.py:270: DeprecationWarning: the `interpolation=` argument to quantile was renamed to `method=`, which has additional options.
Users of the modes 'nearest', 'lower', 'higher', or 'midpoint' are encouraged to review the method they used. (Deprecated NumPy 1.22)
  quantiles[name] = np.quantile(

Should be solved in 0.13.0, thanks @londumas !


Setting up Warden in remote machine [SUPPORT_REQUEST]

In one of the project, we have to use remote machine based development which is out of DigitialOcean servers.
It's bare-metal ubuntu instances with docker in it. I tried setting up warden in it, not able to connect to it from local using app.m2dev.test [Added local host entry to point to m2dev.test with DO server IP]
Do I need to do any extra configurations or is this not right way to do it? [I can also setup M2 with default M2 tech stack tools separately in this instances but I like using warden docker toolchain of all different available services & tools]

@Elamurugan-Nallathambi See the note regarding TRAEFIK_LISTEN on this docs page; by default Traefik is configured to only listen on <IP_ADDRESS> so you would either need to run an SSH tunnel to forward the port to localhost OR change this setting so it's listening on a publicly available address: https://docs.warden.dev/services.html

@davidalger I understand I shouldn't bother you more on this but am hitting dead end, unfortunately I do not have background understanding on dnsmasq or how traefik should be configured from a remote Ubuntu machine.
This is what I have tried.

Registered a new DigitalOcean Ubuntu 20 droplet
Installed docker and default required tools
Installed warden
When running warden svc up am seeing below message

root@ubuntu-s-2vcpu-4gb-fra1-01:/opt# warden svc up
WARNING: The WARDEN_HOME_DIR variable is not set. Defaulting to a blank string.
Starting dnsmasq   ... error
Starting portainer ...
Starting mailhog   ...
Starting tunnel    ...
Starting traefik   ...
Starting portainer ... done
Starting mailhog   ... done
Starting tunnel    ... done
Starting traefik   ... done

ERROR: for dnsmasq  Cannot start service dnsmasq: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/etc/dnsmasq.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/9313f901b9e67ecf801680d6e5bade0749f85d9bbf3daea88b3af0eafcb58009/merged\\\" at \\\"/var/lib/docker/overlay2/9313f901b9e67ecf801680d6e5bade0749f85d9bbf3daea88b3af0eafcb58009/merged/etc/dnsmasq.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

Am not sure what I should do to resolve the dnsmasq mapping. tried modifying /etc/systemd/resolved.conf, /etc/resolv.conf but that doesnt have any impact.
Any references will be really helpful.

@Elamurugan-Nallathambi FYI: TRAEFIK_LISTEN variable didn't work for me on Ubuntu. So I have replaced <IP_ADDRESS> with <IP_ADDRESS> directly in /opt/warden/docker/docker-compose.yml. Then run command: warden svc up --force. Hope that helps

@vovsky thanks for the "replaced <IP_ADDRESS> with <IP_ADDRESS> directly in /opt/warden/docker/docker-compose.yml" hint ... aparently this is still the case nearly 3 years later, in 2024 :) ... running latest windows 11, and latest brew installed warden within Ubuntu WSL.


[CI] Split integration tests into two jobs

We need to split the CI into two jobs, nvidia (PR blocking) and third-party (PR non-blocking). This way we can guarantee that artifacts are uploaded for any PR that gets merged into main, and that compare artifacts job can just wait on the artifacts-uploading job.

Ah, I think we need to change which jobs are required for the merge, @Jokeren if you have admin access, otherwise we have to wait for @ptillet

Ah, I think we need to change which jobs are required for the merge, @Jokeren if you have admin access, otherwise we have to wait for @ptillet

No, I don't have admin access


Make Handwritten Digit Recognition

Because computers need to learn basic math first.
Implement a digit recognizer using the MNIST dataset and a lightweight neural network. This project could be as simple as recognizing digits from drawn or loaded images.

Please assign this issue to me, @sumanth-0. I’m excited to work on it!


Monitoring Area2D checks for any layer-mask and mask-layer for area enter detection

Operating system or device - Godot version:
Tested on Godot 2.1.1 stable and 2.1.2 stable
I was confused trying to understand the issue but will try to be clear...
Issue description:
A monitoring area detects other areas by looking at any mask-layer and layer-mask match, not mask against layer only.
Steps to reproduce:
Make an impossible situation for detection:

Create a monitoring area on layer 1.

Create a monitored area on mask 1.

Create a signal on monitoring area to detect areas.

Move it over the monitored and area_enter will be triggered even if does it not have masks.

The monitoring area should only look for matching its masks with other monitored layers, not the layers against other's masks.
Link to minimal example project:
AreaEnterLayerBug.zip
Arrows to move left and right

#7589 I guess it's broader than just raycasts.

@NiclasEriksen yeah, mentioned something on that post before fully understanding this issue, still not sure where the problem is (if just areas or something else on the server), and need to test more collision objects.

Can confirm. Additionally the monitoring one also reports when monitoring is disabled at all (it is sufficient to have monitorable enabled on the other one).

I'm not sure which of the two issues should be closed (and the other repurposed), since it currently looks like it is the same problem to me. WDYT?

I don't think that they are completely the same problem, because the RayCast issue only affects the 3D raycast. I was not able to reproduce #7589 for the Raycast2D node. It just works fine. On the other side this issue here probably affects 3D areas too (didn't test that). So for 2D only this issue matters, for 3D both do.

Regarding the collision layers/mask thing, I recall the docs telling about how to expect them to work but I can't find that anymore. Anyway some users (like me) haven found a way of understanding them; for instance, https://godotengine.org/qa/3020/collision-masks-and-its-propper-uses?show=3047#a3047
I assume that monitoring areas detect monitorable areas and receive signals for that, yet the collision layers/mask are still checked two-ways.
So when monitoring/monitorable are involved this is even more subject to each one's interpretation. Is something in the docs about that? If not, I think that shoudn't be treated as a bug but at most a bad design decision. It'd be hard to change something of such importance at this point, but for 3.0 it can be re-thought if enough users find it counterintuitive.
About the monitoring issue with 2D Areas, please try https://github.com/godotengine/godot/pull/8999 and tell me if you still get wrong results so I can add a fix for that to it.
On the RayCast(2D) issue, I've checked the code and both 2D & 3D check their layer mask against other objects' layer masks. Does this match your observations? I've seen no difference in code between 2D and 3D ray casting.

@RandomShaper it could be bad design but sometimes you want to have a set of states that will make areas detectable when they should not interact.
IMHO, monitored should not be detected by monitoring if the former layer is not in the latter mask, because that is what monitoring status means and layer/masks are for (I have not tested if space override is affected by layer/mask pairs too).
The "always monitoring" seems to be gone on 2.1.3 already.

I meant bad design decision on the Godot creators' part, not yours...
Or at least there is a lack of documentation that states clearly how the masks and monitoring stuff works. If that was written, everyone could obtain reliable knowledge about how these work instead of having to guess how they intended them to work.

I hope the Area and other CollisionObject features get more clear before 3, so they can get proper fixes.

Affects master too.
Project for Godot 3:
AreaEnterLayerBugv3.zip

This is still present in 098c7ba. This behavior caused me a lot of trouble while learning how layers and masks are supposed to work. I intuitively expect that an object would live in it's layers, and see stuff in it's mask. While I feel I understand how the current implementation works, I'm not sure as to why it was made that way.

I do not know how the area overlap is made, looks like one check adds both as overlapping without checking the layer-mask situation of the second one.
This overlap solve bug affects the result obtained by get_overlapping_areas too.
This bug also hurts any simple optimization attempt by a correct layer-mask design (signals get fired when should not).

Tested on Spatial areas and the issue is the same, if this buggy behavior is the intended one then should be documented as an exception to the layer and mask rules or general limitation of the area nodes (the same for kinematic bodies in the related issue).
SpatialAreaEnterLayerBugv3.zip

I recently came into this same issue and I have to agree with @eon-s -- If signals get fired off by both parties, when only one of them is supposed to care about a given thing, then it severely limits the utility of layers and masks - let alone how non-intuitive it is for the developer.
Let's even ignore the monitoring/monitorable part of the equation and just focus on the layer + mask part. If an Area A enters another Area B, the only time I want B to react is if A is something it's been told to look for - whether or not A is looking for B. As it stands it just requires additional custom logic to ignore something that seems like should already be ignored by the very nature of the layer/mask system.

Not sure what the behaviour here should be.  Also, I'm assuming this is still valid for 3.0/master?

@mhilbrunner yes, still valid for all branches.

@mhilbrunner - while obviously there are some complications with consistency when it comes to PhysicsBodies, for Areas, at least, I feel it would be best if a given Area only raises a signal when an overlapping body/other Area shares a Layer bit with one of the Area's Mask bits. That is to say, if A is on layer 1 and is looking for layer 2, and B is on layer 2 and looking for layer 3, then only A would raise a signal when the two overlap (B's layer is part of A's mask) while B would stay silent (A's layer is not part of B's mask).

Moving to the next milestone as 3.1 is now feature frozen.

While the monitoring/monitored bits add more confusion to the matter I believe that the example of the original issue is valid.  I'll also bet that the monitoring/monitored flags are there to "easily" turn on and off monitoring instead of trying to figure out bit ids using set_collision_layer/mask_bit(int,bool).  I ran into this trying to figure out an issue that is somewhat related but just wanted to add some extra notes.
To confirm I agree with @MutantOctopus (assumed conclusion) that the monitor bits should probably be removed unless there is a large part of the community that agrees trying to turn specific layer/mask bits is "too hard".  I think that the sheer fact that we can set the bit to true/false assumes responsibility of whether it is monitored or monitoring

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

Reopening, because this is a bug not a feature proposal.

Hey i'm having a problem:
When A enter in area B, but B is not in area A, both has signal trigered!