Create a settings file for users to configure model parameters

The NLP demo currently has three config files: config.py, conifg_farm_train.py, and config_qa_farm_train.py.
They all configure the different parts of the process but not in a very user friendly manner and should be updated.
There was an effort to bring a central settings.yaml in the corporate_data_pipeline repository (see here). This settings file is then used to instantiate objects of classes in the three conifg files. The object attributes of the config classes are then used for configuring the model parameters.
One approach could be to follow that format here as well. Another approach could be to completely do away with the class structure in the  config_farm_train.py and config_qa_farm_train.py and just have a single settings.yaml file with all the user editable parameters. It boils down to the question: do we need classes and objects to configure the model or would directly reading from settings.yaml suffice?
Directly reading from the settings.yaml seems like a more clean way of organizing as the configs classes just have model attributes and no methods, but it's open for discussion.
cc @erikerlandson @MichaelTiemann @JeremyGohBNP

I think it makes a lot more sense to document settings in a single file and then farm those out (no pun intended) to whatever python initializations are needed.  Especially if we are thinking about moving to an implementation that works directly with PyTorch or directly with Haystack.  There will be some settings parameters that are specific to Farm that should be documented as such, but we should do our best to infer or impute values that make sense from general settings parameters.


Document the storage resource

Section 1.2 should have information on Storage resource in addition to the existing ones.
Also check if any other resources should be covered.

Deprecated: This documentation repo has been deprecated. Please visit the link below for the latest documentation.
https://docs.openshift.com/container-platform/latest/pipelines/understanding-openshift-pipelines.html


orthw: Add check-advisories command

Checks using ORT's advisor the security advisory providers specified
in the ~/.orthwconfig file for currently known security vulnerabilities
for found dependencies.

@fviernau  I now updated this PR so now the check-advisories command will trigger an Evaluator so any policy rules related to vulnerabilities get applied.


select() hangs in multithread application with activated timeouts

We're using the tcp-messagepack implementation of anyrpc with enabled threading.
Upon system shutdown we're closing down the connections and sometimes it happens that select() hangs up. This can be identified using the remote debugger for ARM. We're using a timeout of 100 ms.
Furthermore, using the variable _threadRunning as of type bool is not threadsafe and should be implemented as std::atomic.
A possible workaroung might be to look at signals for the usage with select().
http://man7.org/linux/man-pages/man2/select_tut.2.html
Has anyone considered this solution?

Which server are you using?  ServerST, ServerMT, ServerTP
Have you tried using a different one to see if the behavior changes?
When you say that select() hangs up, do you mean that the function call never returns even though the timeout is set for 100ms?  Is the main server thread hanging or is it a connection thread?
Regarding the use of signals with select(), you will need to better describe how you might use this, how it might resolve the problem, and how to keep compatibility with other rpc implementations.
Regarding threadRunning_ and std::atomic, I think that this particular usage doesn’t have an issue but it is certainly simple to modify to use std::atomic.

In our application we're using class ANYRPC_API MessagePackTcpServer : public ServerST
On closing down the whole application the dtor calls  Server::StopThread(), sets threadRunning_=false and waits in thread_.join(); for the thread to finish off.
The other threads runs the Work(100) function and exactly hangs in the select call in line server.cpp:276 nEvents = select(static_cast<int>(maxFd) + 1, &inFd, &outFd, NULL, &tv);
void Server::StopThread()
{
    log_trace();
    if (threadRunning_)
    {
        threadRunning_ = false;
		if (thread_.joinable())
			thread_.join();
		else
			log_error("Server-Thread was marked running, but was not joinable.");
    }
}

void Server::ThreadStarter()
{
    log_trace();
    while (threadRunning_ && !exit_)
    {
        Work(100);
    }
    Shutdown();
    threadRunning_ = false;
}

I must consider relying on timeouts on select() as poor architecture design since it will block indefinetly if the system call hangs or if ressources are being closed in other threads.
After digging a bit I found two interesting discussions about safely quit  select() :
https://stackoverflow.com/questions/384391/how-to-signal-select-to-return-immediately
http://cr.yp.to/docs/selfpipe.html
So I haven't implemented the above ideas yet, because I'd rather hear and discuss your concerns first.

It's better to close down threads before you get to the destructors but may not be possible in your application.
Pipes run into Windows compatibility problems.
You might look at the ServerTP implementation that uses a UDP socket to interrupt the main server from the worker threads.
It's not clear that this will resolve the issue you are experiencing (since it is during the destructors) but the great thing about open source software is you can make the change and test it.


Fix if no file name given

Fixes #76. The input id matches the logic of postcss.
Please notice that current package-lock.json uses<EMAIL_ADDRESS>which doesn't validate the existence of codeFilename. But from 8.1.0, non-existed codeFilename will also cause filepath to be undefined. If you want to upgrade stylelint, my second commit can be reverted.

Coverage increased (+0.006%) to 99.669% when pulling 51a47b74add47ab96216f9015f36be83387ade21 on chinesedfan:fix_nofiles into eadfa001b1aa888206efc9fd6178a25e2e1d88fd on styled-components:master.

Coverage increased (+0.006%) to 99.669% when pulling 2f194f3a404ee40cd93f623d75b8730dae8793a8 on chinesedfan:fix_nofiles into eadfa001b1aa888206efc9fd6178a25e2e1d88fd on styled-components:master.

Coverage increased (+0.006%) to 99.669% when pulling 1c2fac6857703cd9afcf2117ff7550dd9d29bd8f on chinesedfan:fix_nofiles into eadfa001b1aa888206efc9fd6178a25e2e1d88fd on styled-components:master.

@emilgoldsmith I added the comment by amending the last commit directly. So there are still 3 commits.

Awesome, let's get it live!


Broadlink broken after 0.64.0

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.64.0
Python release (python3 --version):
3.6
/platform:
Broadlink
Description of problem:
Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/broadlink/__init__.py", line 5, in <module>
    from Crypto.Cipher import AES
  File "/usr/local/lib/python3.6/site-packages/Crypto/Cipher/__init__.py", line 3, in <module>
    from Crypto.Cipher._mode_ecb import _create_ecb_cipher
  File "/usr/local/lib/python3.6/site-packages/Crypto/Cipher/_mode_ecb.py", line 29, in <module>
    from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
  File "/usr/local/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 32, in <module>
    from Crypto.Util.py3compat import byte_string
ImportError: cannot import name 'byte_string'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 84, in async_setup
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/futures.py", line 243, in result
    raise self._exception
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/switch/broadlink.py", line 74, in setup_platform
    import broadlink
  File "/usr/local/lib/python3.6/site-packages/broadlink/__init__.py", line 7, in <module>
    import pyaes
ModuleNotFoundError: No module named 'pyaes'

Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:
- platform: broadlink
  host: !secret broadlink_ip
  mac: '!secret broadlink_mac'
  switches:
    ziggomediabox:
      friendly_name: 'Ziggo Media Box'
      command_on: 'JgBQAJaYEg8TDRAREQ8TLxAzEBESDhMNEDMSDhMvEBERMhIOEBAQmBIPDzMQEBMwEw0QEREPEw0TDhAQEjETDRARETETDRAREDMSMBMvEDMSAA0FAAAAAAAAAAA='
      command_off: 'JgBQAJaYEg8TDRAREQ8TLxAzEBESDhMNEDMSDhMvEBERMhIOEBAQmBIPDzMQEBMwEw0QEREPEw0TDhAQEjETDRARETETDRAREDMSMBMvEDMSAA0FAAAAAAAAAAA='

FYI This is caused by: https://github.com/mjg59/python-broadlink/blob/master/broadlink/init.py#L7

This looks pretty similar to #2411, if I run the import in a shell I get:
>>> from Crypto.Cipher import AES
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/site-packages/Crypto/Cipher/__init__.py", line 3, in <module>
    from Crypto.Cipher._mode_ecb import _create_ecb_cipher
  File "/usr/local/lib/python3.6/site-packages/Crypto/Cipher/_mode_ecb.py", line 29, in <module>
    from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
  File "/usr/local/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 32, in <module>
    from Crypto.Util.py3compat import byte_string
ImportError: cannot import name 'byte_string'

Doing
pip3 uninstall pycrypto
pip3 uninstall pycryptodome
pip3 install pycryptodome

Lets me import the broadlink module without error

Same problem for me.
Where is it possibile to send these commands with Hass.io ?
pip3 uninstall pycrypto pip3 uninstall pycryptodome pip3 install pycryptodome
if i try it with putty i have this answer:
-bash: pip3: command not found

after uninstalling pycrpto and pycryptodome when i execute "pip3 install pycryptodome" i get below error. Looks like there is no gcc on hass.io. How do i install gcc on hass.io. I am running hass.io as a docker container on generic ubuntu x86 machine.
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------

Command "/usr/bin/python3.6 -u -c "import setuptools, tokenize;file='/tmp/pi                                                                                p-build-k9mr5eah/pycryptodome/setup.py';f=getattr(tokenize, 'open', open)(__file                                                                                __);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, '                                                                                exec'))" install --record /tmp/pip-w13a6v3k-record/install-record.txt --single-v                                                                                ersion-externally-managed --compile" failed with error code 1 in /tmp/pip-build-                                                                                k9mr5eah/pycryptodome/

FWIW, the ZHA module has the same issue using the docker build of HASS. I suspect the docker layer that includes the dependancies was not re-run for this release and/or there's an outdated version requirement in the code.

Same issue with my setup. I guess it will be fixed on the next update if not a workaround will be published.

Is there a workaround for docker installations? I use homeassistant/home-assistant (as most docker installations, I think)

I am on docker 2 .. think we have to wait for a fix ont his one. 0.64.1 is coming this evening as I understood

@orens, @dvd77 see this for docker until a code fix is released.

Thanks much, @roblandry! Workaround working for me.

@roblandry ! can you help ..

After uninstalling pycrpto and pycryptodome when i execute "pip3 install pycryptodome" i get below error.

unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

Command "/usr/bin/python3.6 -u -c "import setuptools, tokenize;file='/tmp/pi p-build-k9mr5eah/pycryptodome/setup.py';f=getattr(tokenize, 'open', open)(__file __);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, ' exec'))" install --record /tmp/pip-w13a6v3k-record/install-record.txt --single-v ersion-externally-managed --compile" failed with error code 1 in /tmp/pip-build- k9mr5eah/pycryptodome/
Looks like there is no gcc on hass.io. How do i install gcc on hass.io. I am running hass.io as a docker container on generic ubuntu x86 machine.

I got it ..
Install gcc by following commands
apk update
apk fetch build-base
apk add build-base
after this i was able to reinstall pycryptodome

still not working for me... still same error and no result with the fix from @roblandry

I know that this is not the best solution, but a downgrade helped me
curl -d '{"version": "0.63.1"}' http://hassio/homeassistant/update

Hello I had the same prob and here is how I fixed it on my Hass.io docker install on Ubuntu 👍

Get into the docker instance with : sudo docker exec -i -t homeassistant /bin/bash
update apk to get gcc with what kvjajoo said :

apk update
apk fetch build-base
apk add build-base

Remove and reinstall pycrypto with :

pip3 uninstall pycrypto
pip3 uninstall pycryptodome
pip3 install pycryptodome

restart your Homeassistant and got my broadlink back


Deployment error - Error: The resource you are looking for has been removed, had its name changed...

Repro steps:
Trying to deploy to Azure using Azure App Service Extension. I have done this many times but it suddenly stopped working. I have tried signing out and signing in again. Other apps deply fine, it's the only one in my list of apps that gets this error when it deploys.
The site hasn't moved, it's still there in Azure. I can see it in the portal and I can browse the site. I did add a custom domain but I'm fairly sure it was still working after that.
Action: appService.Deploy
Error type: Error
Error Message: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Version: 0.7.0
OS: win32

Hi @jon64digital,
We've been having receiving issues about sudden deployment failures.  It would be awesome if you could help us pinpoint the problem by trying to deploy using one of two methods:

If you have the Azure CLI installed, could you try to deploy to your web app using the following command:
az webapp deployment source config-zip --name                                     --resource-group                                     --src                                     [--slot]
(reference: https://docs.microsoft.com/en-us/cli/azure/webapp/deployment/source?view=azure-cli-latest#az-webapp-deployment-source-config-zip)

If you could install a previous version of the Azure App Service Extension by manually installing this .vsix (https://github.com/Microsoft/vscode-azureappservice/releases/download/v0.6.1/vscode-azureappservice-0.6.1.vsix) and then attempt a deploy, it would tell us if we made breaking changes in v0.7.0 or if the changes were introduced somewhere else.

If you need to update your web app immediately, please try to use the  Local Git Deployment Source, or connect it to a GitHub repository.  This can be done in the "Configure Deployment Source" context action.  Sorry for the inconvenience.

I don't have the CLI installed but I will try to do that tonight or tomottow morning. I'll also try the older extension.

OK, so I just downloaded the CLI and worked it out. I managed to do a single deployment but forgot to include the node_modules folder in the zip so got a 500 error. Next time I tried I got the following error in the CLI:
Zip deployment https://myAppName.scm.azurewebsites.net/api/zipdeploy failed with status code '500' and reason '<title>500 - The request timed out.</title>
500 - The request timed out.
  The web server failed to respond within the specified time.'
So, I thought I'd try it once more and got the following error:
Zip deployment https://jonexperiment.scm.azurewebsites.net/api/zipdeploy failed with status code '409' and reason 'There is a deployment currently in progress. Please try again when it completes.'
Then, a few minutes later it finally finished and gave me a success error (it was still running despite the timeout).
Long story short, it published using the CLI but I thought you might want to know the CLI seems buggy. It takes a lot longer then the VScode extension and gives no feedback while deploying. I nearly gave up on it.
If you still need me to try the old version of the extension I can do that tomorrow.

I have the same problem. If some testing required, I would be happy to help with it.

@jon64digital Thanks a lot for testing that out for me and being very descriptive-- it helped shed a lot of light on the situation.  I was able to repro a similar error using a custom domain so now we know where to start resolving this issue.
@vikian050194  I appreciate the offer, but I think we're good now!

@jon64digital  @vikian050194  We just released a new version of the extension that should fix this issue.  Please give it a try and let me know if there are still any problems deploying.
Thanks again for your help in resolving this issue!

So it was the custom domain throwig it?
Seems to work now anyway. Many thanks.

@jon64digital Yeah, we changed a hard-coded scm url to dynamically retrieving it from an array of hostnames in the last version update.  But a custom domain would change the index of where the scm url existed, causing the error.


Add fat arrow to arrow_spacing

Perhaps there is a good reason that this was left out, but I definitely want the same spacing enforced for my arrows and fat arrows. Thoughts?

I'm surprised this hasn't come up before. Tests pass code looks good :+1:


fix: bump ripe-sdk and fix ripe-image

-
-

Issue
Changes related to SDK initial, which requires the loaded config. This resulted in an error when construction ripe-image when the SDK was not yet ready.

Dependencies
--

Decisions
- Bumped SDK version to most recent- Fixed problem of loadedConfig is null by only binding the image after the SDK is ready.

Animated GIF
--

@gcandal Shouldn't we remove node 10 from the workflow, since in the package.json it only supports node>=12?

@gcandal Shouldn't we remove node 10 from the workflow, since in the package.json it only supports node>=12?
The tests only fail in node10

Probably yes, but why is the test failing? It works in master.

@gcandal Shouldn't we remove node 10 from the workflow, since in the package.json it only supports node>=12?
The tests only fail in node10

Probably yes, but why is the test failing? It works in master.

Before these changes, it was not setting the choices so no render update was made. I don't know why its failing specifically in node 10 though (still investigating)


⚠ Bofrost.es has degraded performance

In bb68059, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1453 ms

Resolved: Bofrost.es performance has improved in edb38cb after 6 minutes.


Attempts to improve og tags on obs search

This attempts to improve the Open Graph tags we include at https://www.inaturalist.org/observations with some customization based on the search parameters. That requires loading some data in Rails, which might be too much of a performance burden to bear, hence the PR for review. If we don't want to do that, we can show the generic site description as the og:description instead.

this all looks good and is working well for me locally. I'm not worried about the data that needs to be fetched to generate these


wiredcraft url is wrong

top left URL points to : https://wiredraft.com/

Fixed, thanks for pointing me at it.


[Bug]: Cmd+click of an entity doesn't scroll the editor to the correct location

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The JS object pane should support basic keyboard shortcuts that help developers write code faster and more effectively
Cmd+click of an entity doesn't scroll the editor to the correct location. The cursor is put correctly but the editor doesn't scroll. This is confusing to the user.
Steps To Reproduce
Open the JS editor and perform any/all of the actions defined above to see behaviour
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
1.6.6

@rimildeyjsr let me know if this loom video helps :)

Assuming 0.25% of users who perform ROUTE_CHANGE face this issue
Stats

Stat
Values

Reach
250

Effort (months)
0.5

duplicate of #33420


OLAF: documentation: updated guidelines and using nFWPanels instead of WakeLength

This pull request is ready to be merged
Feature or improvement description
Some improvements for the the guidelines of OLAF, and some unification between the code, the documentation and the input files (e.g. nFWPanel, and nFWPanelFree are reintroduced).
Impacted areas of the software
OLAF

Thank you for your review, I've tried to address the comments in this updated version.


mathGlyph.py doctest failing

This test is failing. The result is,
('curve', (0, 50), False, 'name 1', 'point 1'),
(None, (0, 75), False, None, None),
(None, (25, 100), False, None, None),
(None, (25, 100), False, None, None),  <--- line 4
(None, (50, 100), False, None, None),  <--- line 5
('curve', (50, 100), True, 'name 2', 'point 2'),
(None, (75, 100), False, None, None),
(None, (100, 75), False, None, None),
('curve', (100, 50), True, 'name 3', 'point 3'),
(None, (100, 25), False, None, None),
(None, (75, 0), False, None, None),
('curve', (50, 0), False, 'name 4', 'point 4'),
(None, (25, 0), False, None, None),
(None, (0, 25), False, None, None)

Lines 4 and 5 are what's different from the expected result.
I tried with both RoboFab's master and ufo3k branches. The outcome was the same.
Can someone else confirm this?

I get that as well.

This should now be fixed. The test data was not correct.


Add Username functionality

Summary:
Add way for user to enter name to be used in chat
Fix chat to use these names instead of "NetworkManager"

Completed in commit id: f4d57521e15c01b22a1136c3c006e0d8e2245ac4


What is the version of this lib?

What is the version of this lib?
Is it stable enough?

Okay, it's 0.1.6


OVN ovsdb servers do not create TCP sockets when secure remote is set

ovn-ctl CLI has parameters --db-nb-create-insecure-remote and --db-sb-create-insecure-remote which can take values yes or no (default). The name of these parameters strongly suggest that when set to yes, communication to the databases will be secured via SSL/TLS over TCP. However, when the same parameters are set to yes, no TCP socket is created.
Let's start with an insecure remote with key and certificates set:
/usr/share/ovn/scripts/ovn-ctl \
    --db-nb-create-insecure-remote=yes \
    --db-nb-addr=<IP_ADDRESS> \
    --db-nb-port=6641 \
    --ovn-nb-db-ssl-key=/root/testca/testcert.key \
    --ovn-nb-db-ssl-cert=/root/testca/testcert.pem \
    --ovn-nb-db-ssl-ca-cert=/root/testca/ca.cert.pem \
    run_nb_ovsdb

ovn-ctl spawned an ovsdb-server process with the following parameters:
+ exec ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --remote=db:OVN_Northbound,NB_Global,connections --private-key=/root/testca/testcert.key --certificate=/root/testca/testcert.pem --ca-cert=/root/testca/ca.cert.pem --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers --remote=ptcp:6641:<IP_ADDRESS> /etc/ovn/ovnnb_db.db

The TCP socket is created and listening on <IP_ADDRESS>:6641 as expected:
[root@ovn1 ~]# ss -natulpe '( sport = 6641 )'
Netid      State       Recv-Q      Send-Q             Local Address:Port             Peer Address:Port
tcp        LISTEN      0           10                 <IP_ADDRESS>:6641                  <IP_ADDRESS>:*          users:(("ovsdb-server",pid=84022,fd=15)) ino:76722480 sk:99 <->

Even though certificates and key were passed in, ovsdb-server does not load them up (as expected):
[root@ovn1 ~]# openssl s_client -connect <IP_ADDRESS>:6641
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 289 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

Now, let's start ovsdb-server in secure remote mode with the same certificates and key set:
/usr/share/ovn/scripts/ovn-ctl \
    --db-nb-create-insecure-remote=no \
    --db-nb-addr=<IP_ADDRESS> \
    --db-nb-port=6641 \
    --ovn-nb-db-ssl-key=/root/testca/testcert.key \
    --ovn-nb-db-ssl-cert=/root/testca/testcert.pem \
    --ovn-nb-db-ssl-ca-cert=/root/testca/ca.cert.pem \
    run_nb_ovsdb

This time there is no TCP socket:
[root@ovn1 ~]# ss -natulpe '( sport = 6641 )'
Netid      State      Recv-Q       Send-Q             Local Address:Port             Peer Address:Port
[root@ovn1 ~]#

The problem appears to be that ovn-ctl spawned an ovsdb-server process without a proper --remote= value set:
+ exec ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --remote=db:OVN_Northbound,NB_Global,connections --private-key=/root/testca/testcert.key --certificate=/root/testca/testcert.pem --ca-cert=/root/testca/ca.cert.pem --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db

A potential fix could look like this:
--- /usr/share/ovn/scripts/ovn-ctl        2021-03-12 12:55:31.963155494 +0000
+++ /usr/share/ovn/scripts/ovn-ctl.new      2021-03-12 12:55:34.276155494 +0000
@@ -283,6 +283,8 @@

     if test X"$create_insecure_remote" = Xyes; then
         set "$@" --remote=ptcp:$port:$addr
+    elif test X"$create_insecure_remote" = Xno && test X"$ovn_db_ssl_key" != X; then
+        set "$@" --remote=pssl:$port:$addr
     fi

     if test $mode = active_passive; then

ovsdb-server would be invoked like so:
+ exec ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --remote=db:OVN_Northbound,NB_Global,connections --private-key=/root/testca/testcert.key --certificate=/root/testca/testcert.pem --ca-cert=/root/testca/ca.cert.pem --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers --remote=pssl:6641:<IP_ADDRESS> /etc/ovn/ovnnb_db.db

I think ovn-ctl is working as expected.
When you set   --db-nb-create-insecure-remote=no, it means ovsdb-server will only listen to the remotes using SSL and hence it doesn't start ovsdb-server with --remote.  If     --db-nb-create-insecure-remote=yes, then ovsdb-server will be started with --remote option.

Starting with --db-nb-create-insecure-remote=no will not enable the server to listen on a secured TCP connection (pssl) but rather only on an Unix socket file (punix). It is possible to see that clearly on the initial report above.

we worked around this by doing
# ovn-nbctl set-connection pssl:6641:<IP_ADDRESS>
This allowed server to use the connection parameter that is pointed to via --remote=db:OVN_Northbound,NB_Global,connections
Not sure if this is the right way, comments are welcomed.


Autoware fails to recognize small objects on the road

Bug report
Required information:

Operating system and version: Ubuntu 18.04
Autoware installation type: Docker image autoware/autoware:1.14.0-melodic-cuda, as specified in the Dockerfile of https://github.com/carla-simulator/carla-autoware at commit 975b6f3.
Autoware version or commit hash - 1.14.0
ROS distribution and version:

ROS Melodic (pre-installed in the docker image)

ROS installation type:

Pre-installed in the docker image

Description of the bug

I am running Autoware 1.14.0 (docker image: autoware/autoware:1.14.0-melodic-cuda), Carla <IP_ADDRESS> (docker image: carlasim/carla:<IP_ADDRESS>) as a simulator and carla-autoware-bridge at 975b6f3 as a bridge.
There is an accident that leaves a debris on the path, which is large enough that it should be avoided.
The vehicle doesn't recognize the debris and hits it: Camera.
Based on the point clouds, neither the LiDAR nor fusion data seem to have recognized the object: rviz.
Please check the rosbag file for a detailed trace.

Steps to reproduce the bug

Replay the attached rosbag files.

Expected behavior
Vehicle recognizes the debris and avoids hitting it.
Actual behavior
Vehicle fails to recognize the debris and hits it.
Screenshots
Videos attached above.
Additional information

@squizz617 Unfortunately, this is not something that can be fixed within Autoware. Random debris won't be identified by any camera-based object recognition algorithm because they are trained to only recognize a specific set of classes of objects and if the object is too small to be seen by lidar, then the vehicle can not possibly know to avoid it. This is a problem of sensor coverage, not a bug in Autoware.ai.


Add [slumericanbds1] #exchange #issuer #wallet GDVWPE…QAUSDF

Address: GDVWPEOTJOPRT433PX6LULEPML5AN6QJO4GCFVFK43IPRQ23NPQAUSDF
Tags: exchange issuer wallet
Title: slumericanbds1
Requested by @slumericanb

Please explain what you want to be done with this account? They a minted a handful of very low volume tokens and has funded a large number of obscure POOLS.
This issue can be reopened when new information is given


How can i set different capabilities on same model but different :id

I have this use case where I want to set RUD (read, update, delete) capabilities for Model id 1 but want to just give read capability on Model id 2 for same user. Can you please help in how to achieve this ?

@jaydave If you have/add a user_id to the model, you can model it using ownership of the model. (RUD capabilities if the user owns the model, R capability if the user does not own the model).

@jaydave Yes, that's what I meant 😄

@tobithiel thanks for help.


Silent mode for events in non-remote execution planes does not work

The following if prevents processing of any non .triggered events and therefore the silent mode can't really be used.
	if !strings.Contains(event.Type(), ".triggered") {
		return nil
	}

see https://github.com/keptn-contrib/job-executor-service/blob/be2956e0aeebeaa5c69b883131ca2dee91b235ba/cmd/job-executor-service/main.go#L86
It would probably be best to remove the if and completely test the silent mode.

I'll work on this


Performance Inquiry: CPU Load with Single Audio Call on LiveKit-Agent

Hello,
I am experiencing what seems to be a relatively high CPU load when running a single audio call on the LiveKit-agent. Here are the details:

Processor: AMD Ryzen 5 3600 6-Core Processor
Load: CPU usage increases by 15-20% during a single audio call.
Memory: Increases by approximately 100MB.

I suspect that the audio encoder/decoder might be contributing to this load. By default, I believe OPUS is used for encoding/decoding.
My questions are:

Is a 15-20% CPU load considered normal for a single audio call?
Is there an option to switch to a simpler codec like ULaw to optimize CPU usage?
Are there any other suggestions or ideas on how to reduce CPU load for audio calls?
Could this be a sign of a problem, or is this load within the expected range for the worker?
Attached are screenshots illustrating the CPU and memory usage during the call.

Any insights or recommendations would be greatly appreciated.
Thank you!
Attachments:

Code:
async def entrypoint(ctx: JobContext):
    room_metadata = ctx.room.metadata

    # Create an initial chat context with a system prompt
    initial_ctx = ChatContext(
        messages=[
            ChatMessage(
                role=ChatRole.SYSTEM,
                text=OPEN_AI_PROMPT,
            )
        ]
    )

    custom_voice = Voice(
        id="21m00Tcm4TlvDq8ikWAM",
        name="CustomName",
        category="custom",
        settings=VoiceSettings(
            stability=0.75,
            similarity_boost=1.0,
            style=1.0,
            use_speaker_boost=True
        ),
    )

    # VoiceAssistant is a class that creates a full conversational AI agent.
    # See https://github.com/livekit/agents/blob/main/livekit-agents/livekit/agents/voice_assistant/assistant.py
    # for details on how it works.
    assistant = VoiceAssistant(
        interrupt_speech_duration=0.65,
        vad=silero.VAD(), # Voice Activity Detection
        stt=deepgram.STT(
            model="nova-2-phonecall"
        ), # Speech-to-Text
        llm=openai.LLM(model='gpt-4'), # Language Model
        tts=elevenlabs.TTS(
            voice=custom_voice
        ), # Text-to-Speech
        chat_ctx=initial_ctx, # Chat history context
        allow_interruptions=True, # Allow interruptions
    )

    # Initialize a flag to track if greeting has been sent
    greeting_sent = False

    # Define a callback function to handle participant join events
    async def on_participant_joined(participant):
        nonlocal greeting_sent
        if not greeting_sent:
            await asyncio.sleep(1)
            await assistant.say("Hey.", allow_interruptions=True)
            greeting_sent = True

    # Set the event handler for the room
    ctx.room.on('participant_connected', lambda participant: asyncio.create_task(on_participant_joined(participant)))

    # Start the voice assistant with the LiveKit room
    assistant.start(ctx.room)

    # Check if there are participants already in the room
    if len(ctx.room.participants) > 0 and not greeting_sent:
        await on_participant_joined(next(iter(ctx.room.participants.values())))

# This function is called when the worker receives a job request
# from a LiveKit server.
async def request_fnc(req: JobRequest) -> None:
    logging.info("received request %s", req)
    # Accept the job tells the LiveKit server that this worker
    # wants the job. After the LiveKit server acknowledges that job is accepted,
    # the entrypoint function is called.
    await req.accept(entrypoint)

if __name__ == "__main__":
    # Initialize the worker with the request function
    cli.run_app(WorkerOptions(request_fnc))

Hey, we're going to investigate this issue this week. We've also reproduced some workers where the CPU usage is unexpectedly high


why count method in sonic client return the len of data +1 ?

when we use count method in sonic client it returns the len(data) +1 !!

apparently sonic bug https://github.com/valeriansaliou/sonic/issues/188#issuecomment-557918679 nothing to do on our side.


Refactor style minimization

This PR refactors the minimizeStyle method to use helper methods which can be used to minimize pseudo elements as well.

LGTM


python311Packages.cdcs: 0.2.2 -> 0.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.cdcs is: Python client for performing REST calls to configurable data curation system (CDCS) databases
meta.homepage for python311Packages.cdcs is: https://github.com/usnistgov/pycdcs
meta.changelog for python311Packages.cdcs is: https://github.com/usnistgov/pycdcs/releases/tag/v0.2.3
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.2.3 with grep in /nix/store/bj0pvrydnp36ncl38kg81rjklcxj1c0g-python3.11-cdcs-0.2.3
found 0.2.3 in filename of file in /nix/store/bj0pvrydnp36ncl38kg81rjklcxj1c0g-python3.11-cdcs-0.2.3

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)

9 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.atomman
python311Packages.cdcs
python311Packages.potentials
python311Packages.yabadaba
python312Packages.atomman
python312Packages.cdcs
python312Packages.potentials
python312Packages.yabadaba

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bj0pvrydnp36ncl38kg81rjklcxj1c0g-python3.11-cdcs-0.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.cdcs https://github.com/r-ryantm/nixpkgs/archive/9b4c88dc2884c470a56d7eda0a598ac4bd8df561.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9b4c88dc2884c470a56d7eda0a598ac4bd8df561#python311Packages.cdcs

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bj0pvrydnp36ncl38kg81rjklcxj1c0g-python3.11-cdcs-0.2.3
ls -la /nix/store/bj0pvrydnp36ncl38kg81rjklcxj1c0g-python3.11-cdcs-0.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages failed to build:

python312Packages.atomman
python312Packages.atomman.dist

14 packages built:

python311Packages.atomman
python311Packages.atomman.dist
python311Packages.cdcs
python311Packages.cdcs.dist
python311Packages.potentials
python311Packages.potentials.dist
python311Packages.yabadaba
python311Packages.yabadaba.dist
python312Packages.cdcs
python312Packages.cdcs.dist
python312Packages.potentials
python312Packages.potentials.dist
python312Packages.yabadaba
python312Packages.yabadaba.dist

Maintainer pings
cc @fabaff for testing.

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

22 packages built:

python311Packages.atomman
python311Packages.atomman.dist
python311Packages.cdcs
python311Packages.cdcs.dist
python311Packages.potentials
python311Packages.potentials.dist
python311Packages.pymatgen
python311Packages.pymatgen.dist
python311Packages.sumo
python311Packages.sumo.dist
python311Packages.yabadaba
python311Packages.yabadaba.dist
python312Packages.atomman
python312Packages.atomman.dist
python312Packages.cdcs
python312Packages.cdcs.dist
python312Packages.potentials
python312Packages.potentials.dist
python312Packages.pymatgen
python312Packages.pymatgen.dist
python312Packages.yabadaba
python312Packages.yabadaba.dist


Create WinUI 3 platform implementation

@glyad please create an issue and link this PR to it. Thanks!


Refactor Dataset's tree functions.

Dataset has functions remove_burnin and sample here.
These are surplus (read_trees now does this) and live as a methods for Dataset when they might live better elsewhere
Two options:
a. remove them completely to rely on read_trees (There should be one-- and preferably only one --obvious way to do it.)
b. move them into e.g. phlorest.tools to make them re-usable.
I think b makes a lot of sense but they are pretty trivial functions which just wrap calls to the nexus package.

rate_remove (https://github.com/phlorest/phlorest/blob/b6e80fc8d9f4cbf0234232d1b5b814a84cbc54be/src/phlorest/dataset.py#L22-L40) could also be another function

closing this as completed in #18


Use pypi pkgs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.905%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
256

Relevant Lines:
377

💛  - Coveralls


Feature/issue 1886 integrate ode

Submisison Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
Add integrate_ode_rk45 and integrate_ode_bdf functions with and without control arguments.  Deprecate unmarked integrate_ode.
Intended Effect
Enable stiff ODE solving, call out names of solvers in functions, and allow for user-specified control parameters.
How to Verify
Unit tests for integrators and for the language components.
Side Effects

deprecation messages for old version, integrate_ode()

interfaces must add -DFUSION_MAX_VECTOR_SIZE=12 to makefile CFLAGS

Documentation
ODE chapter rewritten in manual with clarifications on signatures and discussion of stiffnes.  New ODE chapter in function signatures reference manual.
Reviewer Suggestions
Anyone.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

This won't pass integration tests until https://github.com/stan-dev/math/pull/294 is merged from math.

It should pass tests now. I've updated the submodule on this branch with the pull request updating math.

Jenkins, retest this please.

woo hoo! This is finally passing tests. CmdStan not passing is due to needing to update the makefile there.

Jenkins, retest this please.

I still had quite a few edits that I hadn't pushed
for this branch.  None of them are major, though, so
it's OK by me to go with it as it was.
What's the best way for me to deal with edits on
a branch that just got committed for a future refactoring
patch?

Bob

Bob, please push to the branch when you get a chance if you're ready. If
it'll take a few more days, I can go ahead and merge once tests are done.
Edits on branches that have been merged -- that's easy. Just keep working
on the branch. If you create a pull request, it'll know that the branch was
merged into develop, so there isn't an issue. If someone rebases
everything, it gets much trickier.
On Fri, May 27, 2016 at 1:16 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

I still had quite a few edits that I hadn't pushed
for this branch. None of them are major, though, so
it's OK by me to go with it as it was.
What's the best way for me to deal with edits on
a branch that just got committed for a future refactoring
patch?

Bob

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/pull/1892#issuecomment-222203253, or mute
the thread
https://github.com/notifications/unsubscribe/AAZ_F4JHQ2qsit9ZOFtSeWh-dRws8RMdks5qFyb-gaJpZM4IfnAQ
.

Cool.  Thanks.  That's easier than I thought it would be.

On May 27, 2016, at 1:20 PM, Daniel Lee<EMAIL_ADDRESS>wrote:
Bob, please push to the branch when you get a chance if you're ready. If
it'll take a few more days, I can go ahead and merge once tests are done.
Edits on branches that have been merged -- that's easy. Just keep working
on the branch. If you create a pull request, it'll know that the branch was
merged into develop, so there isn't an issue. If someone rebases
everything, it gets much trickier.
On Fri, May 27, 2016 at 1:16 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

I still had quite a few edits that I hadn't pushed
for this branch. None of them are major, though, so
it's OK by me to go with it as it was.
What's the best way for me to deal with edits on
a branch that just got committed for a future refactoring
patch?

Bob

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/pull/1892#issuecomment-222203253, or mute
the thread
https://github.com/notifications/unsubscribe/AAZ_F4JHQ2qsit9ZOFtSeWh-dRws8RMdks5qFyb-gaJpZM4IfnAQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


feat(webpack-config): add javascriptEnabled less-loader option

Would be nice to also reflect it to the documentation.


refactor: adding doc links

Description

Add cloud doc links.
Remove redundant field explanations.

This PR was replaced by another. Closing.


The Delegation key not getting added to the notary.

I am trying to delegate the keys from Jenkins Master to Jenkins agent.
Even though I add and publish the delegation key from the Master Jenkins, I don't see the delegation key in the list. what can be the issue? I updated the Notary with the latest one but still seeing the same issue.
jenkins@7f9cc4732961:/$ notary key rotate registry/ct-bill-calc-service snapshot -r -s https://notary:4443 --tlscacert /var/jenkins_home/.docker/ca.pem --tlscert /var/jenkins_home/.docker/cert.pem --tlskey /var/jenkins_home/.docker/key.pem -d /var/jenkins_home/.docker/trust
Enter passphrase for root key with ID 52d4fec:
Successfully rotated snapshot key for repository registry/ct-bill-calc-service
jenkins@7f9cc4732961:/$ notary delegation add registry/ct-bill-calc-service targets/releases Delegation.key --all-paths
Addition of delegation role targets/releases with keys [9a8a6fe9a622d2b69b4435ea44d0c37c6291cd12e84884607475b20287b62ceb], with paths ["" ], to repository "registry/ct-bill-calc-service" staged for next publish.
jenkins@7f9cc4732961:/$ notary publish registry/ct-bill-calc-service -s https://notary:4443 --tlscacert /var/jenkins_home/.docker/ca.pem --tlscert /var/jenkins_home/.docker/cert.pem --tlskey /var/jenkins_home/.docker/key.pem -d /var/jenkins_home/.docker/trust
Pushing changes to registry/ct-bill-calc-service
Successfully published changes for repository registry/ct-bill-calc-service
jenkins@7f9cc4732961:/$ notary delegation list registry/ct-bill-calc-service -s https://notary:4443 --tlscacert /var/jenkins_home/.docker/ca.pem --tlscert /var/jenkins_home/.docker/cert.pem --tlskey /var/jenkins_home/.docker/key.pem -d /var/jenkins_home/.docker/trust
No delegations present in this repository.

Testing with notary 0.6.1 this is working for me as expected against docker hub.
Could you confirm which version of notary you are using, and test the exact same commands against docker hub?


FEAT: I want to add password strength indicator in registration page.

✨ Feature Request
Description of the Feature
This feature will help the user to know that how strong there password is.
Problem Statement

Proposed Solution
There will be a password strength indicator below the password input box.
Alternatives Considered

Additional Context

Are you participating in GSSoC?

[x] Yes
[ ] No

Then may I enhance it.


acbuild failing: lacks the binary to execute or doesn't look like a binary tree. Refusing.

I have the following script for building the Python based CMS Plone
https://github.com/zopyx/plone-aci/blob/master/plone.sh
This fails with
    100% |████████████████████████████████| 1.8MB 232kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-14.0.6
New python executable in /plone/bin/python
Installing setuptools, pip, wheel...done.
Collecting zc.buildout
  Downloading zc.buildout-2.5.0-py2.py3-none-any.whl (261kB)
    100% |████████████████████████████████| 262kB 1.7MB/s
Requirement already satisfied (use --upgrade to upgrade): setuptools>=8.0 in /plone/lib/python2.7/site-packages (from zc.buildout)
Installing collected packages: zc.buildout
Successfully installed zc.buildout-2.5.0
Directory /home/docker/src/x/.acbuild/target lacks the binary to execute or doesn't look like a binary tree. Refusing.
run: exit status 1
copy: open .acbuild/currentaci/rootfs: is a directory
run: bin/buildout not found in any of: [/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin]

Using latest acbuild 0.2.2

The command:
acbuild run /plone/bin/zc.buildout bootstrap

fails because /plone/bin/zc.buildout does not exist in the image. Where should zc.buildout come from?
It is recommended to use set -e: to stop the script early if it fails. Example:
https://github.com/appc/acbuild/blob/master/examples/nginx/build-nginx.sh#L2

Thanks for opening my eyes...in fact this is a typo.
However the error message is a bit misleading and could be rephrased in a
better way like
unable to execute "/some/command" because it was not found...
 Where
should zc.buildout come from?
It is recommended to use set -e: to stop the script early if it fails.
Example:
https://github.com/appc/acbuild/blob/master/examples/nginx/build-nginx.sh#L2
—
Reply to this email directly or view it on GitHub
https://github.com/coreos/rkt/issues/2153#issuecomment-181911678.

I reported the issue on acbuild: https://github.com/appc/acbuild/issues/165.
Closing this issue on rkt.


DumpDelegates updates, gitignore CSVs/Sensitive files, Add MailboxUPN to InboxRule

Add add .gitignore to ignore CSVs (Since they are input and output for these functions)
Also Ignore ConfigForO365Investigations.json since it's possibly going to have sensitive info in it
Restructure DumpDelegatesandForwardingRules to use Get-Mailbox, and to not need MSOnline for one of the Scripts.
Add Mailbox UPN field for InboxRules to save having to do lookups with the inboxrules you get back

This does not include #30/#39 - those still need to be merged/fixed with this.


[5.1] Dynamic cast optimizer: Consider CF conversions via superclasses.

Explanation: The cast optimizer would generate invalid SIL when a CFMutable* was bridged to the corresponding Swift value type bridged from the non-mutable class.
Scope: Small bug fix
Issue: rdar://problem/51078136
Risk: Low, isolated bug fix.
Testing: Swift CI
Reviewed by: @aschwaighofer

@swift-ci Please test

@swift-ci Please nominate


Example using initialValue in MultiSelectDialogField

I have been struggling a bit getting initial value to work, could someone provide an example?
I don't see it being used in any of the examples in the repository.

Hi @Aynn,
I'm sorry to respond so late.
I have updated the example project to include a MultiSelectDialogField that has initial values set.
Here is an example:
MultiSelectBottomSheetField(
  items: _animalItems,
  initialValue: _selectedAnimals // set this in initState for pre-selected values,
  onConfirm: (values) {
    _selectedAnimals = values;
  },
  chipDisplay: MultiSelectChipDisplay(
    onTap: (item) {
      _selectedAnimals.remove(item);
      return _selectedAnimals;
    },
  ),
),

Hope this helps :)

@CHB61  The issue is still exist for me, initialValue can't be shown


Prevent starvation of large jobs

What would you like to be added:
Workloads with the same priority don't preempt each other within a ClusterQueue, one consequence is that large size jobs may be starved if users submit a stream of smaller jobs from the same priority class.
To address this case, we could add a preemption strategy that allows older jobs to preempt newer ones from the same priority class.
Why is this needed:
To prevent starvation of large jobs via preemption.
Completion requirements:
This enhancement requires the following artifacts:

[x] Design doc
[x] API change
[x] Docs update

The artifacts should be linked in subsequent comments.

The field TriggerAfterWorkloadWaitingSeconds in [1] was a proposal along these lines. Any extra signal we can incorporate in a new design?
[1] https://github.com/kubernetes-sigs/kueue/tree/main/keps/83-workload-preemption#extra-knobs-in-clusterqueue-preemption-policy

Yes, so smaller jobs that were submitted after the big job, but got a chance to start before the big one because they happen to fit, should be the primary candidates for preemption.
Imagine this example (all jobs from the same priority class):

quota is 100
job1 and job2 each consumes 30; available quota is 40
job3 submitted and requests 50, it doesn't fit and will wait
job4 submitted and requests 30, it fits and will start; available quota is 10
job1 finishes, available quota is 40, so job3 still doesn't fit, but we can preempt job4 to fit it; job4 is a candidate because it was submitted after job3.

Gotcha, that's the creation timestamps for each Jobs is a very clear signal.

Maybe we can add a property in clusterQueue to allow workload preempting workloads with same priority after some time?

A middle ground between this and TriggerAfterWorkloadWaitingSeconds could be someting like:
	// PreemptSmallerIfNewerThen if set, smaller jobs having a scheduling timestamp
	// bigger than the current workload + PreemptSmallerIfNewerThen seconds will be
	// considered for preemption in order to avoid starvation of large jobs.
	// This is only applicable within the same cluster queue when WithinClusterQueue
	// is set to LowerPriority.
	//
	// +optional
	PreemptSmallerIfNewerThen *int64

This should be a Clusterqueue API field.
I like the flexibility of the proposal above. However, the wording needs to include that this affects the same priority. And maybe that this is specific to ClusterQueue preemption, and not cohort reclaim? does it have to be?
Also, do we expect more tuning options? If so, it could be something like:
preemption:
  withinClusterQueue: LowerThanOrEqualPriority
  samePriority:
     ifNewerThanSeconds: 100

Although I'm not convinced about the wording

Let's step back.
@KunWuLuan, do you have a use case for configuring the time threshold?
We could start simple and just add the policy for LowetThanOrEqualPriority

I have opened #710, but I'd hold the merge and use workload.GetSchedulingTimestamp after #689 is merged.

Let's step back. @KunWuLuan, do you have a use case for configuring the time threshold? We could start simple and just add the policy for LowetThanOrEqualPriority

Hi, Aldo. I think ifNewerThanSeconds  is enougth. Thanks. 👍

My question was whether we could start without ifNewerThanSeconds.
Can you clarify why do you think this is important?
Could there be other alternatives that apply to any kind of preemption? Like TriggerAfterWorkloadWaitingSeconds in [1]
Or something like IfAdmittedLessThanSeconds.
[1] https://github.com/kubernetes-sigs/kueue/tree/main/keps/83-workload-preemption#extra-knobs-in-clusterqueue-preemption-policy


Bug? - surroundedBy with optional whitespace fails to parse

`
/**
Demonstrates a possible bug with cats-parse.
Parses a parenthesized word list  (foo, bar, x, y),
 but fails to parse if a space precedes the final ')'.

cats-parse version 0.3.2
Scala version      3.0.0-RC2

*/
import cats.parse.Parser=>P
@main def main():Unit =
// Specific types of characters.
val whitespace = P.charIn( " \r\t\n")
val letter = P.charIn('a' to 'z')
val comma = P.char(',')
val lParen = P.char('(')
val rParen = P.char(')')

// For testing, a lowercase word.
val word = letter.rep.string

// Allow optional spaces around the list characters -  ( , )
val whitespaces0 = whitespace.rep0.void
val listStart = lParen.surroundedBy(whitespaces0).void
val listEnd = rParen.surroundedBy(whitespaces0).void
val listSeparator = comma.surroundedBy(whitespaces0).void

// Define a parenthesized list of words ... eg. (foo, bar, x, y)
val wordList = listStart ~ word.repSep0(listSeparator) ~ listEnd

// This wordlist parses fine.
val result1 = wordList.parseAll("(foo, bar, x, y)")
assert(result1.isRight)

// PROBLEM: If a space precedes the final ')', then it fails.
val result2 = wordList.parseAll("(foo, bar, x, y )")
assert(result2.isRight)

`

See this comment:
https://github.com/typelevel/cats-parse/issues/188#issuecomment-811560973
surroundedBy with whitespace does not work great. The problem is lack of backtracking. Your design is assuming backtracking. As soon as you see whitespace, the first item will start to parse, if you don't hit the surrounded thing, you will get an error (again, an intentional goal is opt-in backtracking).
So, I think instead you want something like: whitespaces0.soft *> comma *> whitespaces0
The reason your final example fails is because with you hit y ) the space starts looking like a listSeparator, but then you don't see a , but the parser expects that.
Altenatively, you could make listSeparator backtrack by doing:
val listSeparator = comma.surroundedBy(whitespaces0).backtrack

Thanks for the explanation.  It pointed me to a reasonable solution.
Rather than introducing backtracking just to eliminate whitespace, I'm removing whitespace after each token, rather than both before and after.  I created a ".strip" method to skip over trailing whitespace.
    extension[T](self:Parser[T])          def strip = self <* (whitespace.rep0.void)
I fell into my way of errors by following the README example. Given the pitfalls, it probably isn't good practice to use surroundedBy to remove whitespace.

you are right. We need to improve the readme... it compiles, but it actually isn't great for the same reason.

done in #289 #290


feat(build): add jq to Docker image

Adds jq, which is super useful to parse JSON from webhook requests, to the Docker image.

So, adnanh/webhook can already parse JSON payloads: https://github.com/adnanh/webhook#multipart-form-data 🤔
I would prefer to keep this image as minimal/tiny as possible, but I'm not completely against adding jq if there's sufficient justification for it.

jq comes in very handy for me when I have to parse JSON to make API requests in my bash scripts since unfortunately not all values required to make those API requests are available in the initial payload that the webhook server handles.


Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups

Describe the bug
After updating HA to Home Assistant 2023.2.2, I get the error "Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups" in the logs:
To Reproduce
Steps to reproduce the behaviour:
Update to HA v2023.2.2
Check the logs
Expected behaviour
N/A
Screenshots

Logs
`Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: 20:19:58 (1 occurrences)
Last logged: 20:19:58
Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups; this will fail in version 2023.3. Please report issue to the custom integration author for volkswagen_we_connect_id using this method at custom_components/volkswagen_we_connect_id/init.py, line 92: hass.config_entries.async_setup_platforms(entry, PLATFORMS)`
HA Version Info:
Home Assistant 2023.2.2
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230202.0 - latest
Additional context
This is based on the latest update to We Connect ID (v0.1.3) integration in HACS, which has then had the files provided from this repo, to allow it to work with the Cupra Born.
I tried to alter line 92 in the custom_components/volkswagen_we_connect_id/init.py file from:
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
to...
hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
...but clearly Python isn't my strong point and just made all the entities unavailable. It might be in the right format, but it could be there's something else in the file that also needs altering.
Just ask if there's any more info you need!

Sorry, I think you are wrong here. You probably wanted to report your issue here: https://github.com/mitch-dc/volkswagen_we_connect_id

My apologies, I'll raise with the original integration. Just wasn't sure if it was something that was added from this integration that would have caused this issue or the original one. Thank you

No problem!


cloup.Group ignores command_class to produce sub-commands

Using:

Cloup v2.1.1
Click v8.1.4
Python 3.11.4

Bug description
cloup.Group ignore the command_class property that is used in click.Group to set the default class of the @group.command() decorator.
To Reproduce
Here is the minimal CLI, saved in a cloup_test.py file, that is reproducing the issue:
from cloup import Command, Group, group

class CustomCommand(Command):

    def __init__(self, *args, **kwargs):
        kwargs.setdefault("context_settings", {"help_option_names": ("--help", "--my-fancy-help")})
        super().__init__(*args, **kwargs)

class CustomGroup(Group):

    command_class = CustomCommand

@group(cls=CustomGroup)
def my_cli():
    pass

@my_cli.command()
def subcommand():
    pass

if __name__ == "__main__":
    my_cli()

When I call the bare CLI at the group level, the subcommand is properly registered and appears in the help screen:
$ python ./cloup_test.py
Usage: cloup_test.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  subcommand

Now when I call the --help on the subcommand I cannot see any reference to my --my-fancy-help custom help option name:
$ python ./cloup_test.py subcommand --help
Usage: cloup_test.py subcommand [OPTIONS]

Options:
  --help  Show this message and exit.

Expected behavior
Instead of the output above, I expect to get the following results:
$ python ./cloup_test.py subcommand --help
Usage: cloup_test.py subcommand [OPTIONS]

Options:
  --help, --my-fancy-help  Show this message and exit.

Notice how --my-fancy-help is featured in the help screen, because I expect @my_cli.command() to return a decorator of CustomCommand, as per the command_class property defined on CustomGroup.
Click behavior
The same minimal CLI, sourced with Click's primitives, is working as expected.
In the example above, if you replace:
from cloup import Command, Group, group

With:
from click import Command, Group, group

You get the expected output:
$ python ./cloup_test.py subcommand --help
Usage: cloup_test.py subcommand [OPTIONS]

Options:
  --my-fancy-help, --help  Show this message and exit.

Notes

This might be related to https://github.com/pallets/click/pull/2417 , which has been fixed in the recent Click 8.1.4

This example is inspired by Click's unittest

Thanks for reporting. I fixed it but I'm having issues with mypy.

Thanks for reporting. I fixed it but I'm having issues with mypy.

Thanks @janluke for the quick update! You're fast!
As for Mypy I guess you shouldn't try to be too perfect. You're better than me at types, but you have to realize the typing you're doing in Cloup is quite advanced. Click itself has some difficulties with typing the latest 8.1.4 release. See: https://github.com/pallets/click/issues/2558
What I wanted to say: it is OK for me to have a couple of # type: ignore[] in the code if it makes your life easier as a maintainer. You'll have time to revisit these issues and perfect it in next releases.

Ah, and see @davidism comment about being reasonable with typing in Click:

Also, note that typing in Python is optional. Click is not broken by this, 8.1.4 works just fine and fixes a lot of issues. You have the power to ignore any typing errors that are not useful, either inline, per file, or across a project if you need to get CI to pass. It's ok, you're not suddenly going to write the decorator wrong 😉.

I've always considered typing (and good IDE autocompletion) a feature of Cloup. If I use cloup.group, then I expect my IDE knows I can call section(). Unfortunately, Click is not designed with typing in mind.

Actually, even master fails mypy checks now: https://github.com/janluke/cloup/actions/runs/5542413108/jobs/10117062431

I checked the click issue only a few minutes ago, I hadn't understood that click 8.1.4 was the cause of the issue. So, I'll fix this issue when I have time, maybe after work today.
Yes, I'll add weekly tests as well.

I think your issues are being addressed by Click 8.1.5 which was released 40 minutes ago.

I can confirm the latest release of Cloup v2.1.2 is addressing this issue.
Thanks again @janluke for the fast release!


CrossJoin

Hi Bruno,
I've tried to get the CrossJoin function to work but it gives "Bad post content".
In Postman we do this request :
https://api.hanaserver.nl:50000/b1s/v2/QueryService_PostQuery
Body :
{
"QueryPath":"$crossjoin(Invoices,Invoices/DocumentLines)",
"QueryOption":"$expand=Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)&$filter=Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')"
}
The result is like this :
{
<EMAIL_ADDRESS>: "$metadata#Collection(Edm.ComplexType)",
"value" : [
{
"Invoices" : {
"DocEntry" : 19,
"DocNum" : 5
},
"Invoices/DocumentLines" : {
"ItemCode" : "10617",
"LineNum" : 0
}
}
],
<EMAIL_ADDRESS>: "/b1s/v2/QueryService_PostQuery?$expand=Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)&$filter=Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')&$skip=1"
}
Is this possible to do with B1Sslayer ?
Regards,
Paul

Hi, @WitmondPaul. Yes it's possible and you can do the request in two ways:
Using the QueryService_PostQuery resource like you're doing:
var body = new
{
    QueryPath = "$crossjoin(Invoices,Invoices/DocumentLines)",
    QueryOption = "$expand=Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)&$filter=Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')"
};

var result = await serviceLayer.Request("QueryService_PostQuery").PostAsync<List<YourModelClass>>(body);

Or, like this:
var result = await serviceLayer
    .Request("$crossjoin(Invoices,Invoices/DocumentLines)")
    .Expand("Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)")
    .Filter("Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')")
    .GetAsync<List<YourModelClass>>()>>

Hi Bruno,
Thanks, this is great !
Best regards / Met vriendelijke groet,
Paul Witmond
Planlogic B.V. | Bolderweg 2 | 1332 AT  Almere | T. +31 (0)36 3030003| M. +31 (0)627 096 016| KvK 11033102
@.***
Volg ons online: www.planlogic.nlhttp://www.planlogic.nl/ | LinkedInhttps://www.linkedin.com/company/planlogic-b-v- | Facebookhttps://www.facebook.com/PlanlogicNederland/
The contents of this message, as well as any enclosures, are addressed personally to, and thus solely intended for the addressee. They may contain information regarding a third party. Any recipient who is neither the addressee, nor empowered to receive this message on behalf of the addressee, is kindly requested to immediately inform the sender of receipt. Any use of the contents of this message and/or of the enclosures by any other person than the addressee is illegal towards the sender and the aforementioned third party. Always scan attachments before opening them.
Van: Bruno Mulinari @.>
Verzonden: vrijdag 14 april 2023 15:07
Aan: bgmulinari/B1SLayer @.>
CC: Paul Witmond | Planlogic @.>; Mention @.>
Onderwerp: Re: [bgmulinari/B1SLayer] CrossJoin (Issue #36)
Hi, @WitmondPaulhttps://github.com/WitmondPaul. Yes it's possible and you can do the request in two ways:
Using the QueryService_PostQuery resource like you're doing:
var body = new
{
QueryPath = "$crossjoin(Invoices,Invoices/DocumentLines)",

QueryOption = "$expand=Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)&$filter=Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')"

};
var result = await serviceLayer.Request("QueryService_PostQuery").PostAsync<List>(body);
Or, like this:
var result = await serviceLayer
.Request("$crossjoin(Invoices,Invoices/DocumentLines)")

.Expand("Invoices($select=DocEntry, DocNum),Invoices/DocumentLines($select=ItemCode,LineNum)")

.Filter("Invoices/DocEntry eq Invoices/DocumentLines/DocEntry and (Invoices/DocumentLines/ItemCode eq '10617' and Invoices/DocumentLines/U_StartDate eq '01022023' and Invoices/DocumentLines/U_EndDate eq '28022023' and Invoices/CardCode eq 'zp3')")

.GetAsync<List<YourModelClass>>()>>

—
Reply to this email directly, view it on GitHubhttps://github.com/bgmulinari/B1SLayer/issues/36#issuecomment-1508479105, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4LY3PDKX2ZQOJJ7EHDI76LXBFDVTANCNFSM6AAAAAAW6HGNKY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Missing required attributes Key: 'Config.Orgs' Error:Field validation for 'Orgs' failed on the 'required' tag

Issue Description
I wanted to login to AWS using the "aws-sso-creds" command but it's throwing an error:
Missing required attributes Key: 'Config.Orgs' Error:Field validation for 'Orgs' failed on the 'required' tag

Steps to Reproduce

$ go install [github.com/JorgeReus/aws-sso-creds@latest](http://github.com/JorgeReus/aws-sso-creds@latest)

$ export AWS_SSO_REGION="us-west-2"
$ export AWS_SSO_START_URL="https://kezko.awsapps.com/start"

$ aws-sso-creds
Error showing on termial

Expected Behavior
I was expecting for the script to give me a url or something to log in into AWS profile in order to get the SSO creds.
Environment

Operating System: Windows 11 (it also happened in Ubuntu 23.04)
Go Version: go version go1.20.3 windows/amd64
Code/Project Version: 1.0.5

I had to use the Code/Project Version: 1.0.3 package in order to make it.


Time - Sharon Cheung

React Tic Tac Toe
Congratulations!  Please reflect on the assignment with these questions.
Reflection

Prompt
Response

How are events / event handlers and useState connected?
The event handler "onClickCallback" helps pass the function from the parent (App) to the child component board and then square in order to manipulate and access the data from square to add "x" or "o".

What are two ways to do "dynamic styling" with React? When should they be used?
There are Inline CSS style - to define CSS styles inline using the built in style attribute, or External Stylesheets in React using className, which is more recommended to use, having the style in a new .css file for each Component.

Much like Rails works with the HTTP request->response cycle, React works with the browser's input->output cycle. Describe React's cycle from receiving user input to outputting different page content.
Instead of reloading the whole page, React will compare virtual DOM and DOM to figure out which specific component to be change.

CS Fundamentals Questions

Question
Answer

What do you think is the BigO complexity of the method you use to compute a winner?
Time Complexity should be O(n),  since my checkForWinner only have a for loop and an if statement inside. Space Complexity should also be O(n), I created a new array to store the square.flat().

Consider what happens when React processes a state change from setState -- it must re-render all of the components that now have different content because of that change.What kind of data structure are the components in, and what sort of algorithms would be appropriate for React's code to "traverse" those components?Speculate wildly about what the Big-O time complexity of that code might be.
The DOM is represented as a tree data structure.  In React every UI piece is a component, and each component has a state. React follows the observable pattern and listens for state changes. When the state of a component changes, React updates the virtual DOM tree. Once the virtual DOM has been updated, React then compares the current version of the virtual DOM with the previous version of the virtual DOM. This process is called “diffing”.React uses an efficient diff algorithm to compare the versions of virtual DOM. React implements a heuristic O(n) algorithm based on two assumptions: 1. Two elements of different types will produce different trees. 2.The developer can hint at which child elements may be stable across different renders with a key prop. (so that's why the unique key is very important!) (Answer above is from https://medium.com/@adhithiravi/react-virtual-dom-explained-in-simple-english-fc2d0b277bc5 & https://reactjs.org/docs/reconciliation.html) Very interesting and complicated concepts, hope we get to talk about it more in class :)

https://sharonkeikei.github.io/react-tic-tac-toe/

React Tic Tac Toe

Major Learning Goals/Code Review

Criteria
yes/no, and optionally any details/lines of code to reference

Demonstrates proper JavaScript coding style.
✔

Correctly passes props to child components.
✔

Correctly passes callback functions to child components and calls them to respond to user events.)
✔

Maintains the status of the game in state.
✔

Practices git with at least 6 small commits and meaningful commit messages
✔, however avoid talking about waves in commit messages, just describe functionality added

Uses existing stylesheets to render components
✔

Functional Requirements

Functional Requirement
yes/no

The Square component renders properly and executes the callback on a click event.
✔

The Board component renders a collection of squares
✔

The App component renders a board and uses state to maintain the status of the game.
✔

Utilizes callbacks to UI events to update state
✔

Overall Feedback

Overall Feedback
Criteria
yes/no

Green (Meets/Exceeds Standards)
5+ in Code Review && 3+ in Functional Requirements
✔

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality
Yes?

Perfect Indentation
✅

Elegant/Clever
✅

Descriptive/Readable
✅

Concise
✅

Logical/Organized
✅

Summary
Well done, you hit all the learning goals here and the app works well.  Nice work!


fix: tag not provided

Description
Trying to fix the issue where front-end is not latest on test env

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend
Oracle-API

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

@craigyu This should have been addressed by https://github.com/bcgov/nr-spar/pull/1058 https://github.com/bcgov/nr-spar/pull/1059, and https://github.com/bcgov/nr-spar/pull/1060.  Please verify?


Bug: AssignAction type error when using exactOptionalPropertyTypes: true

XState version
XState version 5
Description
An assign action reports a type error when using exactOptionalPropertyTypes: true in tsconfig.json.
Expected result
It should be possible to use exactOptionalPropertyTypes: true with xstate.
Actual result

Reproduction
https://stackblitz.com/edit/vitejs-vite-lbw4wa?file=src%2Fmain.ts
Additional context
exactOptionalPropertyTypes allows for more type-safety. It is also recommended when using @effect/schema.

@Andarist is there any workaround for this? Do you know if it's possible to disable exactOptionalPropertyTypes for a specific file?

@Andarist is there any workaround for this? Do you know if it's possible to disable exactOptionalPropertyTypes for a specific file?

I updated XState and TypeScript in this codebase and it seems to work fine: https://stackblitz.com/edit/vitejs-vite-lbw4wa?file=package.json,src%2Fmain.ts
Can you double-check that everything's working on your end?

@davidkpiano it seems to be working now when only actions are defined.
When instead I add also actors (as I need in my codebase) the issue comes back: https://stackblitz.com/edit/vitejs-vite-aesqqz?file=package.json,src%2Fmain.ts

@Andarist is there any workaround for this?

I wasn't yet able to figure out a workaround. It's definitely possible to fix this on our side but it requires prioritization and time.

Do you know if it's possible to disable exactOptionalPropertyTypes for a specific file?

No, it's a global setting.

Facing similar issue. Will really appreciate if any workaround is available. Thanks for your time and effort

Facing similar issue. Will really appreciate if any workaround is available. Thanks for your time and effort

Can you share the code that's causing the issue for you?

sure..
import { assign, createActor, fromPromise, setup } from "xstate";

const machine = setup({
  types: { context: {} as { value: number } },
  actors: {
    child: fromPromise(() => Promise.resolve(10))
  }
}).createMachine({
  id: "test",
  initial: "inactive",
  context: () => ({ value: 1 }),
  invoke: {
    src: "child",
    onDone: {
      actions: assign(({ event }) => ({ value: event.output }))
    }
  },
  states: {
    active: { on: { toggle: "inactive" } },
    inactive: { on: { toggle: "active" } }
  }
});

const actor = createActor(machine);
actor.subscribe(console.log);
actor.start();

Getting following error
error TS2322: Type '{ actions: ActionFunction<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, undefined, ProvidedActor, never, never, never, never>; }' is not assignable to type 'SingleOrArray<TransitionConfigOrTarget<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, { src: "child"; logic: PromiseActorLogic<number, NonReducibleUnknown, EventObject>; id: string | undefined; }, ... 4 more ..., MetaObject>>'.
  Types of property 'actions' are incompatible.
    Type 'ActionFunction<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, undefined, ProvidedActor, never, never, never, never>' is not assignable to type 'Actions<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, undefined, { src: "child"; logic: PromiseActorLogic<number, NonReducibleUnknown, EventObject>; id: string | undefined; }, never, never, never, EventObject> | undefined'.
      Type 'ActionFunction<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, undefined, ProvidedActor, never, never, never, never>' is not assignable to type 'ActionFunction<{ value: number; }, DoneActorEvent<number, string>, AnyEventObject, undefined, { src: "child"; logic: PromiseActorLogic<number, NonReducibleUnknown, EventObject>; id: string | undefined; }, never, never, never, EventObject>' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.
        Types of property '_out_TActor' are incompatible.
          Type 'ProvidedActor' is not assignable to type '{ src: "child"; logic: PromiseActorLogic<number, NonReducibleUnknown, EventObject>; id: string | undefined; }'.

43         onDone: {
           ~~~~~~

I'm also seeing this sort of error when exactOptionalPropertyTypes is true. I'm using...

xstate 5.15.0
TypeScript 5.5.2

Example:
import { timer } from 'rxjs';
import { setup, fromObservable, createActor, assign } from 'xstate';

const machine = setup({
  types: { context: {} as { value: number }, events: {} as { type: 'start' } },
  actors: {
    child: fromObservable(() => timer(5_000)),
  },
}).createMachine({
  id: 'test',
  initial: 'notStarted',
  context: { value: 1 },
  states: {
    notStarted: {
      on: {
        // Type 'ProvidedActor' is not assignable to type '{ src: "child";...
        start: {
          target: 'running',
          actions: assign({
            value: ({ context }) => context.value + 1,
          }),
        },
      },
    },
    running: {
      invoke: {
        src: 'child',
        onDone: {
          target: 'done',
        },
      },
    },
    done: { type: 'final' },
  },
});

const actor = createActor(machine);
actor.subscribe((snapshot) => console.log(snapshot.value, snapshot));
actor.start();

document.addEventListener('click', () => actor.send({ type: 'start' }));

Produces the following error on the indicated line in the example (start:)
Type '{ target: string; actions: ActionFunction<{ value: number; }, { type: "start"; }, { type: "start"; }, undefined, ProvidedActor, never, never, never, never>; }' is not assignable to type 'TransitionConfigOrTarget<{ value: number; }, { type: "start"; }, { type: "start"; }, { src: "child"; logic: ObservableActorLogic<0, NonReducibleUnknown, EventObject>; id: string | undefined; }, ... 4 more ..., MetaObject>'.
  Types of property 'actions' are incompatible.
    Type 'ActionFunction<{ value: number; }, { type: "start"; }, { type: "start"; }, undefined, ProvidedActor, never, never, never, never>' is not assignable to type 'Actions<{ value: number; }, { type: "start"; }, { type: "start"; }, undefined, { src: "child"; logic: ObservableActorLogic<0, NonReducibleUnknown, EventObject>; id: string | undefined; }, never, never, never, EventObject> | undefined'.
      Type 'ActionFunction<{ value: number; }, { type: "start"; }, { type: "start"; }, undefined, ProvidedActor, never, never, never, never>' is not assignable to type 'ActionFunction<{ value: number; }, { type: "start"; }, { type: "start"; }, undefined, { src: "child"; logic: ObservableActorLogic<0, NonReducibleUnknown, EventObject>; id: string | undefined; }, never, never, never, EventObject>' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.
        Types of property '_out_TActor' are incompatible.
          Type 'ProvidedActor' is not assignable to type '{ src: "child"; logic: ObservableActorLogic<0, NonReducibleUnknown, EventObject>; id: string | undefined; }'.ts(2322)

I'm also seeing this type error with exactOptionalPropertyTypes: true with

xstate 5.17.4
typescript 5.1.3

As @SandroMaglione noted, the issue only manifests when at least one actors is defined. As soon as an actor is defined, assign actions get type errors, even ones that are not connected to actors:
(variation of @bhvngt's example):
import { assign, createActor, fromPromise, setup } from 'xstate';

const machine = setup({
  types: { context: {} as { value: number } },
  /////////// Comment this chunk out and the type error on "toggle" disappears
  actors: {
    child: fromPromise(() => Promise.resolve(10)),
  },
  ///////////////// end chunk
}).createMachine({
  id: 'test',
  initial: 'inactive',
  context: () => ({ value: 1 }),
  states: {
    active: {
      on: {
        // Type error on `toggle` here
        toggle: { target: 'inactive', actions: assign({ value: () => 0 }) },
      },
    },
    inactive: { on: { toggle: 'active' } },
  },
});

const actor = createActor(machine);

Link to stackblitz: https://stackblitz.com/edit/node-lsnym4?file=index.ts

Seeing the same for this example:

xstate 5.17.4
typescript 5.5.4

https://www.typescriptlang.org/play/?declaration=false&target=99&jsx=1&exactOptionalPropertyTypes=true&ts=5.5.4#code/JYWwDg9gTgLgBAbzgZwKYwK5gDRwIbLLADmAdrgGZQQgAK1IwaupE8AvnFTXAEQAeyGHhipeAbjgB6KXBgBPMKmQAuOAFYAdAE5NARgBQBgMYRSQuABsIeACYBZZcjzFlcALz5k80sbgAKAEoPAD5EAzg4KHQMKFI4AG0IyLgAcmtokFTsZMjU4DBkDCycyIBdcQN2IzRMMH8EZIUlVUROAnCUuFNSUX4YNUauyJAnF2U1IShgUmIEsty4dhzF1AA3VF7VRciAH0Q5RVQ1VIBlABUAQQAlc9Slnbh9pGbjtOuAUVOPu4fhp4OrxOABkAPKXAAi2Tgo0I40mMGmsz+SxWkTwxhgwDMrSGKWitTUBCIZH8QVCnWG0UwcUp-1hzlcrXmpWG7EqXXYgTRKWsdjUDW6Zj6HFwYDwUDwIFxMLGTIRSLmZSWwXcYTxXR6Is0DPGyA8cHFkulOrlyk0yEswGMqCCHJSy2SjuSxAwEtsuMWAAsCI44fKAkgtah+iqKRr8TFacH+qb-ebLJtiDAvXAQp51PbIo7szyMTBoJ6unyHGbWtw6AwmKgADxrCDAWy4euNkL+Ag+PzktV0lJ4ADueGA8BLfsZyjtiy5TpyXM0xmiIlQ9gxXpmtrxM2HwDwlhO-dQllMo2yyRjA17uoDLJnySES6LKQPR5obwjkTMg0ekQuN3OJxLU9-hzB0eUiEsv3+GZ6wAazfb8UCgYwAJsUt42QID-jgMwITMN5UmJVAQAAI0TTDOVZXMjC6WwmDASw8HkSDhk-XsujBSFmKwuBXXdE4fWQMc9XIrDhCgVwL1SNZgFQfsRIo6isM+b5-zY4ZeKgWx+N9Mt5OGfNsXMNQkm4rpUgJdA9K6MpKLZWyqIUxZpNkri+woUQoFcro9AAfXUAAGfyTlo5B6MYvSQIc1FFNYiMOIhLyeLdTS1FYGB-FSAShKZVJuUeAycROCyYBEkDHS5cQgA

Also seeing this. Seems like only option is to disabled exactOptionalPropertyTypes for now which isn't ideal but not the end of the world.

I also see the same error in my codebase as well as the samples above when an actor object is set in the setup object with exactOptionalPropertyTypes: true in tsconfig.json.

Typescript 5.7.2
XState 5.19.0

We have a huge codebase we are introducing XState V5 into where exactOptionalPropertyTypes: true has served us well at catching and keeping bugs out, so turning off exactOptionalPropertyTypes isn't an option for us. Are there fixes for this issue coming soon, or workarounds anyone can suggest to keep us moving forward?
Thank you.


AppCenter Test should report commit status to GitHub

Describe the solution you'd like
I would like to specify a commit SHA when scheduling tests in AppCenter via the command line, and having AppCenter Test report test status (pending, failure, success) to GitHub when the test finishes.
Describe alternatives you've considered
The alternative I have now is to run the tests synchronously, making my CI wait for the tests to complete and then the CI reports the status back to GitHub. But that is cumbersome and makes me waste build time waiting for tests.
Additional context
This could be extended in the future to other services like Bitbucket or GitLab

Hi @caiofbpa, what an amazing request and it reminds me a little of #318. Where in GitHub specifically do you want to see the status?

Hello @Oddj0b and thanks for the quick triage and reply!
This is different than #318 because the web hook for completion is better at notifying failing tests when those tests are triggered in the main branches of a repo, after a merge the code is integrated and then everyone in a team should know if anything fails. My main use case for that is posting to a Slack channel.
This issue is about posting test status to GitHub Commit Status (https://developer.github.com/v3/repos/statuses/) which is better when the tests are triggered in PRs. When everyone is working in their own branches, it's not ideal to having everyone notified in a Slack channel when someone else's test fails. So the commit status shows this information inside GitHub near the commit and also on the PR. This also allows us to mark AppCenter Test status as a required "success", preventing merges of PRs that break UI Tests.
Another remark is that for AppCenter Build there's already a sample build script made by Microsoft that does this commit status reporting: https://github.com/microsoft/appcenter/tree/master/sample-build-scripts/general/github-commit-status Unfortunately that doesn't work with AppCenter Test. This issue here means a more native integration with GitHub, with little or no configuration required by the user, other than connecting to GitHub for source integration and passing the commit SHA when running the tests. This also can mean a better integration for Build too, eliminating the need for a build script just to report commit status.
If you need any other info, I'm here to help!

 If git is not present or git rev-parse HEAD fails, just disable the commit status reporting.
Many (if not all) CI solutions on the market offer this commit status integration out of the box. It should be quite trivial to implement.

@caiofbpa thank you for the clarification now I have some more to work with. We prioritize feature requests based on :+1: and I hope this will make it to the top.


Add .git to npm publish ignore

Currently the .git folder is being published to npm
Resolves #69

Fixed in https://github.com/react-native-community/react-native-safe-area-view/commit/1f8d3897144fd6512e42c49a2be6f4a95c101515


Editor replaces < and > with html entities, but doesn't show the correct symols

Hey,
If I type something like Array<String> in the Editor, so with an < and >, the editor replaces it with Array<String> on save.
The editor should escape the < and > with an backslash, or at least visualize the htmlentities correctly.
Used version: 6.0.0-alpha2

Is it happening when typing in a code block?

No, outsite of code-places.
If I write my own codeblock by with 6 backticks, and insert  there, it's doing the same (replacing with html entities) but not in a code block, that I insert via topbar.
The HTML tags should appear in my normal test. Just image the text:

The  element is an inline element.

This'll result in the given problem.

@AaronO @SamyPesse , I would suggest to move this issue to the relevant repo, and close it here. (same for other issues which are "bugs").