Use upstream prow agent images

Recently there is a code merge that happened to build prow agents for the ppc64le platform, this is the right time to switch our prow to use the upstream agents instead of our own built.
ref: https://github.com/kubernetes/test-infra/pull/23293#event-5195827383
/cc @Rajalakshmi-Girish

/cc @Rajalakshmi-Girish

/assign @Rajalakshmi-Girish

As the ppc64le images are only recently available in gcr.io/k8s-prow I supposed we need to upgrade our prow version and then use the ppc64le tag while pointing to utility images.
Hope change of values to something like gcr.io/k8s-prow/clonerefs:v20210827-98f54bde95-ppc64le at https://github.com/ppc64le-cloud/test-infra/blob/master/config/prow/config.yaml#L72  should work.

As the ppc64le images are only recently available in gcr.io/k8s-prow I supposed we need to upgrade our prow version and then use the ppc64le tag while pointing to utility images.
Hope change of values to something like gcr.io/k8s-prow/clonerefs:v20210827-98f54bde95-ppc64le at https://github.com/ppc64le-cloud/test-infra/blob/master/config/prow/config.yaml#L72  should work.
@mkumatag Please let me know if I shall upgrade prow infra on IKS cluster?

Let's upgrade the prow controller to latest available version and with that you can use the utility images from upstream itself(no need to mention the ppc64le tag in it, they are all fat manifest images)

The ppc64le images(gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le) from upstream are throwing below error:
Warning  Failed     65s   kubelet            Error: failed to create containerd task: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/initupload": stat /initupload: no such file or directory: unknown

We don't see this with the images that we built on ppc64le. (quay.io/powercloud/initupload:v20210830-fcbb70627f)
@mkumatag Please let me know if this is to be reported upstream.
Details of the pod with pod utilities pointing to upstream images
failed_pod_utility_ppc64le_image.log
For the sake of testing, I used the tag v20210830-fcbb70627f-ppc64le (As there is no fat manifest upstream).

We don't see this with the images that we built on ppc64le. (quay.io/powercloud/initupload:v20210830-fcbb70627f)
@mkumatag Please let me know if this is to be reported upstream.

sure, see if you can manually run that image and check if that error throws or not.

We don't see this with the images that we built on ppc64le. (quay.io/powercloud/initupload:v20210830-fcbb70627f)
@mkumatag Please let me know if this is to be reported upstream.

sure, see if you can manually run that image and check if that error throws or not.

@mkumatag When I manually try running a single container using that image, I get no error.
[root@test-calico-dwnload-ratelimit ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # ls
external  prow
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # cd /
/ # ls
app         dev         home        lib         mnt         proc        run         srv         tmp         var
bin         etc         initupload  media       opt         root        sbin        sys         usr
/ #

We don't see this with the images that we built on ppc64le. (quay.io/powercloud/initupload:v20210830-fcbb70627f)
@mkumatag Please let me know if this is to be reported upstream.

sure, see if you can manually run that image and check if that error throws or not.

@mkumatag When I manually try running a single container using that image, I get no error.
[root@test-calico-dwnload-ratelimit ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # ls
external  prow
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # cd /
/ # ls
app         dev         home        lib         mnt         proc        run         srv         tmp         var
bin         etc         initupload  media       opt         root        sbin        sys         usr
/ #

did you try running the command what it tried launching, e.g: initupload?

Yes, we get the same error as prow while /initupload is run.
Note: I see an executable by name initupload in / when into the container using /bin/sh
[root@rajalakshmi-workspace1 ~]# docker run --entrypoint "/initupload" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
Unable to find image 'gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le' locally
v20210830-fcbb70627f-ppc64le: Pulling from k8s-prow/initupload
0ff902055236: Already exists
6b6905b8b6cc: Already exists
f89ce5ebaa03: Already exists
3148998b117c: Pull complete
8e5b170ec95b: Pull complete
Digest: sha256:bf39195bec69b18b70967862f8e1820f03246be06960e7730e160bc58a863365
Status: Downloaded newer image for gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/initupload": stat /initupload: no such file or directory: unknown.

The same error is noticed when we try to use the wrong architecture image on amd machine.
[root@afferent1 ~]# docker run --entrypoint "/initupload" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-arm64
Unable to find image 'gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-arm64' locally
v20210830-fcbb70627f-arm64: Pulling from k8s-prow/initupload
fd3acdcea568: Pull complete
c870bdb2572e: Pull complete
e0ed68c04014: Pull complete
66b25a3e7ac1: Pull complete
8e5b170ec95b: Pull complete
Digest: sha256:556e6459c5e0a7ab59848a99bad062cd5cd016be0232a90769c17ea90ed4f52d
Status: Downloaded newer image for gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-arm64
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/initupload": stat /initupload: no such file or directory: unknown.

Hence I suppose the upstream ppc64le tagged images are built on a different architecture from ours that is causing the error.
Hope we can report what we are facing on our ppc64le machine.

Digest: sha256:bf39195bec69b18b70967862f8e1820f03246be06960e7730e160bc58a863365
Status: Downloaded newer image for gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go

what file /initupload command says?

Digest: sha256:bf39195bec69b18b70967862f8e1820f03246be06960e7730e160bc58a863365
Status: Downloaded newer image for gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go

what file /initupload command says?

Did you mean to try this?
[root@rajalakshmi-workspace1 ~]# docker run --entrypoint "file /initupload" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "file /initupload": stat file /initupload: no such file or directory: unknown.
ERRO[0001] error waiting for container: context canceled
[root@rajalakshmi-workspace1 ~]#

Digest: sha256:bf39195bec69b18b70967862f8e1820f03246be06960e7730e160bc58a863365
Status: Downloaded newer image for gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go

what file /initupload command says?

Did you mean to try this?
[root@rajalakshmi-workspace1 ~]# docker run --entrypoint "file /initupload" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "file /initupload": stat file /initupload: no such file or directory: unknown.
ERRO[0001] error waiting for container: context canceled
[root@rajalakshmi-workspace1 ~]#

Not sure whether it will allow you to run that or not, you can get into the container and check the binary architecture using file command, and also check with ldd command to see the whats the shared library dependency.

@mkumatag The ppc64le image isn't able to fetch the initupload binary details. But the amd image is able to.
Image: gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
[root@rajalakshmi-workspace1 ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # cd /
/ # file initupload
/bin/sh: file: not found
/ # apk add file
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/ppc64le/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/ppc64le/APKINDEX.tar.gz
(1/2) Installing libmagic (5.40-r1)
(2/2) Installing file (5.40-r1)
Executing busybox-1.33.1-r3.trigger
OK: 35 MiB in 33 packages
/ # file initupload
initupload: broken symbolic link to /app/prow/cmd/initupload/app.binary
/ # file /app/prow/cmd/initupload/app.binary
/app/prow/cmd/initupload/app.binary: cannot open `/app/prow/cmd/initupload/app.binary' (No such file or directory)
/ # ldd /initupload
/lib/ld-musl-powerpc64le.so.1: cannot load /initupload: No such file or directory
/ #

Image: gcr.io/k8s-prow/initupload:v20210830-fcbb70627f
[root@afferent1 ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f
/app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra # cd /
/ # file --help
/bin/sh: file: not found
/ # apk add file
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/2) Installing libmagic (5.38-r0)
(2/2) Installing file (5.38-r0)
Executing busybox-1.31.1-r16.trigger
OK: 12 MiB in 17 packages
/ # file /initupload
/initupload: symbolic link to /app/prow/cmd/initupload/app.binary
/ # file /app/prow/cmd/initupload/app.binary
/app/prow/cmd/initupload/app.binary: symbolic link to /app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary
/ # file /app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary
/app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=redacted, not stripped
/ #  ldd /initupload
/lib/ld-musl-x86_64.so.1: /initupload: Not a valid dynamic program
/ #

@mkumatag The ppc64le image isn't able to fetch the initupload binary details. But the amd image is able to.
Image: gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
[root@rajalakshmi-workspace1 ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f-ppc64le
/app/prow/cmd/initupload/app-ppc64le.binary.runfiles/io_k8s_test_infra # cd /
/ # file initupload
/bin/sh: file: not found
/ # apk add file
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/ppc64le/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/ppc64le/APKINDEX.tar.gz
(1/2) Installing libmagic (5.40-r1)
(2/2) Installing file (5.40-r1)
Executing busybox-1.33.1-r3.trigger
OK: 35 MiB in 33 packages
/ # file initupload
initupload: broken symbolic link to /app/prow/cmd/initupload/app.binary
/ # file /app/prow/cmd/initupload/app.binary
/app/prow/cmd/initupload/app.binary: cannot open `/app/prow/cmd/initupload/app.binary' (No such file or directory)
/ # ldd /initupload
/lib/ld-musl-powerpc64le.so.1: cannot load /initupload: No such file or directory
/ #

Image: gcr.io/k8s-prow/initupload:v20210830-fcbb70627f
[root@afferent1 ~]# docker run --entrypoint "/bin/sh" -it gcr.io/k8s-prow/initupload:v20210830-fcbb70627f
/app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra # cd /
/ # file --help
/bin/sh: file: not found
/ # apk add file
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/2) Installing libmagic (5.38-r0)
(2/2) Installing file (5.38-r0)
Executing busybox-1.31.1-r16.trigger
OK: 12 MiB in 17 packages
/ # file /initupload
/initupload: symbolic link to /app/prow/cmd/initupload/app.binary
/ # file /app/prow/cmd/initupload/app.binary
/app/prow/cmd/initupload/app.binary: symbolic link to /app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary
/ # file /app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary
/app/prow/cmd/initupload/app.binary.runfiles/io_k8s_test_infra/prow/cmd/initupload/app.binary_/app.binary: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=redacted, not stripped
/ #  ldd /initupload
/lib/ld-musl-x86_64.so.1: /initupload: Not a valid dynamic program
/ #

Let's file an issue in the k/test-infra

I shall just check other utility images clonerefs sidecare entrypoint too and file the issue.

@mkumatag Please take a look https://github.com/kubernetes/test-infra/issues/23449.


Wrap FIRAnalytics setScreenName in Background Task

Resolve an issue with the iOS UIWebView freezing when calling setScreenName: #590

Thanks. I cleaned this up and integrated at afb93d2


Fix title rendering and some more things

fix title rendering
rename metaTitle to title
revert title merging feature
Add examples to README.

Thanks for this.


[Frontend] Support constant negative step sizes in for loops

Context: @for_loops do not support negative step sizes.
Description of the Change: When passed in a constant step size that is negative, the lowering pipeline will perform a transformation. To simulate for (i = start; i > stop; i -= step):

The loop is normalized to iterate from 0 to the computed # of iterations.
The induction variable (iv) is transformed to recompute the correct iv from the normalized iv at each iteration.

Benefits: Loops are now able to support negative step sizes. When a loop stop point would never be reached (e.g. for (i = 0; i < 10; i -= 1) or for (int i = 5; i > -5; i += 1), the loop iterates 0 times. This behavior is consistent with Python's range.
Possible Drawbacks: This only supports constant step sizes. Supporting non-constant step sizes would require detecting if the step size was negative at runtime, which would either increase code complexity (hurting readability of the IR), or add overhead for loops with positive step sizes at each iteration.
If a non-constant step size is passed to the loop that evaluates to a negative value, the loop will incorrectly iterate 0 times. We could consider adding a runtime assertion (or warning) to detect this case.
Related GitHub Issues: Closes #50

This is a pre-existing issue right?

Yup, this is consistent with the current behavior.


use pkg_resources for PyTorch version checks in notebooks

Followup to #173 and #176, makes the notebooks work out of the box in Colab

I think these lines of code for version checking can be removed instead, since the check is performed when one imports clip anyway


Do you have a timeline for next milestones?

Hey, do you have any timeline for the next milestone releases? I saw that many interesting features come up with 1.0.0.

Yes, I'm very guilty and ashamed that I haven't have much time in the last two month to work on SwiftGen and accept all the great Pull Requests and triage all the issues pending since some time now, and I'm very very sorry for keeping you guys waiting for so long.
But fear not, SwiftGen is very much alive, in fact I really hope to have some more time this week-end and next week to finally go back to work on it and make things move forward again, so I can at last accept all those pending PRs and release a new version very soon!
Sorry again for the wait 😉

I've updated the 1.0.0 milestone date to sunday one week from now (I hope I'll have time to release a version this week-end but don't want to make too much promises so better fix it for the week after that), so will close this issue now. Thanks!


chore: switch to conventional commit style for PR titles

Initial suggestion for standardizing PR titles per earlier discussion. I converted most of the previously listed components/areas to scopes rather than types because it made more sense to me. Open to feedback on the idea as well as specifics of what types/scopes would make sense if we do this.
To have checks happen automatically on PR open based on the provided config it will be necessary to install this Github app: https://probot.github.io/apps/semantic-pull-requests/. And possibly have that config file in the default branch (not sure).

Should mention how to handle breaking changes in docs?

Should I make this part bold or something? https://github.com/dashpay/dash/pull/4835/files#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055R65-R67
Or did you mean elsewhere in some other doc?

Hopefully enforcement will be applied for future PRs and this does not have retrospective effect

I believe that the conventional commits only applies to the PR name, so you don't have to do this for each individual commit

Hopefully enforcement will be applied for future PRs and this does not have retrospective effect

It should only go into affect if/when the GH app to do the checks is installed (probably isn't currently). And it should only trigger when a new PR is opened or possibly if one is renamed.

should this be backported to 18.x? @PastaPastaPasta

I don't think so, there's no benefit to backport this I think

I don't think so, there's no benefit to backport this I think

I agree. I just found this https://github.com/zeke/semantic-pull-requests/issues/183. I also see on some of our repos that use this app it's not reporting status. So I may have to look into a github action option for enforcing the change.


Removing enclosed { } from validationSchema

it returns error "TypeError: schema[(intermediate value)(intermediate value)(intermediate value)] is not a function" if validationSchema is enclosed with { }
As seen on https://github.com/jquense/yup/issues/972

The Yup issue mentioned above was using useFormik, like: useFormik({ validationSchema }). Did you try these changes? I'm 99% certain it doesn't build, because param=Value isn't how prop syntax works. Props must either be strings, or wrapped with brackets.


Post a typo. 2. Wander the time cost. 3. Error in inference

In https://github.com/microsoft/ProphetNet/tree/master/ProphetNet_Zh ,the example of preprocessing data, the first line:
import transformers import BertTokenizer
I think it should be from transformers import BertTokenizer.
 I wonder if it's just too slow to quickly show some output or I've written wrong codes.
So I want to ask how much time should I cost? (I have about 7000 samples in train dataset, 2000 in validation and 2000 in test.
3. When directly using the downloaded pretrained model to inference by this script:
BEAM=5
LENPEN=1.5
CHECK_POINT=mypath/data/bert_model/prophetnet_zh.pt
TEMP_FILE=mypath/bl1/prophetnet/infers/infer2/fairseq_outputs.txt
OUTPUT_FILE=mypath/bl1/prophetnet/infers/infer2/sorted_outputs.txt

fairseq-generate mypath/bl1/prophetnet/processed2 --path $CHECK_POINT --user-dir mypath/bl1/prophetnet/prophetnet --task translation_prophetnet --batch-size 80 --gen-subset test --beam $BEAM --num-workers 4 --no-repeat-ngram-size 3 --lenpen $LENPEN 2>&1 > $TEMP_FILE
grep ^H $TEMP_FILE | cut -c 3- | sort -n | cut -f3- | sed "s/ ##//g" > $OUTPUT_FILE

I got this error message:
Traceback (most recent call last):
  File "mypath/anaconda3/envs/envfastsum/bin/fairseq-generate", line 33, in <module>
    sys.exit(load_entry_point('fairseq==0.9.0', 'console_scripts', 'fairseq-generate')())
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq_cli/generate.py", line 199, in cli_main
    main(args)
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq_cli/generate.py", line 47, in main
    task=task,
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 179, in load_model_ensemble
    ensemble, args, _task = load_model_ensemble_and_task(filenames, arg_overrides, task)
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 190, in load_model_ensemble_and_task
    state = load_checkpoint_to_cpu(filename, arg_overrides)
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 166, in load_checkpoint_to_cpu
    state = _upgrade_state_dict(state)
  File "mypath/anaconda3/envs/envfastsum/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 300, in _upgrade_state_dict
    {"criterion_name": "CrossEntropyCriterion", "best_loss": state["best_loss"]}
KeyError: 'best_loss'

I've found there are also other issues referring to this problem. But I haven't found any direct ways to solve it. So I wonder how to solve this problem?

Honestly... I've run 5 hours for just 90 samples and the log has never changed... I thought it must because I've run the code wrongly, so I terminated the code.

Anyone find a solution to this?


pass correct email configuration to role: AAROC.discourse

The role AAROC.discourse sets the email variables for discourse to send email. These need to be overwritten by group_vars

According to the variable precedence documentation, group vars to not overwrite role vars, as I thought was the case. So, we need to pass them as "extra vars" on the command line : -e<EMAIL_ADDRESS>


Adding Music

We might want to add music to the game. Or, simply add some sound effects.

Can you explain more? I want to try to solve this. I am complete newbie here.

@BenjaminFzWu Could you explain more about what your thoughts are here?

Just like add some background music.

Like most online games have like background music. And, they might have sound effects, such as a dying sound. We don't have to add this in the game, if we don't want to.

Sounds good. If you have an example of the type of music you'd like to add I think we could go for it. Please just be mindful of licensing for the music if you don't create it yourself.

https://doc.babylonjs.com/guidedLearning/createAGame/musicSFX includes the ways to add music using the library used in this project. I'm not sure we'll have an opportunity to accomplish this before we finish the class today though. Could be fun after though if you're interested in web based game programming.


Authentication not possible

All settings lost and not maintainable

nightly build working fine, but not from Store

again not working. I'm not sure what is going on.

The new store app requires full uninstall and restart as there are substantial changes to settings.json. Did you try that?

Will do, thanks

Looks like this is the solution. Works. I just notice once "Configure work hours" is checked, I can't uncheck it

got a gif of this? Screen2Gif

Nope. Weird, after restarting all settings from the Settings Tab were gone.
But "Configure Hue" was still populated

.. and forgot it again after restarting PL

@Shrekmachine does latest nightly have this issue?

I'm using the Store version, still on 3.05

now on <IP_ADDRESS>
Still loosing settings in "Settings"

Still an issue on 3.0.19?

I will report back once update received via Store

Should be updated

Version 3.0.19 still not showing values but it seems that it is respecting brightness. When I start PL, lights are dimming even that the fields are empty

Is the value that isn't updating just Hue Brightness?

try 3.0.20

will wait for the release

Release to the store? I need someone to test these changes other than me before I publish to store. I am not using Phillips Hue so I cannot test the HW

I just downloaded it from the store and it installs correctly and I can control my Hue lights. The problem is I cannot login. I added a Question about the Side Loading requirement in the Documentation.

@Shrekmachine are you still having issues with nightly?

Honestly I use only Store version. 3.0.19
Interestingly I do not need to authenticate every time any more.
The issue of not populating the fields is of course not gone with that version.
However, functionality wise it is doing it's job as expected.

when will the 3.0.20 dropped to the store? Then I can test :)

I will probably push soon


Add variable SID expiration time

Trying to fix an issue in Home Assistant - the Integration works for 20 mins then stops, then an hour after it works again - since the SID is renewed every hour - could be the cause?

Hi @rubeecube,
Thank you for your contribution!
Do you think that the SID should be renewed every 20 minutes now? If yes, have you tested renewing every 20 minutes?

Hi @jafar-atili
The issue seems now fixed on Electra side, not sure what happened
The pattern of the error timings (see below) made me to think we should change it to 19 mins, I guess it should be configurable , using the manual pyElectra I saw no issues + reloading the lib fixed it 5Guessing setting the sid to None).
Or you could force a re_sid in case of errors
I now have a "Backup AC" in case there is an error (Using the other electrasmart integration)
I monitor the downtimes, and there was no majour issue in the last 48h
... Working from 0757 to 0816
... Working from 0857 to 0916
... Working from 0957 to 1016
... Working from 1057 to 1117
... Working from 1157 to 1217
... Working from 1257 to 1440
... Working from 1457 to 1535
... Working from 1557 to 1635

... Failing from 0817 to 0853
... Failing from 0917 to 0956
... Failing from 1017 to 1056
... Failing from 1117 to 1156
... Failing from 1217 to 1256
... Failing from 1441 to 1456
... Failing from 1534 to 1556
... Failing from 1634 to 1656```

@jafar-atili I'm still getting the same errors from the Home-Assitant integration.

Please reach out in discord to discuss this
jafar_atili

Im also getting this error,
Restarting Home Assistant resolves it temporarily for me (I assume it refreshes the SID).
It then fails again after a while.

Fixed in https://github.com/jafar-atili/pyElectra/pull/6


format python code in python directory

use yapf tool in #422
you should add .style.yapf first, and run commands:
yapf -i -r python

#254

Coverage remained the same at 62.644% when pulling fd6adf92a99ace6aca5805750d79d18fc736f6fe on QiJune:format_py_code_2nd into 8295eb91bff52b2ef9c0dc53f7e4b902f14030e2 on baidu:develop.

Close due to use pep8


How to make an redirect?

Hello, I have to make redirect for auth process.
Is it possible with fresh? I can not find anything in the Fresh documentation about that.
Best,
MM

You can return a Response with a Location header in your handler functions:
export function handler(req: Request): Response {
  // ...
  const headers = new Headers({
    location: new URL(req.url).origin,
  });
  return new Response(null, {
    status: 302,
    headers,
  });
}

Hope this helps.


Unify entrypoints (Launcher, wsock32 proxy)

Merges the wsock and launcher directories together.
Full changes:

separated code that was common or not directly related to launching

drm.{cpp,h}
loader.{cpp,h} (modified from the wsock32 version)
util.{cpp.h}

fail conditions were moved into relevant functions
put common code into a NorthstarLoader library to be reused

rebased, fixed some things up, tested it myself (though I want someone else to test it too)

remade from scratch
split things up into fewer segments so its easier to digest


v-model value of styled checkbox doesn't update

Vue.js version
2.1.9+
Reproduction Link
https://jsfiddle.net/1nqypbnt/
Steps to reproduce
Check the semantic checkbox.
What is Expected?
Value should become true.
What is actually happening?
Still be false.
Semantic checkbox is working on Vue 2.1.8 but is broken on 2.1.9+

Events on the styled checkbox are captured by the Semantic script. I've modified your fiddle to add a click event counter.
IMO you should file bug in the Semantic repo.

2.1.8+ is using click events instead of change events on checkboxes to trigger updates. However based on what @znck has showed, I'd consider this a bug in Semantic UI. Styling the checkbox should not affect click events on the element.

For those who encounter this issue, I just found the solution by using pure CSS version of semantic UI checkbox.

Remove the checkbox call, e.g. $('.ui.checkbox').checkbox();
Remove the "hidden" class in  or the checkbox will become unclickable.
Add a label tag inside <div class="ui checkbox"> even the label has no content or the styled checkbox will not be shown.

Checkout the fiddle
Thanks @znck @yyx990803 !

Is there a way to use it with checkbox call? cause I have $('.ui.checkbox').checkbox(); in my global calls which is used in php blade views.

@vinayakkulkarni I just ran into this and decided to add a 'vue' class to checkboxes that should not be handled by Semantic.
 Remember to add for="checkboxId" to your labels so the label click events pass through correctly.

@yateric thank you very much for posting the non-javascript version. It really simplified my Vue application.  Semantic-UI's need for JS to activate styling doesn't work that smoothly with Vue templates and conditional rendering. I had to watch a property and call Semantic UIs JS calls to ensure these widgets were working.


Added a easy way to install repository for beginners & wrapped the model to be usable using a gradio UI

as per the previous recommendation, I included both cloning & directly installing the repository and accessing it using pip and then wrapped the example notebook with gradio UI so that non-coders can also use the shape-e model with ease just by running all the cells.
I rebased the (cleared commit history) and did some changes as per suggestion which is why, my previous pull request got closed, sorry :)

awesome, also there is a gradio space hosted on huggingface here: https://huggingface.co/spaces/hysts/Shap-E, if there is interested in adding a badge as well in the readme, see badges: https://huggingface.co/datasets/huggingface/badges

@AK391 thanks for the suggestion. I tried to create a live demo on huggingface too but met with some abstract class error with shape-e code. But, I have added a huggingface space badge for the space you suggested

how do you install??? I got the directory in windows command prompt and tried installing the pip but it gave me errors

The pip command you supposedly used is not indicated in the attached photograph. Which is why, I assume, you ran pip git+....
And the error clearly states, you don't have git installed on your device which is why, it is unable to execute the command you're giving

I 100% have it installed,

turns out git wasn't installed in the right directory, apologies


Sticky headers

Is there a way to make the headers pinned as in Instgram? I tried to use SuperSLim Library along expandable-recycler-view however it didn't not work

@RedEagle07 I'm not familiar with the SuperSLiM library, but the two should be able to coexist since this library focus on adapter changes, while the other uses custom layout managers to give sticky headers.
Beyond that I do not have much experience with sticky headers in a RecyclerView so will not be able to help (and is not a focus of this library at this time).

@RedEagle07 Did you get it working?


Script won't remove any libraries

Maybe I am using it wrong, but unless I comment out this line:
pod_names_to_remove = podfile.dependencies.filter do |d| pod_names_to_remove.include? d.name end.flat_map do |d| [d.name, d.to_root_dependency.name] end.map do |s| s.sub('/', '') end
the script doesn't seem to remove any of the libraries.
Setting my unsupported pods to:
["FirebaseAnalytics", "FIRAnalyticsConnector", "GoogleAppMeasurement", "Mapbox", "FirebasePerformance"]`

Has the debug output of:
`#### Unsupported Libraries ####
["FIRAnalyticsConnector", "Mapbox"]

#### Unsupported dependencies ####
[]

#### Frameworks not to be included in the Archive ####
[]

#### Resources not to be included in the Archive ####
[]

If I add the first line back in, they're all empty.
Sorry if I am not understanding something. Build seems to work just fine for ios devices still, but the catalyst builds have the same problem as always

Hi @jhmacdon can you please share your Podfile?

@jhmacdon I'm not sure if the documentation isn't clear enough and if so please let me know and I'll try to rephrase it.
To exclude FirebaseAnalytics you need to add it to catalyst_unsupported_pods the same way you install it. That is, if you do pod 'Firebase/Analytics' the same name must go to catalyst_unsupported_pods. The line you're commenting is checking that the excluded pod is a dependency in the Podfile. If you use pod 'FirebaseAnalytics' then your dependency is FirebaseAnalytics. If you use pod 'Firebase/Analytics', then the dependency is 'Firebase/Analytics'`

I'm closing this issue, feel free to open a new one if you find any issue


Harry Roberts workshop - Code review

Key selector

[ ] .nhsuk-icon__chevron-down path {
[ ] .nhsuk-icon__chevron-up path {
[ ] .nhsuk-list--check svg,.nhsuk-list--cross svg {
[ ] .nhsuk-c-action-link:focus span {
[ ] .nhsuk-c-action-link:hover span {
[ ] .nhsuk-c-care-card--black .nhsuk-c-care-card__content a {
[ ] .nhsuk-details__text p {
[ ] .nhsuk-c-global-alert a {
[ ] .nhsuk-footer__logo a {
[ ] .suggestions-item:focus div,.suggestions-item:hover div {
[ ] .suggestions-item--selected a {
[x] .nhsuk-c-pagination a {
[x] .nhsuk-c-pagination a {

Core

[x] Sass comments for files that do not generate CSS
[x] Comment spacing - alignment
[x] Font face - move from settings to generic
[x] Variables - use of !default - base font margin 8px
[ ] Exports - Figure out what it does - if using it then it needs adding to each components Sass file
[ ] 'Magic numbers' - ack (need to install) - $ ack -l --sass '\dpx'
[x] Breakpoint name @mixin - mq - govuk
[ ] Replace all instances of govuk-media-query with mq.
[x] Tools Typography - "These mixins allow us to quickly and consistently generate common text patterns such as colours..."
[ ]  Mobile first MQ's
[ ] Minus number Sass spacing map
[x] Change colour to color
[ ] Change class name .active to .is-active
[ ] Core components and UI components
[x] Utilities need u- adding
[x] Utilities - top-and-bottom needs deleting

Components

[ ] Care card heading margin: 0; should be margin-bottom: 0;
[ ] Check shorthand margin/padding.background declarations - $ ack --sass '(background|margin|padding):'
[ ] Instance of !important - look at doing it another way eg: .foo.foo ($ ack --ignore-dir=packages/core/utilities/ --sass '\!important;')
[ ] SVG assest path variable
[x] -9999px replacement: http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
[ ] Footer list &:last-child should be > &:last-child - should be probably for all &:last-child
[ ] Header - break into smaller files
[ ] Header - large desktop media query - should we re-arrange it?
[ ] Sass comments - new section with Sass file should restart comments number (1, 2, 3) - not (6, 7, 8)
[ ] Hero - make comments on 'random numbers' eg: 240px
[ ] Image component - 'syntax sugar' - & + &
[ ] Back to top - make a decision on whether we keep it or not
[ ] Pagination <a> could do with changing a class - eg: nhsuk-pagination__link
[ ] @mixin panel could be renamed to save confusion
[ ] Panel - need to nest .panel-group & { } - "key selector should only appear once".
[x] Skip link - -9999px needs replacing (see above)
[ ] Table - nest table responsive into table.

Assets

[x] Icons - change logo to logo-nhs

Potentially breaking changes:

Change colour to color
Nav A-Z - BEM naming - trim down names eg: link
Name change a-z-nav to nav-a-z
SVG assest path variable
New name for do and dont list - list-do-dont (Speak to Dean about naming)
Feedback banner - rename to Banner feedback (always name from big to small)
Global alert - rename to Alert global (always name from big to small)
Back to top - make a decision on whether we keep it or not
Pagination  could do with changing a class - eg: nhsuk-pagination__link

Done some reading regarding the -9999px hiding and the Kellum method suggested doesn't apply to how we are using it in the skip links styling. The method is used for image replacement, which we are not doing, so keeping our version.


Note on the README

Thanks for doing this, I think it's well-desired by quite a few Joplin users.
I have a small note on the following paragraph in the README:

Now, an option to run without the sandbox is presented upon failure to launch, stating you can use the --no-sandbox flag. However, upon trying to use that option, A UI window appears and says: "Unrecognized flag --no-sandbox." Once this is closed, the application does not launch either. Thus, the prompt for the no-sandbox option was likely from the chromium code itself, whereas the current Joplin build does not have that option implemented, or has disallowed that.

The new Joplin release allows the users to optionally specify the --no-sandbox flag, so the above paragraph is not correct.

Thank you for the note @vsimkus - I had seen that ability so was wondering if that was an intentional change upstream by the Joplin devs -I will update the readme with the next build to reflect that, thanks.


What is the recommended way to configure postgres?

I am putting my local overrides in a file postgres.conf.local and then doing something like this:
RUN { echo; echo "include '/local/postgresql.conf.local'"; } >> "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"
COPY postgresql.conf.local /local

Is it how I am supposed to do it?

That should be fine. Since /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample is symlinked to /usr/share/postgresql/postgresql.conf.sample, you don't need $PG_MAJOR. I copy my config like this:
COPY postgresql.conf /usr/share/postgresql/postgresql.conf:ro

That should be fine. I do it like this:
COPY postgresql.conf /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample
When initdb is called by docker-entrypoint.sh, the config is copied into the $PGDATA directory.

@evoyy It doesn't work for me for postgres 9.5 image, nothing is copied.

Actually it works, but for some reason postgresql shows "selecting default max_connections ... 100"  instead of 200 min connections I've selected. SHOW ALL query shows correct config.

Another option is to redefine the CMD in your Dockerfile.  The original one is
CMD ["postgres"]

but you can add configuration options, e.g.,
CMD ["postgres",
     "-c", "logging_collector=on",
     "-c", "log_destination=csvlog"]

Another option is to redefine the CMD in your Dockerfile. The original one is
CMD ["postgres"]

but you can add configuration options, e.g.,
CMD ["postgres", \
     "-c", "logging_collector=on", \
     "-c", "log_destination=csvlog"]

How do you put environment variables inside the CMD commands? I dont want to hardcode the names of the certificate files for SSL support


Dropdown - arrow keys don't work with Dropdown search in menu example

Steps

go to https://react.semantic-ui.com/modules/dropdown#dropdown-example-search-in-menu
open the filter dropdown
use the arrow keys and observe the console output

Expected Result
Dropdown items should be selected when using the arrow keys
Actual Result
Selection using the arrow keys doesn't work, and an error is output in the console :

Version
0.67.2
Testcase
http://codepen.io/GregoryPotdevin/full/GmpOQR/
Cause
Using the arrow keys in a dropdown triggers Dropdown.moveSelectionBy, which fails because there are no options.
Seems non trivial to fix as the dropdown needs to manage its own items for this to work. Might require to add specific code for a "searchable dropdown" (that would use the dropdown menu options logic, but would render both a search input and a title label)

Duplicate #958, #889
Please note the message above this and several other Dropdown examples:

It is indeed non-trivial, hence the long running issue here.  First step is to get Menu shorthand in place and replicate it for the Dropdown.Menu, see #1365 for more on this.

Sorry for the duplicate, not sure how I missed the warning (even though I saw it for other Dropdown features).

No worries!


Evaluating functions with partial arguments

After #1911
A common difficulty is evaluating functions with partial arguments. Consider a function pattern,
σ(φ₁, ...)

where φᵢ are not known to be defined. The rules defining σ will generally be written with element variables in the argument positions, requiring that the arguments be defined to apply the rule.
After implementing #1911, we can use this simple identity to always evaluate functions with partial arguments:
φ = φ ∧ ⌈φ⌉

We apply this identity to the arguments:
σ(φ₁, ...) = σ(φ₁ ∧ ⌈φ₁⌉, ...) = σ(φ₁, ...) ∧ ⌈φ₁⌉ ∧ ...

At this point, we may infer that the φᵢ in argument positions are defined, allowing us to apply most function rules even if the arguments are partial.

In makeExpandedApplication we should use mkDefined and add side conditions for each argument saying it is defined.

I want to continue to put this off until after #2196.

@ttuegel suggests that we add definedness conditions of the term here to the predicate and the SideCondition (in the definedTerms field). We need to see how this will affect performance.

Do we still need this?


Goodreads search

Ref: Conversation #2832 / Vlad

FYI, I have created an extension to search Goodreads

@auxbuss Thx! Saved me a lot of time!

Done: https://pilotmoon.com/popclip/extensions/page/Goodreads

This extension has disappeared from the list of extensions: https://pilotmoon.com/popclip/extensions/
The download link still works, but the page it's on no longer refers to it.


Manga Galaxy Not Showing Results

Source information
Manga Galaxy 1.4.36
Source language
English
Steps to reproduce

Go to source
Pess on Manga Galaxy extension

Expected behavior
The site should show the list of mangas and manhwas to read.
Actual behavior
The site just shows "No results found"
Mihon/Tachiyomi version
0.15.3
Android version
Android 12
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

I also experience this, it works on webview but the list doesn't show

duplicate of #830


Simple (and short) Getting Started Video

We need to have a video that is short and sweet. Most of our videos are over 10 minutes long.
 It should be at most 5 minutes. We should point out that they can use various SDKs.
Example - https://www.youtube.com/watch?v=6f8KF6UGN7g
Once this is done, I will add it somewhere in the docs intro and in the Dagger GitHub README like Pulumi's.

@shykes If you agree with this need, I will move this to a P1 and ask @kpenfound to help. I think it could really help with top of funnel.


[Event Request} report 840 "Suggest Worksheet Lines" - OnInsertCFLineForPurchaseLineOnBeforeInsertTempCFWorksheetLine

Describe the request
local procedure InsertCFLineForPurchaseLine()
....
            if "Cash Flow Forecast"."Consider CF Payment Terms" and (Vendor."Cash Flow Payment Terms Code" <> '') then
                "Payment Terms Code" := Vendor."Cash Flow Payment Terms Code"
            else
                "Payment Terms Code" := PurchHeader."Payment Terms Code";

            OnInsertCFLineForPurchaseLineOnBeforeInsertTempCFWorksheetLine(CFWorksheetLine2, PurchHeader, "Purchase Line");
            InsertTempCFWorksheetLine(CFWorksheetLine2, 0);
        end;
end;

[IntegrationEvent(false, false)]
local procedure OnInsertCFLineForPurchaseLineOnBeforeInsertTempCFWorksheetLine(var CashFlowWorksheetLine: Record "Cash Flow Worksheet Line"; var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line")
begin
end;

Additional context
We need to add additional Purchase valuesInternal work item: AB#493708

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 14518.


[Proposal] Allow :finch_request to perform the underlying request

Hi there! This is basically a proposal with code: Add a :finch_exec_request option to the default Finch adapter in order to enable custom plugins/steps to implement streaming response bodies.
This recent ChatGPT streaming example got me thinking about how the example could be implemented in Req. Finch provides support for streaming responses with Finch.stream/5, but the run_finch adapter always calls Finch.request/3. One could create their own run_finch_stream adapter, but they would be duplicating quite a lot of effort. The idea of this proposal is that an optional :finch_exec_request function would be provided with the Finch request, name, and options, and would return either a Req response or an exception.
Using this branch, it's fairly straightforward to write a plugin that allows for streaming responses. Here's a Livebook notebook showing how it might be done. There are some issues with resource handling (no back pressure, no explicit mechanism to cancel the request), but I believe this still opens up some useful options for plugins.

This is a nice idea but I need to think about it more. I'm also not sure if we should have both :finch_request and :finch_exec_request. In other words, the latter can be used in place of the former with only slightly more code. Say, we had finch_request: fun and fun is:
- fun = & &1
+ fun = fn finch_request, finch_name, finch_options ->
+   case Finch.request(finch_request, finch_name, finch_options) do
+     {:ok, response} -> Req.Response.new(response)
+     {:error, exception} -> exception
+   end
+ end

That's not too bad?
If that sounds reasonable, some notes:

We'd deprecate finch_request: fn request -> in favour of this.
Perhaps contract should be even more flexible: fn request, finch_request, finch_name, finch_options -> {request, response | exception} but not sure what'd be the use case.
Req.Response.new will need to start accepting maps and structs which I'm fine with.

@aselder you needed :finch_request in the past. Any thoughts about this?

Agreed on all the above. I think you’re already thinking this, but we can maintain backwards compatibility for some time by using the old :finch_request behaviour if the function is of arity 1 and the new behaviour if it’s 3/4. (I thought about also passing the req request but decided not to because I couldn’t really think of a use-case, since that can be modified in non-adapter steps.)

Here's what it might look like if we just go with :finch_request. If this direction is preferable, I'll push to this branch.

Pretty sure the CI failures are unrelated to this PR. I'm able to replicate the failures running the workflows locally both on this branch and on main.

Thank you!


feat(streaming): hash join degree table only write and read value

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR changes value_indices of degree table, and make it only read/write value column.
As hash_join is so special that it need to compare two key, this PR adds a new iter for streaming table, return (pk, row) (discussed with @st1page ).
Later some benchmark results will be added in PR description...
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
part of https://github.com/risingwavelabs/risingwave/issues/5101

Thanks for your recommendation and I have refactor the duplicate code.
BTW, the multiple commits of this PR is because the branch is checked out from previous PR branch, the real commit is not so mach as seen😊. cc @fuyufjh


Running ThumbsUp on raw firmware binaries

Hi,
I encountered the a few issues when running the Thumbs Up script with the following configuration:

Up-to-date Ubuntu 19.10
Python 3.7.5
IDA Pro 7.4

The requirement sark==2.0 could not be installed, so I replaced it in the install script and just took the most recent one from GitHub, which was 7.8. This might already be the source of my subsequent errors ;)
/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py: unpack requires a buffer of 8 bytes
Traceback (most recent call last):
  File "/opt/idapro-7.4/python/3/ida_idaapi.py", line 593, in IDAPython_ExecScript
    exec(code, g)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 226, in <module>
    main()
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 210, in main
    analyzer.linkFunctionClassifier()
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/analyzers/arm.py", line 48, in linkFunctionClassifier
    self.func_classifier = FunctionClassifier(self, function_feature_size, function_inner_offset, classifiers_start_offsets, classifiers_end_offsets, classifiers_mixed_offsets, classifier_type_offsets)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/utils/function.py", line 68, in __init__
    numpy.random.seed(seed=struct.unpack("L", ida_nalt.retrieve_input_file_md5()[:4])[0])
struct.error: unpack requires a buffer of 8 bytes

Fixed this by replacing line 68 with numpy.random.seed(1337) and it worked.
Console output in IDA continues as follows:
[27/05/2020 08:14:08] - Thumbs Up Logger - INFO: Phase #4
[27/05/2020 08:14:08] - Thumbs Up Logger - INFO: Observe all code patterns from the improved analysis
[27/05/2020 08:14:08] - Thumbs Up Logger - INFO: There are 8913 scoped functions for code type 1
[27/05/2020 08:14:09] - Thumbs Up Logger - INFO: Calibration: Function Prologue Accuracy: 91.47%
[27/05/2020 08:14:11] - Thumbs Up Logger - INFO: Calibration: Function Epilogue Accuracy: 96.50%
[27/05/2020 08:14:12] - Thumbs Up Logger - INFO: Calibration: Function Prologue/Epilogue Accuracy: 97.00%
[27/05/2020 08:14:14] - Thumbs Up Logger - INFO: Testing: Function Prologue Accuracy: 91.72%
[27/05/2020 08:14:15] - Thumbs Up Logger - INFO: Testing: Function Epilogue Accuracy: 97.44%
[27/05/2020 08:14:16] - Thumbs Up Logger - INFO: Testing: Function Prologue/Epilogue Accuracy: 97.25%
[27/05/2020 08:14:22] - Thumbs Up Logger - INFO: Start marking functions, even without xrefs

Got the following error displayed in IDA:
/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py: 0
Traceback (most recent call last):
  File "/opt/idapro-7.4/python/3/ida_idaapi.py", line 593, in IDAPython_ExecScript
    exec(code, g)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 226, in <module>
    main()
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 218, in main
    result = analysisStart(analyzer, code_segments, data_segments)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 122, in analysisStart
    functionScan(analyzer, scs)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/analyzer_utils.py", line 172, in functionScan
    if analyzer.func_classifier.predictFunctionStart(line.start_ea, guess_code_type):
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/utils/function.py", line 368, in predictFunctionStart
    return self._start_classifiers[code_type].predict([sample])
KeyError: 0

IDA still continues automatic analysis afterward. Not sure if it worked or didn't. The results are definitely better than after just running a linear analysis on the ROM :)

Thanks for the detailed issue report. Will start working on it right away.
Just one question: Is this an ARM firmware file with the vast majority of functions being in THUMB mode?

I couldn't reproduce the error with struct.unpack("L") expecting 8 bytes instead of 4 bytes. I guess it comes from the type "long" which varies in size, but Python's documentation (in all version) specify this format is being fixed 4 bytes. Instead of just changing it to "I" (int) I'm trying to check this and hopefully notify Python that they need to update their docs.
Could you elaborate on your exact setup and versions:

64bit / 32bits
Does this size requirement in python also consists outside of IDA Pro?

NVM, their documentation was just not clear enough. "L" indeed stands for "long" which is used as "sizeof(long)", hence varies in size.

The firmware is ARM v7 little endian and mostly (only?) Thumb mode.
A few examples are available here: https://github.com/seemoo-lab/polypyus/tree/master/examples/history
I used IDA 64bit but with 32bit analysis.

This pull request fixed all the bugs listed in this issue, at least on my setup. If any of the bugs persist, please feel free to re-open this issue.

Thank you very much for this fast fix :)
The initial error is gone. But it still breaks on the Thumbs Up stage #4 with this message, on both ida and ida64:
Traceback (most recent call last):
  File "/opt/idapro-7.4/python/3/ida_idaapi.py", line 593, in IDAPython_ExecScript
    exec(code, g)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 231, in <module>
    main()
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 223, in main
    result = analysisStart(analyzer, code_segments, data_segments)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/thumbs_up_firmware.py", line 123, in analysisStart
    functionScan(analyzer, scs)
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/analyzer_utils.py", line 179, in functionScan
    if analyzer.func_classifier.predictFunctionStart(line.start_ea, guess_code_type):
  File "/media/sf_seemoo/software/Karta/src/thumbs_up/utils/function.py", line 366, in predictFunctionStart
    return self._start_classifiers[code_type].predict([sample])
KeyError: 0

Sorry for the late response, I saw the notification just now.
The code already supported predicting only the single-supported code type, so that this exception will be avoided. The bug is that I accidentally checked the cpu's supported types list instead of the active supported list. I'm now testing the patch to check that nothing breaks, and hopefully it will be committed very soon.

It would be great if I could add your sample to my test suite. If this is indeed a file from https://github.com/seemoo-lab/polypyus/tree/master/examples/history, could you please share the *.idb / mapping instructions to IDA + list of code segments and data segments as printed out by Thumbs Up?

Yay, it's working now :D Two hours before the deadline, should still work. I'll send you the results, detailed setup, etc. later :)


Improving whole site by fixing some issues

This pull request fixes some problems, like:

Disappearing pages (see #77)
Disappearing projects using Multiformats
Removing outdated dependencies, eventually replacing them with alternatives.
Improving some title properties.
Improving sitemap.xml
Adding robots.txt and adding sitemap to it.

this is really nice, thanks @ben221199; just a couple of items I've commented on inline

Thanks for reviewing @rvagg. I will give a look at them.

I improved the code. The logo now works.


Refactor union-analysis error codes

This PR refactors the logic for Y016, Y030 and Y041 so that all "union members analysis" is undertaken in a single function. This makes the code cleaner, in my opinion. It also makes the code more extensible -- it will be easier to implement additional checks on union members such as #275 after this refactoring has been done.

Thanks for the review! :)


Verified assets universal solution

Need to get rid of defines and move 'verified' to broadcaster to be able to mark assets verified dynamically. This is important for 6.1

Asset ID 1 should have verified icon on masternet
Asset ID 5 (BeamX) should have BeamX icon, color & verified icon on masternet.

Update can take some time. Our broadcaster send this info every 5 minutes on masternet.

Checked


Remove ValueContainer DSL and Provide easier way to configure ValueContainer classes

What on earth is ValueContainer?
A ValueContainer is a class that holds one or more values inside itself.
For example:

MutableLiveData
MutableState
MutableStateFlow
MutableList, MutableSet, MutableMap

These classes are provided as part of other libraries, so they can't be modified. This means they can't be made back-in-time-debuggable.
However, using these classes is common in Kotlin app development. We introduced a concept to define their specifications: ValueContainer.
Several Types of ValueContainer
For now, we can classify ValueContainers into two types:

Value-wrapper

This container wraps a value to provide special features like observable value.
ex) MutableLiveData, MutableState, MutableStateFlow

SelfContained

This type of container manages some sequence or set of values. It usually has a MutableCollection as a superclass. It is a value itself thus self-serializable.
ex) MutableList, MutableSet, MutableMap

Problems with ValueContainer
There are several problems with this concept:

Matching patterns are ambiguous.
Requires knowledge about the internals of the compiler.
Asynchronous value updates can't be captured correctly in some cases.

Matching Patterns are ambiguous
For now, function symbol matching is done only by its name. ValueParameters are completely ignored. This may lead to unexpected compile results. So, it should be fixed.
Requires knowledge about compiler internals
Working with ValueContainers requires an understanding of the internal workings of the compiler. For instance, users need to know that property setters are named in a specific way, like <set-property>. This requirement raises the barrier to entry and can be a significant challenge for developers who are not familiar with compiler internals.
Asynchronous value updates can't be captured correctly in some cases
Raise two examples to describe this issue:

MutableLiveData.postValue
MutableStateFlow.update

MutableLiveData.postValue
The postValue updates value asynchronously. It means we can't capture its value correctly when we write the code like the below:
val mutableLiveData = MutableLiveData(0)
mutableLiveData.postValue(1)
println(mutableLiveData.value) // probably will print 0

So, we should capture the value argument directly instead.
val mutableLiveData = MutableLiveData(0)
mutableLiveData.postValue(capture(1))

MutableStateFlow.update
MutableStateFlow can update its value by invoking a special lambda argument.
val mutableStateFlow = MutableStateFlow(0)
mutableStateFlow.update { it++ }
print(mutableStateFlow.value) // usually print 1, but may print 0...?

In most cases updating MutableStateFlow via lambda functions works well, but we cannot guarantee it.
So, we should capture the last expression of the lambda function.
val mutableStateFlow = MutableStateFlow(0)
mutableStateFlow.update { capture(it++) }

Plans to Resolve these issues
Matching Patterns are ambiguous
-> Provide a way to match argument types
Requires knowledge about compiler internals
-> Provide a way to configure ValueContainers in other modules by using a class with special annotations
Asynchronous value updates can't be captured correctly in some cases
-> Introduce ValueCaptureStrategy like VALUE_ARGUMENT, LAMBDA_LAST_EXPRESSION, and AFTER_CALL.

[UPDATE]
Capturing lambda expression may lead to bad complexity, so I'm going to have two strategies, AfterCall and ValueArgument for now.

I think yaml is the best way to configure ValueContainers. I close this issue and continue discussion on #133 from now.


Some rooms are always on

Some rooms are always on
Hello,
I am reporting a bug that I have encountered several times and that makes it difficult to control the AirZone system with Homekit. Indeed I found that there could be a discrepancy between what Homekit says and the reality of the AirZone system. Indeed, some parts of my system remain permanently on "On" on Homekit when they are actually off. If you try to turn them off via Homekit they seem to be off but when you come back on Homekit they are on again.
I can't figure out where the problem is coming from exactly. I have the impression that at some point the synchronization between Homekit and AirZone is not done and that it causes a "lag" which then causes problems on Homekit.
I made a small video that shows the problem.
https://drive.google.com/file/d/1WEBRjxBsN73tDAT08YGDB364yNAwiwuS/view?usp=sharing
I can bring more explanation if needed.

Hello @vemeo,
Could you put the plugin in debug mode (from the config of the module) and share with me the logs for when you are switching on the device.
Regards,
Javier

If needed I have access to a Aidoo system to test your plugin

Hi @fjhorrillo ,
Thank you for your answer.
I was not able to reproduce the exact same behavior but now I have the opposite happening. When I turn on a zone it turns on well but then it is marked as off in homekit (see video)
https://drive.google.com/file/d/1rEBsZBm37sWzgW-dkPkXwbWTAoxOsysZ/view?usp=drivesdk
Here are the logs I get after doing the video manipulation (I cut the different token and id with "..."


SHA1 Deprecation notice

Docs Build status updates of commit 83707ee:
:warning: Validation status: warnings

File
Status
Preview URL
Details

bread/toc.json
:warning:Warning

Details

toc.json
:warning:Warning

Details

sysinternals/Announce/SHA1Deprecation.md
:white_check_mark:Succeeded
View

sysinternals/index.md
:white_check_mark:Succeeded
View

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\czka\bread\toc.json'.

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\czka\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update: Musescore.Musescore version <IP_ADDRESS>8021803

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Domain


Please add PULI models

https://huggingface.co/NYTK/PULI-LlumiX-32K
https://huggingface.co/NYTK/PULI-GPT-3SX

Seems those model are very niche as they target only one language. Why not using a Modelfile?


fix: support thunk values for fetchOptions parameter

Types of changes

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

Description

Note: This PR is technically a new feature. Considering v7.0.0 was just released and fetchOptions is not yet widely used, I think we can considering this addition a patch in the spirit of: "this should have been included in the original version."

This PR adds the ability to provide thunks to the fetchOptions parameter. Before this PR, only plain objects could be provided.
import { createClient } from "@prismicio/client";

const client = createClient("example-prismic-repo", {
  // `url` is the network request's URL, allowing for customization per network request.
  // `init` is the calling method's resolved `fetchOptions`, if given.
  fetchOptions: (url, init) => {
    return {
      cache: "no-store",
      ...init,
    };
  },
});

// The client's default `fetchOptions` take priority.
const page = await client.getByUID("page", "home", {
  // `url` is the network request's URL, allowing for customization per network request.
  // `init` is undefined.
  fetchOptions: (url, init) => {
    return {
      cache: "no-store",
    };
  },
});

Note that the client's fetchOptions take priority. This means that in order to override fetchOptions from a method, the client method must use a thunk and merge the init value.
Use case
Using a thunk is needed to selectively apply a Next.js fetch() tag to a request. We need to tag /api/v2 requests differently from /api/v2/documents/search requests.
With the appropriate tags, we can selectively revalidate (i.e. clear) the cache programmatically via next/cache's revalidateTag() function.
const client = prismic.createClient(repositoryName, {
  routes,
  fetchOptions: (url, init) => {
    return {
      cache: "force-cache",
      ...init,
      next: {
        ...init?.next,
        tags: [
          "prismic",
          /\/documents\/search\/?/.test(url)
            ? "prismic-query"
            : "prismic-repository",
          ...(init?.next?.tags || []),
        ],
      },
    };
  },
  ...config,
});

Checklist:

[x] My change requires an update to the official documentation.
[x] All TSDoc comments are up-to-date and new ones have been added where necessary.
[x] All new and existing tests are passing.

🐻❄

Codecov Report

Merging #299 (ee7599a) into master (92b1701) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head ee7599a differs from pull request most recent head 8084857. Consider uploading reports for the commit 8084857 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##           master     #299   +/-   ##
=======================================
  Coverage   99.94%   99.94%
=======================================
  Files          49       49
  Lines        5764     5808   +44
  Branches      303      302    -1
=======================================
+ Hits         5761     5805   +44
  Misses          3        3

Impacted Files
Coverage Δ

src/createClient.ts
100.00% <100.00%> (ø)

src/index.ts
100.00% <100.00%> (ø)

src/lib/castThunk.ts
100.00% <100.00%> (ø)

Thanks for the review! 🙂
I'm going to close this PR since it is no longer needed for Next.js apps. We discovered a simpler way to manage the cache that does not require a thunk.
const client = createClient("example-prismic-repo", {
  // `url` is the network request's URL, allowing for customization per network request.
  // `init` is the calling method's resolved `fetchOptions`, if given.
  fetchOptions: {
    cache: process.env.NODE_ENV === "production" ? "force-cache" : "no-store",
    next: { tags: ["prismic"] },
  },
});


Add missing documentation

Closes #180, #1233.
This adds documentation for text queries and adds a note about inverse @ReferenceOne annotations not being lazy-loaded using proxies.

Merged manually in https://github.com/doctrine/mongodb-odm/commit/a124bfa2cf443b88449f3df69a7f1aca394455e9


remove duplicate commands in main

kube was erronously being added as main subcommand multiple
times. it should not be a subcommand as it should live under
either play or generate.
also removing the addition of the volume command from the commands.go
to eliminate a duplicate.
Signed-off-by: baude<EMAIL_ADDRESS>

LGTM

/lgtm


Proof of Concept of playwright, running playwright in CI

Jira ticket for this change
Summary
Proof of concept converting cypress tests to playwright to confirm that playwright is a better tool for us than cypress.
this article explains the pros and cons pretty well.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the UI locally.
make client_run

Terminal 2
Start the Go server locally.
make server_run

Terminal 3
PLAYWRIGHT_MY_URL="http://milmovelocal:3000" \
PLAYWRIGHT_ADMIN_URL="http://adminlocal:3000" \
PLAYWRIGHT_OFFICE_URL="http://officelocal:3000" \
playwright test

Verification Steps for Author
These are to be checked by the author.

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

:warning:
This PR does not include changes to unit tests, even though it affects app code.

  Generated by :no_entry_sign: dangerJS against df7db188d9e4279edc609d1dd395ba79ae8f4c91


Rancher HA 1.2.0: issues after upgrade from rancher 1.1.4

Rancher Version:
1.1.4 to 1.2.0
Docker Version:
1.10.3
OS and where are the hosts located? (cloud, bare metal, etc):
aws/rancherOS v0.4.5
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA
I dont see any process listening on 8080 from inside the server container.
root@cf5d8eef9b16:/# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp6       0      0 :::9345                 :::*                    LISTEN
tcp6       0      0 :::8081                 :::*                    LISTEN
tcp6       0      0 :::8082                 :::*                    LISTEN
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         STREAM     CONNECTED     2620329
unix  2      [ ]         STREAM     CONNECTED     2620381

on my fresh working setup I have:
root@91bbf7962000:/# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp6       0      0 :::9345                 :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
tcp6       0      0 :::8081                 :::*                    LISTEN
tcp6       0      0 :::8082                 :::*                    LISTEN
tcp6       0      0 :::8088                 :::*                    LISTEN
tcp6       0      0 :::8090                 :::*                    LISTEN

some logs

Upgrade Steps:

Stop and rm all old rancher server/HA related containers.
Start a new container using the Rancher HA command with the specified arguments pointing to the same DB.

this is working with -rc1 from what I can tell.


Failed to dial through 0 known relay hosts

when i follow examplex-echo，in the 2nd terminal, i got the error:
2018/10/29 17:00:06 I am /p2p-circuit/ipfs/QmSNfGzsTDf7RDUtXiZSbmyEqz5tawrtkn7DrQ5GxeYNUM
2018/10/29 17:00:06 Now run "./echo -l 10002 -d /p2p-circuit/ipfs/QmSNfGzsTDf7RDUtXiZSbmyEqz5tawrtkn7DrQ5GxeYNUM -secio" on a different terminal
2018/10/29 17:00:06 opening stream
17:00:06.157  INFO     swarm2: got error on dial to /p2p-circuit: <peer.ID QmxeYNUM> --> <peer.ID QmkzqPAp> dial attempt failed: Failed to dial through 0 known relay hosts swarm_dial.go:382
2018/10/29 17:00:06 dial attempt failed: <peer.ID QmxeYNUM> --> <peer.ID QmkzqPAp> dial attempt failed: Failed to dial through 0 known relay hosts

That's because of a recent change in libp2p, which enables relay by default. The code is faulty and blindly uses the first address, which happens to be a relay address.
Possible solutions:

pass libp2p.DisableRelay() to libp2p.New to turn off relay
fix the code to be more clever about the use of addresses and don't try to dial the relay address.

edit: the simplest solution is to print all addrs in the I am ... part, not just the first address.

it is not ok for me, when i dial other address such as <IP_ADDRESS>,  the error is:
19:53:38.817 WARNI     swarm2: listen on /ip4/<IP_ADDRESS>/tcp/10000 failed: listen tcp4 <IP_ADDRESS>:10000: bind: can't assign requested address swarm_listen.go:25
19:53:38.817 WARNI     swarm2: swarm listener accept error: process closing swarm_listen.go:77
2018/10/29 19:53:38 failed to listen on any addresses: [listen tcp4 <IP_ADDRESS>:10000: bind: can't assign requested address]
when i pass disableRelay() after libp2p.new, there is nothing change. And i cannot understand the the last word。

pass libp2p.DisableRelay() to libp2p.New to turn off relay
this indeed worked as I added opts = append(opts, libp2p.DisableRelay())
Thank you @vyzo

For me, this does the trick:
// Range over the addresses to find the first non relay address
for _, addr := range basicHost.Addrs() {
  if strings.SplitN(addr.String(), "/", 3)[1] != "p2p-circuit" {

    // Now we can build a full multiaddress to reach this host
    // by encapsulating both addresses:
      fullAddr := addr.Encapsulate(hostAddr)
      log.Printf("I am %s\n", fullAddr)
      if secio {
        log.Printf("Now run \"./echo -l %d -d %s -secio\" on a different terminal\n",
					listenPort+1, fullAddr)
      } else {
        log.Printf("Now run \"./echo -l %d -d %s\" on a different terminal\n",
					listenPort+1, fullAddr)
      }
    }
  }

Is it a realistic scenario to have a relay and not to use it?
Cheers, Stefan


#858 add chat action constants

#858 add chat action constants

@php-telegram-bot/developers
Would we want these all in the Telegram class or a separate class Action that has just those constants in it, i.e.
class Action
{
    const TYPING            = 'typing';
    const UPLOAD_PHOTO      = 'upload_photo';
    const RECORD_VIDEO      = 'record_video';
    const UPLOAD_VIDEO      = 'upload_video';
    const RECORD_AUDIO      = 'record_audio';
    const UPLOAD_AUDIO      = 'upload_audio';
    const UPLOAD_DOCUMENT   = 'upload_document';
    const FIND_LOCATION     = 'find_location';
    const RECORD_VIDEO_NOTE = 'record_video_note';
    const UPLOAD_VIDEO_NOTE = 'upload_video_note';
}

We'd also have to decide what namespace to put them in.

+1 for separate class

ChatAction class wouldn't be more meaningful?
class ChatAction
{
    /**
     * Typing chat action
     */
    const TYPING = 'typing';

    /**
     * Upload Photo chat action
     */
    const UPLOAD_PHOTO = 'upload_photo';

    /**
     * Record Video chat action
     */
    const RECORD_VIDEO = 'record_video';
    .....

usage
Request::sendChatAction([
    'chat_id' => $chat_id,
    'action'  => Longman\TelegramBot\ChatAction::TYPING,
]);

ChatAction class wouldn't be more meaningful?

Absolutely! Thanks for the fixed PR :+1:


.pdf Robert L. Walker: Supplement

Mailing Address font should actually be made bigger.

Font size should increase. This is the image at 164%, odds are that no human managing a billion applications can read font that small.

Adding issue #2: That particular address field is mailing address, but shows current address. field labeling needs update.


SharedPreferencesAccountCredentialCache should skip AccountRecords/Credentials it cannot deserialize

Currently, if deserialization of an AccountRecord or Credential fails, it is removed from the cache.
Instead of assuming that it is corrupt, the SharedPreferencesAccountCredential should assume that the JSON payload may have been encrypted by another SharedPreferencesFileManager whose encryption keys are different.

@heidijinxujia @addev-ashish ^^


Hostname bug

do this last

Look in convert_pattern.py for the change to the code.
The example observable-with-networkconnection-pattern.json tests hostname for src, and ip_address for dst
I tested it with both, and the warning message was printed.  However, since we don't check the warning messages when testing, I'm not sure adding it to the idioms would be useful.  What do you think?

It's okay without, but adding it to the idioms would at least exercise each code branch and ensure they don't raise any errors.

Codecov Report

Merging #281 (5621ced) into master (9bba779) will increase coverage by 0.03%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master     #281      +/-   ##
==========================================
+ Coverage   68.22%   68.26%   +0.03%
==========================================
  Files          20       20
  Lines        6984     6986       +2
==========================================
+ Hits         4765     4769       +4
+ Misses       2219     2217       -2

Impacted Files
Coverage Δ

stix2elevator/options.py
77.47% <ø> (ø)

stix2elevator/convert_pattern.py
73.95% <75.00%> (+0.14%)
:arrow_up:

Continue to review full report at Codecov.

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


Added Ollama for Easier access to LLM Models

Ollama - https://ollama.com/ provides an easy and quick way to run quantised models on consumer as well as GPU accelerated hardware. We would like to use some of the open-source models made available by Ollama with it's OpenAI APIs for the competition. Please allow us to add ollama to the runtime.
Also updated pip dependencies to install LanceDB

@sidharthramesh A few questions before accepting:

Is there a reason the ollama python client library is not sufficient?

Rather than invoking the general install script, can you pin the install to a specific version?

Re: your comment

We would like to use some of the open-source models made available by Ollama with it's OpenAI APIs for the competition.

Please note that, as per the rules, only submissions that use open-source code libraries and models are eligible for prizes. Also note that the runtime does not have internet access so that even if OpenAI models were prize-eligible (which they are not), you cannot access the OpenAI API from the runtime.


Tab stops on the last arrow navigation group

When we only have arrow navigable groups, the tabbing stops at the last group. We expect it to go out to the browser controls, or in the fullscreen case, cycle back to the first navigable group.
In this example: https://codesandbox.io/s/blissful-http-9r31z0?file=/example.tsx if you keep tabbing, you can see that the tabbing stops at the last group of arrow navigable group. Note: you need to open the example page itself to see this happening: https://9r31z0.csb.app/
To extra clarify: when we are at fullscreen, we expect that the first tab goes to the first group, the second tab goes to the second group, the third goes back to the first group and so on. But currently, the third and subsequent tabs will just stay on the last group.
I've tried exploring the useArrowNavigationGroup and useFocusableGroup hooks to see if there is something there we can use to achieve this, but no success.
Is this a bug? Any suggestions?

@ling1726 Hi! Did you have a chance to investigate this? Any suggestions?

@ling1726 Hey! Gently ping. Just wanted to know if there has been any news or any insights about this. Thanks!

@rdossantos2531 I can't repro what you have described in this issue. When I open your sandbox https://9r31z0.csb.app/ I can see that tab moves to the browser window

@ling1726 I tested on Edge Windows, Edge On MacOS, Safari on MacOS. I repo the bug. Tab control does not return to Browser window when using tab after last tabster element. When using shift tab, it returns properly.

I just started to repro it now, we will look into this

@ling1726 Hi! Do you have any estimates on this? No trying to rush, just really wanted to know if we have an estimate. Thanks!

@rdossantos2531 I've been trying the repro and I've noticed something interesting. If you hit the full page example directly https://9r31z0.csb.app/ it's reproable because the Open in Sandbox button is actually an iframe. Tabster finds this iframe and ignores it.
However if you open the codesandbox and open the full page view from there this button is not displayed and I can tab through without any problems.

@ling1726 Oh, interesting! Good to know that.
But our scenario, thought, is related to fullscreen. Go to full page view, as you described, and click the last button. You'll get to fullscreen.

From there you can try tabbing, and you'll notice the after tabbing to the last element, if we tab again, the focus just stays there. We wanted to know if there is a way to make the tab cycle around back to the first group of elements. It is an accessibility concern for us that we make the tabbing cycle around when in full screen. Any thoughts?


The Mac OS version is unsigned

Sfizz is unsigned for Mac (Catalina OS and newer). It feels sketchy at best, and probably scares a lot of people away at the door.
Didn't it use to be signed?

Seems to me that this started in #1087, where Paul gave an answer about this topic, though I need to understand if we can restore the code signing automation jpcima did or it's useless without paying the apple' protection money.
Might be interest also reading this doc about the topic.


kubecon: improve contribution guidelines for less clicks

We want for the tutorial an easy intro for people with 60 mins to make a contribution.

[ ] a no clicks into to making a contribution to frontend / backend / app
[ ] lint tool for commit messages

[ ] can it be introduced with our pre commit hooks ("husky" in frontend)?

Currently our commit messages guide lines are a bit hard to find, and our contribution guidelines are not straight forward on one page. The kinvolk contribution repo is archived.
I looked into a commit lint tool, but need to figure out if it can be configured for our format. Since it uses "`context(feature):" style by default.

For the git comments, we follow the linux kernel style format. First subject line in imperative mood at 50 chars max starting with the context. Then more description if it's needed in the body 72 chars after a blank line.
eg.
frontend: TastyFood: Add component to show delicious food

Body goes here with extra if you need it in 72 chars per line... It allows
showing tasty food. We needed this because tasty food deserves to be
shown in a special way.

We do atomic commits with one commit containing a self contained thing.

Related to

https://github.com/headlamp-k8s/headlamp/pull/2414


Add aggregate.py tests

This PR adds tests for the remaining functions in aggregate.py.
@jdebacker I'm having some trouble generating data with the right dimensions for the functionrevenue.  What are the expected dimensions for w , e and n?

@hdoupe thanks for opening this PR.
Re dimensions:

w is a scalar or vector of varying length (up to length T+S)
e is S by J
n is S by J or T by S by J (where the first dimension will actually varying in length up to T+S - same as length of w)

For the function aggregates.revenue, I'm having trouble getting the case where I.ndim == 3 and etr_params.ndim == 3.  @jdebacker do you have any idea what the dimensions should be to make this case work?
Also, I'm not sure if I can get the case where eter_params.ndim == 4.  It seems like for every TPI case (which I think means I.ndim == 3) in the function revenue, etr_params is sliced by j.  Since etr_params is at max 4 dimensions (at least I think this is the case), the highest dimension it can be when sent to tax.tau_income is three.
Compared to the other functions in aggregates.py, the revenue function is pretty complicated.  So I saved the results from the runs on the test data and then the future results will be compared to the results that I saved this morning.  @jdebacker and @rickecon does this sound sensible?

@hdoupe The docstring for aggregates.revenue() doesn't see to be quite correct.  etr_params is going to be TxSxJxM, where M = number of parameters in the ETR function.  When slicing, we are always trying to keep that trailing dimension as the number of parameters.  Note that The ETR function does not vary over J, but is tiled along the way to make array operation easier.
I is never more than three dimensions.  It is TxSxJ.

Also, I'm not sure if I can get the case where eter_params.ndim == 4. It seems like for every TPI case (which I think means I.ndim == 3) in the function revenue, etr_params is sliced by j. Since etr_params is at max 4 dimensions (at least I think this is the case), the highest dimension it can be when sent to tax.tau_income is three.

I think what you are saying is right.  etr_params can enter aggregates.revenue() as a 4D object, but after the slicing on lines 251-264, it is never more than 3D when passed to tax.tau_income().   But I'm not sure of the issue it raises -- other than the fact that we probably want to refactor the code to do some  better array broadcasting in tax.py so that we don't need to loop over j in places like aggregates.revenue() so that thinks are cleaner and we avoid confusing slicing as much as possible.

@jdebacker Thanks for the quick reply.

I think what you are saying is right. etr_params can enter aggregates.revenue() as a 4D object, but after the slicing on lines 251-264, it is never more than 3D when passed to tax.tau_income(). But I'm not sure of the issue it raises

Ah right, I was thinking that we didn't need the if statement for etr_params.ndim == 4.  But I looked again and saw that tax.tau_income is called from other places in the code where etr_params might be 4 dimensions.

I think this should be ready to merge if you guys are OK with the tests that I've added.
When I call aggregates.revenue using TPI parameters, it returns an an array of length T.  I saved the output to a csv file and plan to compare that with future results.  However, I could reduce the size of T to 30 or 40 and keep the arrays in the test_aggregates.py file.  What do you guys think?
@jdebacker @rickecon

@hdoupe I think I'd have preference to keep things in the test_aggregates.py file.  If the function works with T=30, I don't see why we'd expect any different behavior with T being larger.

@jdebacker Ok that makes sense.  The most recent commit uses T = 30 and S = 20.

The sum over the S and J dimensions should be one.
Sent from my iPhone

On Sep 1, 2017, at 2:17 PM, Henry Doupe<EMAIL_ADDRESS>wrote:
@hdoupe commented on this pull request.
In ogusa/tests/test_aggregates.py:

 aggI_TPI_test = ((1 + g_n) * np.exp(g_y) *

                  (K_p1 - res_matrix.sum(1).sum(1) / (1 + g_n)) -
                  (1.0 - delta) * K)
 aggI_TPI = aggr.get_I(b_splus1, K_p1, K,
                       (delta, g_y, omega, lambdas, imm_rates, g_n, 'TPI'))
 assert (np.allclose(aggI_TPI, aggI_TPI_test))

+def test_get_K():

"""
Simulate data similar to observed
"""
T = 160
s, j = 40, 2

b = -0.1 + (7 * np.random.rand(T * s * j).reshape(T, s, j))
omega = 0.5 * np.random.rand(T * s).reshape(T, s, 1)
lambdas = 0.4 + (0.2 * np.random.rand(j).reshape(1, 1, j))
If I do normalize omega, which dimensions should sum to 1?

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

@jdebacker I made the suggested changes.  Do you think this is ready to merge?

@hdoupe Yes - thanks.


Postgres: Deleting a record that doesn't exist gives a bad error

Problem
The error we get back from bigserial ids it not very nice.
await prisma.types.delete({
  where: {
    bigserial: "non-existent id",
  },
})

PrismaClientKnownRequestError2:
Invalid `prisma.types.delete()` invocation in
/Users/m/Go/src/github.com/prisma/qa-native-types/index.ts:72:30

   68 //   },
   69 // })
   70
   71 console.log(
→  72   await prisma.types.delete(
  Query interpretation error. Error for binding '0': RecordNotFound("Record to delete does not exist.")
    at PrismaClientFetcher.request (/Users/m/Go/src/github.com/prisma/qa-native-types/node_modules/@prisma/client/runtime/index.js:15871:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'P2016',
  clientVersion: '2.10.0-dev.58',
  meta: {
    details: `Error for binding '0': RecordNotFound("Record to delete does not exist.")`
  }
}

Suggested Solution
Remove Query interpretation error. Error for binding '0':

We have the same happening to us on MariaDB with ints:
Prisma version: 2.22.1
const nonExistingId = 1234;
this._prisma.someModel.delete({
  where: {
    someId: nonExistingId,
  },
})

driver_1  | InterpretationError("Error for binding \'0\'", Some(QueryGraphBuilderError(RecordNotFound("Record to delete does not exist.")))) +41845ms
driver_1  | Error: Error occurred during query execution:
driver_1  | InterpretationError("Error for binding \'0\'", Some(QueryGraphBuilderError(RecordNotFound("Record to delete does not exist."))))
driver_1  |     at /usr/src/app/node_modules/@prisma/client/runtime/index.js:27757:19
driver_1  |     at processTicksAndRejections (internal/process/task_queues.js:95:5)

Is this the full error message here @stemis? No PrismaClientKnownRequestError from Prisma Client? That would make this a pretty bad bug vs. just an inconvenient error message. Or should the deletion actually work but does not?

@janpio Yes this is the full error message. I do have to note that we are running the promise returned from delete via prisma.$transaction(). The delete should function as delete if exists for our use-case, but instead, it's throwing the above error if the record is not in the database.
Be happy to provide you with more information, please let me know what you need!

Ok, the $transaction makes this definitely a separate problem - can you open a new bug issue and fill the complete issue template? Maybe you can try to see if this happens in a new, minimal reproduction project you could put on Github and link to? That would be awesome.

deleteIfExists?

Same issue here as well.  Feel like it shouldn't require a different method, just handle more gracefully?

Would be great to have something akin to the following for delete():
await this.prisma.product.delete({
    where: {
      id: product.id,
    },
    rejectOnNotFound: false,
});

The current behavior makes things hard to deal with when trying to write idempotent functions for handling Stripe webhooks etc.

is there any plan for this problem?
I'm also facing the case where I need to update an object, with nested object nullable, and to delete it, I will have to first read the db to known if the nested is set or not, to put { delete : true } or undefined in the update nested property.
this.prisma.client.update({
      where: { id: client.id },
      data: {
        name: client.name,
        // ...

        billingAddress:
           billingAddressData
               ? { upsert: { create: billingAddressData, update: billingAddressData } }
               : hasPreviousBillingAddress ? { delete: true } : undefined,

        shippingAddress:
           shippingAddressData
               ? { upsert: { create: shippingAddressData, update: shippingAddressData } }
               : hasPreviousShippingAddress ? { delete: true } : undefined,
      },

Facing a similar issue as well:
An operation failed because it depends on one or more records that were required but not found. Record to delete does not exist.

Right now I'm catching it in a try-catch but would love to be able to have a similar function as upsert but for deletes :)

you can catch it until the delete if not exists is implemented is changed
await prisma.entity.delete({
  where: { id: product.id }
}).catch()

This also surfaces an error via https://www.npmjs.com/package/@quixo3/prisma-session-store when it tries to invalidate sessions that were already cleaned up. As others mentioned, it should really be idempotent like the underlying SQL operation IMO

+1

My work around for this was to change delete for deleteMany. Hope it helps

It is quite absurd this doesn't exist yet even though the issue was opened 3 years ago...

@ansh fr

@nogy21 I think that if you re-throw the error in catch it's for all intents and purposes the same as just not catching in the first place. My understanding is that whether your "catch" function throw an error / returns a rejected promise is what determines the outcome of the original promise. The way I think about it is anything returned or thrown from then/catch will "become" the original promise. If you don't want any rejected promise you should probably not throw any error in the catch handler

I'm using deleteMany for now, since the email field is unique, I know it's a safe operation
prisma.user.deleteMany({
    where: { email }
}),

+1

I am encountering the same annoying issue, when updating a record and passing delete: { true }, for one of the relations.

Any update?
deleteMany is NOT a workaround because it doesn't work for 1 <-> 1 relations (works for 1 <-> N)
catch is NOT a workaround because it doesn't work for nested / inline delete

I am encountering the same annoying issue, when updating a record and passing delete: { true }, for one of the relations.

Did you find a fix?

Are there any workarounds available for one-to-one relationships?

Are there any workarounds available for one-to-one relationships?

It ain't pretty but works for me:
    this.prisma.user.delete({ where: { id: id } }).catch((e) => {
      if (e instanceof Prisma.PrismaClientKnownRequestError) {
        if (e.code === 'P2025') {
          throw new NotFoundException(`Can't find user with id ${id}`);
        }
      }
      throw e;
    });

On my relation, I use onDelete: Cascade  to also remove all relational registers.
references:
https://www.prisma.io/docs/reference/api-reference/error-reference
https://www.prisma.io/docs/concepts/components/prisma-schema/relations/referential-actions

@mindlid Based on the above comment, I'm using it as follows.
await prisma.entity.delete({ where: { id } }).catch(() => {
  throw new NotFoundException(`Can't find item with id ${id}`);
});

Thank you so much!  It works for me with prisma version 5.5.2

@mindlid Based on the above comment, I'm using it as follows.
await prisma.entity.delete({ where: { id } }).catch(() => {
  throw new NotFoundException(`Can't find item with id ${id}`);
});

Thank you so much! It works for me with prisma version 5.5.2

I would recommend against using this approach, as now any error, even a temporary network issue, will be treated the same as "the database answered that there is no record with id $id"...
Checking for P2025 or P2016 seems like a better interim solution...

#9460 doesn't fully cover everything because deleteMany doesn't work for 1 <-> 1 relations.
If we could cover these cases (https://github.com/prisma/prisma/issues/4072#issuecomment-1557486529) without throwing an error it would be perfect.
It also doesn't matter if we know the error code, this try <-> catch doesn't work if we do a nested delete.
Ideally, when the record to delete doesn't exist it should just ignore that and proceed further.

Isn't that what #9460 suggests though @atumas-bananamilk?
If it is missing there, could you please leave a comment on it to add that aspect?
Afterwards I think we could close this issue here and focus our effort on the deleteIfExists issues instead on this misnamed one.

Hi. I come from the future, and this issue is still open for the next 2 years.

Hi. I come from the future, and this issue is still open for the next 2 years.

true

That used to work smoothly when I was making my queries by hand in Postgres. Guess I'm gonna have to implement a workaround by searching at where I want to delete, then if there's a return I delete, and if there's none, I don't.

Here's the workaround I've just implemented in my project. Luckily for me, the checks were only necessary across two tables.
`// This is all the BS I have to do because Prisma currently does not support "delete if exists"
if (!userQuestion) {
// First, I find if there is an incorrect userQuestion regarding only its userQuestion fields.
let deletableUserQuestion =
await findDeletablePreExistingUserQuestionAtUserIdAndQuestionId(
verifiedUser.id,
question.id
);
if (!deletableUserQuestion) {
  // Second, if that test is passed, I find if there is an incorrect userQuestion regarding only its answer fields.
  deletableUserQuestion =
    await findDeletablePreExistingUserQuestionAnswerAtUserIdAndQuestionId(
      verifiedUser.id,
      question.id
    );
}

if (deletableUserQuestion) {
  // Then, if either tests return such an incorrect userQuestion, then I delete it.
  await deleteUserQuestionAtUserIdAndQuestionId(
    verifiedUser.id,
    question.id
  );
}

}
// And now that I know for sure any incorrect userQuestion at userId and questionId is deleted if it existed, that's when I can create or update the new userQuestion and answer I initially intended to simply create.`

@vuhieutopicus

Any updates on this?
I have a table who can be referenced in many other tables as fk/ids at the same time, and those tables also contains other relations, i can't update those nested relations, can't upsert them, can't delete them, not to talk about the amount of logic to determine if a object should be deleted or just updated because no operation on prisma works as described on the documentation.
A(id: 1, b: B(id: refA(1),attrs: [C(id: refAFromB(1)),C(id: refAFromB(1))]), f: F(id: refA(1), g:G(id: refA(1), h:H(id: refAFromG(1)))),);
Until now, my work arounds were based on creating transactions to slowly fix some relations until it is okay to finally update my main entity, but i guess that's not only me based on the amount of comments here.