Add limit function support

PR adds support for LIMIT function that is defined as limit(x,y,z) = min(max(x,y),z)

If you look through the comments on the LTSpice Wiki, you will find that the description of limit is wrong (it is not really min(max(x,y),z) but kind of a more complex if-expression).
Please change to the "real" limit() behavior.

@svenboulanger
Is following acceptable? Maybe there is a way to minimize it...
I did it according to the comment:
limit(x,y,z) = x when lo < x < hi, lo when x <= lo, and hi when x >= hi where lo = min(y,z) and hi = max(y,z).

Alternative: nested conditionals?
x < y ? (y < z ? dy : (x < z ? dz : dx)) : (y > z ? dy : (x > z ? dx : dz))
I actually think a dedicated helper function would be better, because at the moment the arguments will be evaluated multiple times (this is not the case with a dedicated helper function). This might become more problematic if one of these arguments is very long...

@svenboulanger  By dedicated you mean "dlimit(0)" "dlimit(1)" "dlimit(2)" functions?

Partial derivatives don't really make sense in this case as it's just a bunch of conditions. Maybe just a DLimit(x,y,z,dx,dy,dz)?
It does force the derivatives to be computed though...
Argh, difficult :-D

@svenboulanger
Maybe we need a custom RealILState/ComplexILState class where you can optimize usage and evaluation of variables?
Then maybe expression like x < y ? (y < z ? dy : (x < z ? dz : dx)) : (y > z ? dy : (x > z ? dx : dz)) could be translated to following IL code (pseudo code below):
Lazy<double> lx = new Lazy<double>(() => x));
Lazy<double> ly = new Lazy<double>(() => y);
Lazy<double> lz = new Lazy<double>(() => z);

lx.Value < ly.Value ? (ly.Value < lz.Value ? dy ? (lx.Value < lz.Value ? dz: dx)) : (ly.Value > lz.Value ? dy : (lx.Value > lz.Value ? dx : dy))

What do you think?

I think I see what you mean, but I also think it's not really lazy loading that we need because they're all always used. We basically need a way to store temporary variables in IL. It does make it harder to manage though, which is why I used the helper functions if I needed to do things like that. This is just the peculiar case where half of the arguments need to be evaluated upfront (x, y and z) because they are evaluated multiple times otherwise, and the other half shouldn't be evaluated until needed (dx, dy and dz).
For now, let's go with your first suggestion (where we add conditionals together). I suspect it will not give many problems, and we can leave the optimization for later (premature optimization is the bane of all evil ;-) ).

I've changed the logic of Limit.  Please take a look.

@svenboulanger Any thoughts about this?

Sorry I did not realize you made an update there!
That actually seems like a good solution! 👍


LL-5074 Change wording for wrong device error

Context: https://ledgerhq.atlassian.net/browse/LL-5074

I knew that I knew it... but wasn't sure. I can revert the others no prob.


AnonymousPassengerSpecification/Passenger - one of age, dateOfBirth is required

You can provide dummy value like 26 years or today date minus 26 years but must be present.

Also, for OfferRequest, AnonymousPassengerSpecification must be used and it DOES NOT HAVE the id, only externalRef.


Mas i370 patch d

Clean-up of old eqc tests of limited value.
As discussed with @ThomasArts there were two eqc tests that were largely testing either unused code, or just test code itself.  It was considered that the retained value of these tests were minimal, whereas the cost of repairing/updating the tests was significant.  On that basis, the tests, which have been failing for > 2 years of releases have been removed.

The tests in rt_source_eqc did not test anything sensible it seemed. The tests in riak_repl_leader do make a lot of sense. They start different Erlang nodes that participate in leader election and it is verified that the elected leader is indeed one of the expected leaders. Problem with these tests are that they dragged in a notion of worker that is not always connected. So tests fail.
The fact that these riak_repl_leader tests actually test an old version of the riak_repl and not riak_repl2_leader, they are of little value for the present setup. It would be valuable to create a similar, but working quickcheck model for leader section in the new version of the software. This however, can better be done from scratch than by adapting the existing, slightly old-fashion model.


Use scipy-doctest instead of refguide-check

SciPy has recently refactored its refguide-check utility into a separate pip-installable package and added integration of the modified doctesting with pytest. This PR switches the refguide-check run (which uses the utility vendored from scipy) to this refactored way.
There are several minor tweaks to docstrings --- I'm actually not sure all the affected docstrings were checked previously (but they are now):

Explicit $ doctest:  comments are no longer needed
A refactor of the ContinuousWavelet example is to avoid a DeprecationWarning from matplotlib 3.7
Some whitespace tweaks where the printing is non-standard enough for the tool to give up and fall back to the (whitespace-sensitive) vanilla doctest checker.

The pytest incantations to run doctesting are explicit on the CI --- in SciPy, these are hidden behind the dev.py smoke-docs interface.

Thanks! I tried but it turns out I don't have enough permissions to trigger a CI run – tagging @rgommers who can do this for you.

triggered now - the joys of spammer-protection:)

Thanks Ralf! So the CI is green, thus the question is whether y'all want it :-). And if you do, whether you want a spin command to to mimic scipy's python dev.py smoke-docs.

Did you actually notice the doctesting happening in CI? I only see REFGUIDE_CHECK: [0] in test.yml.

Indeed! So it was never actually running on CI, huh :-). Pushed a commit to switch it always on. Depending on how you want to play this, can iterate the CI in follow-ups or here. (If the latter, a new commit asks for one more confirmation I'm not a crypto miner)

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'util/readthedocs/requirements.txt'

If it becomes a pain for CI not to run, maybe submit a trivial typo/change PR that can be merged straight away?

With the latest failure, maybe we should do cd ..  rather, much easier than fixing the paths in-place every time.

Since sphinx on CI, which is the soyrce of the failures, is not really related, maybe it's best to separate the fixes.

Okay, current status:

smoke-docs runs fine on CI
sphinx-build was disabled on CI, is still disabled on CI.
attempting to run sphinx-build locally shows a bunch of errors, so there's some structural problem with it.
However, docs build on readthedocs. Meaning, the problem is with the sphinx-build invocation which did not run on CI previously.

So how about not fixing the sphinx-build check in this PR? If that's OK, the PR is ready from my side.

I'll hope to fix the sphinx-build checks in a separate PR after this – I would be fine with this getting merged.


Module import error

Any idea why I'm having the following error?
    File "detector.py", line 12, in <module>
    from oulukneeloc import SVM_MODEL_PATH
    ModuleNotFoundError: No module named 'oulukneeloc'

@overfrequency Could you please make a pull request regarding this issue?

Or @soupault

@lext, @soupault   I have updated create_conda_env.sh.

@overfrequency looks good, thanks!


Fix invalid parameters since Chrome 86

Since chrome 86, when the library calls Network.enable with an empty parameters, it crashes Chrome because the empty parameter is converted to  [] in json, while it requires {}.
The library sends :
{"id":5,"method":"Target.sendMessageToTarget","params":{"message":"{\"id\":4,\"method\":\"Network.enable\",\"params\":[]}","sessionId":"F7A65A05DA98E0D3B403344EEAB0A8BC"}}
instead of
{"id":5,"method":"Target.sendMessageToTarget","params":{"message":"{\"id\":4,\"method\":\"Network.enable\",\"params\":{}}","sessionId":"F7A65A05DA98E0D3B403344EEAB0A8BC"}}
Chrome returns the following when sending []:
"message":"{\"id\":4,\"error\":{\"code\":-32602,\"message\":\"Invalid parameters\",\"data\":\"Failed to deserialize params - CBOR: map start expected at position 6\"}
The pull request change the behaviour of json_encode to convert empty array into an empty object instead

this actually causes problems with other commands

the last commit solve the problem


Edge invisible when bend point is too close to node

When a bend point is too close (inside its boundaries?) to a source / target node, the edge becomes invisible (see below).

Let's leave it like this since this is due to Cytoscape.js core not rendering the edge when a bend point inside the boundaries of an end node.


Search unit tests fail on windows

Both win 32 and 64 builds are blocked by this test:
2017-07-28T08:38:38.3419886Z   1) QueryBuilder parseSearchPaths absolute includes:
2017-07-28T08:38:38.3419886Z
2017-07-28T08:38:38.3419886Z       AssertionError: 2 == 1
2017-07-28T08:38:38.3419886Z       + expected - actual
2017-07-28T08:38:38.3419886Z
2017-07-28T08:38:38.3419886Z       -2
2017-07-28T08:38:38.3419886Z       +1
2017-07-28T08:38:38.3419886Z
2017-07-28T08:38:38.3419886Z       at assertEqualSearchPathResults (file:///D:/work/agent1/1/s/out-build/vs/workbench/parts/search/test/common/queryBuilder.test.js:296:16)
2017-07-28T08:38:38.3419886Z       at testIncludes (file:///D:/work/agent1/1/s/out-build/vs/workbench/parts/search/test/common/queryBuilder.test.js:63:17)
2017-07-28T08:38:38.3419886Z       at testIncludesDataItem (file:///D:/work/agent1/1/s/out-build/vs/workbench/parts/search/test/common/queryBuilder.test.js:67:17)
2017-07-28T08:38:38.3419886Z       at Array.forEach (native)
2017-07-28T08:38:38.3419886Z       at Context.<anonymous> (file:///D:/work/agent1/1/s/out-build/vs/workbench/parts/search/test/common/queryBuilder.test.js:134:19)

In order to get builds for testing today, I will comment the test out temporarily.

Commented the test out: 0a1b82ca3c0de6376673279362f340b6937a72a8

Fixed in e900e7d12847962a99466e727245eeccd5c9387d, apologies


Include an external asset for component documentation

Question
Is it possible to include an external resource somehow? We've got several components that require an external resource that is normally included in the <head> of the HTML. In the <Playground> those are obviously not available, so they don't render properly.
For example, a Google Maps API key or an external stylesheet?

Please @tsnolan23, see #152 to get your answer ✌

@pedronauck I'm sorry, I tried to see if this was already asked, couldn't find it. Thank you!

Your welcome, feel free to ask what you want @tsnolan23 🙏


support multiple values for mobile capability matcher

when defining mobile nodes, there are usually several platform versions available on that node. this path will allow defining multiple values for each capability separated by '|' and match them using or.

[X] By placing an X in the preceding checkbox, I verify that I am a PayPal employee or
I have signed the Contributor License Agreement

@alizelzele this looks good to me. The only question I have -- does appium support the | for specifying supported platformVersion on the node in a similar capacity?

@mach6 appium will receive the correct platformVersion from request. the | will be used as a contract between node and hub to show how many platformVersions are supported on that node.
for example on IOS node, we can have 9.2 and 9.3 available on the node, by specifying 9.2|9.3 in hub-config on node, we can tell hub that both of these platformVersions are available. which of them to be used is determined from the value specified in the request.
I also add another change. in new grid we are also considering default capability matcher values which some are enum in capability map. by using .toString instead of casting to String, they will be  converted to string correctly and it will prevent cast exception.

@alizelzele Let me try asking a bit differently.
In the appium --nodeConfig file which is loaded by appium and registered with the hub, does appium support specifying platformVersion with a |?
My understanding is when you would have 9.2 and 9.3 available on the node, you would setup the appium --nodeConfig to have  two separate entries under the capabilities: [ ] array of the --nodeConfig -- thus not requiring a | for the hub to do matching.
In the Selenium web browser world, if I had two different versions of a browser installed (example firefox 50 and firefox 51) on the node, you would specify the two versions in the -nodeConfig file, in this fashion.
What am I missing? Can you show me an example --nodeConfig for appium that (1) does not work without your fix and (2) works with your fix.?
Thanks!

@mach6 you are completely right. our nodes were configured with only 1 capability and I totally missed that it is actually an array. it works without any issue with multiple capability definition.
there is still enum casting to string issue though. I will update the pull request.

updated the code and pull request.

thanks @alizelzele


feat: rename packages

Summary
This PR removes the following packages from the monorepo:

react-instantsearch
react-instantsearch-dom
react-instantsearch-dom-maps
react-instantsearch-native

It then renames the packages in this fashion:

react-instantsearch-hooks-web → react-instantsearch
react-instantsearch-hooks → react-instantsearch-core
react-instantsearch-hooks-router-nextjs → react-instantsearch-router-nextjs
react-instantsearch-hooks-server → all files included in react-instantsearch-core/server

Misc:

react examples are replaced with those from react-hooks
configuration and ci is updated

FX-2338

Note
It will probably be easier to review commit by commit, and ignore the first one ("move packages") as it just shuffles around a bunch of files.

@aymeric-giraudet @Haroenv I've made changes according to your findings, thanks!
Regarding CISA, it will have to be updated after we do the v7 release, or else the pipeline will fail.
I re-removed the warning, it might be related to an issue in a rebase, but I didn't have any conflict on my end, weird.


In ollama/ollama:0.3.12 (latest) container, all external API requests using IPv6 work, but using IPv4 partially works

What is the issue?
Start the container:
docker run --rm -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Call / from Chrome on host
#. Localhost => GET http://localhost:11434/ => Works (i.e. "Ollama is running")
#. IPv6 => GET http://[::1]:11434/ => Works (i.e. "Ollama is running")
#. IPv4 => GET http://<IP_ADDRESS>:11434/ => Works (i.e. "Ollama is running")
Call /api/tags from Chrome on host
#. Localhost => GET http://localhost:11434/api/tags => Works
#. IPv6 => GET http://[::1]:11434/api/tags => Works
#. IPv4 => GET http://<IP_ADDRESS>:11434/api/tags => Works
Call /api/ps from Chrome on host
#. Localhost => GET http://localhost:11434/api/ps => Works
#. IPv6 => GET http://[::1]:11434/api/ps => Works
#. IPv4 => GET http://<IP_ADDRESS>:11434/api/ps => HTTP 404
The symptom reminds me of network split-brain, or dual HTTP server stacks with one misconfigured.
I am reporting this issue because I didn't find anything in docs to help, and search requests from Google or ChatGPT did not help.
The only hint I found was installing and running netstat. However, this still doesn't really explain why some IPv4 requests are getting through while others are not found.
apt update
apt upgrade
apt install net-tools
# netstat -an | grep LISTEN
tcp6       0      0 :::11434                :::*                    LISTEN

OS
Windows
GPU
AMD, Other
CPU
AMD
Ollama version
ollama version is 0.3.12

What's in the body of the 404 response?  Do you get the same error with a different client, eg curl http://localhost:11434/api/ps?

I tried localhost, [::1], and <IP_ADDRESS> three different ways.

Inside ollama container => All 3 addresses work
Power Shell on host system => Only localhost and [::1] work
Chrome browser on host system => Only localhost and [::1] work

The 404 response body received on the host system is always 404 page not found.
Detailed results below:
Inside ollama container
docker run --rm -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama bash

apt update && apt upgrade -y && apt install -y curl
curl http://localhost:11434/api/ps
{"models":[]}
curl http://[::1]:11434/api/ps
{"models":[]}
curl http://<IP_ADDRESS>:11434/api/ps
{"models":[]}

In host system Power Shell
Run curl from Windows PowerShell using localhost.
 curl http://localhost:11434/api/ps

StatusCode        : 200
StatusDescription : OK
Content           : {"models":[]}
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 13
                    Content-Type: application/json; charset=utf-8
                    Date: Sun, 29 Sep 2024 00:15:06 GMT

                    {"models":[]}
Forms             : {}
Headers           : {[Content-Length, 13], [Content-Type, application/json; charset=utf-8], [Date, Sun, 29 Sep 2024
                    00:15:06 GMT]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 13

Run curl from Windows PowerShell using [::1].
curl http://[::1]:11434/api/ps

StatusCode        : 200
StatusDescription : OK
Content           : {"models":[]}
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 13
                    Content-Type: application/json; charset=utf-8
                    Date: Sun, 29 Sep 2024 00:16:25 GMT

                    {"models":[]}
Forms             : {}
Headers           : {[Content-Length, 13], [Content-Type, application/json; charset=utf-8], [Date, Sun, 29 Sep 2024
                    00:16:25 GMT]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 13

Run curl from Windows PowerShell using <IP_ADDRESS>.
curl http://<IP_ADDRESS>:11434/api/ps

curl : 404 page not found
At line:1 char:1
+ curl http://<IP_ADDRESS>:11434/api/ps
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Run HTTP GET from Chrome for <IP_ADDRESS> with Dev Tools enabled

Strange behaviour.  Can you install tcpflow in the container so we can see what the ollama server is receiving?
$ docker exec ollama bash -c 'apt update && apt install -y tcpflow'
$ docker exec ollama tcpflow -i any -c

and then run your tests.

tcpflow results when host browser loads http://localhost:11434/api/ps
<IP_ADDRESS>.35586-<IP_ADDRESS>.11434: GET /api/ps HTTP/1.1
Host: localhost:11434
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9

<IP_ADDRESS>.11434-<IP_ADDRESS>.35586: HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sun, 29 Sep 2024 06:23:28 GMT
Content-Length: 13

{"models":[]}

tcpflow results when host browser loads http://[::1]:11434/api/ps
<IP_ADDRESS>.39736-<IP_ADDRESS>.11434: GET /api/ps HTTP/1.1
Host: [::1]:11434
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9

<IP_ADDRESS>.11434-<IP_ADDRESS>.39736: HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sun, 29 Sep 2024 06:23:53 GMT
Content-Length: 13

{"models":[]}

tcpflow results when host browser loads http://<IP_ADDRESS>:11434/api/ps => Nothing is logged

tcpflow results when host browser loads http://localhost:11434/api/tags
<IP_ADDRESS>.35586-<IP_ADDRESS>.11434: GET /api/tags HTTP/1.1
Host: localhost:11434
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9

<IP_ADDRESS>.11434-<IP_ADDRESS>.35586: HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sun, 29 Sep 2024 06:26:34 GMT
Content-Length: 344

{"models":[{"name":"llama3.2:latest","model":"llama3.2:latest","modified_at":"2024-09-28T16:19:53.547439642Z","size":2019393189,"digest":"a80c4f17acd55265feec403c7aef86be0c25983ab279d83f3bcd3abbcb5b8b72","details":{"parent_model":"","format":"gguf","family":"llama","families":["llama"],"parameter_size":"3.2B","quantization_level":"Q4_K_M"}}]}

tcpflow results when host browser loads http://[::1]:11434/api/tags
<IP_ADDRESS>.39736-<IP_ADDRESS>.11434: GET /api/tags HTTP/1.1
Host: [::1]:11434
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9

<IP_ADDRESS>.11434-<IP_ADDRESS>.39736: HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sun, 29 Sep 2024 06:27:21 GMT
Content-Length: 344

{"models":[{"name":"llama3.2:latest","model":"llama3.2:latest","modified_at":"2024-09-28T16:19:53.547439642Z","size":2019393189,"digest":"a80c4f17acd55265feec403c7aef86be0c25983ab279d83f3bcd3abbcb5b8b72","details":{"parent_model":"","format":"gguf","family":"llama","families":["llama"],"parameter_size":"3.2B","quantization_level":"Q4_K_M"}}]}

tcpflow results when host browser loads http://<IP_ADDRESS>:11434/api/tags => nothing is logged

I noticed something weird.
When host loads http://<IP_ADDRESS>:11434/api/tags:

Host browser receives this response body and displays it

{"models":[{"name":"llama2:latest","model":"llama2:latest","modified_at":"2024-02-25T00:15:45.792978629-05:00","size":3826793677,"digest":"78e26419b4469263f75331927a00a0284ef6544c1975b826b15abdaef17bb962","details":{"parent_model":"","format":"gguf","family":"llama","families":["llama"],"parameter_size":"7B","quantization_level":"Q4_0"}},{"name":"mistral:latest","model":"mistral:latest","modified_at":"2024-01-30T23:10:33.623744553-05:00","size":4109865159,"digest":"61e88e884507ba5e06c49b40e6226884b2a16e872382c2b44a42f2d119d804a5","details":{"parent_model":"","format":"gguf","family":"llama","families":["llama"],"parameter_size":"7B","quantization_level":"Q4_0"}}]}

tcpflow doesn't log anything inside the ollama container

I tried loading http://<IP_ADDRESS>:11434/api/tags on host system using Chrome, Firefox, and Power Shell curl. Nothing is logged by tcpinfo.

So traffic to <IP_ADDRESS> is not being sent to the container.  Do you have a firewall/virus scanner?  Is there a proxy?  Do you set http_proxy or HTTP_PROXY in the enviroment?  Is there anything else listening on port 11434?
netstat -bano | Select-String -Pattern 11434 -Context 0,1

Is it possible you have multiple ollama servers running on the same port but different IP addresses/interfaces?

What's the result of
http://localhost:11434/api/version
http://[::1]:11434/api/version
http://<IP_ADDRESS>:11434/api/version

I killed the container and volume. Restarted and ran those API calls. Now ::1 is failing.
http://localhost:11434/api/version
{"version":"0.1.22"}

http://[::1]:11434/api/version
[::1] refused to connect.

http://<IP_ADDRESS>:11434/api/version
{"version":"0.1.22"}

You are running a super old version of ollama, not 0.3.12.  I suspect that you do indeed have an old ollama server floating around which is intercepting some of the calls that you are making.  Have you previously tried installing ollama in WSL (https://github.com/ollama/ollama/issues/6701)?

I have a theory. Before killing the container, the results I was getting for http://<IP_ADDRESS>/api/tag and http://<IP_ADDRESS>/api/ps were served from cache.
It's weird that 2 browsers and 1 CLI would get same cached results. That might imply caching is being done by Windows networking or Docker networking, but not sure.
If my theory is correct, I think the HTTP headers for /api/tag and /api/ps might not be telling clients to disable caching.

I compared response header for these API calls. Cache-control response header is missing for 2 and 3.

/api/version => cache-control: max-age=0
/api/tag => No cache-control header
/api/ps => No cache-control header

I tried building ollama locally and adding the missing response header.
I put it in a PR.
https://github.com/ollama/ollama/pull/7030

Isn't this a problem with your caching proxy, though?  It's caching /api/tag and /api/ps without adding headers to indicate to the client that data may be stale, yet it's adding a header to /api/version.

I found the problem. I found an old version of ollama 0.1.22 running inside the WSL2 VM.

Windows Client (Firefox, Chrome, Power Shell curl)
WSL2 VM (Ubuntu) => ollama 0.1.22 daemon is listening to <IP_ADDRESS>:11434; only IPv4 loopback
Docker Container => ollama 0.3.12 container is listening to <IP_ADDRESS>:11434; all ports

Weird. I must have done an old install with this command, back when 0.1.22 was latest. And I installed it inside the WSL2 VM itself, not in a container running on that VM.
curl https://ollama.ai/install.sh | sh

I manually cleaned up that old ollama 0.1.22 from the WSL2 VM. Everything is working like it shoud.
I still think the Cache-Control header should be added to /api/tags and /api/ps responses, but that would be a different problem, not related to my issue.
Sorry for the confusion. It was a very weird issue. I guess a daemon and container in the WSL2 host can listen to same interface and port (IPv4 loopback 11434), without any error and quietly intercepting the traffic.


Auto Paging for Users in Groups

Subsumes #147 because the git history got all weird.
I still need to make the tests work properly, but a manual test indicates this all works well.
/cc @cmtoomey who may want to try this out

Usage:

mapping = {}

groups = TSC.Pager(server.groups)
for group in groups:
    server.groups.populate_users(group)
    mapping[group.name] = group.users

@RussTheAerialist
Here's a cleaned up rev -- I've been testing manually for a bit and seems to work the way I think it should.
I'd like to check this in and get @cmtoomey and @ugamarkj to check it out. If they like it, I can generalize it (I've got an idea to refactor it with passing callables all the way down) to other sub-models, whichever feels easier to maintain.


Regex: match multiple lines

One server I participate in spams broadcasts every 10 minutes, the first and last lines are dash (----) characters.
Is there a way to redirect the entire chunk of lines to another tab/channel? Typically 4 to 6 lines in total.

Sure. Create a new filter with the following settings:
Regex option (.* button): Enabled
Pattern: ^----.+----$
Destination: server
^ means the beginning, $ means the end.

This will filter against the following?

Oh. That will be tougher to detect. Right now, messages are filtered one at a time, and they're stateless.  I don't see a way of doing this reliably. Since other messages theoretically could be sent before the last ending, I don't want to risk filtering something that wasn't meant to. Not to mention if you mess up the filter (or the server messes up the message), you'll lose all the messages!

Fair enough.


Provisioning containers using molecule

We are starting to explore containers for a service.
Historically, our deployments are done via building base and versioned AMI's using ansible/packer.
I'm attempting to find a reasonable way of building and testing a container using ansible.
It seems like molecule actually fits the bill given it has a nice docker driver, but I don't see any way to build images (since its purpose is testing ansible roles, and docker is just a place to do this, the containers are naturally thrown away).
Is there any interest in extending functionality to actually build/tag/push containers depending on test results?
ansible-container is getting there, but has no testing built in, and has limited functionality wrt. registries/cloud providers to push too/etc.
Wondering how other folks do this, perhaps dockerfile has been sufficient for most, and tests are just based off  querying the functionality exposed by the entrypoint after building the image?
Here's a related proposal: https://github.com/docker/docker/issues/21280

Is there any interest in extending functionality to actually build/tag/push containers depending on test results?

Hi @iainlbc.  Yes, that sounds very interesting and molecule would make a good platform to build and test images.  We are fairly opinionated, and would require the use of ansible.

The best approach to something like this is to do what packer does. Run the base image - execute molecule on container - then commit the new layer with the desired image name/tag. Molecule could definitively do this conditionally based on test results. Although I'm not sure how I feel about Molecule also being called a 'deployment tool'. Considering the purpose of Molecule is for testing.

@iainlbc I agree with @kireledan on most counts.  This isn't something we are actively going to develop.  If this is something you are interested in, please submit a PR or an issue with your proposal.  This really isn't a deployment tool, but I could see how it "could" be leveraged to build and test images.
Thank you again for your issue, and please feel free discuss this further on freenode in #molecule-users.


Allow custom S3 endpoint URLS

It would be great if UC could connect to custom S3 endpoint URLs, for example, a locally running minio.
Something along the lines of:
server.env=dev
s3.bucketPath.0=s3://datawarehouse
s3.accessKey.0=minio
s3.secretKey.0=minio123
s3.region.0=us-east-1
s3.endpoint_url.0=http://minio:9000

I think camelCase will be more consistent with the other properties, but love the idea of supporting the endpoint URL! This would support localstack images too which could be useful for testing in the future

I'd like to have this feature implemented as well, since we'd like to use the Unitycatalog service in our infrastructure with a Minio-based s3 bucket.

Along with Minio, could other S3 API-compatible services like CloudFlare R2 or Wasabi Object Storage be supported?

I like your approach @ray-harrison and a good call out @zayscue that we should look at other S3 API-compatible services.  With the focus on AI for the 0.3 release, any chance any one of you would be interested in designing/contributing?  Thanks!

I'll take this @dennyglee.

Thanks @ray-harrison  - awesome!


Remove references to deprecated v1 Android embedding

Remove references to deprecated v1 Android embedding
To ensure this plugin will work with users running the next stable version of Flutter remove references to the v1 embedding.
The v1 embedding was deprecated around 6 and a half years ago. In Flutter 3.22, the Flutter tool dropped support for building v1 apps entirely. Flutter plans to delete version one of it's Android embedding in the next stable release, per https://medium.com/flutter/whats-new-in-flutter-3-22-fbde6c164fe3 (in the "Removal of v1 Android embedding" section).
When that deletion happens, any apps using plugins that still have references to the removed classes will fail to build when updating to the next stable version (probably Flutter 3.26).
As a part of this deprecation, the Flutter Android team is doing community outreach by filing bugs and submitting some pull requests to update plugins to minimize the impact this removal has on the community.
Some example PRs:

Flutter team maintained plugins: https://github.com/flutter/packages/pull/6494
android_alarm_manager_plus https://github.com/fluttercommunity/plus_plugins/pull/2864

Consequences:

This change should have no impact on users of this plugin that are building apps using the v2 embedding (we don't have a percentage to share, but this is the vast majority of users).
It will remove support for users that are still using the v1 embedding on versions of Flutter older than 3.22.

If this change doesn't land, this plugin will instead be broken for all apps building on the next stable version of Flutter and beyond.
Is there a way to support both v1 and v2 embedding apps in the next stable version of Flutter?
No.
This is the PR where we are removing the deprecated engine classes: https://github.com/flutter/engine/pull/52022

we already stopped using v1 for early time when flutter team annouce the v2

I only need to migrate from groovy to kotlin for gradle configuration

Looks like you are correct. My script to identify plugins probably caught this comment.
https://github.com/search?q=repo%3Aliodali%2Fosm_flutter ("io.flutter.view.FlutterMain" OR "io.flutter.view.FlutterNativeView" OR "io.flutter.view.FlutterView" OR "io.flutter.embedding.engine.plugins.shim" OR "io.flutter.app" OR "PluginRegistry.Registrar")&type=code


Create a scan queue

Currently all requests are sent to AssemblyLine. To ensure rate limits are never hit, save the file to a persistent data store, queue the tasks and then submit for file scanning when capacity exists.

Closed by #18


Added silence trimming to seed generation

Also fixed the case where a negative cut index could occur, which was not intended.

I'll squash those commits as well, if you'd prefer.

Looks good, thank you!


Not updating

RSS not updating, and no setting for polling interval?

can confirm.  i've turned off sync for my bookmarks, extensions & reading lists.  no longer any dupes between browsers/machines...but feeds not updating.
WORKAROUND: I add a dupe of any bookmark and save and all feeds refresh (but no dupe is created).  I hope the dev sees this!


Support Windows

#52 resolves this issue, and Windows support will be added in the v0.4.0 release.


Allow providers to set session User and Email

Currently, Oauth2_proxy computers session User from session Email (as the left part of the email string).
It would be better to have providers provide that information, to have a correct X-Forwarded-User value.

Use case: in gogs, the field can be used to automatically create users. Passing usernames makes more sense than passing emails for that need.

This would also be very useful for GitHub, where the user's primary email can often be meaningless to the upstream service (especially if they have a dozen emails on their account like I do), but the username is a useful identifier.

+1, what can we do to get this added? Thanks!

Hi, I'm not a go dev, but my guess is that the issue is here
func (s *SessionState) userOrEmail() string {
	u := s.User
	if s.Email != "" {
		u = s.Email
	}
	return u
}

As you can see, if the user has an email (which happens all the time), the email overrides the username.
My proposal would be to, either:

use "username" instead of the email, as a rule
let this be set by parameters. Let's say, a "username field" option in the command-line.

As I said, I don't know golang. How I can I compile and test the changes I could make ? (Code is already cloned on my laptop)


AO-20081-Refactor-GitHub-Actions-Test-Publish-Workflows-7

This Pull Request is the 7th in a series of Pull Requests to refactor GitHub Actions (AO-20081).
It adds a release workflow that is npm and git triggered, using npm builtin version command and git push tag. No github hooks needed.
Definitions:

Build Group are images on which the various versions of the add-on are built. They include combinations to support different Node versions and libc implementations. Generally build is done with the lowest versions of the OS supported, so that glibc/musl versions are the oldest/most compatible.
Target Group images include a wide variety of OS and Node version combinations. Group includes both images that can build from code as well as those which can not.

Usage:

To Release:

On branch run npm version {major/minor/patch}(e.g. npm version patch) then have the branch pass through the Push/Pull/Merge flow above.
When ready git push origin {tag name} (e.g. git push origin v11.2.3).

Pushing a semantic versioning tag for a patch/minor/major versions (e.g. v11.2.3) or an alpha tagged pre-release (e.g. v11.2.3-alpha.2) will trigger release.yml. Pushing other pre-release tags (e.g. v11.2.3-7) is ignored.

Workflow will:

Build the code pushed in each of the Build Group images.
Package the built code and upload a tarball to the production S3 buckets.
Create all Target Group images and install the prebuilt tarball on each.
Publish an NPM package upon successful completion of all steps above. When version tag is alpha, package will be NPM tagged same. When it is a release version, package will be NPM tagged latest.

Workflow ensures node-pre-gyp setup is working in production for a wide variety of potential customer configurations.

Workflow publishing to NPM registry exposes the NPM package (and the prebuilt tarballs in the production S3 bucket) to the public.

Note: @appoptics/apm-bindings is not meant to be directly consumed. It is developed as a dependency of appoptics-apm.

Diagram:
push semver tag ─► ┌────────────────────────────┐ ─► ─► ─►
push alpha tag     │Build Group Build & Package │ S3 Package
                   └┬───────────────────────────┘ Production
                    │
                    │   ┌────────────────────┐     │
                    └─► │Target Group Install│ ◄── ▼
                        └┬───────────────────┘
                         │
                         │   ┌───────────┐
                         └─► │NPM Publish│
                             └───────────┘

Todos:

Consider adding a dry-run option - will require deleting tarballs from production and running NPM publish with --dry-run. Benefits? Maybe...

Notes:

Publish is done from a runner with node 14.x installed. Choice of os/node version has no impact (at last ;) )
actions/setup-node@v2 handles .npmrc file creation for authentication. NPM_AUTH_TOKEN is never written to file.

GitHub Actions bugs:
Pushing a tag triggers not only the Release workflow but also the Build Docker Images workflow even though that one should only be triggered with:
on:
  push:
    paths:
      - '.github/docker-node/*.Dockerfile'

Adding tags-ignore: to the above in attempt to "circumvent" the bug will disable trigger all together.
Will investigate further (and/or open issue with https://github.com/actions/runner/).
Decision was made to disable the trigger on the  Build Docker Images workflow. Images will be built by manual trigger. (62f51ead1407568ffe385017de621a6c69fe6693)

Thanks for the nice write-up @ronilan! I think it would be well worth to add the PR description to some readme to explain the release process, so this information is readily available without searching for the PR which introduced the mechanics.

Documentation including all the above is WIP on: https://github.com/appoptics/appoptics-bindings-node/tree/AO-20192-Update-Documentation-no-build

I have one (fundamental) comment regarding the general trigger of the release

Generally multiple ways to do releases, branches, tags, triggers etc. It's agreed, I think, that there is no right answer on this. The specific method you suggest (which I understand is how the Python Agent is released) uses GitHub Release feature. This means workflow manages the versioning and GitHub does git commit.
NPM versioning is good (very, actually) and the way versioning is/was done for this package (and actually any other I've seen before) is using that tool. GitHub Actions does not modify anything and does not commit to the repo. There are (obviously) some edge cases that the developer should be aware of (they'll go in documentation) but this is (generally, I think) the "node way".


[ENH] Replace SFA with SFAFast in REDCOMETS

Reference Issues/PRs
Closes: #1742

What does this implement/fix? Explain your changes.
Replace SFA with the faster version, SFAFast.

Does your contribution introduce a new dependency? If yes, which one?
None

Any other comments?

PR checklist

For all contributions

[ ] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

Hi, very cool. I am a bit surprised that there are no changes required on the test cases for REDCOMETS.
@MatthewMiddlehurst is there a way to check, if the test_redcomets.py was were re-evaluated?

@itsdivya1309 thanks for doing this PR.
My (very brief) look suggests that the word outputs are identical between SFA and SFAFast in the case of the whole series transform that REDCOMETS uses so absolutely no difference in accuracy (hence the old test cases still pass).
It seems to give a small speedup most of the time, but is sometimes slower  - not sure if this is additonal numba overhead or something else. It could do with a little bit more thorough of an analysis to confirm SFAFast is an improvement overall wrt. speed.
I also remember last time I looked at doing this there were some issues with particular alphabet sizes and word lengths on some datasets due to how SFA/SFAFast stores the words and numba having a max integer size. I'll have a look and see if I can replicate any of this - but I can see that @patrickzib has made a number of improvements to SFAFast since I last looked so might be fixed anyway.

@zy18811 the class will still be limited in sizes due to the 64 bit limit for words required in the functions. The original does not have this.


Support for CoffeeScript classes syntax

Hi!
I'm using CoffeeScript extensively in my app. It provides it's own classes system (http://coffeescript.org/#classes) with ability to call super to invoke parent's class method.
When I tried to do class View extends Ractive it works for the most part, but fails once you try using partials or components.
Here's an example from Backbone how they handle extends. It works great and I can extend any Backbone class "natively" instead of calling Backbone.extend: https://github.com/jashkenas/backbone/blob/master/backbone.js#L1779
Would it be possible to have similar functionality? It seems that most of the functionality you already have anyway (this._super() etc). I think CoffeeScript users such as myself would greatly appreciate if it works out of the box natively!

Does it work to do something like:
function CoffeeRactive(options){
   return Ractive.extend(options);
}

and go from there?

I think @suprMax is talking about using standard inheritance semantics. I've wondered about this, in the context of ES6 classes (which are somewhat similar to their CoffeeScript counterparts).
The problem is that the semantics are a bit different. When you call A = Ractive.extend(...), followed by B = A.extend(), you're not just creating a constructor whose prototype inherits from the parent; 'registries' (such as partials and components, as you note, but also transitions, events, decorators and so on) plus data and computed all extend the corresponding properties on the parent.
More than that, it allows Ractive to do things like only compiling templates once at extend time, rather than at instantiation time. So it's a lot more efficient if you're extending a component and only making minor changes (for example, WarningModal = Modal.extend({ data: { type: 'warning' } }), or something) - everything 'rolls up' neatly, saving both you and the computer work.
So I don't really know. React recently moved in this direction (preferring class Foo extends React.Component over React.createClass(), and it's fair to say it's causing some of their users a bit of pain. Going with the grain of the language is generally a good thing, but I think we'd lose a lot of convenience in the process. It would involve quite a wide-ranging rethink, I think.

As long as you're willing to forgo registry rollup (or handle on your own), I'm thinking that the extend options could be treated as the "class":
function RactiveClass(options) {
    var Extended = Ractive.extend( Object.getPrototypeOf(this) );
    return new Extended(options);
}

Then that should enable:
class Widget extends RactiveClass {

    template: '#widget'

    oninit () {

    }

    close () {
        // method call for event
    }
}

var ractive = new Widget({ el: 'body' })

@Rich-Harris I think if you precompile templates (for example with browserify transform), then there is no benefit of compiling it on Ractive.extend.
There is indeed a problem of merging all the properties of the prototypes (events, partials etc etc). It has been solved by lovely chaps from ChaplinJS, here's an example: https://github.com/chaplinjs/chaplin/blob/master/src/chaplin/lib/utils.coffee#L68
Basically they walk through prototype chain of extended objects to collect all those props what were set in different places.
I think the best way to tackle this would be to allow the user of the framework to decide which approach to use: Ractive.extend or class Blah extends Ractive. Backbone guys leave you with both options and it's been working great so far.

Would something like this work?
class CoffeeRactive
    constructor: () ->
        return Ractive.extend(this)

It compiles down to:
var CoffeeRactive;

CoffeeRactive = (function() {
  function CoffeeRactive() {
    return Ractive.extend(this);
  }

  return CoffeeRactive;

})();

this exposes a couple of bugs in the ractive code. This works for new instances, but not inline components (still looking into that). @Crisfole basically same approach, but allows inclusion of new options on instantiation.
class RactiveClass
  constructor: (options) ->
    proto = Object.getPrototypeOf(this);
    delete proto.constructor;
    Extended = Ractive.extend( proto )
    new Extended(options)

class View extends RactiveClass
  oninit: ->
    @on 'select', ->
        console.log 'click!'

    @observe 'foo', (n, o) ->
        console.log o, 'to', n

view = new View
    el: 'main'
    template: '#template'
    data:
        foo: 'bar'

Default: http://jsfiddle.net/47p3xLks/
Proposed by @Crisfole: http://jsfiddle.net/47p3xLks/1/ (doesn't work, doesn't try to render)
@martypdx yup works if you pass some of the props as options, but if you don't and pass only data (template and el set on proto - no luck) http://jsfiddle.net/47p3xLks/2/
My sauce:
class RactiveClass
  constructor: (options) ->
    proto = Object.getPrototypeOf(this)
    delete proto.constructor
    Extended = Ractive.extend(proto)
    new Extended(options)

class View extends RactiveClass
  doStuff: ->

class TestView extends View
  el: '#main'
  template: "Hello {{name}}!"

test = new TestView(data: name: 'world')
console.warn test

Hmm...something's off: http://jsfiddle.net/dnhobx9j/1/

Turns out to not be so straightforward in the inline component case. Need to look into it deeper.

Have the same problem with coffee :+1:

This is how I have solved it in TypeScript https://gist.github.com/codler/c91bc144a822c3fb0fc2
#1687 (for 0.7)

Having recently gone through all of the extend code, I can say that direct classes are not in the cards for Ractive. There's just too much that depends on one pass through the extension phase.


Support for individuals in Oort

From<EMAIL_ADDRESS>on January 09, 2012 21:25:43
Oort should pre-classify individuals
Original issue: http://code.google.com/p/owltools/issues/detail?id=31

From<EMAIL_ADDRESS>on September 18, 2012 15:42:40
Status: Duplicate
Mergedinto: 23


Support Kubernetes 1.11

Right now it seems that only Kubernetes 1.13+ is supported by this driver, but my team is using Amazon's EKS, which only supports up to Kubernetes 1.11. Is it possible for this driver to support 1.11? I tried on our cluster just to see if I could resolve the issue, and get this error in the test pod's events:
Events:
  Type     Reason                  Age                        From                                               Message
  ----     ------                  ----                       ----                                               -------
  Warning  UnsupportedMountOption  114s (x131281 over 3h41m)  kubelet, <some-ip>  MountVolume.MountOptionSupport check failed for volume "efs-pv" : Mount options are not supported for this volume type

I did some digging and it looks like Kubernetes 1.11 may not support mount options in CSI drivers. I'm wondering if there are any workarounds, or if there was a way I could make the driver use TLS by default in a fork. Encryption in transit is a hard requirement for my team, so any solution would help us a lot!
Thanks in advance!

@leakingtapan I noticed you've added support for Kubernetes 1.11! Thanks for acting on the feedback :)


Remove types deprecated in 2.0

At some point we'll want to remove the deprecated types.

Codecov Report

Merging #72 into master will increase coverage by 0.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
+ Coverage   96.46%   96.62%   +0.16%
==========================================
  Files          33       33
  Lines        1187     1185       -2
==========================================
  Hits         1145     1145
+ Misses         42       40       -2

Impacted Files
Coverage Δ

Sources/Hyperspace/Request/Request.swift
96.72% <ø> (+3.07%)
:arrow_up:

Sources/Hyperspace/Request/AnyRequest.swift
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@wmcginty Can we go ahead and get a quick CHANGELOG entry for this just to make it more visible in the release notes of the next version?

@tylermilner Done.


corrected step numbers in react tutorial

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @mattfwood, we're currently cleaning up our PRs. Apologies for not having looked at it in detail earlier, unfortunately it is outdated by now so I'll close it. Please keep opening PRs in the future if you see any issues with our docs 🙏


Data Science with Python : PDFs and CDFs in ML

Description 📜
Pdf cdf details, code, audio link
Fixes #3520

Type of change 📝

[x] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)

Domain of Contribution 📊

[x] Datascience with #Python

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@prathimacode-hub , I have added the audio file of pdf and cdf in ml ( issue 3520) . with readme file, this audio provides:
Random Variable
Probability Density Function (PDF)
Cumulative Distribution Function (CDF)
Differences
Applications
Let me know if anything needs to be added


There is a problem finding the label

i have download the whole datasets and load them in my file ,when I run trainning.ipynb.Get a bug I cannot resolve that maybe datasets have  no label.


isolated environments

Upgrading an SNK installation means upgrading the SNK version of all DAGs, in lockstep.
Need an option to install pipelines into isolated environments. The pipelines depend on snk.. if i change snk then the pipelines will change... with a global installation of snk I can't update pipelines one project at a time.

This now happens although isolation is not the default but maybe it should be?
snk install tests/data/workflow --snakemake 7.32.4

Will install workflow in a venv with snakemake version 7.32.4

https://snk.wytamma.com/managing_workflows/#isolated-workflow-environments


refactor ads and delta

PR refactors ads and delta code and also adds some missing pieces like controlplane info in delta. This is a step towards building a separate generator for delta.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[X] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
baedd4148572c30d9dc6e71f949484dbea83224e
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
baedd4148572c30d9dc6e71f949484dbea83224e
link
/test release-notes_istio

integ-multicluster-k8s-tests_istio
baedd4148572c30d9dc6e71f949484dbea83224e
link
/test integ-multicluster-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-multicluster-k8s-tests_istio

/test release-notes_istio

Why do we want a separate generator? Seems like that will lead to lots of code duplication?

I am thinking we build abstract lot of stuff in to basegenerator or utilities and sotw generator and delta can use them?

On a second thought - I think it is better to retain the existing gen as xdsgen and as we build delta we can decide whether we need separate generator or we can refactor it better then we can introduce sotwgen/deltagen.


Bazzite fails to start jupiter-controller-update.service

Describe the bug
Logs:
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sat 2024-05-11 22:47:27 CEST; 8min ago
Main PID: 4498 (code=exited, status=1/FAILURE)
CPU: 357ms
maj 11 22:47:27 fedora jupiter-controller-update[4506]:   File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 11 22:47:27 fedora jupiter-controller-update[4506]:     return _iterencode(o, 0)
maj 11 22:47:27 fedora jupiter-controller-update[4506]:            ^^^^^^^^^^^^^^^^^
maj 11 22:47:27 fedora jupiter-controller-update[4506]:   File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 11 22:47:27 fedora jupiter-controller-update[4506]:     raise TypeError(f'Object of type {o.class.name} '
maj 11 22:47:27 fedora jupiter-controller-update[4506]: TypeError: Object of type BusType is not JSON serializable
maj 11 22:47:27 fedora jupiter-controller-update[4498]: !! Failed to enumerate devices
maj 11 22:47:27 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 11 22:47:27 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 11 22:47:27 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.
What did you expect to happen?
Start the service without issues
Output of rpm-ostree status
No response
Hardware
Steam Deck OLED
Extra information or context
No response

Found the source of the regression, hid 1.0.6 introduces this bug, see https://github.com/apmorton/pyhidapi/issues/60. Reported to the mantainers. I've also found a similar bug report on SteamOS bug report from someone running it on Arch. I'll also report there.

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this here.

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.
I tried your workaround and issue persists:
deck@fedora:~$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]:            ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.
But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.
See:
deck@fedora:~$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:~$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.
I tried your workaround and issue persists:
deck@fedora:~$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]:            ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.
But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.
See:
deck@fedora:~$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:~$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

Yeah, no, you can't since it's a root package. Updating the controller firmware requires running the software as a root user and therefore you can't override it by just installing as a local user in my testing. @KyleGospo has already said that it will temporarily downgrade it back shortly.

pip install hid==1.0.5 fixes it, might be worth to do this temporarily while upstream fixes this.

Can you downgrade it in bazzite for now until it's fixed? It's a big issue and not everyone would see this workaround here.

Yup. You need to do this on a system level.
I tried your workaround and issue persists:
deck@fedora:~$ sudo systemctl status jupiter-controller-update.service
Warning: The unit file, source configuration file or drop-ins of jupiter-controller-update.service changed on disk. Run 'systemctl >
× jupiter-controller-update.service - Jupiter Controller Firmware Update Service
Loaded: loaded (/usr/lib/systemd/system/jupiter-controller-update.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Sun 2024-05-12 23:04:06 CEST; 8min ago
Main PID: 4430 (code=exited, status=1/FAILURE)
CPU: 345ms
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 258, in iterencode
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     return _iterencode(o, 0)
maj 12 23:04:06 fedora jupiter-controller-update[4445]:            ^^^^^^^^^^^^^^^^^
maj 12 23:04:06 fedora jupiter-controller-update[4445]:   File "/usr/lib64/python3.12/json/encoder.py", line 180, in default
maj 12 23:04:06 fedora jupiter-controller-update[4445]:     raise TypeError(f'Object of type {o.class.name} '
maj 12 23:04:06 fedora jupiter-controller-update[4445]: TypeError: Object of type BusType is not JSON serializable
maj 12 23:04:06 fedora jupiter-controller-update[4430]: !! Failed to enumerate devices
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Main process exited, code=exited, status=1/FAILURE
maj 12 23:04:06 fedora systemd[1]: jupiter-controller-update.service: Failed with result 'exit-code'.
maj 12 23:04:06 fedora systemd[1]: Failed to start jupiter-controller-update.service - Jupiter Controller Firmware Update Service.
But I tried doing the same as root and got info that root still uses 1.0.6 but I can't touch it.
See:
deck@fedora:~$ sudo pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
deck@fedora:~$ sudo su
bash-5.2# pip install hid==1.0.5
Collecting hid==1.0.5
Using cached hid-1.0.5-py3-none-any.whl
Installing collected packages: hid
Attempting uninstall: hid
Found existing installation: hid 1.0.6
ERROR: Cannot uninstall hid 1.0.6, RECORD file not found. Hint: The package was installed by rpm.
bash-5.2#

Yeah, no, you can't since it's a root package. Updating the controller firmware requires running the software as a root user and therefore you can't override it by just installing as a local user in my testing. @KyleGospo has already said that it will temporarily downgrade it back shortly.

Nice, thank you. Hope devs will resolve it fast.

Should be fixed in stable


we should unify the analysis options file used to analyze the website code

Currently, we have a (small, simple) analysis options file used when analyzing the website code snippets. We should do some work to unify that with the analysis options files used when analyzing flutter code. This could be introducing an inheritance mechanism to analysis options files (a fairly invasive change), duplicate the lint list, or have some code that autogenerates the website options file one on the fly (this last option seems pretty good).
See https://github.com/flutter/website/pull/666 for context.

fixed here: https://github.com/flutter/website/pull/697


Add kafka backoff timeout in ms

Also please mind the backward compatibility. In the current implementation, new option with the default kind of breaks it. I'm not saying we can't do this, but this should be though out and explicitly stated somewhere in the commit/PR description.

@ivanyu fixed comment and PR message

@ivanyu Will prepare separate PR, there are some issue which need to be fixed in docs


[REVIEW] Add unittest for our notebooks

Add a unittest runner for our notebooks, checks that the rossmann example can
be run without error on a small dataset (10k rows) training for only a single
epoch. This should let us verify that everything runs, but only adds about 10s
to the unittest execution time.

There seems to be an issue with the criteo notebook segfaulting on RMM freeing buffers here so I've disabled that test (xskip) while I debug, but aside from that this should be good to go


template.marko is not defined

https://github.com/marko-js/marko-cli/blob/master/packages/test/src/util/browser-tests-runner/template.marko
This file is missing in the dist, and so the tests cannot run.

I believe adding --copy-files to the babel build command will fix this.

Should be fixed now 😄.


[JSC_UNDEFINED_VARIABLE] variable goog is undeclared With Advanced Optimisation

With advanced optimisation, there are errors when dealing with modules in the newest release.
Source code:
import { loadJSON } from '@lemuria/load-scripts'
loadJSON('test.json')

Without advanced, it's compiled alright. When I add advanced, I receive an error. I think it's because the optimisation drops the goog variable at some point, although it's not present in non-advanced output either.
closure-compiler:~$ java -jar compiler.jar --compilation_level ADVANCED --module_resolution \
NODE
--js t/index.js
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Exit code 1
node_modules/@lemuria/load-scripts/package.json:1: ERROR - [JSC_UNDEFINED_VARIABLE] variable goog is undeclared
({
^^

1 error(s), 0 warning(s)

Created Google internal issue http://b/144427091

Hi,
A compiler change in the last release made it an error to use goog.provide (or similar dependency methods like goog.{require,module,declareModuleId} without including a declaration of goog somewhere.
I didn't realize that NODE resolution generated a goog.provide from the package.json:
goog.provide("module$node_modules$$lemuria$load_scripts$package_json");

but that's what's causing this error. The compiler sees a reference to an undeclared global variable goog.
You should be able to suppress the error by either depending on Closure library's base.js or just including a dummy declaration of var goog; in some input script. That will get optimized away post-module-rewriting. Does that work for you?
I'll leave this issue open, since I think the compiler should either emit a clearer error message or no error in this particular case.

@lauraharker hi thanks would you mind making it no error please in the next release? I sure can add a dummy var goog; but that's not ideal really because the compiler is not just for the closure library which is a tiny bit discriminatory to throw an error at users like me for just compiling JS and not using closure. i'm not offended just saying that coupling the compiler to the goog namespace isn't 100% fair thx for understanding


Change consent server configs management core service artifact

Purpose
$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4841865424

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4841865424
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4842365049

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4842365049
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4842755513

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4842755513
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4843158725

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4843158725
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4843569367

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4843569367
Status: success


Eliminate extractors for deceased websites

Certain websites supported by youtube-dl (for instance, liveleak) have been closed. I suggest removing extractors for these websites, for they don't serve any purpose anymore.

You can't expect the maintainers to periodically go through the massive list of supported websites and check which are alive. I suggest you open an issue (or even better, a PR) instead when you find a dead website

Fair point. Maybe I should try to check the supported sites list myself to see which ones are dead

No need to go check the sites manually, it can be scripted (then manually googled for a little. Not a huge amount of work, but ytdl devs are already overly busy), even just receiving the HTTP response code is enough.

Nhis may be a good idea, but it would fail to distinguish a truly dead website from just a temporarily down one

Yes, @rautamiekka 's suggestion can help narrow down the potential cases, but at the end, a manual review of each website is needed

No need to go check the sites manually, it can be scripted (then manually googled for a little. Not a huge amount of work, but ytdl devs are already overly busy), even just receiving the HTTP response code is enough.

This may be a good idea, but it would fail to distinguish a truly dead website from just a temporarily down one

Ya, it can't tell a temporarily dead one, but it does help to narrow them down massively.
With the temporary death in mind, the script could be extended to warn after, say, 5 failures over, say, 5 weeks (1 check/failure a week). If the site's still returning the same response after the a bit over a month of time it's quite likely staying down.


Dext only sees web history

I downloaded the app. Running Sierra on a mid-2010 macbook pro. My web history from chrome shows up when I search but no applications or files/folders.

We currently don't have a plugin to fetch app results at the moment but it is in my todo list. I am open for a PR if you want to contribute towards making app discovery available.

my todo list

Is there a todo list somewhere i could start working on?

Is there a todo list somewhere i could start working on?

Not publicly available at the moment. I'll see to get these added into the Projects tab this week.

Closing this as the issue has been answered.


  I'd maybe use echo to do this.
Acceptance Criteria:

Create a server with Go that, when running and requested at a specific port, returns a status code 200 and JSON response
Add documentation to the README

I am unsure if I did this right, but the first bullet point I think is done for the AC. For the documentation, what should be included in that?


Remove a panic when parsing fed id

See https://github.com/fedimint/fedimint/pull/1216#discussion_r1063654524

@dpc beat you to it https://github.com/fedimint/fedimint/pull/1222

Closed by https://github.com/fedimint/fedimint/pull/1222, no big deal and didn't want to block.


Fix broken mac win manylinux action

Which issue does this PR close?

Closes #211.
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

@andygrove

@iajoiner Can you try setting PROTOC=path/to/bin/protoc?

@cpcloud @mbrobbel Really thanks! Will do it tonight.

We can also use the before-script-linux to install protoc: https://github.com/PyO3/maturin-action/blob/126798b090fbe85aa20bfbecd8710f2697d4d3f4/.github/workflows/test.yml#L55-L57

Sorry for the delay in getting to this. I would like to cut the next RC this Friday, so would like to help get these issues resolved. What is the next step ?

Thanks for the help with this. The release build is now passing again, based on this work.


Add artifacthub metadata manifest

This PR adds a metadata definition file to the Github Pages website root, in the format expected by https://artifacthub.io (see format here: https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-repo.yml).
ArtifactHub will read this metadata manifest when it will scan the Github Pages Helm chart repository we already expose at http://apache.github.io/superset/index.yaml , and to make the chart visible in ArtifactHub with the verified badge.

FYI, artifacthub page for the published chart: https://artifacthub.io/packages/helm/superset/superset

Hmm I'm not sure where these come from, my IDE didn't show these when I committed... I'll try to revert these.
The ID is tied to the Superset organization I created in Artifact hub, not to an individual.
I'm currently the owner of that org but I can relinquish it to you @craig-rueda  - I think you might need to create an account there first.

Cleaned up github actions + invite sent to artifacthub!

FYI @craig-rueda it seems you have not yet accepted the invite on artifacthub... just checking if you've received the email? The invite seems right since it's been able to get your name from your account id...

Ok, I'm in

I don't see any admin options in there though. Just the option to "leave" the org

Hey @craig-rueda is there anything else you need from me on this one?

FYI I think you might need to select the right context in your control panel in order to see the org-level settings:


[Java] add missing JNI exception checks to fix warnings

fixes the warnings as described in https://github.com/microsoft/LightGBM/issues/2360
by @chris-smith-zocdoc
FYI @eisber

looks good to me

@guolinke Can we merge this?


Improve type hinting

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


chore: using dependabot groups

@fabnguess Here we only have devDeps, i'm not sure for the dependencies group


Include certificates module

Adds the Certificates  module to client.rb

Was this a simple oversight, or was there a reason not to include the certificates module?


Inconsistent output of hls_model.predict()

Hi all,
I'm trying to convert my model with HLS4ML but I'm facing some issues.
A notebook reporting a minimal example can be found here and the model h5 here.
The first problem I'm observing is that after converting the model from Keras, hls_model.predict() gives wrong predictions and different every time (this can be seen in the last two cells of the notebook I've attached). From my understanding the output should be deterministic, e.g. for a given input x there should be only one f(x). Am I missing something?
Furthermore, I'm able to build the model with hls_model.build(), but I'm not entirely convinced by the output report.

The synthesis took around 45min, but to me it looks like only the last layer has been correctly converted (dense + sigmoid activation). Am I doing something wrong? this could be why I'm seeing the wrong output.
Thanks in advance for your help!

I managed to solve this problem by using the environment used in the tutorial: https://github.com/hls-fpga-machine-learning/hls4ml-tutorial/blob/fpl2020/environment.yml
Now output and synthesis make sense:

Was this "silent" failure due to the wrong TensorFlow version? I was using TensorFlow 2.3.1

Hi @Mmiglio, glad to see that the issue is gone now, but the cause worries me. Can you send me the generated project from the previous case when it showed this strange behavior? (The contents of model_cnn1D/hls4ml_prj directory)

Hi @vloncar, you can find the content of that directory here (https://www.transfernow.net/NxPclG102020). It has a slightly different name because I performed several tests, but the content is the same (also the output).
I'm interested in understanding the problem, let me know if you manage to find it or you need something else

I think I'm facing the same issue - Keras and hls4ml accuracies do not match for me -

And my vivado log file says - input1_V is dangling input
myproject/input1_V' has no fanin or fanout and is left dangling

Just to add to the turmoil :)
My Conv1D model never reaches good accuracy as well (even if I use stable sigmoid activation).

When i first get to know about HLS4ML, i was so happy to actually find out an automated way of implementing NN on FPGA. But currently i am also facing the problem of inconsistent results.

Hi @husnainmubarik, I suspect this is something different, actually. Could you let me know which hls4ml and Tensorflow versions you're using? And if possible, could you send the .tar.gz archive that hls4ml creates of the HLS project?
@Duchstf achieving good accuracy using fixed-point data types can be tricky. That's why we introduced the profiling and trace utilities that you can learn more about here. You can also use things like regularization and BatchNormalization to bring your weights and activations into a more consistent range over the model. That said, this is not necessarily the same issue as what's seen here - getting different results each time from predict. Could you perhaps check whether you see that specific problem, or are your results consistent? If it's a different issue, you should isolate where the differences between Keras and hls4ml first occur - which layer - using trace, and try to tweak your data types. If you still see differences that can't be resolved, you should raise a new issue.
@srizwantariq if you also see this issue of getting different predict results from the same input, could you possibly also provide an example?

Hi all,
as discussed with Thea I'm providing the code to reproduce the performance problem. You can find everything reported in this notebook https://github.com/Mmiglio/HLS4ML_issue/blob/main/model_3classes.ipynb

I'm using hls4ml 0.3.0 and tensorflow 2.3.1
My issue is three fold

For the given 3 layers KERAS network hls4ml generated accuracy is low (0.20 for the hls4ml predict).
Input1_V port is not connected to anything in the RTL which means my input port is actually dandling input port log shown in the attached image.
I've a question -> can I set unrolling in such a way that It only unrolls all the weight parameters and not the input parameters? In this way there'd be a unique DSP for every weight and not for every operation?
I've attached the link to the .tar.gz here  https://drive.google.com/drive/folders/1aeq6Wu7CfU91V1wSBiwFzJt4Vb7Q3p5k?usp=sharing

I used the environment from here ENV and my hls4ml accuracy matched with the keras accuracy.

I think @Mmiglio 's problem is the same TF 2.3 input layer issue we saw before.
I see in the project archive you sent that the model has function signature:
void project_cnn_1d(
    input_t input1[N_INPUT_1_1*N_INPUT_2_1], // this one in particular
    result_t layer9_out[N_LAYER_8],
    unsigned short &const_size_in_1,
    unsigned short &const_size_out_1
) {

but then shortly afterwards defines
    input2_t input_1[N_INPUT_1_2*N_INPUT_2_2];
    // lines removed for clarity
    nnet::normalize<input2_t, layer3_t, config3>(input_1, layer3_out, s3, b3); // the first layer of the model

So, the actual model input array is never read, and you see different results each time because the array input_1 is fed into the first network layer without initialization, so you just get whatever garbage was already there.
(Note input1 is not the same as input_1).
I think this is actually the same issue as @husnainmubarik was seeing, and was fixed here. So, the solution is to use the master branch, and for us to make a new release soon!

We released hls4ml v0.4.0 last Friday, which should resolve the issues seen here. Please try it out and let us know.

I tested it with tensorflow 2.3.1 and now it works! thanks for this new release.


Typing goes all wrong on Windows/.NET Framework 4.7

I can type anywhere, characters are just printed on top of the views.
Typing a non-alpha character makes the next character overwrite the previous etc.

It happens to me on netcoreapp2.0 on Windows 10, both cmd.exe and powershell.

Thanks for reporting the bug!
Simple mistake!   I did not pass true to ReadKey, fixed and published.

Thanks but I still can't type any non-alpha characters.

I can't input non-alpha characters either.


[cleanup] Delete SequenceScorer

Patch Description

SequenceScorer can be easily replicated via the API/hub_utils
As a consequence delete it.
As @tbmihailov has implemented the API-based evals, we don't need this code anymore.

Testing Steps
CI. Only code was deleted.

Stephen, let me check if this is not used by our other experiments! We could move this to the eval code if it is used but lets not break it just yet!

Stephen, let me check if this is not used by our other experiments! We could move this to the eval code if it is used but lets not break it just yet!

We are still using the SequenceScorer for scoring in the multi-choice setting (where prompts tokens are scored). What is the new way that this works in the API that it is not needed anymore? We could probably switch to the new code-path?

You give echo=True to the API

@tbmihailov have you had a chance to check if switching to the API with echo=True works for your evals?

@tbmihailov have you had a chance to check if switching to the API with echo=True works for your evals?

It would not work right now because it supposes that we have an API running. Which is very tedious to do for each checkpoint. For example for the XLMG experiments (that we still need to finish), we are evaluating the model every X steps. Having the ability to run locally is essential! Lets rename this to SequenceScorerLegacy or something if the presence is disturbing?

Lets rename this to SequenceScorerLegacy or something if the presence is disturbing?
Ah no need - will just wait for whenever your evals are done!


Add memory sanitizer for better debug

Could you make the suggestion not to run ASAN and MSAN together more explicit? e.g.:
if (ENABLE_MSAN AND ENABLE_ASAN)
    MESSAGE(WARNING "Compiling with both AddressSanitizer and MemorySanitizer is not recommended")
endif()


Input does not honor type attribute

I've tried to create an Input with the following code:
              <Input
                type="date"
                {...register('expirationDate', { required: true })}
              />

What I get when the DOM renders is:
<input type="text" name="expirationDate" class="input focus:outline-offset-0 input-bordered" value="">

What I expected was:
<input type="date" name="expirationDate" class="input focus:outline-offset-0 input-bordered" value="">

I believe this line needs to be changed:
https://github.com/daisyui/react-daisyui/blob/main/src/Input/Input.tsx#L48
type={props.text}

Also, text shows up in the IDE auto-complete:

Fixed with #102 . Thanks @mikeyGlitz!


Rework button documentation, changes to buttons, and new way to display components

Description
Fixes DG-551
Fixes DG-516
Fixes DG-507
Also added a showCasePanelAdvanced component that will be used with componentPreview
How Has This Been Tested?
Ran all existing tests, added testing for showCasePanelAdvanced
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have updated the CHANGELOG document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/App/components/Button/index.js  4

Clones added
============
- src/App/docutils/ComponentPreview/index.test.js  2
- src/App/docutils/ComponentPreview/index.js  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/App/components/Button/index.js  4

Clones added
============
- src/App/docutils/ComponentPreview/index.test.js  2
- src/App/docutils/ComponentPreview/index.js  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/App/components/Button/index.js  4

Clones added
============
- src/App/docutils/ComponentPreview/index.test.js  2
- src/App/docutils/ComponentPreview/index.js  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/App/components/Button/index.js  4

Clones added
============
- src/App/docutils/ComponentPreview/index.test.js  2
- src/App/docutils/ComponentPreview/index.js  2

See the complete overview on Codacy


Revert "add prefix to test envelope file names (#61)"

Change description
Revert "add prefix to test envelope file names (#61)"
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

why?


Revert wire constraints merge due to numerous issues

Reverts wiremod/wire#1747
Causes issues such as:

E2s that use getConstraints to have issues with massive arrays
Constraint checkers being useless now
Changes behavior of many things
And is not a default-off option

I'd very, very much recommend releasing a hotfix as soon as this is merged as the workshop version of Wire has this feature.

@thegrb93 here's a summary for you, from the conversations in discord
If this feature is going to stay, I suggest making it a clientside option that each player can opt in to.
Looking over the code, making it optional seems to be super simple.
From what I understand, making wires constraints adds nothing beneficial other than the ability to select the entire contraption on right click with a duplicator. This is a very, very minor feature, barely even worth fixing in the first place.
Reason being that with adv dupe 1 and 2 you can simply hold shift to select multiple contraptions.
I haven't used garrydupe in forever, but if that doesn't support shift+clicking then you can simply create 1 single nocollide constraint between your two contraptions first and the problem is solved there as well.
So the advantage is fixing a minor issue. Disadvantages? Well, it affects wiremod internally via the getConstraints function of E2. All old E2s that use this function now have a higher chance of hitting tick quota, depending on how the contraption is built. Other than that I'd say wiremod is largely unaffected.
The main issue is in other tools, such as "smart" welders or parenters. These tools will now weld or parent multiple contraptions to each other which are supposed to be separate (I realize that 95% of these "smart" tools are all garbage but that won't stop people from using them).
Some servers also check constraints to see if people are lagging the server, which is understandable given that before this update, all constraints in gmod were physical entities which affect the physics engine. Wiremod constraints are essentially entirely lag-free, and these constraint checkers don't know this, which leads to false positives.
So TLDR is: yes, this does add a new feature - and it is a good feature - but the advantage is tiny in comparison to the disadvantages. If we could knock our knees together and magically fix all of the now broken "smart" tools etc, then definitely keep this change, but we can't, so we shouldn't. Or at least make it opt-in.

Yup, that is indeed what I meant

I think having some sort of var that checks if the player wants wire constraints to be created or not would be the best solution if you're gonna keep wire constraints in general

@Monkatraz the same could be said of any constraint. Maybe someone needs to make a constraint manager tool.

that's kind of a non solution imo, because after duping you might not want to keep those wire constraints (remember those server counter issues?) and having you to redo your constraints would require you to redupe it, meaning you just have to have wire constraints no matter what
also, are you going to try to fix this extremely soon? like I said, this is terrible for a lot of servers and should be reverted and uploaded to the workshop until its majorly overhauled. I say this because you closed this pull...

Yah I'll make a patch tonight

Until the patch is made and merged, we should keep this open.

https://github.com/wiremod/wire/pull/1787

They are non-issues, but adding the hack to the advduplicator and ignoring the garry dupe instead seems to be the better option.

with this merged, whoever manages the workshop should upload this, especially now that wire-constraints are entirely removed from wire itself
looking forward to the Adv Dupe changes, actually

It'll still paste correctly without the wire constraint registered, but yea. Sooner the better.

Pushing hotfix update to all repos.


Rebuild

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch: python recipes are required to have a lower bound on the python version. Typically this means putting python >=3.6 in both host and run but you should check upstream for the package's Python compatibility.

For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

This should solve issues like https://github.com/conda-forge/dicttoxml-feedstock/issues/2

Or failing builds like https://github.com/conda-forge/pyiron_base-feedstock/pull/51

Wonderful!!! #2 has been annoying me for quite a long time.
Can you give any insight into what was the problem? And what in particular was the solution? (Based on your commit, it looks to me like you essentially remade the whole feedstock.)

The only thing I did was rerendering the recipe. In the first commit I only increased the build number.


Flet delivers double click as two single clicks

When a container is double clicked, flet sends two on-click message to my app.  Making me responsible for handling the double click or disregarding it

The operating system knows the difference between and click and double click and the correct event should be fired.  In the example below, the double click updates the value twice when really no event should be fired.  If I double click a button and only want to handle single clicks, I have to put in special handling code to see if a click came through and disregard the other.  I attempted to disable the button on the first click but on a slow connection the second click comes through before I can disable the button.
import flet as ft

def main(page: ft.Page):
    page.title = "Flet counter example"
    page.vertical_alignment = ft.MainAxisAlignment.CENTER

    txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)

    def minus_click(e):
        txt_number.value = str(int(txt_number.value) - 1)
        page.update()

    def plus_click(e):
        txt_number.value = str(int(txt_number.value) + 1)
        page.update()

    page.add(
        ft.Row(
            [
                ft.IconButton(ft.icons.REMOVE, on_click=minus_click),
                txt_number,
                ft.IconButton(ft.icons.ADD, on_click=plus_click),
            ],
            alignment=ft.MainAxisAlignment.CENTER,
        )
    )

ft.app(target=main, view=ft.AppView.WEB_BROWSER)

Describe the results you received:
The counter in the sample application goes up by two on a double click because it received two single click events

Describe the results you expected:
A double click is ignored since there is no handler for it.

Additional information you deem important (e.g. issue happens only occasionally):
Flet version (pip show flet):
Name: flet
Version: 0.8.2
Summary: Flet for Python - easily build interactive multi-platform apps in Python
Home-page:
Author: Appveyor Systems Inc.
Author-email<EMAIL_ADDRESS>License: Apache-2.0

Operating system:

macOS Ventura
Additional environment details:

This occurs on slower connections where the web socket is not fast enough for me to disable the button

updated ticket with more info.

on_click is designed to respond to every clicks (double-click =  2 clicks).
However, to achieve the behaviour you expected, you can introduce a flag, which will prevent the second click of the double-click from being considered/handled.
Below is an example:
import asyncio
import flet as ft

def main(page: ft.Page):
    button_disabled = False

    async def plus_click(e):
        nonlocal button_disabled
        if button_disabled:
            return
        field.value = str(int(field.value) + 1)
        page.update()

        button_disabled = True
        await asyncio.sleep(0.3)
        button_disabled = False

    page.add(
        ft.Row(
            controls=[
                field := ft.TextField(
                    value="0", text_align=ft.TextAlign.RIGHT, width=100
                ),
                ft.IconButton(ft.icons.ADD, on_click=plus_click),
            ],
        )
    )

ft.app(main)


Fix tests

max resp len seems to be 500
added score in hashtags

Thanks so much!

Ah perfect, much better this way, weird how gettr keeps changing the max length of array response.


TCE build-test-release in containerized environments

This issue is to track TCE build-test-release (btr) in containerized environments for us to be able to run TCE build-test-release in infrastructure like Prow which are containerized environments (Prow = K8s = pods = containers)
I have noticed that TCE build should be pretty easy and straight forward in a containerized environment
For TCE test in containerized environments, I have raised an issue in Tanzu Framework regarding it - https://github.com/vmware-tanzu/tanzu-framework/issues/1475
I'm yet to try out TCE release in containerized environments, but I think there shouldn't be any hiccups there and that it should be pretty straight forward like TCE build

Putting this in icebox only because we don't know what release this is targeted for or if it'll be out of band of an "official" release. Feel free to update the milestone if you want to bind yourself to a specific TCE release.
Thanks!