Include webserver in remaining pods under tnf testing to address lifecycle probes

build-depends: https://github.com/rh-nfv-int/nfv-example-cnf-deploy/pull/45
build-depends: https://github.com/dci-labs/example-cnf-config/pull/90

This affects to the images used by the example-cnf operators (excepting testpmd-container-app-mac, which is not currently used, so this will not be modified)
For testpmd_image used currently, directly taken from dpdk image, we'll replace it by the image originally built from testpmd-container-app/cnfapp, which is reused again
A webserver, based on golang (taking the skeleton from cnf-app-mac-operator), is included now in these images, and launched in background mode. Containers running in the same pod use different ports for the webserver (8095-8096)
Liveness, readiness and startup probes have been defined in the corresponding pods
Bump version to all the involved operators, container images and nfv-example-cnf-index
Update GH actions to login in registry.redhat.io, since we need to download DPDK image from that repo

First and foremost I suggest to hold on the change until knowing the redistribution limitations, if any.
Sure, we'll ask next week about this to see what to do. Bad thing is that I fear that, if we're not really able to share an image based on dpdk-base-rhel8, we'll not be able to make modifications in the container using that image... so let's see

Why the decision to use python for the webserver? Any requirement, limitation, etc?
If none, then you can avoid the rework by reusing the skeleton created in the cnf-app-mac-operator. It will also help to reduce "touching" too much the image, as only copying the binary and the entry-point.sh would get you to the same place. No need to install anything extra.
In fact, the skeleto for cnf-app-mac-operator is not really useful for the other cases since the logic for that operator is completely written in Go, whereas the others are written in Python. That's why I used Go for cnf-app-mac-operator, but Python for the others, just for simplicity and for, in fact, avoiding installing more binaries and software in the image that were just dedicated for this webserver.

Same thoughts as in the cnf-app-mac-operator here. Specifically, if this is just to satisfy CNF, then is fine, but if we care about the purpose of those checks then this a good opportunity to add that value.
Yes, here's the same point, right now it's more an exercise to satisfy CNF requirements and also to confirm that the build of example-cnf is working fine, even modifying all the projects involved. Maybe I'd leave the discussion about the real meaning of these features for a second round of changes to improve this first implementation.

The current status is the following:

With the current code, the containers from loadbalancer are now working fine:

$ oc get pods -n example-cnf | grep loadbalancer
loadbalancer-ffccd4fd7-nrvd2                               2/2     Running            0             55s
$ oc exec -it loadbalancer-ffccd4fd7-nrvd2 -n example-cnf -c listener -- bash
[root@loadbalancer-ffccd4fd7-nrvd2 /]# curl <IP_ADDRESS>:8095/healthz
query received to check liveness[root@loadbalancer-ffccd4fd7-nrvd2 /]# exit
exit
$ oc exec -it loadbalancer-ffccd4fd7-nrvd2 -n example-cnf -c loadbalancer -- bash
[root@loadbalancer-ffccd4fd7-nrvd2 /]# curl <IP_ADDRESS>:8096/healthz
query received to check liveness[root@loadbalancer-ffccd4fd7-nrvd2 /]# exit
exit

I still need to check in trex-config one but it should also work since it's similar.
However, for testpmd-app, I still need to figure out how to make it work for DPDK v4.6.3 (because I cannot install packages there; maybe I can use golang, which can be easily downloaded, and reuse the logic from cnf-app-mac-operator here) or for DPDK v4.14 (but this is not working currently)

In fact, the skeleton for cnf-app-mac-operator is not really useful for the other cases since the logic for that operator is completely written in Go, whereas the others are written in Python.

I'm sorry but I'm not following. What are you referring as "the others"? If you refer as the others to the webservers in here, then my question remains, why did you choose Python if in the end you're installing Python in the image? The same would've been possible by using a golang webserver and then copyin the binary into the image instead

That's why I used Go for cnf-app-mac-operator, but Python for the others, just for simplicity and for, in fact, avoiding installing more binaries and software in the image that were just dedicated for this webserver.

I could understand that Python is simpler to leverage when nothing is created, but in this case the webserver in golang for cnf-app-mac is already available. In regards avoid installing software into the image, I found easier to copy the go binary rather than installing an interpreter and copying a script

However, for testpmd-app, I still need to figure out how to make it work for DPDK v4.6.3 (because I cannot install packages there; maybe I can use golang, which can be easily downloaded, and reuse the logic from cnf-app-mac-operator here) or for DPDK v4.14 (but this is not working currently)

:upside_down_face:  This is the point that I'm trying to make for this change, why not using golang instead?

check dallas ocp-4.14-vanilla example-cnf

FAILURE https://www.distributed-ci.io/jobs/e1973225-59ea-4974-82f2-747ce5482492/jobStates
FAILURE https://www.distributed-ci.io/jobs/9008c68a-cb23-4cc9-abc7-b99f885c9088/jobStates
from Include webserver in remaining pods under tnf testing to address lifecycle probes #38

These tests are reporting a wrong result; in fact, the example-cnf installation worked: https://www.distributed-ci.io/jobs/9008c68a-cb23-4cc9-abc7-b99f885c9088, it's failing in a next step not related to this change and that has also appeared in the daily jobs this weekend.
All pods are up and running:
NAME                                                      READY   STATUS      RESTARTS        AGE     IP            NODE       NOMINATED NODE   READINESS GATES   LABELS
cnf-app-mac-operator-controller-manager-94c8b7c5f-fhfzh   1/1     Running     1 (4m32s ago)   9m11s   <IP_ADDRESS>   worker-1   <none>           <none>            control-plane=controller-manager,pod-template-hash=94c8b7c5f
job-trex-app-cqzzq                                        0/1     Completed   0               3m4s    <IP_ADDRESS>   worker-1   <none>           <none>            batch.kubernetes.io/controller-uid=eff1ff82-d012-4b0a-a746-12ca32399517,batch.kubernetes.io/job-name=job-trex-app,controller-uid=eff1ff82-d012-4b0a-a746-12ca32399517,example-cnf-type=pkt-gen-app,job-name=job-trex-app
loadbalancer-54d65f57b6-52k5c                             2/2     Running     0               5m22s   <IP_ADDRESS>   worker-3   <none>           <none>            example-cnf-type=lb-app,pod-template-hash=54d65f57b6
testpmd-app-76db89f94d-6jnb7                              1/1     Running     0               4m45s   <IP_ADDRESS>   worker-2   <none>           <none>            example-cnf-type=cnf-app,pod-template-hash=76db89f94d
testpmd-app-76db89f94d-7g9vl                              1/1     Running     0               4m45s   <IP_ADDRESS>   worker-1   <none>           <none>            example-cnf-type=cnf-app,pod-template-hash=76db89f94d
testpmd-lb-operator-controller-manager-cd99c4d4b-tshks    1/1     Running     0               8m9s    <IP_ADDRESS>   worker-1   <none>           <none>            control-plane=controller-manager,pod-template-hash=cd99c4d4b
testpmd-operator-controller-manager-599585987b-ttxgp      1/1     Running     0               6m57s   <IP_ADDRESS>   worker-3   <none>           <none>            control-plane=controller-manager,example-cnf-type=testpmd-operator,pod-template-hash=599585987b
trex-operator-controller-manager-6658c4f7c8-c9c8n         1/1     Running     0               5m57s   <IP_ADDRESS>   worker-1   <none>           <none>            control-plane=controller-manager,example-cnf-type=trex-operator,pod-template-hash=6658c4f7c8
trexconfig-5674785444-p26wp                               1/1     Running     0               3m54s   <IP_ADDRESS>   worker-0   <none>           <none>            example-cnf-type=pkt-gen,pod-template-hash=5674785444

I'll run a final test today to determine that everything is in place and that the targeted tnf tests are now passing.

@tonyskapunk , finally I decided to follow your advice and move all the webserver's implementations to Go, but I'll answer your comments just to note here the decisions made.

In fact, the skeleton for cnf-app-mac-operator is not really useful for the other cases since the logic for that operator is completely written in Go, whereas the others are written in Python.

I'm sorry but I'm not following. What are you referring as "the others"? If you refer as the others to the webservers in here, then my question remains, why did you choose Python if in the end you're installing Python in the image? The same would've been possible by using a golang webserver and then copyin the binary into the image instead

What I was trying to say was the following:

cnf-app-mac-operator is based in Go, so no new installations were needed to include the logic of the webserver; I directly included the code in Go.
The other images, which are testpmd-container-app > cnfapp, testpmd and listener, and trex-container-app > app and server, excepting the case of cnfapp (which was not used before and we're modifying it in this change), all the others are based on Python images or have Python installed. So, what I thought was that, maybe, it was easier in these cases to provide a Python script which implemented the webserver, only installing in the Dockerfile the modules that I needed, with pip. In case of using Go here, as you said (and that's what I've finally done), the Go binary was needed, which was not included in these images, whereas the Python binary was already in place.

That was the main reason why I used Python at the beginning; if these images were using Python, then it was just to continue using the same language. But okey, I finally moved to Go, so that all webservers implementations are based on that language, and also it's true that this solved my problem with cnfapp, where I was not able to download any package with dnf/yum because of subscription issues, and the Go binary, I was able to provide it with the ADD clause from Dockerfile.

That's why I used Go for cnf-app-mac-operator, but Python for the others, just for simplicity and for, in fact, avoiding installing more binaries and software in the image that were just dedicated for this webserver.

I could understand that Python is simpler to leverage when nothing is created, but in this case the webserver in golang for cnf-app-mac is already available. In regards avoid installing software into the image, I found easier to copy the go binary rather than installing an interpreter and copying a script

However, for testpmd-app, I still need to figure out how to make it work for DPDK v4.6.3 (because I cannot install packages there; maybe I can use golang, which can be easily downloaded, and reuse the logic from cnf-app-mac-operator here) or for DPDK v4.14 (but this is not working currently)

🙃 This is the point that I'm trying to make for this change, why not using golang instead?

Already answered above.

In the last debug job I'm launching (I've run a complete example-cnf installation), the targeted tests are now passing!
$ cat /tmp/dci_logs.mrb5y63b/cnf-certification-tests_junit.xml | grep probe
          <testcase name="[It] lifecycle lifecycle-readiness-probe [telco, lifecycle-readiness-probe, lifecycle]" classname="CNF Certification Test Suite" status="passed" time="0.000147667">
          <testcase name="[It] lifecycle lifecycle-liveness-probe [telco, lifecycle-liveness-probe, lifecycle]" classname="CNF Certification Test Suite" status="passed" time="0.000145401">
          <testcase name="[It] lifecycle lifecycle-startup-probe [telco, lifecycle-startup-probe, lifecycle]" classname="CNF Certification Test Suite" status="passed" time="0.00013513">

I'll wait for the end of the execution to confirm everything is fine, but this is a good first result.

The complete example-cnf deployment is passing:

tnf probes tests are now passing
testpmd-container-app/cnfapp image is correctly used
other tests, like preflight and opcap, are also executed correctly

Change is ready for review

check dallas ocp-4.15-vanilla example-cnf

Glad tnat we are making progress here, please take a look to my comment on the containerfile.
Also consider avoiding repetition if the same code will be used, use a single source and reuse it.

Thanks @tonyskapunk ! Regarding the repetition, I tried by using a symbolic link to a file I have placed in a new folder called common-scripts, but the build complained about that and did not work, I have used a hard link instead. Do you have a better way of handling this?
I will run a job in the meantime to see how it goes with the current build

don't know what's going on with cluster5... I'll retest tomorrow, in the meantime the change can be reviewed

check dallas ocp-4.13-vanilla example-cnf

Thanks @tonyskapunk ! Regarding the repetition, I tried by using a symbolic link to a file I have placed in a new folder called common-scripts, but the build complained about that and did not work, I have used a hard link instead. Do you have a better way of handling this?

I don´t know if hard links work in git, likely not, but you can take the script out of all this directories and put it under ./utils or something and use it from there

One option I was thinking is to move webserver.go to a personal repo under my github account, making it public, and add it to the golang build image, don’t know if this can satisfy the requirement

Certainly Is an option but not sure if is worth the effort, here remains local. And I think it will eventually change to satisfy more than just replying to http requests. My 2¢.

The utils directory is a good idea, then I'm able to differentiate between scripts and utils in this way.
I finally decided to do the following:

Create utils/webserver.go for each image requiring this feature
Create utils/webserver.go in the top level of the repository, as a main source of code
Include, in the Makefiles that build the container images, an instruction that copies the webserver.go from the top level to each image folder, so that all the images use the same source code as base in the automation (but, for making it compatible with a local copy, that's why I've maintained in the repo a local copy on each image)

I've also applied your suggestions, building the image now and I'll run a final test to see how it goes. I'll re-request your review again, thanks for all the effort here :)

Last job passed and we can see the fix for lifecycle probe tnf tests is working, since the tests are passing. This is ready for review again. CC @tonyskapunk


Issue identified : Only Binarysensors high/low showing

The setup went fine, and I logged in ok. But I'm only getting two entities, binary high/low—none of the other sensor data. When I pull up LibreLink on my phone, everything is there. Log attached.

home-assistant_librelink_2024-09-26T00-43-59.433Z.log

Hello
Did you try with LibrelinkUp credentials?
Not librelink
Regards

Yes, I created a LibreLinkUp account and invited myself. I get a notification when I scan my sensor so I know it's working.

Why is this marked closed/completed? Do you need more info to fix?

Same issue


fix: Update OnChooseIntent template to support Orchestrator

Description
This is a tricky PR to test, so I'll annotate as best I can.
Orchestrator introduces the ability to disambiguate between intents.  This means CrossTrainedRecognizerSet (CTRS) as a parent recognizer must now potentially handle more than 2 ambiguous results.
We see more than 2 results when OrchestratorRecognizer sends its own nested OnChooseIntent.
Old Flow

Store top LUIS result in dialog.luisResult, top QnA result in dialog.qnaResult
If dialog.luisResult > 0.9, and dialog.qnaResult < 0.5, return LUIS result
If dialog.qnaResult > 0.9 and dialog.luisResult < 0.5, return QnA result
Display the two options

New Flow

Allow user to tweak number of results in turn.maxChoices
Allow user to adjust result threshold in turn.minThreshold
Saves user utterance in conversation.lastAmbiguousUtterance for child dialogs
For each recognizer in turn.recognized.candidates:
-  extract their candidates if any,
-  flatten the list
- remove all DeferToQnA intents
- sort results by score (descending)
- take results above turn.minThreshold
- take a maximum of turn.maxChoice elements
If there are no results left after the above step, return Unknown intent
If there is only one result, return it right away
If there are more than 1 result left, display up to turn.maxChoice elements

Pros of New Flow

Is more general, allows CTRS to deal with child recognizers like Orchestrator that also send ChooseIntent
Allows users to pick max number of results to display
Allows CTRS to deal with more than 2 recognizers in the future

Cons of New Flow

Cannot normalize scores between recognizers: i.e. all recognizers assumed to convey confidence at roughly the same scale, since we sort on the returned list

Areas the new flow does not improve on the old flow

When adaptive card is displayed, user has to click the choice to return the right response, or type a number, or an error occurs. In the old flow, if the user doesn't return luisResult or qnaResult, an error occurs.
when deleting the OnChooseIntent trigger, both new and old flow do not clean up all related LG resources in common.en-us.lg.  Not sure if this is an oversight or desired behavior.

Task Item
closes #6431, #6969.  Also closes #737 in Components.

Screenshots

Multiple intents

Multiple intents with QnA

Coverage increased (+0.003%) to 51.165% when pulling a543c82900c811c7a8949ed89e1efd7ec8d61126 on tachou/disambigTemplateUpdate into e02efceaa2cdf0345328c6cc04554c824922de50 on main.

@taicchoumsft what LG resources are being left behind when deleting the template? It seems like an oversight that we should address

@taicchoumsft what LG resources are being left behind when deleting the template? It seems like an oversight that we should address

@taicchoumsft what LG resources are being left behind when deleting the template? It seems like an oversight that we should address

@cwhitten , these resources get left behind in common.en-us.lg when deleting the trigger.
# AdaptiveCardJson()
-```
{
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "version": "1.0",
      "type": "AdaptiveCard",
      "speak": "",
      "body": [
          {
              "type": "TextBlock",
              "text": "${whichOneDidYouMean()}",
              "weight": "Bolder"
          },
          {
              "type": "TextBlock",
              "text": "${pickOne()}",
              "separator": "true"
          },
          {
              "type": "Input.ChoiceSet",
              "placeholder": "Placeholder text",
              "id": "userChosenIntent",
              "choices": [
                           {
                               "title": "${getIntentReadBack()}",
                               "value": "luisResult"
                           },
                           {
                               "title": "${getAnswerReadBack()}",
                               "value": "qnaResult"
                           },
                           {
                               "title": "None of the above",
                               "value": "none"
                           }
             ],
             "style": "expanded",
             "value": "luis"
         },
         {
             "type": "ActionSet",
             "actions": [
                {
                     "type": "Action.Submit",
                     "title": "Submit",
                     "data": {
                   "intent": "chooseIntentCardResponse"
                }
         }
       ]
     }
    ]
}```
# whichOneDidYouMean()
- I'm not sure which one you mean.
- Hmmm, I find that to be ambiguous.

# pickOne()
- Can you pick one ?
- Can you help clarify by choosing one ?

# getAnswerReadBack()
- See an answer from the Knowledge Base

# getIntentReadBack()
- SWITCH : ${toLower(dialog.luisResult.intent)}
- CASE : ${'GetUserProfile'}
  - Start filling in your profile(GetUserProfile intent)
- DEFAULT :
  - ${dialog.luisResult.intent}

@taicchoumsft what LG resources are being left behind when deleting the template? It seems like an oversight that we should address

@cwhitten , looks like LG resources are not cleaned up at all, I've located the bug, will fix it with this PR.   To repro, create a sendReponse and delete it, and the LG resource for that action still remains on disk.
For OnChooseIntent, I've switched to using LG parameters to display the choice list, and this appears to not be handled. I'll also fix this


How to underline a text in julia using Latex String?

using Plots
using LaTeXStrings
x = [1,2,3,4,5]
y = x .^2
plot(x,y,label = L"\underline{x}")
This code will give an error
but instead of \underline if I am using \overline work.
That is
plot(x,y,label = L"\overline{x}")
But I need \underline.
Please solve my problem.
Thanks in advance

There is nothing that LaTeXStrings can do about this — it doesn't do any rendering, it just sends the \underline{x} to the plot backend.  So your are limited by whatever math formatting is supported by the math display of your plot backend.
If you are using the PyPlot/Matplotlib backend, see this stackoverflow question and https://github.com/matplotlib/matplotlib/issues/14235
If you are using Makie, then it uses https://github.com/Kolaru/MathTeXEngine.jl to render latex equations, see https://github.com/Kolaru/MathTeXEngine.jl/issues/121


noarch problem: Windows entry point isn't an .exe

When in Windows, the entry point (installed in %CONDA_PREFIX%\Scripts) is called only rst-lint and is not executable, it should've been rst-lint.exe.

I believe the entry point needs to be specified in the conda recipe to ensure proper builds with noarch, it can't solely rely on the setup.py spec.

Fixed by #8.


⚠ Bofrost.de has degraded performance

In e1bb818, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 989 ms

Resolved: Bofrost.de performance has improved in e882b16.


add trie search performance

Description

create a performance dir for bench/profiling report/charts.
import trie search benchmark and performance result.

Fixes #13
Type of change
Please delete options that are not relevant.

[x] Document changes

How to reproduce it (if it is a bug-fix PR)
The solution (to fix a bug, implement a new feature etc.)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details for your
test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
OS:
Language:
Toolchain:
SDK:

Checklist:

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

finished in #53


remove moment from the example

it makes the size larger than our hello_world intention
and each third-party library compatibility should be validated independently.
I'll create a different repo for that purpose.

fyi @thelgevold we need some more scalable setup to keep our third-party library examples

Makes sense.
In the new repo, should we consider an approach where we build an app to showcase the different external libraries in different sample components?
That way it's easier to keep adding to it since we can keep adding independent components per library?
Makes it easier to e2e tests as well if it's all part the same application.
Something like this: http://www.syntaxsuccess.com/bundling-demo-closure#/demo/spreadsheet
Except it would be different third party libs in the left nav instead of generic Angular examples.
Anyway, just a thought.

Yes, just like that.
I put together an initial sketch:
https://github.com/alexeagle/angular-closure-compatibility
the moment subdirectory is an example of what each library would do.
There's a bug in the closure bundle (something to do
with dayOfMonthOrdinalParse which I debugged once before, but I don't
remember what is the deal there...)
On Tue, May 2, 2017 at 5:32 PM Torgeir Helgevold<EMAIL_ADDRESS>wrote:

Makes sense.
In the new repo, should we consider an approach where we build an app to
showcase the different external libraries in different sample components?
That way it's easier to keep adding to it since we can keep adding
independent components per library?
Makes it easier to e2e tests as well if it's all part the same application.
Something like this:
http://www.syntaxsuccess.com/bundling-demo-closure#/demo/spreadsheet
Except it would be different third party libs in the left nav instead of
generic Angular examples.
Anyway, just a thought.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/alexeagle/closure-compiler-angular-bundling/pull/27#issuecomment-298798200,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC5I99tarJfW15_ekbnMRlxycwu8LUDks5r18sugaJpZM4NO1xA
.

@alexeagle This is an excellent idea. Something along these lines will be very helpful to making it possible for potential users to make progress.

@alexeagle It looks like the nested package.json structure is pulling in the most recent version of moment (2.18.1), and not the 2.13.0 version from the inner package.json.
I remember having that issue before... Moving moment to the outer package pulls in the right package though.
However... now I get a new, slightly confusing issue:
if(!$Reflect$$module$$angular$core$$||!$Reflect$$module$$angular$core$$.$getOwnMetadata$)throw"reflect-metadata shim is required when using class decorators";

It throws on reflect meta. I remember seeing this issue in earlier versions, but reflect-meta data should not be required when doing AoT, right?
I am not seeing the tscickle annotations in the JS source either, so maybe there is another setup issue as well?
Not obvious what it is though. I tried setting "annotationsAs": "static fields",, but it didn't change anything.

Never mind. I noticed your latest update. It works now.
Looks like the issue was related to "skipMetadataEmit": true.

Yes, sorry I didn't update here after fixing it. That issue with
skipMetadataEmit is just a logic bug in ngc. Maybe I should fix it - but
there's a major refactoring coming with TS 2.3 transforms...
On Tue, May 2, 2017 at 7:44 PM Torgeir Helgevold<EMAIL_ADDRESS>wrote:

Never mind. I noticed your latest update. It works now.
Looks like the issue was related to "skipMetadataEmit": true.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alexeagle/closure-compiler-angular-bundling/pull/27#issuecomment-298811817,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC5I3L76-aaPgfXClcnD4AY8mIGJHDZks5r1-ohgaJpZM4NO1xA
.


Channel name as a link to the channel, not to the video

Currently, when you click on the channel name next to a video, you still get to the video (see picture) - that doesn't make sense to me. You Only get to the channel when you click on the profile picture.

So I want it to also take me to the channel when I click on the channel name.

You can click on the icon ;)

I also don't plan on changing that, because currently the only indicator on whether the video was already seen is via that line, so if I were to change that link, the indicator wouldn't work anymore. And it does not seem possible to make any other part react to it, due to the constraints on the :visited selector.


Add rendered query to Airflow's "Rendered Template" - Feature Request

When running a model (.sql file) via astronomer-cosmos, the Airflow log shows the general dbt logs, but it would be great to also see the rendered/compiled query in the "Rendered Template" (as exists when using Airflow's SnowflakeOperator for example).
This feature will help debug/understand the query that was executed by Airflow.
Missing query in "Rendered Template":

Expected to look like this:

Why did it applied only on local operator?

@rightx2 unfortunately there's no easy way to do this with KPO/Docker modes. If you have ideas on how to do it, I'd be very open to PRs or suggestions!


[Question] Cannot find pandera?

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
import pandas as pd
import pandera as pa
from icecream import ic
import pycountry
from pathlib import Path
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_and_validate_file(file):
    try:

        if Path(file).suffix == ".csv":

            test_data = pd.read_csv('data_in/'+file)
            ic('Found csv file!')

        elif Path(file).suffix == ".xlsx":

            test_data = pd.read_excel('data_in/'+file, skiprows=1)
            ic('Found Excel file!')

Description
Without FastAPI the function works as intended using pandera to validate CSV/Excel, but wrapping FastAPI and
then at base of project:
.venv) ➜ export PYTHONPATH=$PWD
then cd into src folder
(.venv) ➜  src git:(master) ✗ uvicorn main:app --reload
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/Users/mincheung/Documents/file_processing_pipeline/src/./main.py", line 2, in
import pandera as pa
ModuleNotFoundError: No module named 'pandera'
Operating System
macOS
Operating System Details
Big Sur 11.5.2
FastAPI Version
0.68.1
Python Version
Python 3.9.6
Additional Context
Thank you

@scheung38 Can you provide your requirements.txt or Pipfile to show how you manage your library dependencies?

Hi @STeveShary , it is via
conda install -c conda-forge fastapi
conda install  -c conda-forge "pandera[all]"
requirements.txt
asttokens==2.0.5
attrs==21.2.0
black==21.8b0
certifi==2021.5.30
chardet==4.0.0
charset-normalizer==2.0.4
click==8.0.1
colorama==0.4.4
decorator==5.0.9
et-xmlfile==1.1.0
executing==0.8.0
fastapi==0.68.1
frictionless==4.16.6
hypothesis==6.19.0
icecream==2.1.1
idna==3.2
iniconfig==1.1.1
isodate==0.6.0
jsonschema==3.2.0
mypy-extensions==0.4.3
numpy==1.21.2
openpyxl==3.0.7
packaging==21.0
pandas==1.3.2
pandera==0.7.0
pathlib==1.0.1
pathspec==0.9.0
petl==1.7.4
platformdirs==2.3.0
pluggy==1.0.0
py==1.10.0
pyarrow==5.0.0
pycountry==20.7.3
pydantic==1.8.2
Pygments==2.10.0
pyparsing==2.4.7
pyrsistent==0.18.0
pytest==6.2.5
python-dateutil==2.8.2
python-slugify==5.0.2
pytz==2021.1
PyYAML==5.4.1
regex==2021.8.28
requests==2.26.0
rfc3986==1.5.0
rope==0.19.0
scipy==1.7.1
shellingham==1.4.0
simpleeval==0.9.10
six==1.16.0
sortedcontainers==2.4.0
starlette==0.14.2
stringcase==1.2.0
text-unidecode==1.3
toml==0.10.2
tomli==1.2.1
typer==0.4.0
typing-extensions==<IP_ADDRESS>
typing-inspect==0.7.1
urllib3==1.26.6
validators==0.18.2
wrapt==1.12.1

Have you activated your conda env and are running inside of it?


Need a fix or work around for "bufio.Scanner: token too long" error

What were you trying to do?
Read a large X9.37 file with a long line.
What did you expect to see?
No error.
What did you see?
2022/07/15 08:42:51 Issue reading file: line:433 record:ImageViewDetail *imagecashletter.FileError LineNumber bufio.Scanner: token too long
panic: Issue reading file: line:433 record:ImageViewDetail *imagecashletter.FileError LineNumber bufio.Scanner: token too long
How can we reproduce the problem?
I can't share our X9.37 file because of PII, but to recreate, simply try to read an X9.37 file with a line that is longer than 64K (which is the value of the MaxScanTokenSize constant in bufio/scan.go).
I tried to work around this by creating a buffered reader, but was not successful.  It would be helpful if your library APIs provided a way to increase the line length limit.  If not, how can I work around this?

I just realized that the BufferSizeOption is a ReaderOption which can be used to set the max buffer size, similar to the following:
imagecashletter.NewReader(f, imagecashletter.BufferSizeOption(1024*1024))


Anchors and fixed headers

The fixed header has the effect of anchors not "working" since they appear underneath the fixed header.

Do you have an example? I was pretty sure I fixed this in #111.

Oops, I did think that I had filed this. It was still happening for me in local dev version. Let me check if I need to update (which I thought I did) and/or clear a cache. I'll re-open with more specifics if I think it's still valid.


Enhance parse error reporting

Ref

https://nanopay.atlassian.net/browse/NP-6393

Changes

Include error message, line and column numbers for parsing error on replay

Outputs

LGTM


Support creating cert chains

Sometimes, certs are signed by untrusted intermediate CAs, and a cert along with any intermediates needs to be sent during the TLS handshake. This adds a convenience so you can create a cert chain by using an array. This is distinct from supporting multiple site certificates, which can also themselves be served up as chains.

Published as<EMAIL_ADDRESS>– thank you for the contribution @DullReferenceException 🙏 💪


Jesse: Watch auto-accident-lawyers.space

Jesse requests the watch of the watch_keyword auto-accident-lawyers\.space. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

auto-accident-lawyers\.space has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Separate info for each .nds/.srl file needed!

When I try to download the .nds/.srl file on my New Nintendo 3DS XL, it only shows this info on all .nds/.srl files:
Game Name: NDS File
Description: Hi.
Can this info above be changed so there can be info shown from each of the .nds/.srl files, please?

The info is sent through as wdGameInfo in main.c. The data is in hex and is copied into memory addresses. You could modify the title by changing the hex values to write into memory. 0x2D5 might be where one can change the length of how long the sender name would be, with each character spaced by an empty address. Perhaps changing 0x2D5 to 0x9 can allow you to write "Philblue7" for example? Which should be written as P h i l b l u e 7, each space is a value of 0, when sent to the DS. The game name would be byte shifted as well, so ensure those values get shifted and modified respectively. I could be wrong, so I might try it as well. But make sure the modified code gets compiled to a .dol binary.


Fixed #25933 -- Allowed an unprefixed default language in i18n_patterns().

https://code.djangoproject.com/ticket/25933#ticket
Updated from #5823.

@charettes thanks for feedback, removed this unused pattern.

I wonder how this will interact with #6224.
Your unprefixed_default_language_used function is really similar LocaleMiddleware.is_language_prefix_patterns_used. Maybe we could refactor both to prevent code duplication.
The unprefixed_default_language_used will also need to be urlconf specific.

We can have one function which will have additional param, something like that:
    def is_language_prefix_patterns_used(self, urlconf, unprefixed=False):
        for url_pattern in get_resolver(urlconf).url_patterns:
            if isinstance(url_pattern, LocaleRegexURLResolver):
                if unprefixed is False or url_pattern.prefix_default_language is False:
                    return True
        return False

Let me know if that's right - I'll update the pull request's code.

That looks about right, I'll try to land #6224 soon so we can avoid merge conflicts here.

Ok #6224 finally got merged here's what you should be done here.
The is_language_prefix_patterns_used function should be declared in the django.conf.urls.i18n module and used by the LocaleMiddleware and the get_language_from_path function. This should prevent implementation details leaks such as the import of LocaleRegexURLResolver. It also should be decorated by the lru_cache decorator just like the LocaleMiddleware method is.

Rebased the branch on current master and refactored the is_language_prefix_patterns_used function.

    if not i18n_patterns_used and language_from_path:
        patch_vary_headers(response, ('Accept-Language',))

That condition should be like the one  below.
It should set vary header only when there's no language from path, ie. / url which redirects to /en/ and /fr/.
All other responses don't vary on accept language headers cause they have got language in url.
    if not (i18n_patterns_used and language_from_path):
        patch_vary_headers(response, ('Accept-Language',))

Except that and s/settings.DEFAULT_LANGUAGE/settings.LANGUAGE_CODE/ it's fine. :+1:

These changes make sense.

I've fixed those issues, thanks for finding them!

The patch is looking good, I'll mark it ready for a final review.

Please squash commits and use the commit message format from the pull request title.

Squashed those commits. Is it all right?

Sent a PR with a few cosmetic edits: https://github.com/urbaniak/django/pull/1 (feel free to squash it in) otherwise looks good!

Merged that and squashed, thanks!

merged in 839a955d08fa0657622ed9b60fdd262658fa659f, thanks!


'Assertion failed: map.isProjectedPermutation( true)' while compiling tensorflow model using iree-compile.exe

Describe the bug
While compiling resnet50 tensorflow modelon windows using iree-compile.exe (model is imported into .mlir format using iree-import-tf  on WSL), I am getting the assertion Assertion failed : map.isProjectedPermutation( true), file D:\iree\third_party\llvm-project\mlir\lib\IR\AffineMap.cpp, line 683
To Reproduce
I am using following command to compile the model-
iree-compile.exe \iree\samples\models\resnet50.mlir -iree-mlir-to-vm-bytecode-module -iree-hal-target-backends=dylib-llvm-aot --iree-input-type=mhlo  --iree-llvm-target-cpu=host -o resnet50_bytecode_module.vmfb
Note- I have a crash trace file but file size is exceeding 25MB

Yay, a Windows user! A few of us on the team work primarily on Windows, despite some of its quirks :)
I suspect that your iree-import-tf and iree-compile are not compatible. At the moment, they need to be built very close to each other - we haven't yet stabilized the format between them. If you're using iree-import-tf from the python packages / releases and iree-compile.exe from a source build, you can look up what commit it was built at and use that with your build -- or just make sure that you are using the same release for both.

Also to clarify "we haven't yet stabilized the format between them" - there are efforts underway in upstream LLVM/MLIR to add a "ML program" dialect and config/metadata sections. Features like those will get us closer to stabilizing intermediate formats and adding versioning to detect when there are incompatibilities.

Thanks for the reply @ScottTodd.
I wanted to note here that I can compile the same model on WSL and iree-compile is built from the sources on WSL. Also, I could use that model on windows to run the inference. So you can see I am using toolchain from WSL to build the model into .vmfb format and then use that on windows(I assume this is by design as there are no import tools available for windows).

Closing this issue for now, please re open if you encounter additional problems!


[SUGGESTION] Performance bottleneck for non-cached tests

What
Speed up test execution by finding ways to addressing issues outlined below.
Why
While working on #179, I have found that screenshooting perhaps takes the most time when test runs in --no-cache mode. Sometimes, screenshots are taken several times when there's no need for it. Also, delay before making a screenshot is about a second or so.

That is a good observation and I here is my plan to speed it up. Here's an outline of what I have in mind:

Instead of saving screenshots in the folder, we can save it in the memory thus making efficient use of space and
Adding screenshots automatically after executing an action. (Currently we wait for AI to instruct us when to take sc)
Performing multiple actions per screenshot whenever possible. (Not sure if this is possible with Computer use API yet)

I think implementing these simple changes should speed up the AI execution by 2x at least.
@slavingia, @gladyshcodes Wdyt?

Makes sense. I pinged Anthropic to see if they'd support multiple actions in one step.

Makes sense. I pinged Anthropic to see if they'd support multiple actions in one step.

Have you received a callback from Anthropic yet?

Not yet, will bump


Fix imprecision when outputing hex values

The rounding function to transform CGFloat components to UInt32 was imprecise, causing conversions back and forth to return different values.

I didn't know about the roundf methods. Thank you for your help!


Large or high DPI/Resolution image files are failing to process

Image conversion can fail with something like this in the logs:
identify-im6.q16: width or height exceeds limit /home/nunaliit/ikb_atlas/ikb/media/upl8653705240473774771.jpg' @ error/cache.c/OpenPixelCache/3839.`
In Ubuntu 18.04, the height and width limits are defined in /etc/ImageMagick-6/policy.xml. Doubling the pixel and size limits worked around the problem. Would be nice to eliminate the ImageMagick dependency (tracked in issue #771).

We ran into this error again recently with some large images and to accommodate one that was 21645 x 6832 pixels, I set the following settings:
  <policy domain="resource" name="width" value="22KP"/>
  <policy domain="resource" name="height" value="22KP"/>
  <policy domain="resource" name="area" value="484MP"/>

We then saw errors resembling:
identify-im6.q16: DistributedPixelCache '<IP_ADDRESS>' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
identify-im6.q16: cache resources exhausted `upl5856081140712146992.jpg' @ error/cache.c/OpenPixelCache/3984.

and altered this additional setting to resolve:
  <policy domain="resource" name="disk" value="4GiB"/>

The values are resource limits so they should be set to reasonable values that will accommodate stuff you want to allow but not so high as to permit someone to bring your server to its knees. The KP values are dimensions in kilopixels. The area was set to the value obtained by multiplying the two. As for the disk value, I had to bump it up as well since allowing the larger images through then caused the system to hit a new resource limit.


[identity] Merge Hotfix/identity 3.0.1 into main and 3.1.0 GA release prep

Packages impacted by this PR
@azure/identity
Two things done in this PR:

Merged hotfix for 3.0.1 (bug fix branch for multitenantToken to pass through msal)
Release prep for 3.1.0 GA

API change check
API changes are not detected in this pull request.


DTO Factory: remove dto.factory.field.Purpose enum

It is unused - the app now tells the DTO its purpose as it is getting applied to a handler type.

Closed in #1535


Port to ESP_IDF 4.0 (1.12.4 in Platformio)

Hello:
Thanks for massproducction firmware , it works very well and it is very useful.
I am using the newest platformio and ESP_IDF (4.0, , platformio1.12.4), and I have managed to get the massproduction firmware to work, placing the cryptoautholin library in the "lib" directory and adding the necessary CmakeList.txt files
Now trying it with AzureDPS I have many errors like
src \ iothubtransport_mqtt_common.c: In function 'retrieve_device_method_rid_info':
src \ iothubtransport_mqtt_common.c: 420: 28: error: implicit declaration of function 'STRING_new'; did you mean 'STRINGS_H'? [-Werror = implicit-function-declaration]
and 85 problems like
"resource": "/c:/Users/JOSE/Documents/PlatformIO/Projects/ECC608-AzureDPS-Provision/lib/esp-azure/azure-iot-sdk-c/c-utility/inc/azure_c_shared_utility/strings.h "
"owner": "cpp",
"severity": 8,
"message": "unknown type name 'IF'",
"startLineNumber": 18,
"startColumn": 1,
"endLineNumber": 18,
"endColumn": 1
{
"resource": "/c:/Users/JOSE/Documents/PlatformIO/Projects/ECC608-AzureDPS-Provision/src/iothubtransport_mqtt_common.c",
"owner": "cpp",
"severity": 8,
"message": "implicit declaration of function 'STRING_delete'; did you mean 'BUFFER_delete'? [-Werror = implicit-function-declaration]",
"startLineNumber": 319,
"startColumn": 5,
"endLineNumber": 319,
"endColumn": 5
}
{
"resource": "/c:/Users/JOSE/Documents/PlatformIO/Projects/ECC608-AzureDPS-Provision/.vscode/c_cpp_properties.json",
"owner": "c: \ Users \ JOSE \ Documents \ PlatformIO \ Projects \ ECC608-AzureDPS-Provision",
"severity": 4,
"message": "cant find " C: \ Users \ JOSE \. platformio \ packages \<EMAIL_ADDRESS>\ components \ expat \ expat \ lib \ ".",
"startLineNumber": 78,
"startColumn": 17,
"endLineNumber": 78,
"endColumn": 112
}
Which is better to continue with EDP_IDF 3.2 (platformio 1.11 .4) or keep trying to advance to ESP_IDF 4.0? I think this is almost beyond my knowledge

I'm going to try to do it with this example, add Azure-iot as a component
https://github.com/dycodex/esp32-azure-iot-training/tree/master/day3/finished/esp32_azure_iot_hub

I give up, too complicated for me to create the Cmakelist.txt and component.mk for the Esp-Azure component
**-- Configuring incomplete, errors occurred!
See also "C:/Users/JOSE/Documents/PlatformIO/Projects/esp32_azure_iot_hub/.pio/build/esp-wrover-kit/CMakeFiles/CMakeOutput.log".
fatal: not a git repository (or any of the parent directories): .git
CMake Error at C:/Users/JOSE/.platformio/packages/framework-espidf/tools/cmake/component.cmake:222 (message):
CMake Warning (dev) at components/esp-azure/CMakeLists.txt:38:**

I am trying to rebuild with esp-idf 4.0.1 and cryptoauthlib 3.2.
It seems that it will take time because the HAL is destroyed.
Regarding provisioning to Azure DPS, I think that there is another method, as it only sends fixed MQTT messages in order.

I update version of AzureDPS-Provision.
could you try it?
ECC608-AzureDPS-Provision-idf4
note that it has chenged I2C port and GPIO pins.

Thanks, I will try it this weekend. I have found some problem with MassProvisioning, sometimes it returns that it cannot write the device certificate (error 4), and after several attempts uploading the program and executing the script the given one is correct. I don't think it has to do but I use the 16MB ESP32 with a 2 OTA partition of its own

it works. I get
Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
Registration Information received from service: XXXIoTHub.azure-devices.net!
Creating IoTHub Device handle
Sending 1 messages to IoTHub every 2 seconds for 2 messages (Send any message to stop)
IoTHubClient_LL_SendEventAsync accepted message [1] for transmission to IoT Hub.
IoTHubClient_LL_SendEventAsync accepted message [2] for transmission to IoT Hub.
Thanks


MX Ink support for Quest

Hi, it makes for a nice input to sketch and sculpt and it's basically "just" a 6DoF controller. Would be great to support it.

Basic support is in the current Meta Quest Store beta release and supports brush sizing UI and has a correct controller model.
We will promote this to the main release on today or tomorrow after some final testing.
More work will be needed to correctly handle various uses of A and B buttons for all our tools but at least you can paint.


pig-latin: Implemented exercise from x-common

I implemented the x-common/pig-latin exercise (README.md. I placed it after prime-factors to alternate text and number exercises. Now after the commit I see it's followed by a cipher and scrabble, so we should search for a better spot in the track. Maybe between nth-primeand saddle-points might be a good spot.

Why did you decide to use regular expressions on this problem rather than string slicing?

Both rules (starts with vowel and split consonant) have small exceptions which makes it complicated to write a clean non regex version. Personally I try to avoid regex where ever I can. Maybe I missed something and there is another way ...
VOWELS = ('a', 'e', 'i', 'o', 'u')

def split_initial_consonant_sound(word):
    if word.startswith('qu'):
        return 'qu', word[2:]
    if word.startswith('squ'):
        return 'squ', word[3:]
    head = ''.join(c for c in takewhile(lambda n: n not in VOWELS, word))
    return head, word[len(head):]

def starts_with_vowel_sound(word):
    if word[0] == 'y' and not word[1] in VOWELS:
        return True
    return word.startswith('xr') or any(word.startswith(x) for x in VOWELS)

Makes sense. I've gone ahead and merged this problem. Thanks.


ModuleNotFoundError: No module named 'bert_pytorch'

First of all, thanks for the wonderful paper. I've been reading the paper since last night. But i encountered an issue when running
python how2use.py

It gives me the following error:
Loading Vocab ./palmtree/vocab
Traceback (most recent call last):
  File "how2use.py", line 11, in <module>
    palmtree = utils.UsableTransformer(model_path="./palmtree/transformer.ep19", vocab_path="./palmtree/vocab")
  File "/home/bob/PalmTree/eval_utils.py", line 59, in __init__
    self.vocab = vocab.WordVocab.load_vocab(vocab_path)
  File "/home/bob/PalmTree/vocab.py", line 167, in load_vocab
    return pickle.load(f)
ModuleNotFoundError: No module named 'bert_pytorch'

Can you tell me what did i miss? Thx.

First, thanks for the ingenious model.  I have this problem also when i change this model for myself dataset.  However, i have an solution that  I think will work.
ModuleNotFoundError: No module named 'bert_pytorch'
it is due to sys.path list lack of class modules of bert_pythorch when reading class instances stored in files.
So i add
import sys
sys.path.append('your/palmtree/root/path')
when pickle module is loaded.

First of all, thanks for the wonderful paper. I've been reading the paper since last night. But i encountered an issue when running
python how2use.py

It gives me the following error:
Loading Vocab ./palmtree/vocab
Traceback (most recent call last):
  File "how2use.py", line 11, in <module>
    palmtree = utils.UsableTransformer(model_path="./palmtree/transformer.ep19", vocab_path="./palmtree/vocab")
  File "/home/bob/PalmTree/eval_utils.py", line 59, in __init__
    self.vocab = vocab.WordVocab.load_vocab(vocab_path)
  File "/home/bob/PalmTree/vocab.py", line 167, in load_vocab
    return pickle.load(f)
ModuleNotFoundError: No module named 'bert_pytorch'

Can you tell me what did i miss? Thx.


Fix bug where GET or HEAD action requests could not be made from the web client

See #468 for details on the bug this fixes.
The cause of this comes down to a subtlety of the fetch API. If body is anything that is non-nullish, the browser will spit back that a body is not allowed for a GET/HEAD request. The fix is just to remove the null coalesce :)
Closes #468

Much appreciated. Nice catch!


Its.Configuration cannot be used in Portable projects

Adding the NuGet package fails with:
Failed to add reference to 'System.ComponentModel.Composition'.
Please make sure that it is in the Global Assembly Cache.

We were just talking about axing MEF entirely the other day. I think it's time to do this - we'll probably need to do a major bump.

oh wait that was Its.Log. The only reference here is in AssemblyCatalog.cs - should be easy enough to remove.

Agreed. Removing the MEF references here will be a breaking change but it's something we've been wanting to do anyway.

Removing the System.ComponentModel.Composition dependency is not sufficient. Installing the package into Portable projects now fails with:
Failed to add reference to 'System.Web.Extensions'. Please make sure that it is in the Global Assembly Cache.

Is there some tool we can use to analyze what depedencies we need to cut to make it a portable project?

Yes, take a look at:
http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx#_Targeting_Multiple_Platforms

System.Web.Extensions is used here to do JSON deserialization without adding a package dependency. Thoughts on adding a dependency on NewtonSoft.Json for this?

I don't have any projects that depend on Its.Configuration but not Newtonsoft.Json. I wonder if that's a common trend?

ASP.NET vNext depends on Newtonsoft.Json - I think this is a safer bet than System.Web.Extensions long term.

Updated the pull request to include this: https://github.com/jonsequitur/Its.Configuration/pull/5

I'm reevaluating whether a portable library is appropriate for Its.Configuration. At least as the project currently stands, the pattern is very much based around file system access and a structured file drop for configurations. Making it a portable library would require a file system abstraction as well as some established patterns and use cases for other platforms. Let's collect a few of those before moving forward with this.
Suggestions are welcome.


mod_fcgid: use odie instead of onoe+exit

/usr/share/apr-1/build-1/libtool: line 1111: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/cc: No such file or directory
make[1]: *** [fcgid_bridge.slo] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/share/apr-1/build-1/libtool: line 1111: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/cc: No such file or directory
/usr/share/apr-1/build-1/libtool: line 1111: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/cc: No such file or directory
make[1]: *** [mod_fcgid.slo] Error 1
/usr/share/apr-1/build-1/libtool: line 1111: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain/usr/bin/cc: No such file or directory
make[1]: *** [fcgid_pm_main.slo] Error 1
make[1]: *** [fcgid_conf.slo] Error 1
make: *** [all-recursive] Error 1


Remove useless Windows (Phone) 8/8.1 information

The [FileOpenPicker] class described here is a component of the UWP platform which is exclusive to Windows 10. Hence, any information about how to use it on other platforms (such as Windows 8/8.1 or Windows Phone 8) is irrelevant and should be cut from this documentation.
This commit removes any references to non-Windows 10 API usages and also updates several links in the [See also] section to point to the the correct Windows 10 information.
General note: I posted an issue about this exact documentation issue on github MONTHS ago (back in May 2018) yet never got any reply from the MS docs team. (See: https://github.com/MicrosoftDocs/winrt-api/issues/373) So after months of waiting, here is my pull-request doing the job I reoprted to you guys all the while back. Hopefully, you can at least comment on it (if it will be approved, and if not, why).
While I love the new feedback system, it is pointless if you keep ignoring suggestions/requests made by your audience. Just browsing through the issues list for this repository (winrt-api) shows tons of user-requested changes without even A SINGLE COMMENT from the Microsoft team. Denying a request is one thing, but for you guys to not even comment on posted issues and why they won't be worked on is hugely disappointing!
Example issue which has been posted multiple times without any update: https://github.com/MicrosoftDocs/winrt-api/issues/387
If you keep ignoring your audience's ideas/requests, why even bother setting up such a nice feedback system?
Comments appreciated.

The last link in the [See also] section is incorrectly formatted. This will be fixed in a future pull-request. Sorry for the inconvenience!


apache-arrow-apt-source-latest-bullseye.deb.asc is signed by a key not in apache-arrow-keyring.gpg

Describe the bug, including details regarding any error messages, version, and platform.
The PGP signature on the newly uploaded version of apache-arrow-apt-source-latest-bullseye.deb (and possibly others) fails verification, because it’s signed by a key that’s not in apache-arrow-keyring.gpg.
I would appreciate if this can be fixed by resigning the .deb with a key that’s already in the keyring, rather than adding new keys to the keyring, because we need to cut a new release of the Zulip server every time we need to change its included copy of the keyring. (Downloading a new copies of the keyring every time it changes defeats the whole point of verifying PGP signatures, because an attacker who can tamper with the binary can also tamper with the keyring.)
$ wget https://apache.jfrog.io/artifactory/arrow/debian/apache-arrow-apt-source-latest-bullseye.deb
$ wget https://apache.jfrog.io/artifactory/arrow/debian/apache-arrow-apt-source-latest-bullseye.deb.asc
$ wget https://apache.jfrog.io/artifactory/arrow/debian/apache-arrow-keyring.gpg
$ gpgv --keyring=./apache-arrow-keyring.gpg apache-arrow-apt-source-latest-bullseye.deb.asc apache-arrow-apt-source-latest-bullseye.deb
gpgv: Signature made Thu 09 May 2024 03:56:53 AM PDT
gpgv:                using RSA key AF6AADA4C9835B75973FF5DA275C532289DD0F4A
gpgv: Can't check signature: No public key
$ gpg --no-default-keyring --keyring=./apache-arrow-keyring.gpg --list-keys
./apache-arrow-keyring.gpg
--------------------------
pub   rsa2048 2013-04-10 [SCEA] [expired: 2017-04-10]
      35CF82A165DDBBA29B307B7497D7E8647AE7E47B
uid           [ expired] Julien Le Dem<EMAIL_ADDRESS>
pub   rsa4096 2016-09-19 [SC] [expired: 2020-09-19]
      87C072B8B6405B5780D66A3D02DABFDF1679D194
uid           [ expired] Julien Le Dem<EMAIL_ADDRESS>
pub   rsa4096 2016-11-06 [SC]
      F2A765669021A3D3094C200B29D94E228CAAD602
uid           [ unknown] Uwe L. Korn<EMAIL_ADDRESS>sub   rsa4096 2016-11-06 [E]

pub   rsa4096 2017-05-01 [SC]
      6D09E881160096717426C638F105883A1735623D
uid           [ unknown] William Wesley McKinney (CODE SIGNING KEY<EMAIL_ADDRESS>sub   rsa4096 2017-05-01 [E]

pub   rsa4096 2010-08-30 [SC]
      08D3564B7C6A9CAFBFF6A66791D18FCF079F8007
uid           [ unknown] Kouhei Sutou<EMAIL_ADDRESS>uid           [ unknown] Kouhei Sutou<EMAIL_ADDRESS>sub   rsa4096 2010-08-30 [E]

pub   rsa4096 2018-06-13 [SC]
      E6E4AA55F38337A6EFC7A5549F453D0CC3E4F6BA
uid           [ unknown] Charles Phillip Cloud<EMAIL_ADDRESS>sub   rsa4096 2018-06-13 [E]

pub   rsa4096 2014-09-04 [SCEA]
      2CC23EF090A28BAC5DDC885F769BDC2129C2658C
uid           [ unknown] keybase.io/pitrou<EMAIL_ADDRESS>
pub   rsa4096 2019-01-10 [SC]
      265F80AB84FE03127E14F01125BCCA5220D84079
uid           [ unknown] Krisztian Szucs (apache<EMAIL_ADDRESS>sub   rsa4096 2019-01-10 [E]

pub   rsa4096 2019-09-24 [SC] [expired: 2020-09-23]
      E47C810A90FE21FF448DA938755E743692EA1D85
uid           [ expired] Micah Kornfield (Apache Arrow Code Signing Key<EMAIL_ADDRESS>
Component(s)
Packaging

Ah, https://apache.jfrog.io/artifactory/arrow/debian/apache-arrow-keyring.gpg is deprecated by apache-arrow-apt-source-latest*.deb and it's not updated.
You need to use  https://dist.apache.org/repos/dist/release/arrow/KEYS instead:
curl https://downloads.apache.org/arrow/KEYS | gpg --no-default-keyring --keyring /tmp/apache-arrow-apt-source.gpg --import -

Similar issue: #40967

That doesn’t solve the issue. There are 16 distinct keys in that new keyring file, 5 of which are expired, so presumably it’s changing quite frequently. Like I said, downloading a new copies of the keyring every time it changes defeats the whole point of verifying PGP signatures, because an attacker who can tamper with the binary can also tamper with the keyring.
Zulip needs a stable root of trust for our external dependencies that can be baked into our release tarball. Ideally we would like it to be the one that’s already baked into our existing release tarball, so that our existing release tarball isn’t broken.

Supply chain attacks are of course a valid concern but we can't avoid changes to the KEYS file, Arrow is a large project and individuals sign our releases, sometimes someone new takes on the responsibility (or new sub-projects are added) so changes are needed.
For apache/arrow releases there was one addition made in the last 2+ years and we added the key 6+ months before first using it to allow for the change to propagate. So it can't really be said that the file changes frequently. (there were a small number (2-3?) sub project additions unrelated to release singing for apache/arrow).
I think something that could make sense in the future is to announce changes to the KEYS file on the user mailing list with a hash of the new file, signed with an existing key from the file. This would provide a second channel to confirm the validity of any changes to the file. What do you think @kou?
In addition there was a change to the ASF release policy that now allows automatic release signing with a key not bound to an individual. This would further lower the frequency of changes to KEYS likely towards 0. But our releases process is quite involved and there are strict requirements for automatic signing to be implemented so this is not a change we can promise for the near future.
When we implement automatic release signing it might also be possible to additionally make use of https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/ to add another source of trust but I haven't looked into the requirements or uses cases for this so far.
If you have ideas (other than never changing KEYS :wink:) on how to improve this for downstream projects/users, contributions are of course always appreciated.

This is also affecting apache-arrow-apt-source-latest-jammy.deb, and updating keys from https://downloads.apache.org/arrow/KEYS doesn't fix it.

I think something that could make sense in the future is to announce changes to the KEYS file on the user mailing list with a hash of the new file, signed with an existing key from the file. This would provide a second channel to confirm the validity of any changes to the file. What do you think @kou?

It makes sense. Let's do it next time. We will do it on our release announce too.

We may not be able to use apache-arrow-apt-source-lastest-XXX.deb{,.asc} with old  https://downloads.apache.org/arrow/KEYS because  apache-arrow-apt-source-lastest-XXX.deb.asc is generated with the latest https://downloads.apache.org/arrow/KEYS . The latest KEYS may include more keys that aren't included in an old KEYS.
How about the following instructions with KEYS ( https://apache.jfrog.io/artifactory/arrow/debian/apache-arrow-keyring.gpg is based on KEYS) that was added by https://github.com/zulip/zulip/commit/5ccb408f194ea54c6137f650384d6daa3173ceec (2023-07-28)?

Download the followings:

https://apache.jfrog.io/artifactory/arrow/debian/pool/bullseye/main/a/apache-arrow-apt-source/apache-arrow-apt-source_13.0.0-1_all.deb
https://apache.jfrog.io/artifactory/arrow/debian/pool/bullseye/main/a/apache-arrow-apt-source/apache-arrow-apt-source_13.0.0-1_all.deb.asc

Verify the downloaded .deb with the added KEYS
Install the verified .deb
Download the followings:

https://apache.jfrog.io/artifactory/arrow/debian/pool/bullseye/main/a/apache-arrow-apt-source/apache-arrow-apt-source_14.0.0-1_all.deb
https://apache.jfrog.io/artifactory/arrow/debian/pool/bullseye/main/a/apache-arrow-apt-source/apache-arrow-apt-source_14.0.0-1_all.deb.asc

Verify the downloaded .deb with the KEYS included in the installed apache-arrow-apt-source_13.0.0-1
Install the verified .deb
Download apache-arrow-apt-source_15.0.0-1_all.deb{,.asc}
...

FYI: We can detect available apache-arrow-apt-sources at https://apache.jfrog.io/ui/native/arrow/debian/pool/bullseye/main/a/apache-arrow-apt-source/ .
(We can update apache-arrow-apt-source by sudo apt update && sudo apt upgrade but if the old KEYS is too old, sudo apt update && sudo apt upgrade may not work.)


Dual State Issue

Hi,
I'm trying your library (release 7.0), when i added it to Arduino IDE, i can't view CompDSButton example and others.
I copied your example from Github, and when it's compiled i get
//
ArduinoMEGA_Nextion:68: error: 'bt0' was not declared in this scope
bt0.getValue(&dual_state);
^
D:\Arduino\ArduinoMEGA_Nextion\ArduinoMEGA_Nextion.ino: In function 'void setup()':
ArduinoMEGA_IR_Reles_LED_Nextion:112: error: 'bt0' was not declared in this scope
bt0.attachPop(bt0PopCallback, &bt0);
^
exit status 1
'NexDSButton' does not name a type ArduinoMEGA_Nextion:68: error: 'bt0' was not declared in this scope
bt0.getValue(&dual_state);
^
D:\Arduino\ArduinoMEGA_Nextion\ArduinoMEGA_Nextion.ino: In function 'void setup()':
ArduinoMEGA_IR_Reles_LED_Nextion:112: error: 'bt0' was not declared in this scope
bt0.attachPop(bt0PopCallback, &bt0);
^
exit status 1
'NexDSButton' does not name a type
//
This with release v0.7.0
And in this release v0.7.0 doesn't show CompDualStateButton Example
And if i download zip from Github repository (ITEADLIB_Arduino_Nextion-master.zip), CompDSButton seems that are in libraries, but in Arduino IDE only shows examples : CompGPIO, CompRTC and Upload
With "master" release
It's the DS Button working?
Or how i can do to fix it?

I fixed this by signing in before downloading.  For some reason it seems to leave files out if you are not signed in.


feat: Implement MedRecordValue

maybe we should add a little description in the readme that the installation of rust is needed if someone wants to install medmodels from source. Quick guide on how to install rust (basically two lines i guess)

@FloLimebit I agree but I would suggest that this should be addressed in a different issue/pr (https://github.com/limebit/medmodels/issues/22)


CHARACTER EDITER BUG THING IDK

Describe your bug here.

My physic engine crashes everytime i try to load in my character in the character editor.
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no

Maybe you are missing the character spritesheet from folder or it's your .xml file corrupted


feat: add cookiecutter option to disable renovate

this time whole thing done right thanks to https://github.com/JonasPammer/cookiecutter-pypackage/issues/97

ci fail is because of https://github.com/JonasPammer/cookiecutter-pypackage/issues/94 is still not fixed, not this PR's fault, pre-commit inside of CI passes, lgtm


feat: #796 - added a "refresh products" button to history page

Impacted file:

product_list_page.dart: added a "refresh products" button; refactored

Screenshot
@teolemon I 'm sure you won't like the UI, but at least the feature is there. Note the additional refresh icon on the app bar:

Part of

https://github.com/openfoodfacts/smooth-app/issues/796

Additional thoughts
It's not that easy to test that feature, as there's no real product timestamp.

@M123-dev Besides, I don't think it makes sense to keep 1000s of products in the history.
Thank you for the review btw ;)


drivers: sensor: adxl362: make time configurable via KConfig

The thresholds for activity/inactivity in the adxl362 acceleromter have
two parameters that can be configured. Currently the threshold is
configurable via the KConfig variables CONFIG_ADXL362_ACTIVITY_THRESHOLD
and CONFIG_ADXL362_INACTIVITY_THRESHOLD which configure repectively the
value in the THRESH_ACT and THRESH_INACT registers.
The other parameter that can be configured is the time by changing the
values in the registers TIME_ACT and TIME_INACT, but this values are
hardcoded to 1 (see lines 653 and 675 in adxl362.c), this patch adds
support for configuring those values in KConfig as
CONFIG_ADXL362_ACTIVITY_TIME and CONFIG_ADXL362_INACTIVITY_TIME.
Signed-off-by: Xavier Naveira<EMAIL_ADDRESS>

Hello, I understand that the best practice might have changed from the time this driver was written but isn't it very confusing to have to configure a driver in two different places?

It's unavoidable: we need Kconfig to determine whether support for device is enabled and to specify any options that apply at the driver (not device instance) level, like buffer sizes for associated data.  We need devicetree to provide the hardware information for specific device instances.
Based on existing practice we also use devicetree to provide the initial configuration of each device.  Where that configuration is directly tied to a device instance rather than the driver implementation for all instances the information is placed in devicetree.  (In cases like this where the configuration is for a hardware register it's more clear; but devicetree would also be used if a driver supported multiple instances and some software configuration like a RAM buffer size needed to be instance-specific.)
Does that help?

I am not challenging the reasons behind using devicetree for configuring the hardware, what I am trying to say is that in this particular case, where the driver is "old" and it's using KConfig for configuring all the other registers, it would be very confusing for a future user to see that everything is configured in KConfig but that other thing that is not. Maybe there should be an effort to convert the older drivers but until then it seems more consistent to use the same config source of truth for all registers in this driver?

#30831 is part of an overall effort to move things from Kconfig to devicetree, so yes, that is ongoing.
If you'd rather not convert everything (I didn't look to see what else was in Kconfig already), then I guess we could accept a new Kconfig option.  I'll let other people chime in.

As much as I understand that there is a better way of managing this type of configuration now, I don't think I am the right person to port the whole driver, at least not at this point in time. Being that as it is, I would rather have a consistent way of configuring this driver than split it into two different systems and thus increasing the cognitive load and making it more difficult to use. You are free to take in this change. We will keep maintaining and using our fork of this repo until some kind of solution is implemented upstream that allows us to use this feature.


Bump k8s.io/ dependencies to 1.16.8

Bump for hygiene and to pick up a newer klog with logtostderr default true.
Details on klog issue:
While working on https://github.com/kubernetes-sigs/aws-iam-authenticator/pull/303, I ran into crashes like this that happen if you go down some code path where klog tries to log something:
W0317 00:35:43.672444       1 client_config.go:539] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
log: exiting because of error: log: cannot create log: open /tmp/aws-iam-authenticator.ip-172-31
-16-168.aws-iam-authenticator.log.WARNING.20200317-003543.1: no such file or directory

The fix is to either set klog.logtostderr true somewhere in the code or to bump klog to a version where it defaults true. Personally prefer to bump.

/lgtm


Creating Multicollo Parcels

I am struggling to create multicollo parcels (RequestLabel = true)
If I use Parcels.Create(parcel) with quantity >1 I get an exception 'Requesting a label for a multi-collo shipment in only allowed via creating multiple parcels"
So I tried with Parcels.BulkCreate(new CreateParcel[] { parcel }) with the same parcel object as before but I get who independent labels who are not detected as Multicollo.
Is there a specific method I haven't found?

Just checked and there are tons of variables here, for example if the carrier supports multi-collo. Just want to be sure I am using the right methods of his API.
Thanks!

https://sendcloud.dev/docs/shipping/multicollo/?_gl=1*1ismcq4*_ga*MjAyNTEwODY0OS4xNzAxMTczMzMx*_ga_G20N49N1GG*MTcwMTE3MzMzMC4xLjEuMTcwMTE3MzgwNS40OC4wLjA.
How to create multicollo shipments
To create a multicollo, include the number of parcels you wish to ship in the quantity field under the parcel object, and make a
POST request to the Create multiple parcels endpoint. The maximum number of parcels you can create under quantity is 20.

If the value of request_label is true, then the parcels will be announced together, and the response will include the URL to download each individual shipping label.
If the value of request_label is false, the parcel object will be created with a quantity matching the value you specified in your request. The parcel will appear in the Incoming order overview of the Sendcloud panel with the status “Ready to process”. When the parcel is processed, the correct number of shipping labels will be created.

But the array can also contain just 1 parcel.
It's about the Quantity property.
The example below creates 3 parcels for DPD, because the Quantity is set to 3.
When you print the labels there will be a section with "Packages 1 of 3", "Packages 2 of 3", "Packages 3 of 3"

            var parcels = new[]
            {
                new CreateParcel
                {
                    Name = "John Doe",
                    CompanyName = "SendCloud",
                    Address = "Insulindelaan",
                    HouseNumber = "115",
                    City = "Eindhoven",
                    PostalCode = "5642CV",
                    Telephone = "+31612345678",
                    Email =<EMAIL_ADDRESS>                    Country = "NL",
                    Shipment = new ShippingMethod { Id = 4203 },
                    Weight = 10.000,
                    OrderNumber = "1",
                    InsuredValue = 0,
                    TotalOrderValue = "11.11",
                    TotalOrderValueCurrency = "EUR",
                    Quantity = 3,
                    RequestLabel = true,
                }
            };
            var response = await _apiV2.Parcels.BulkCreate(parcels);

Is this what you mean?

As I wrote in the opening message
So I tried with Parcels.BulkCreate(new CreateParcel[] { parcel }) with the same parcel object as before but I got independent labels who are not detected as Multicollo.
But it was with MRW, if we check
https://support.sendcloud.com/hc/en-us/articles/360038716852-How-to-create-multicollo-shipments-#2
it has a lot of requirements:
MRW
Only available if you have a direct contract
Set label preferences directly in MRW (have parcels displayed as 1, 2, 3  or as 1/3, 2/3, 3/3, etc.)
Parcel dimensions are mandatory. To automate this, use our [Boxes feature](https://support.sendcloud.com/hc/en-us/articles/360059184551).

I just wanted to be sure I was using the right API calls before continuing to do more tests with other carriers.


Installation howto or cluttered log output for install

Trying to install the project in golang docker container, and otherwise sticking to the readme, I get a somewhat cluttered transcript. If things were good and healthy, I would not expect a bunch of messages about missing packages.
Can any of you guys quickly tell if this is something I'm doing wrong (Then we might need to fix the README) or should we perhaps fix the underlying issue/suppress expected warnings?
egk@egk-ThinkPad-T450s:~/git-reps/haaukins$ docker run -it --rm golang:1.7 /bin/bash -c 'git clone https://github.com/aau-network-security/haaukins.git && cd haaukins && go get ./...'
Cloning into 'haaukins'...
remote: Enumerating objects: 131, done.
remote: Counting objects: 100% (131/131), done.
remote: Compressing objects: 100% (102/102), done.
remote: Total 5194 (delta 56), reused 60 (delta 21), pack-reused 5063
Receiving objects: 100% (5194/5194), 4.20 MiB | 3.14 MiB/s, done.
Resolving deltas: 100% (2983/2983), done.
Checking connectivity... done.
package math/bits: unrecognized import path "math/bits" (import path does not begin with hostname)
package github.com/go-acme/lego/v3/acme: cannot find package "github.com/go-acme/lego/v3/acme" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/acme (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/acme (from $GOPATH)
package github.com/go-acme/lego/v3/certcrypto: cannot find package "github.com/go-acme/lego/v3/certcrypto" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/certcrypto (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/certcrypto (from $GOPATH)
package github.com/go-acme/lego/v3/certificate: cannot find package "github.com/go-acme/lego/v3/certificate" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/certificate (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/certificate (from $GOPATH)
package github.com/go-acme/lego/v3/challenge: cannot find package "github.com/go-acme/lego/v3/challenge" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/challenge (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/challenge (from $GOPATH)
package github.com/go-acme/lego/v3/challenge/http01: cannot find package "github.com/go-acme/lego/v3/challenge/http01" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/challenge/http01 (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/challenge/http01 (from $GOPATH)
package github.com/go-acme/lego/v3/challenge/tlsalpn01: cannot find package "github.com/go-acme/lego/v3/challenge/tlsalpn01" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/challenge/tlsalpn01 (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/challenge/tlsalpn01 (from $GOPATH)
package github.com/go-acme/lego/v3/lego: cannot find package "github.com/go-acme/lego/v3/lego" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/lego (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/lego (from $GOPATH)
package github.com/go-acme/lego/v3/registration: cannot find package "github.com/go-acme/lego/v3/registration" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/registration (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/registration (from $GOPATH)
package github.com/go-acme/lego/v3/challenge/dns01: cannot find package "github.com/go-acme/lego/v3/challenge/dns01" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/challenge/dns01 (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/challenge/dns01 (from $GOPATH)
package github.com/go-acme/lego/v3/log: cannot find package "github.com/go-acme/lego/v3/log" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/log (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/log (from $GOPATH)
package github.com/go-acme/lego/v3/platform/config/env: cannot find package "github.com/go-acme/lego/v3/platform/config/env" in any of:
	/usr/local/go/src/github.com/go-acme/lego/v3/platform/config/env (from $GOROOT)
	/go/src/github.com/go-acme/lego/v3/platform/config/env (from $GOPATH)

Dockerfile resolves the issue, if the following commands inserted into Dockerfile in haaukins directory in your local computer, then pre-configured image can be built.
In Haaukins directory on the local computer;
docker build -t haaukinsdev:latest  .
Example Dockerfile
FROM golang:1.11
WORKDIR /go/src/github.com/aau-network-security/haaukins
COPY . .
RUN go get -d -v ./...

Afterwards, image can be accessible.

Thanks :)
I'm not (currently) looking into dockerizing - my goal is to have a clean, reproducible install, which i easily get with docker.
This raises a few more specific questions;

Is it important to pick 1.11 over 1.7? Then we should fix the readme.
What is the motivation and impact of changing workdir? This is not in the readme?
What files are COPYed in? I guess this is equivalent to git clone ..?
Is it really not necessary to install packages? (-d) Then the readme has to be updated in this regard to.

It is crucial to pick 1.13 if we will keep using certmagic, since it is updated 14 hours ago, and it requires at least go version 1.13. *(This will be updated on readme file as well  )
Regarding to workdir, actually there is no information of running haaukins within golang docker container, hence it is not on readme yet.
Yeah COPY , we might say that it is equivalent to git clone ... however, when cloning a go project the directory where clone will take place should be in proper place.(meaning that GOPATH should have access to that resources)(I think,  it is not necessarily correct when the project has go modules )
No it is not necessary, however readme does not cover the requirements to run project golang docker container.

To clarify; In this context, docker is not the issue, nor a goal.
I just use docker as an easy way to get a clean environment, where I know stuff is not accidentally working because of a library I installed previously for something completely unrelated (or other hidden side effects..). This helps ensuring that our installation instructions are reproducible. Instead of docker, you can for instance format your machine and do a fresh install of the latest ubuntu, or reset your Mac to factory defaults before testing the install instructions. This is just very painful and time consuming ;)
Docker gives me this in one line and in seconds.
So it seems that we have the following fixes to do:

Correct golang version in README
Extend readme to make it clear how to ensure that haaukins is on $GOPATH, also taking into consideration what the implications of go modules are.
Remove -d from README, as it serves no purpose?
Clarify if it is feasible to automate testing of README instructions, and if so, implement this.

It is required (version update) because of changes on dependent library that Haaukins use. So, it will be updated.
Will be extended.
There is already no -d on readme, or am I missing something ?
Yeah, I will look at that.

Regarding 3: You're right :)

@kidmose, I think, this issue has been resolved with new version(since go-modules is integrated) when you have time could you test out following command (?) as you mentioned above, according to feedback from you, I will close the issue.
docker run -it --rm golang:1.13 /bin/bash -c 'git clone https://github.com/aau-network-security/haaukins.git && cd haaukins && go get ./...'

Great - thanks :)


Reuse "getBestMatchingType" logic during elaboration to allow for more specific elaborations

Fixes #35248

The original example just used number because it was easy. How does this work for unions with object types?
interface Stuff {
  a?: () => Promise<number[]>;
  b: () => Promise<string>;
  c: () => Promise<string>;
  d: () => Promise<string>;
  e: () => Promise<string>;
  f: () => Promise<string>;
  g: () => Promise<string>;
  h: () => Promise<string>;
  i: () => Promise<string>;
  j: () => Promise<string>;
  k: () => Promise<number>;
}

function foo(): Stuff | Date {
  return {
    a() { return [123] },
    b: () => "hello",
    c: () => "hello",
    d: () => "hello",
    e: () => "hello",
    f: () => "hello",
    g: () => "hello",
    h: () => "hello",
    i: () => "hello",
    j: () => "hello",
    k: () => 123
  }
}

How does this work for unions with object types?

It doesn't~

@DanielRosenwasser and now it does

@typescript-bot test this
@typescript-bot user test this
@typescript-bot perf test this

@DanielRosenwasser I merged the user update into this PR and the RWC update looks good.

I guess there's a risk here - if two types have the same overlappiness, the compiler skips ahead to an arbitrary level of elaboration. Imagine
type A = { a: string, b: number };
type B = { b: number, c: string };

let x: A | B = {
  c: 123,
};

That can be even more confusing for users in some cases. Maybe the filtering logic needs an option where you can set it to say of "return undefined if there's ambiguity between two constituents."
Also would like to get @RyanCavanaugh's take on these changes.

@DanielRosenwasser the error message in that case (and the excess property case) is unchanged with this, as the error for those isn't issued on the property, but rather on the parent of the property.

@DanielRosenwasser @RyanCavanaugh you wanna do a thing with this at some point?

I'm not either of those people, but this could fix the most common source of "I don't know where to begin" errors on my team.

@DanielRosenwasser does that :+1: mean you want me to :shipit: ?

🚤


test: e2e cf build

Just in case to not introducing some features not available on cloudflare.
Preview build e2e is fast, so doubling that is okay.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#372  👈
#371
#370
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @hi-ogawa and the rest of your teammates on  Graphite

Merge activity

Jun 7, 9:40 PM EDT: @hi-ogawa started a stack merge that includes this pull request via Graphite.


updateChar implementation

Introduced the updateChar method to the lexer.
Test to ensure the method gets lexed correctly.

 Implement updateChar method.


tags: assignes 0 on foreign keys

The module permits to set 0 as valid value on foreign keys id_usergroup and id_user.
On PostgreSQL, this generate an error.
See https://github.com/inveniosoftware/invenio/blob/master/invenio/modules/tags/models.py#L145

Can you move the issue to invenio-tags repo?

Closed by inveniosoftware/invenio-tags#4


Avoid unnecessary rebuilds when building for Linux

To demonstrate the problem that this PR is intended to fix:

cd veracruz/workspaces
make clean
make linux
make linux

There will be several invocations of cargo build, but if any significant work happens after the second make linux, that's a bug.

transport-protocol/build.rs: Put generated file in tmp dir and rename.

This is to avoid unnecesssary rebuilds when several other crates have a path dependency on transport-protocol. Without this change, one of the crates getting rebuilt causes the timestamp on the generated file (transport_protocol.rs) to get updated, which makes the other crates get rebuilt by cargo build next time.
A neater solution might be to put the generated file under OUT_DIR, but currently that seems to be difficult.
(See https://github.com/stepancheg/rust-protobuf/issues/673.)

examples/data-generators/: Remove dependencies on directories.

A dependency on a directory causes unnecessary rebuilds as make looks at the modification time of the directory, which gets updated as files are created in the directory, so the directory ends up being newer than some of the target files, forcing a rebuild.

I was only looking for problems in the Linux build but I expect these changes also affect builds for other targets.
The percentage change in the build time from a fresh checkout is probably rather small, but rebuilds after changing certain components might be changed more significantly.

Why not use the | (https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html):
$(TARGET_DIR_DATS): %.dat : $$(notdir $$@) | $(TARGET_DIR)

Unless you've got several recipes that need to create the same directory, doesn't that just make the Makefile more complicated?

There are now quite a lot of new changes in examples/data-generators/*/Makefile.


Blinking Conveyor doesn't teleport player in survival mode

Industrial Foregoing Version: 1.10.1
TeslaCoreLib Version: 1.0.14

Not an issue https://streamable.com/i3xt9

I will keep it as it is for safety reasons

At least could you please don't let player get stuck there?

The change the Y teleport


Reducing json_schema dependency to ~0.20.0

:wave: @hainesr – Unfortunately the ~0.21.0 dependency here is causing some issues in github/github which are going to take a little while to resolve.
In order to be able to update the gem this week in GitHub, this PR simply lowers the json_schema version we're depending upon here.
I'm pretty sure this change is benign, and we'll be sure to bump the github/github version in time 😸

Coverage remained the same at 99.669% when pulling 50b9ff5c5a5302ff482c15fea104d52297110527 on reduce-json-schema-version into 76942b8b2d0224229887a821d41b1eba8ac416f6 on main.

Hi @arfon, sorry I missed this - I'm on leave this week.
Thanks for sorting this - all looks good to me!

Do you want me to push 0.9.0 out then?

Do you want me to push 0.9.0 out then?

No need. GitHub vendors all of their gems from a particular commit SHA so unless you really want to I think we should leave this as-is?


Update pulldown-cmark to 0.7

Incorporates #108

Incorporates #108

So I have been trying to figure out what's wrong with CI here…
Error: Error(UnequalLengths { pos: Some(Position { byte: 14, line: 2, record: 1 }), expected_len: 3, len: 5 })
test delimiter_sect_read_csv_records_with_different_delimiter_line_7 ... FAILED

This means, CSV parsing fails. Reading documentation:
This error occurs when two records with an unequal number of fields are found. This error only occurs when the flexible option in a CSV reader/writer is disabled.

That would mean that skeptic now generates somehow corrupted data from doctest. And in some very specific way since it affects only this particular test.
Hobbling some internals of skeptic, I got saved generated test file and flags how it is being compiled:
"rustc" "/tmp/test.rs" "--verbose" "--crate-type=bin" "--edition=2015" "-L" "/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug" "-L" "/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps" "--target" "x86_64-unknown-linux-gnu" "--extern" "glob=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libglob-48e6309e8ceff1bc.rlib" "--extern" "image=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libimage-f3f8dba321d0d428.rlib" "--extern" "select=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libselect-4717e4ae5ec05f25.rlib" "--extern" "percent_encoding=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libpercent_encoding-690300441a836cd4.rlib" "--extern" "chrono=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libchrono-7f219e37f4347580.rlib" "--extern" "csv=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libcsv-3ddacc53910a84ba.rlib" "--extern" "cc=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libcc-ed6e84817fa403e4.rlib" "--extern" "serde_json=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libserde_json-d452ca22e92f7d6a.rlib" "--extern" "byteorder=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libbyteorder-deeea4962fe40038.rlib" "--extern" "url=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/liburl-c15f604dcbc0e016.rlib" "--extern" "crossbeam=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libcrossbeam-2a43b917c7abbb40.rlib" "--extern" "base64=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libbase64-b4e4e94975c62687.rlib" "--extern" "ndarray=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libndarray-0f2f8cdb8f7f392e.rlib" "--extern" "crossbeam_channel=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libcrossbeam_channel-0889d3cc2b2e1420.rlib" "--extern" "tempfile=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libtempfile-92aa5ec7ea939863.rlib" "--extern" "lazy_static=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/liblazy_static-1bed6942fb4f0acf.rlib" "--extern" "serde=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libserde-9de74b5a6a5a68d2.rlib" "--extern" "toml=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libtoml-60caddb3d15e0259.rlib" "--extern" "ring=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libring-3fca219f6b86f2cd.rlib" "--extern" "data_encoding=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libdata_encoding-9ddd9748e6bb3b5d.rlib" "--extern" "skeptic=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libskeptic-83609d5184f7276c.rlib" "--extern" "mime=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libmime-4e42a022faaffecd.rlib" "--extern" "regex=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libregex-7d7872a380ee6ed7.rlib" "--extern" "memmap=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libmemmap-7410609c9a9170b3.rlib" "--extern" "clap=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libclap-1db2661bb2cd589c.rlib" "--extern" "flate2=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libflate2-2637eae23dc621ae.rlib" "--extern" "walkdir=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libwalkdir-2656412dfb4f79dd.rlib" "--extern" "num=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libnum-54e50d897d4bf770.rlib" "--extern" "threadpool=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libthreadpool-494e2a2869ae779e.rlib" "--extern" "num_cpus=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libnum_cpus-28301b07bd130581.rlib" "--extern" "reqwest=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libreqwest-60b63c5ea1f3ba65.rlib" "--extern" "ansi_term=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libansi_term-40f2790f913a4d9f.rlib" "--extern" "error_chain=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/liberror_chain-9ff0f8be2fcda714.rlib" "--extern" "nalgebra=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libnalgebra-e44e75cdbbe77946.rlib" "--extern" "tar=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libtar-fd14696f7d40bc2a.rlib" "--extern" "unicode_segmentation=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libunicode_segmentation-cfb671305a2b6935.rlib" "--extern" "petgraph=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libpetgraph-65a47e7080528b70.rlib" "--extern" "rand=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/librand-d528e2affc4d1173.rlib" "--extern" "semver=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libsemver-0d7626f36c2deb34.rlib" "--extern" "bitflags=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libbitflags-b67897ddfe60e690.rlib" "--extern" "same_file=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/libsame_file-e9191baed5286001.rlib" "--extern" "rayon=/home/brain/Projects/src.fedoraproject.org/rpms/rust-skeptic/rust-cookbook/target/debug/deps/librayon-68e749bca54e4888.rlib" "-o" "/tmp/out.exe"

And yes, running /tmp/out.exe fails with exactly same error:
Error: Error(UnequalLengths { pos: Some(Position { byte: 14, line: 2, record: 1 }), expected_len: 3, len: 5 })

Fair enough. Now I tried to create brand new project which would basically execute this code (so that I can debug it more easily).
$ cargo new foo
$ cd foo
$ cp /tmp/test.rs src/main.rs
$ echo -e 'csv = "1"\nserde = "1"\nserde_derive = "1"' >> Cargo.toml
$ cargo run

And yes, it fails same way. Looking into the RUSTC_BACKTRACE=1 of failing cargo test, I can see the source code skeptic generates (with all tests). Copying test body from there works just fine.
Ok, now time to run diff. The difference is that new version is generating testing code as-is while previous version was replacing tabs with spaces. Instead of 2 tabs (as in .md file), it generated 8 spaces. And since tab is delimiter, it fails.
I was trying to find out when this behavior has changed in pulldown-cmark and it was somewhere between 0.2 and 0.3 when entire crate was basically rewritten with new algorithm.

In the end, I decided not to waste my time on this since I think the cookbook should be fixed instead (do not use tabs in the code).

@budziq let me know what you think :)

Hi @ignatenkobrain, I'm closing this in favor of a cleaned up PR, #126. It still has a failing test, any help you can offer is much appreciated.


Limit what is displayed on Progress and Ranking view

look into implementing a search bar that could be used to locate a project if the user was provided the name, and then allow the user to pin that project to their progress and ranking view

PR: https://github.com/NationalSecurityAgency/skills-service/pull/739


ci: execute static analysis, fuzzing, and dependency scanner on pull request target

Handling of forks will need a different solution.


Push files to transifex only from master

Description
LEARNER-2368
Add a description of your changes here.
Notes
How to test this PR

Codecov Report

Merging #990 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #990   +/-   ##
=======================================
  Coverage   45.68%   45.68%
=======================================
  Files         407      407
  Lines       27026    27026
=======================================
  Hits        12347    12347
  Misses      14679    14679

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 2199a1d...d37a61b. Read the comment docs.