How can I implement the dot product (torch.mul()) of a dense matrix and a sparse matrix?

I have a mx1 dense matrix D and a mxm sparse matrix S. I implemented that by torch.mul(S.to_dense(), D), and transformed the result into a sparse tensor, but the GPU memory is not enough and running on CPU is too slow for large m. I wonder if there is a fast/sparse implementation of torch_geometric for this, without converting S to a dense matrix (converting D to sparse is acceptable \ (•◡•) /). Thanks for your help ≧◠◡◠≦✌

You can do the following:
row, col = edge_index  # Indices of S
edge_weight # Values of S
D_row = D[row]

out = D_row * edge_weight

You can do the following:
row, col = edge_index  # Indices of S
edge_weight # Values of S
D_row = D[row]

out = D_row * edge_weight

Thanks for your kind and timely reply. By the way, I changed the last line 'out = D_row * edge_weight' into 'out = D_row * edge_weight.squeeze()', that really works ^_^

Hi, I have another question:
If I want to put a sparse mask M on a sparse matrix S, except for implementation via M * S, how can I operate on edges and indices to save time and memory?

I am not sure I understand, but what about removing the edges in S that also lie in M?

Sorry, maybe my description is not clear enough. What I want to do is to preserve the edges in S that the mask sparse matrix M also contains (or remove the edges that M doesn't have), so that the indices of target sparse matrix S are exactly the same as M.
So, how can I implement this? (Maybe how to finding out the common edges they have and delete the others?)

There is no PyTorch function for that, but can do use numpys isin1d function for that. You can convert sparse indices to a 1d via:
idx = N * row + col

Thanks for your kind and fast reply, I will have a try on that conversion. I thought there could be an implementation without using 'M * S' (sad...T_T).


Critical: Please Upgrade media pipe library and use NPM library rather script

can you upgrade to latest media pipe? There is some intermittent issue I keep seeing.

any update

Sorry for the delay. Been a little busy. Will look into this asap

thank you!

I am consistently seeing these 2 errors. By any chance do you know what could lead to it? Is the canvas input in segmentbackground not checked for null. But I am checking it should not be null.

Another critical is blur not working in ios @akhil-rana  not even in the latest 13 pro.

I think this might be safari issue.
I don't have ios device. Can you check for chrome in latest ios?

Checked on ios not working in chrome too

I suspected this too.
Canvas filter should be supported on chrome though. But not sure how chrome on ios handles this. Works alright on macOS (even in safari)
Anyway
I'll add the polyfill as a fallback.

Thank you so much! The other parts are working flawlessly but need better error handling. Maybe put try-catch something when you.
Why do you want to limit it to chrome only if it is working in safari and blur is only giving an issue?

Chromium is a standard now a days and safari usually follows it later on. So focusing on chrome first usually solves everything else.
But yeah it's a major hassle. I've tried other methods for canvas blur but nothing is as good on performance as canvas filter. But fallback should be there anyway I think.
Pretty sure safari will add it down the line as they always do.

Yes the safari is slow not sure when they will natively add but huge population who use ios use it so cannot let it be ignored from our side.

I am consistently seeing these 2 errors. By any chance do you know what could lead to it? Is the canvas input in segmentbackground not checked for null. But I am checking it should not be null.

I can't reproduce this issue on my own. Atleast not in my demo project https://demo.virtualbg.akhilrana.com/

Checked on ios not working in chrome too.
Checked your implementation looks you are using canvas filter. Very simple fix just adds a polyfill. We need this ASAP before resorting to make the private fix.
https://stackoverflow.com/questions/51549143/context-filter-not-working-on-safari https://github.com/davidenke/context-filter-polyfill
Please see other implementations
These 2 work fine.
https://volcomix.github.io/virtual-background/ https://vinooniv.github.io/video-bg-blur/

Hey @djaffer
I looked into the code for https://volcomix.github.io/virtual-background/ here as you suggested that it is working for the blur feature. And it looks like that its also using ctx filter as described here in the readme and used here but it still works as you say.
So I'm a bit confused and I think apple might have added ctx.filter to safari (As I've tested on latest macOS)
Though I'll still work on adding a fallback just in case.

Hi Macos and ios Safari might not be same in terms of feature support. You can make an account on https://www.lambdatest.com/ and see if it works or any other simulator.

@akhil-rana any update? Can you just upgrade the version very least.

Hi there is no update available. I've compared the cdn files from my code vs the latest. They are the same.

Ok. When I checked there was.

The mobile performance after trying multiple times seems to have an issue. Not very stable.

I think that's the issue with mediapipe itself.
But I don't think they have made it with mobile devices in mind. It relies on all the new technologies like wasm, simd, and latest webgl. Many devices lack software or hardware requirements for these.
Also I've not seen google itself promoting background effects on mobile devices. for eg. Google meet and all.
I would say yes you can technically do it for mobiles for many browser. But a native solution in an app will perform highly better.
Also screen background is not supported on mobile devices because of the Screen Capture API which is not available on any mobile device afaik

It is working fine on mobile but not reliable and sees errors. That is ok if you do not want to cater for mobile. Thanks for spending time on this.
It is supported for mobile. The official selfie segmentation demo works flawlessly in mobile. The only issue I can think of is blur canvas in iOS safari other than that it should work well.

It is working fine on mobile but not reliable and sees errors. That is ok if you do not want to cater for mobile. Thanks for spending time on this.
It is supported for mobile. The official selfie segmentation demo works flawlessly in mobile despite what it says. https://codepen.io/mediapipe/pen/wvJyQpq
The only issue I can recognize is blur canvas in iOS safari other than that it works well.

The canvas filter property is the beat way to blur the canvas as I've found.
Other workarounds like forcing Gaussian blur and all have a major performance hit and specially on mobile devices will a little too much.
So I'm not sure if I should do it.

Yeah, most likely we will migrate and write our own due to the issues we are seeing and errors in the console not knowing what is the issue.

I also couldn't reproduce it in my demo as you can see https://demo.virtualbg.akhilrana.com/
I also have the source code for this on github. Maybe you can check it out.
It's not made in react though.
Though it shouldn't be very hard to create a sandbox with basic code snippets from the docs. I may do it someday.

your website does not work even on cell phone

I've just added the alert just in case.
There maybe some UI related issues that can be fixed by using desktop mode in landscape orientation maybe if you really want to use it..
I've mainly added the alert because of performance issues on low end devices and Screenshare not being supported by any browser till date on mobile

The website on android high end phone does not load the camera. Checked multiple phones. You have wrapped in try catch so no errors showing. This is pretty basic.

This is pretty weird.
I just tested on 2 devices (android) on chrome. And camera permission pops up and it works for me.
Can you test on any other browser too? Maybe brave or opera. Works for me in these 2 also.


which languages was xProphetNet pretrained on?

I couldn't find the information in the repo. Sorry, if I missed it.

It's pretrained on 100 languages wikipedia corpus,
including:
af, als, am, an, ang, ar, arz, ast, az, bar, be, bg, bn, br, bs, ca, ceb, ckb, cs, cy, da, de, el, en, eo, es, et, eu, fa, fi, fr, fy, ga, gan, gl, gu, he, hi, hr, hu, hy, ia, id, is, it, ja, jv, ka, kk, kn, ko, ku, la, lb, lt, lv, mk, ml, mn, mr, ms, my, nds, ne, nl, nn, no, oc, pl, pt, ro, ru, scn, sco, sh, si, simple, sk, sl, sq,  sr, sv, sw, ta, te, th, tl, tr, tt, uk, ur, uz, vi, war, wuu, yi, zh, zh_classical, zh_min_nan, zh_yue
More details can be found in the descriptions of XGLUE

Thanks :)


Files "type" in two places but not linked

Currently, the "type" of a Files object is specified both in the Files node and in the Steps when it is listed as an Input or otherwise.
The "type" in the Files node refers to a handle usable by the CodeInterface to distinguish files.
The "type" in the Steps is unused still.  We should decide what use we want this to have.  It seems like the type of Files would make most sense, so for instance,
<Files>
  <Input name='myfile'>myfile.txt</Input>
</Files>
...
<Steps>
  <MultiRun name='run'>
    <Input class='Files' type='Input'>myfile</Input>
    ...
  </MultiRun>
</Steps>

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[ ] 1. Is it tagged with a type: defect or improvement?
[ ] 2. Is it tagged with a priority: critical, normal or minor?
[ ] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[ ] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[ ] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[ ] 1. If the issue is a defect, is the defect fixed?
[ ] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[ ] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[ ] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

closed, #96 can cover this issue.


Don't let the libvirt-kubevirt docker image relabel the whole image

Looks like the the uid change is not used anywhere in the code. Where required 107:107 can be used instead of 1111.
Fixes #465
Signed-off-by: Roman Mohr<EMAIL_ADDRESS>

You'll also neeed to change  cmd/virt-handler/Dockerfile  to use 107 as the uid/gid instead of 1111

@berrange done, thx. let's see if that was all.

The magic '1111' uid is not explicitly used in the code. The only requirement is that the uid/gid of the qemu user is consistent between virt-handler and libvirt.
Setting the uid to 107 is fine. However I'd rather we didn't assume that's the uid the libvirt container uses for 'qemu'
If we don't want to modify the uid for some reason in the libvirt container, can we at least add a explicit check during the libvirt container build steps that verifies qemu is 107, causing the container build to fail if that user/uid combination is not present.

retest this please

@davidvossel yes will add one

retest this please


TypeError: target is undefined with List component

On using List component inside Drawer component , I am getting this error .
Please have al look at this. Thanks.

Please follow our issue template.


Basic kit - Irrigation

As a developer, I would like to be able to build the irrigation part of the basic aeroponics kit.
Suggestion: Document in the wiki where to buy and how-to build the irrigation part of the Basic kit.

Almost done with the documentation in the wiki. I realized that I ordered the wrong "pcb terminal block", so I need to update that part in the wiki. The how-to is done at imgur. After updating the wiki with the correct "pcb terminal block" link and some tool updates that I found when I was building the thing, I can then close this issue. Yay! 🐙

I just realized that the "pcb terminal block" part belongs to another issue. So I can close this one now! To build the irrigation part of the build, go to the wiki to get the list of materials and imgur for the how-to. Happy building!


Support latest buildtools/CXX17

I regularly roll WebNN into GPGMM in my CI [1] and also keep the DEPS synced to Chromium/Dawn to stay build compatible. However, I noticed in my most recent DEPS sync [2] the latest buildtools version breaks third_party/webnn. I think the latest DEPS will require WebNN to support CXX17 at some point so I propose we use this issue to capture the work.
@huningxin @fujunwei
[1] https://github.com/intel/GPGMM/actions/workflows/win_webnn_rel.yaml
[2] https://github.com/intel/GPGMM/pull/117/files#diff-4cc955bcf0b472353786cc8d8b7d346fb432c091bed099de884885e938392814

I think webnn-native should also sync to Chromium/Dawn. @fujunwei , given your recent Dawn refactory, I suppose it would be easier to do so, correct?

Yea, too bad we don't have a auto-roller workflow/bot [1] =(
[1] https://chromium-review.googlesource.com/q/owner:chromium-autoroll%2540skia-public.iam.gserviceaccount.com

I think webnn-native should also sync to Chromium/Dawn. @fujunwei , given your recent Dawn refactory, I suppose it would be easier to do so, correct?

The forked branch implement webnn in Dawn directory structure as sub-folder, DML backend can work now, but the approach still is discussing, so i don't merge to main branch.

@fujunwei shouldn't we keep this issue open until we roll DEPS? I am (still) unable to build third_party\WebNN due to compiler-errors.

Re-opening b/c HEAD or e83ae3e196c276be8e54f5262690fa944d04790d still fails to build under .\third_party and DEPS. Digging deeper, the shared macro DAWN_NO_DISCARD definition is not available to WebNN.


Run opensfm for windows

I have checked at Ubuntu 16.04, two values(13598720) are equal
`Python 3.5.2 (default, Oct  8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

import os
import resource
import psutil
resource.getrusage(resource.RUSAGE_SELF).ru_maxrss * 1024
13598720
psutil.Process(os.getpid()).memory_info().rss
13598720

`
and psutil also runs successfully at Windows
`Microsoft Windows [Version 10.0.17134.950]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\KJ>python
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import psutil
import os
psutil.Process(os.getpid()).memory_info().rss
15052800

`

Tests fail because psutil is not in requirements.txt
@kjkim-kr, did you manage to run opensfm successfully after this fix? If so we could consider adding the dependency.

@paulinus thanks, I didn't know that as I'm poor at using github yet, I will modify it.
Here are log images when I run opensfm after modifying resource to psutil both Windows and Ubuntu
Windows
Ubuntu

Please, would it be possible for you to share a simple guide on how to do this build? for example, pointing the sequence of steps that you did.

@felipe-carvalho Since I am currently a bit stuck on Windows, I am also trying to build OpenSfM on Windows. I am basically able to build OpenSfM with MinGW. The only issue I have run into so far is an ABI issue where ld is unable to link OpenCV and Ceres as pre-built binary dependencies. The dependencies are built with Microsoft Visual C++ which has no stable ABI, but only since version 14 or later (Microsoft Visual C++ 2015). ld does not support Microsoft's C++ ABI yet but there is a workaround I am currently working on. I do not want to build OpenCV and Ceres myself because especially OpenCV is quite complex to build (CMake is not of much help here either :disappointed:).
As soon as I get it running I am going create a PR so that we should have a build path for Windows.


userExists - by mnemonics

Now Mnemonic (Recover) component calls userExists with ({ mnemonics })
But this value isn't passed anywhere, also it doesn't processed on the server.
In this case the request doesn't event sent because of identifier OR email OR mobile check and userExists returns exists: false immediately

[ ] do we need userExists check by mnemonic
[ ] if yes - how it should be implemented on the server ? i do not see mnemonic or its hash in the user records
[ ] if no - could we remove Mnemonic (Recover) component
[ ] as userExists doesn't user anywhere except useCheckExisting and Mnemonic we could simplify it

[ ] remove getting global wallet
[ ] remove let wallet = withWallet || goodWallet and false !== withWallet check
[ ] rename withWallet to wallet

@sirpy could you please assist here ? need your opinion

we need it to work just the same with identifier, email, mobile.
the mnemonic is used to create the wallet and from it you can get the identifier

@sirpy it was removed from the server. could you please pick up some old commits where it was still implemented ?
how does mnemonics stored inside database ? is it some hash (sha3) over the phrase or it's derived from the pkey ?

its not related to server. mnemonic is instead of the private key received from torus. it is on client side.
checking if user exists should happen just the same.

@sirpy it calls for server:
// We validate that a user was registered for the specified mnemonics
const { exists, fullName } = await userExists({ mnemonics })

log.debug('userExists result:', { exists, fullName })

but inside userExist the 'mnemonic' field isn't used
it's also absent server side

i see in this case userExists will check by identifier only
is this ok ?

i've adjusted and simplified user exists / check existing hooks: https://github.com/GoodDollar/GoodDAPP/commit/d941ce9ebe011eabcc99eb9e661d1412e161eb20

@sirpy  then we need to create this temporary wallet before call userExists
how we could do it ?

that's the old code https://github.com/GoodDollar/GoodDAPP/blob/2b61a82df3eda5379e588e3f7cdc893163aefa7a/src/lib/login/userExists.js
but anyways lets put this on hold it is very low priority.


Adding Psi4

This PR attempts to add Psi4 and its dependencies. Most expressions are taken from my Chemix overlay.
Packages to add:

[x] Psi4
[x] QCEngine
[x] QCElemental
[x] Gau2Grid
[x] DKH
[x] DFT-D3
[x] LibEFP and PyLibEFP
[x] PCMSolver

See also the discussion in the NixOS Discourse. As mentioned in the forum, many packages required pinning and tweaks on the CMake flags to get Psi4 running.
If we find nicer versions to get Psi4's Cmake into finding the external dependencies, I would be happy :slightly_smiling_face:

As a starting point here, since this an overlay: it may be easier to test if we agree on a version of nixpkgs to test against. My internal Hydra successfully ran the overlay's master branch against nixpkgs-unstable revision f18ba04.

As a starting point here, since this an overlay: it may be easier to test if we agree on a version of nixpkgs to test against. My internal Hydra successfully ran the overlay's master branch against nixpkgs-unstable revision f18ba04.

Alright :slightly_smiling_face: I don't have a Hydra server at hand, but I will build against this commit on my locale machine then. At the moment I was using my nixos-20.09 channel.

Alright :slightly_smiling_face: I don't have a Hydra server at hand, but I will build against this commit on my locale machine then. At the moment I was using my nixos-20.09 channel.

OK, I am done with adding the packages. They all build properly with nixpkgs-unstable f18ba04. A few things you might want to have a look at (in no specific order)

Your Chemps2 now works with other BLAS implementations
I changed overrideDerivation to overrideAttributes for libint. The former version did not allow multiple overrides. Furthermore I made the angular momentum an optional argument to the function.
I did dirty things to CMake in a few places. These include the libefp derivation itself and many places in Psi4. I basically override every default CMake argument, that came from Nixpkgs. I can't get it to work otherwise. Unfortunately I also have no idea what causes the problem, when using normal Nixpkgs CMake arguments.
Psi4 has a huge test suite and I could never convince it to pass completely (also not outside of Nix). Most tests pass. Others are extremely wrong. However, significantly more tests seem to fail when using another BLAS/LAPACK provider than MKL. I would almost consider allowing only MKL as BLAS/LAPACK provider here. It also builds and works with OpenBLAS and I haven't encountered unphysical behaviour when actually using it, but the test suite concerns me. Performance is also significantly better with MKL.

OK, I am done with adding the packages. They all build properly with nixpkgs-unstable f18ba04. A few things you might want to have a look at (in no specific order)

Your Chemps2 now works with other BLAS implementations
I changed overrideDerivation to overrideAttributes for libint. The former version did not allow multiple overrides. Furthermore I made the angular momentum an optional argument to the function.
I did dirty things to CMake in a few places. These include the libefp derivation itself and many places in Psi4. I basically override every default CMake argument, that came from Nixpkgs. I can't get it to work otherwise. Unfortunately I also have no idea what causes the problem, when using normal Nixpkgs CMake arguments.
Psi4 has a huge test suite and I could never convince it to pass completely (also not outside of Nix). Most tests pass. Others are extremely wrong. However, significantly more tests seem to fail when using another BLAS/LAPACK provider than MKL. I would almost consider allowing only MKL as BLAS/LAPACK provider here. It also builds and works with OpenBLAS and I haven't encountered unphysical behaviour when actually using it, but the test suite concerns me. Performance is also significantly better with MKL.

I find the test suites of many QC program hard to use. It is not easy to judge what it means if a test actually fails. Is it an insignificant deviation from the assert value or is it serious problem. The way most of them are written, they are only useful for the developers. I try to use minimal but representative inputs for testing and check for final energies. This makes it easier to see if something broke after an update.

You are probably right :smile: In this case I would suggest a small DF-OO-MP2.5 optimisation. The dfocc module seemed especially problematic with respect to threading of BLAS.
memory 1 GB
molecule Water {
 0 1
 O
 H 1 0.8
 H 1 0.8 2 110
}

set {
 basis cc-pvdz
 scf_type df
 mp_type df
 reference rhf
}

optimize("omp2.5")

On which CPUs are you running it?

It is an Intel Xeon W-2155 workstation CPU. But the problem with OpenBLAS in Psi4 is not so much the CPU architecture optimisation but the threading behaviour. You only get correct behaviour in dfcocc and some other modules with MKL (OpenMP parallel) or with OpenBLAS with OMP_NUM_THREADS=1, which makes it simply slow by not being parallel.

I find the test suites of many QC program hard to use. It is not easy to judge what it means if a test actually fails. Is it an insignificant deviation from the assert value or is it serious problem. The way most of them are written, they are only useful for the developers. I try to use minimal but representative inputs for testing and check for final energies. This makes it easier to see if something broke after an update.

You are probably right :smile: In this case I would suggest a small DF-OO-MP2.5 optimisation. The dfocc module seemed especially problematic with respect to threading of BLAS.
memory 1 GB
molecule Water {
 0 1
 O
 H 1 0.8
 H 1 0.8 2 110
}

set {
 basis cc-pvdz
 scf_type df
 mp_type df
 reference rhf
}

optimize("omp2.5")

On which CPUs are you running it?

It is an Intel Xeon W-2155 workstation CPU. But the problem with OpenBLAS in Psi4 is not so much the CPU architecture optimisation but the threading behaviour. You only get correct behaviour in dfcocc and some other modules with MKL (OpenMP parallel) or with OpenBLAS with OMP_NUM_THREADS=1, which makes it simply slow by not being parallel.

You are probably right ￼ In this case I would suggest a small DF-OO-MP2.5 optimisation. The dfocc module seemed especially problematic with respect to threading of BLAS.

The test example sounds reasonable. We could add it as separate test to have confirmation that is still works after an update.

It is an Intel Xeon W-2155 workstation CPU. But the problem with OpenBLAS in Psi4 is not so much the CPU architecture optimisation but the threading behaviour. You only get correct behaviour in dfcocc and some other modules with MKL (OpenMP parallel) or with OpenBLAS with OMP_NUM_THREADS=1, which makes it simply slow by not being parallel.

This has been a problem in other contexts too. There are several issues for that. See for example: https://github.com/NixOS/nixpkgs/issues/59901. IIRC on some occasion that problem was coupled to specific SSE/AVX kernels.

You are probably right ￼ In this case I would suggest a small DF-OO-MP2.5 optimisation. The dfocc module seemed especially problematic with respect to threading of BLAS.

The test example sounds reasonable. We could add it as separate test to have confirmation that is still works after an update.

It is an Intel Xeon W-2155 workstation CPU. But the problem with OpenBLAS in Psi4 is not so much the CPU architecture optimisation but the threading behaviour. You only get correct behaviour in dfcocc and some other modules with MKL (OpenMP parallel) or with OpenBLAS with OMP_NUM_THREADS=1, which makes it simply slow by not being parallel.

This has been a problem in other contexts too. There are several issues for that. See for example: https://github.com/NixOS/nixpkgs/issues/59901. IIRC on some occasion that problem was coupled to specific SSE/AVX kernels.

The test case is added and as far as I can tell everything seems to work so far.

The test case is added and as far as I can tell everything seems to work so far.

@sheepforce: I just tried building this from 0d4744f, and got
hash mismatch in fixed-output derivation '/nix/store/ykj5x09a65f6ymyiapmv1zxv0jdlbvmg-source':
  wanted: sha256:0jcvl3chni4f0hddx9blaia3kccfqx7cszrwavp0a35d42n0x5i2
  got:    sha256:1zlihc7hp2vcdcwi82n7xg41bm1vv7n1mx1jdff4w1amhg9rlahm
cannot build derivation '/nix/store/y7dvy3rrj22nvb8qnrsm1nj4b9brxmb6-libefp-1.5.0.drv': 1 dependencies couldn't be built
building '/nix/store/k03vin4b9im2w6p5harm3knbmq1v0zjc-source.drv'...
building '/nix/store/pfsy8cskqsk3c2rrw9gjz3i3jshgzibm-source.drv'...
building '/nix/store/plvrzbb8006gx33zsydknyr9klf8css9-source.drv'...
building '/nix/store/rxxlvcpw6wiaaxc70m5cq21znz3kx0c4-source.drv'...
building '/nix/store/cddgyr4c5hhmhyzwdpnlxkigf4ssg217-splines.tar.xz.drv'...
building '/nix/store/drz9fixsav9mw3x4dz2s0k2hcaa2i9hl-stringenc.tar.xz.drv'...
building '/nix/store/7i7fyij7laazsjl0cyf54syp77b0p2xb-subfig.tar.xz.drv'...
building '/nix/store/88vz6y4cnbxkx4ryb80cyhhrxmf5jlnc-tetragonos.tar.xz.drv'...
cannot build derivation '/nix/store/f1vidvz3xjj4ipp88gfvgnb8j2zcqnan-psi4-1.3.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3a02qp05yhvgqfs6bbp126b7nqdrxn7k-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv' failed

@sheepforce: I just tried building this from 0d4744f, and got
hash mismatch in fixed-output derivation '/nix/store/ykj5x09a65f6ymyiapmv1zxv0jdlbvmg-source':
  wanted: sha256:0jcvl3chni4f0hddx9blaia3kccfqx7cszrwavp0a35d42n0x5i2
  got:    sha256:1zlihc7hp2vcdcwi82n7xg41bm1vv7n1mx1jdff4w1amhg9rlahm
cannot build derivation '/nix/store/y7dvy3rrj22nvb8qnrsm1nj4b9brxmb6-libefp-1.5.0.drv': 1 dependencies couldn't be built
building '/nix/store/k03vin4b9im2w6p5harm3knbmq1v0zjc-source.drv'...
building '/nix/store/pfsy8cskqsk3c2rrw9gjz3i3jshgzibm-source.drv'...
building '/nix/store/plvrzbb8006gx33zsydknyr9klf8css9-source.drv'...
building '/nix/store/rxxlvcpw6wiaaxc70m5cq21znz3kx0c4-source.drv'...
building '/nix/store/cddgyr4c5hhmhyzwdpnlxkigf4ssg217-splines.tar.xz.drv'...
building '/nix/store/drz9fixsav9mw3x4dz2s0k2hcaa2i9hl-stringenc.tar.xz.drv'...
building '/nix/store/7i7fyij7laazsjl0cyf54syp77b0p2xb-subfig.tar.xz.drv'...
building '/nix/store/88vz6y4cnbxkx4ryb80cyhhrxmf5jlnc-tetragonos.tar.xz.drv'...
cannot build derivation '/nix/store/f1vidvz3xjj4ipp88gfvgnb8j2zcqnan-psi4-1.3.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3a02qp05yhvgqfs6bbp126b7nqdrxn7k-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv' failed

Also, in addition to providing psi4 inside pythonPackages accessible as python3.pkgs.psi4, you might consider also adding a buildPythonApplication in the root default.nix, so that users who don't need psi4 inside of a custom python environment with other packages could just add environment.systemPackages = with pkgs; [psi4] to their configs.

Also, in addition to providing psi4 inside pythonPackages accessible as python3.pkgs.psi4, you might consider also adding a buildPythonApplication in the root default.nix, so that users who don't need psi4 inside of a custom python environment with other packages could just add environment.systemPackages = with pkgs; [psi4] to their configs.

@sheepforce: I just tried building this from 0d4744f, and got
hash mismatch in fixed-output derivation '/nix/store/ykj5x09a65f6ymyiapmv1zxv0jdlbvmg-source':
  wanted: sha256:0jcvl3chni4f0hddx9blaia3kccfqx7cszrwavp0a35d42n0x5i2
  got:    sha256:1zlihc7hp2vcdcwi82n7xg41bm1vv7n1mx1jdff4w1amhg9rlahm
cannot build derivation '/nix/store/y7dvy3rrj22nvb8qnrsm1nj4b9brxmb6-libefp-1.5.0.drv': 1 dependencies couldn't be built
building '/nix/store/k03vin4b9im2w6p5harm3knbmq1v0zjc-source.drv'...
building '/nix/store/pfsy8cskqsk3c2rrw9gjz3i3jshgzibm-source.drv'...
building '/nix/store/plvrzbb8006gx33zsydknyr9klf8css9-source.drv'...
building '/nix/store/rxxlvcpw6wiaaxc70m5cq21znz3kx0c4-source.drv'...
building '/nix/store/cddgyr4c5hhmhyzwdpnlxkigf4ssg217-splines.tar.xz.drv'...
building '/nix/store/drz9fixsav9mw3x4dz2s0k2hcaa2i9hl-stringenc.tar.xz.drv'...
building '/nix/store/7i7fyij7laazsjl0cyf54syp77b0p2xb-subfig.tar.xz.drv'...
building '/nix/store/88vz6y4cnbxkx4ryb80cyhhrxmf5jlnc-tetragonos.tar.xz.drv'...
cannot build derivation '/nix/store/f1vidvz3xjj4ipp88gfvgnb8j2zcqnan-psi4-1.3.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3a02qp05yhvgqfs6bbp126b7nqdrxn7k-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv' failed

@rmcgibbo, oh you are right. I somehow messed up git commits and hashes. Could you try again with
8c2dca5 ? :slightly_smiling_face:

Also, in addition to providing psi4 inside pythonPackages accessible as python3.pkgs.psi4, you might consider also adding a buildPythonApplication in the root default.nix, so that users who don't need psi4 inside of a custom python environment with other packages could just add environment.systemPackages = with pkgs; [psi4] to their configs.

I have to admit I don't get what advantage you would gain from this being on the top level in addition. What is wrong with
environment.systemPackages = with pkgs; [
  python3Packages.psi4
];

? :slightly_smiling_face:
As mentioned above I have a hard time with getting Psi4 to run with buildPythonApplication as this project is more driven by CMake rather than Python's setuptools. However, I do not build a custom set of Python packages, as exactly this was causing problems in my usecase. Therefore it should perfectly behave as if built with buildPythonPackage.

@sheepforce: I just tried building this from 0d4744f, and got
hash mismatch in fixed-output derivation '/nix/store/ykj5x09a65f6ymyiapmv1zxv0jdlbvmg-source':
  wanted: sha256:0jcvl3chni4f0hddx9blaia3kccfqx7cszrwavp0a35d42n0x5i2
  got:    sha256:1zlihc7hp2vcdcwi82n7xg41bm1vv7n1mx1jdff4w1amhg9rlahm
cannot build derivation '/nix/store/y7dvy3rrj22nvb8qnrsm1nj4b9brxmb6-libefp-1.5.0.drv': 1 dependencies couldn't be built
building '/nix/store/k03vin4b9im2w6p5harm3knbmq1v0zjc-source.drv'...
building '/nix/store/pfsy8cskqsk3c2rrw9gjz3i3jshgzibm-source.drv'...
building '/nix/store/plvrzbb8006gx33zsydknyr9klf8css9-source.drv'...
building '/nix/store/rxxlvcpw6wiaaxc70m5cq21znz3kx0c4-source.drv'...
building '/nix/store/cddgyr4c5hhmhyzwdpnlxkigf4ssg217-splines.tar.xz.drv'...
building '/nix/store/drz9fixsav9mw3x4dz2s0k2hcaa2i9hl-stringenc.tar.xz.drv'...
building '/nix/store/7i7fyij7laazsjl0cyf54syp77b0p2xb-subfig.tar.xz.drv'...
building '/nix/store/88vz6y4cnbxkx4ryb80cyhhrxmf5jlnc-tetragonos.tar.xz.drv'...
cannot build derivation '/nix/store/f1vidvz3xjj4ipp88gfvgnb8j2zcqnan-psi4-1.3.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3a02qp05yhvgqfs6bbp126b7nqdrxn7k-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/h5r6cn56ixhzv7mfwfsghz9swqk63n0x-home-manager-generation.drv' failed

@rmcgibbo, oh you are right. I somehow messed up git commits and hashes. Could you try again with
8c2dca5 ? :slightly_smiling_face:

Also, in addition to providing psi4 inside pythonPackages accessible as python3.pkgs.psi4, you might consider also adding a buildPythonApplication in the root default.nix, so that users who don't need psi4 inside of a custom python environment with other packages could just add environment.systemPackages = with pkgs; [psi4] to their configs.

I have to admit I don't get what advantage you would gain from this being on the top level in addition. What is wrong with
environment.systemPackages = with pkgs; [
  python3Packages.psi4
];

? :slightly_smiling_face:
As mentioned above I have a hard time with getting Psi4 to run with buildPythonApplication as this project is more driven by CMake rather than Python's setuptools. However, I do not build a custom set of Python packages, as exactly this was causing problems in my usecase. Therefore it should perfectly behave as if built with buildPythonPackage.

I have to admit I don't get what advantage you would gain from this being on the top level in addition. What is wrong with

If it is an application and not a library/pythonPackage then it should be a top-level package in pkgs. If it is under pythonXPackages the user needs to decide which python version is the right one. pythonXPackagesis a place for python libraries.  I also would expect thatenvironment.systemPackages = with pkgs; [  python3Packages.psi4 ];` is potential source of trouble: now you have a python interpreter (and python include paths?) in your global environment, which may collide with with other apps and packages (and other python versions).
I will give it try later today and see if I can come up with a fix or idea for the cmake issue.

I have to admit I don't get what advantage you would gain from this being on the top level in addition. What is wrong with

If it is an application and not a library/pythonPackage then it should be a top-level package in pkgs. If it is under pythonXPackages the user needs to decide which python version is the right one. pythonXPackagesis a place for python libraries.  I also would expect thatenvironment.systemPackages = with pkgs; [  python3Packages.psi4 ];` is potential source of trouble: now you have a python interpreter (and python include paths?) in your global environment, which may collide with with other apps and packages (and other python versions).
I will give it try later today and see if I can come up with a fix or idea for the cmake issue.

Perhaps toPythonApplication can be used to wrap the library as an application. It may be as simple as
psi4 = toPythonApplication python3Packages.psi4;

Perhaps toPythonApplication can be used to wrap the library as an application. It may be as simple as
psi4 = toPythonApplication python3Packages.psi4;

@sheepforce, I'm still having some mismatches with the sha256s:
hash mismatch in fixed-output derivation '/nix/store/0s3ncb296vpdg8gni1c3wm3rff74f8bl-source':
  wanted: sha256:0zkfil7cxjip79wqvhljk1ifjq0cwxzx6wlxgp63b6wbagma0i12
  got:    sha256:1c01flf0xlm68dsv0a4n6bxglyj3x5mj8shmxglfpywbf74i3vnb
cannot build derivation '/nix/store/4wzsizf5pdsx8795i0x19c0gvig85rps-gau2grid-2.0.7.drv': 1 dependencies couldn't be built

with
  (import (builtins.fetchTarball {
    url = "https://github.com/sheepforce/NixOS-QChem/archive/8c2dca55ed2bcb8cc13546789ee5778ce407b4c3.tar.gz";
    sha256 = "130l47jmgs0564767498ak2wr28afszzpbsqracdzgmdf4zp8ll2";
  }))

FWIW I was adding it to my home.nix (home-manager) with
home.packages = [
    ...
  (python3Packages.toPythonApplication python3Packages.psi4)
]

so I think that strategy will work fine.

@sheepforce, I'm still having some mismatches with the sha256s:
hash mismatch in fixed-output derivation '/nix/store/0s3ncb296vpdg8gni1c3wm3rff74f8bl-source':
  wanted: sha256:0zkfil7cxjip79wqvhljk1ifjq0cwxzx6wlxgp63b6wbagma0i12
  got:    sha256:1c01flf0xlm68dsv0a4n6bxglyj3x5mj8shmxglfpywbf74i3vnb
cannot build derivation '/nix/store/4wzsizf5pdsx8795i0x19c0gvig85rps-gau2grid-2.0.7.drv': 1 dependencies couldn't be built

with
  (import (builtins.fetchTarball {
    url = "https://github.com/sheepforce/NixOS-QChem/archive/8c2dca55ed2bcb8cc13546789ee5778ce407b4c3.tar.gz";
    sha256 = "130l47jmgs0564767498ak2wr28afszzpbsqracdzgmdf4zp8ll2";
  }))

FWIW I was adding it to my home.nix (home-manager) with
home.packages = [
    ...
  (python3Packages.toPythonApplication python3Packages.psi4)
]

so I think that strategy will work fine.

@rmcgibbo

Perhaps toPythonApplication can be used to wrap the library as an application. It may be as simple as
psi4 = toPythonApplication python3Packages.psi4;

To expose both the Psi4 python library as a library and the application wrapper as an application.

Wow, why didn't i come up with this? :sweat_smile: It required Psi4 to be build with buildPythonPackage as it otherwise would complain about some missing name attribute. I had a look now again at buildPythonPackage and actually it was not too difficult to build with it instead of mkDerivation. Therefore we now have Psi4 in python3Packages.psi4 and as a python application on top level. :slightly_smiling_face:
(9ccfbeb)

@markuskowa , sorry for the mess with the hashes. I hope that i finally fixed them now. I double checked with nix-prefetch-url. I didn't notice the problem as i had all the files in the store and nix simply used them. Therefore I never got any error.

@rmcgibbo

Perhaps toPythonApplication can be used to wrap the library as an application. It may be as simple as
psi4 = toPythonApplication python3Packages.psi4;

To expose both the Psi4 python library as a library and the application wrapper as an application.

Wow, why didn't i come up with this? :sweat_smile: It required Psi4 to be build with buildPythonPackage as it otherwise would complain about some missing name attribute. I had a look now again at buildPythonPackage and actually it was not too difficult to build with it instead of mkDerivation. Therefore we now have Psi4 in python3Packages.psi4 and as a python application on top level. :slightly_smiling_face:
(9ccfbeb)

@markuskowa , sorry for the mess with the hashes. I hope that i finally fixed them now. I double checked with nix-prefetch-url. I didn't notice the problem as i had all the files in the store and nix simply used them. Therefore I never got any error.

A small problem that I couldn't figure out right now for Psi4, is that the installCheckPhase is not executed anymore by buildPythonPackage. So the test does not run at the moment.

A small problem that I couldn't figure out right now for Psi4, is that the installCheckPhase is not executed anymore by buildPythonPackage. So the test does not run at the moment.

@sheepforce thanks! I can build it now. I will check the cmake issues and see what we can do with the test.

@sheepforce thanks! I can build it now. I will check the cmake issues and see what we can do with the test.

Alright :slightly_smiling_face: I have implemented your requests. I will squash the commits and then force push.

Alright :slightly_smiling_face: I have implemented your requests. I will squash the commits and then force push.

Thank you! that looks good now. I'll wait for your squash.

Thank you! that looks good now. I'll wait for your squash.

Its done :slightly_smiling_face:

Its done :slightly_smiling_face:

Completed. Thanks for the contribution!

Completed. Thanks for the contribution!

Thank your two for your valuable hints. I will take some inspiration from them. :slightly_smiling_face:

Thank your two for your valuable hints. I will take some inspiration from them. :slightly_smiling_face:


PYIC-6413: Remove references to CDN environment variables

Proposed changes
What changed

Remove references to CDN everywhere in the code

Why did it change

Because we're not going to support the CDN

Issue tracking

PYIC-6413

I have tested this in the dev env, and it works i fetching /public and /assets assets images and fonts


Tracking issue for GSP-139: Split Specs

Rendered Proposal

Steps

[x] https://github.com/beyondstorage/go-storage/pull/628
[x] Migrate existing PRs to go-storage (after this change, specs will not accept new proposals anymore)
[x] Move all issues into go-storage

They will be assigned a new number just like we create new issues in go-storage

[x] https://github.com/beyondstorage/go-storage/pull/652
[x] Convert specs into archived (read-only)
[x] Remove specs teams in community (we don't need this team anymore)
[ ] Update links to definitions in site and docs (GSP will not changed, so we don't need to update links to GSP)

types in service.toml should be changed to golang types directly?

Ooops, yes, we need to update all services.


Add a way to initialize new terminals

For basically all my projects, I have a dev-session.sh script that sets up environment variables and paths for language runtimes (usually NodeJS and Python.)
Every time I open a new terminal in VSCode, I run source dev-session.sh.
It would save me a lot of key presses over the years if VSCode could add a way to automatically initialize new terminal windows.
One way to do this would be to make a general version of the vscode-python python.terminal.activateEnvironment option. For example an option like terminal.integrated.shellSetupCommand that I could set to a string like "source dev-session.sh".
All this would need to do is wait 500ms after a new terminal is opened, then write the contents of the setting followed by "\n".

Do the shellArgs setting work for you?

Do the shellArgs setting work for you?

Doesn't that setting just let you pass options to the shell? (in my case, zsh)
I don't know of any way to use that option to achieve what I'm trying to do (open the shell like normal, but insert a command right after the shell opens.)

Huh... I've actually had this issue for quite a while, but just now I thought of a nice workaround. I've added this to the bottom of my .zshrc:
#
# Allow parent to initialize shell
#
if [[ -n $ZSH_INIT_COMMAND ]]; then
    echo "Running: $ZSH_INIT_COMMAND"
    eval "$ZSH_INIT_COMMAND"
fi

And I added this to my workspace settings:
{
  "settings": {
    "terminal.integrated.env.linux": {
      "ZSH_INIT_COMMAND": "source dev-session.sh"
    },

    // ...

It's not ideal, as it requires me to modify my shell config file, but it works perfectly. It eliminates my need for this feature though, so I'll just close this for now.


Fix truncated hex in anvil dump_state

Motivation
An issue reported is leading zeros in hex can be truncated and leading to deserialize failure with anvil_dumpState
Solution
Like @mattsse recommend in the issue post, I change the type of storage from U256 to B256.
https://github.com/foundry-rs/foundry/blob/f6730662831d0473f7207f4c0474a4bb6ee016eb/crates/anvil/src/eth/backend/db.rs#L345-L345
The modifications don't break the actual implemented tests:
Before
...

"0x068e44eb31e111028c41598e4535be7468674d0a": { // line 32, a contract address

...

"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x68e44eb31e111028c41598e4535be7468674d0a", // line 172, a reference to that contract
"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x9e2803ad9ecc0a848c8a045329524d295f6ee44f",
"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68": "0x9965507d1a55bcc2695c58ba16fb37d819b0a4dc"

After
...

"0x068e44eb31e111028c41598e4535be7468674d0a": { // line 32, a contract address

...

"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x000000000000000000000000068e44eb31e111028c41598e4535be7468674d0a", // <--- truncated zero is preserved
"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x0000000000000000000000009e2803ad9ecc0a848c8a045329524d295f6ee44f",
"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68": "0x0000000000000000000000009965507d1a55bcc2695c58ba16fb37d819b0a4dc"

Let me know if I can improve my contribution

Hi @AxelAramburu why did you close your PR? Do you need any help / pointers? Would be great to get this fix in

@AxelAramburu Running into this issue. Can you re-open?

What remains to be done here? I am also having issues decoding the state dump due to odd-length fields which are expected to be hex encoded

I don't think this fixes the issue entirely.
Run foundryup -r AxelAramburu/foundry -b fix_hex_truncated
$ anvil --version
anvil 0.2.0 (8326b48e 2024-09-12T16:47:11.876055000Z)

In one terminal:
$ anvil --dump-state test.json

In a second (script from template produced by foundry init):
forge script script/Counter.s.sol --rpc-url <IP_ADDRESS>:8545 --broadcast -vvvv --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80

Still has odd-length
{
    "block": {
        "number": "0x1",
        "coinbase": "0x0000000000000000000000000000000000000000",
        "timestamp": "0x66e31db6",
        "gas_limit": "0x1c9c380",
        "basefee": "0x3b9aca00",
        "difficulty": "0x0",
        "prevrandao": "0x481952e621a89f45b1d7520a5729949d946c688b21bfad7e578a5d9b2cc30f27",
        "blob_excess_gas_and_price": {
            "excess_blob_gas": 0,
            "blob_gasprice": 0
        }
    },
    "accounts": {
        "0x0000000000000000000000000000000000000000": {
            "nonce": 0,
            "balance": "0x1a0ed",
            "code": "0x",
            "storage": {}
        },
        "0x14dc79964da2c08b23698b3d3cc7ca32193d9955": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x15d34aaf54267db7d7c367839aaf71a00a2c6a65": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x4e59b44847b379578588920ca78fbf26c0b4956c": {
            "nonce": 0,
            "balance": "0x0",
            "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3",
            "storage": {}
        },
        "0x5fbdb2315678afecb367f032d93f642f64180aa3": {
            "nonce": 1,
            "balance": "0x0",
            "code": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220d6eead0a2debb1972173eae3e5f1636066a01ff9f3a14fe42618a17daa0af59264736f6c634300081a0033",
            "storage": {}
        },
        "0x70997970c51812dc3a010c7d01b50e0d17dc79c8": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x90f79bf6eb2c4f870365e785982e1f101e93b906": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x976ea74026e726554db657fa54763abd0c3a0aa9": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0x9965507d1a55bcc2695c58ba16fb37d819b0a4dc": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0xa0ee7a142d267c1f36714e4a8f75612f20a79720": {
            "nonce": 0,
            "balance": "0x21e19e0c9bab2400000",
            "code": "0x",
            "storage": {}
        },
        "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266": {
            "nonce": 1,
            "balance": "0x21e19e068a7fbb15d13",
            "code": "0x",
            "storage": {}
        }
    },
    ```

Maybe this is wrong, but I think there should be "round-trip" test in general for the dump state functionality. Given a state, does dump_state -> load_state -> dump_state produce the same result as the first dump_state? It should catch any random regressions that may happen in the future.


Remove gen from dcos launch

High Level Description
gen required many hacks to integrate in at all. The only reason it was used was the convenience of the shared code-base. However, given that the shared code-base has now crippled dcos-launch with its custom-SSL, dcos-launch must be split off.
gen and the rest of the "DC/OS Image" library is a long ways away from being converted into a legitimately importable library, so it must be removed to make the dcos-launch packaging feasible.
Related Issues
https://jira.mesosphere.com/browse/DCOS_OSS-1060
https://jira.mesosphere.com/browse/DCOS_OSS-1041
https://jira.mesosphere.com/browse/DCOS_OSS-1084
Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

When reviewing this PR, specifically this part: https://github.com/dcos/dcos/pull/1552/files#diff-870f931cca2a43e3f3b4881046e29c57
I recommend you just ignore the diff and look at the completed file

@orsenthil Comments addressed (and I even conformed to the python style guidelines I am not fond of)

No bump-ee required for this PR as the launch component isnt even built for that variant. :ship:


Coretime Issues

See your nft not always appear and when it appears its leading to wrong number NFT

See your NFT only appears in one of my accounts and when it appears it leads me to an NFT i did not mint.
i think the correct flow would be show See Your NFT button only right after minting, and if the user refresh the page, claim button is available again, is that correct @vikiival ?

any errors in console?

any errors in console?
Leo, i'll close since it was only on coretime drop and worked well for the Split drop


chores: Remove headers and remove exec permission

Looks good, and you meant to keep the mender-shell and mender-websocket source code files?

No, I did not! Source and headers should have been removed at https://github.com/mendersoftware/mender-mcu/commit/de0fab1 - we just miss them.


Make it works with Browserify module structure

Hi,
firstly, thanks for this awesome tool ! :D
I'm trying to integrate Browserify in my development workflow. It works very well.
Now it's the time to automate some tasks with gulp and ng-annotate, and I have an issue with the minification task.
I structure my code exactly the same way from here : http://benclinkinbeard.com/talks/2014/ng-conf/ (slides 19 to 23)
The problem is that ng-annotate isn't working with this kind of structure, something like this isn't parsed properly :
// modules/app/frontend/login/login-index.js
'use strict';

module.exports = function($scope) {
        $scope.name = 'guest';
    };

The previous controller is called from here :
// modules/app/frontend/login/index.js
'use strict';

module.exports = angular.module('app.frontend.login', [])
    .config(function($stateProvider) {
        $stateProvider.state('login', {
            url: '/login',
            templateUrl: '/frontend/login/login-index.html',
            controller: 'LoginCtrl'
        });
    })
    .controller('LoginCtrl', require('./login-index'));

Is there a solution to make ng-annotate understands this kind of line ?
.controller('LoginCtrl', require('./login-index'));

Maybe I'm making something wrong. ^^'

I've been using this for a very long time but it stopped working when I incorporated tsify in my build. Any idea?


write::BzDecoder: Fix infinite loop on drop when no data is read or written

If writes to the BzDecoder end before it has been fed the entire stream and the output buffer has already been flushed to the wrapped writer, then the Drop implementation will loop forever. On drop, try_finish() is called, which repeatedly tries to write() until BZ_STREAM_END is returned or an error occurs, but neither scenario happens if there's no input nor output data to process.
This commit makes try_finish() return an UnexpectedEof error in this scenario.

(Also, really happy to see this library found a new maintainer!)

Thanks for improving the PR and merging it!


LSP: Should we be sending versions in VersionedTextDocumentIdentifier and PublishDiagnostics?

This would impact TextDocumentEdit (and thus WorkspaceEdit and our custom snippet edit) and PublishDiagnostics. I think the approach would be to stash the version off in a side-table at the end of the DidChangeTextDocument notification and grab it when publishing diagnostics or computing edits (possibly in to_proto).

Actually it would be to construct and stash it on DidOpenTextDocument, alter it on DidChangeTextDocument and remove it on DidCloseTextDocument

Awesome. I'll take a crack at it.

As an aside this is probably where we could stash other state like semantic highlighting deltas.


How to start music at a certain moment?

Description of the new feature / enhancement
I would like to propose the idea of starting music at a certain moment. This can be useful, for example, to use the Discord function to listen at the same time with your friend.
❤Thanks for this project, I wanted to make it better.
📸 Screenshots

If you like the idea, add a 👍 reaction to this post

thanks for the idea, but I have no idea how to implement it using SpotX


[2274] Handle validation for commence date before course start date

Context

https://trello.com/c/KQ9bKnc1/2274-add-validation-for-programme-date-and-start-date

Changes proposed in this pull request
Prior to this PR you could set the commencement_date before the course start date and it'll result in a trainee not being able to receive an award. This PR enforces a validation only if the course information has been filled out (assuming you may edit this section before the course details one).
Training Details Form

Trainee Start Date Form (From record page)

Guidance to review

Create a new trainee, fill out the course details
Head to the training details section and enter a date before the course start date

 Add validation for programme date and start date


chore: Refactor code flow for Inline Begin Transaction

This is a refactoring PR as part of the "Inline Begin" optimization for transactions. NO BREAKING CHANGES.
The Results class is presently handling too many responsibilities. The Session class is ideally responsible to communicate with the service layer directly, and then pass the response to the Results class to parse it for user consumption.
But in the present code, for the tx.execute_query() and tx.read() APIs, the Session is delegating the responsibility to the Results class. This deviates from the pattern for the rest of the APIs, where the Session directly communicates with the service layer.
This PR corrects the data flow from session to service directly.

Agreed, this is better.
I'm not sure what the deal is with the perf bench test. I think @bajajneha27 might have some context on that?

The bug fix needs to be done by Spanner team. rajatrb@ was supposed to look at it.


How get access to App or Router in model getters?

For example, if I want to generate a URL based on the model data

Ahhh nice question. Currently you can't! You have to use vuex getters to do that. Maybe we could add option to call root getter from model getters.
User.rootGetters('app')


Community dev

refactor community dashboard code struct

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


Pass minify CLI option to metro-serializer-esbuild

Description
Running yarn react-native rnx-bundle --dev false --minify false doesn't generate a prod bundle that's not minified. Passing the minify CLI option to the metro-serializer-esbuild so the outputted bundle will be minified or not depending on the passed minify flag.
Test plan
Prepare:
cd packages/test-app
yarn build --dependencies

Generating a prod bundle that's minified:
yarn bundle+esbuild --dev false

Generating a prod bundle that's not minified (this would still generate a minified bundle before):
yarn bundle+esbuild --dev false --minify false

Thanks again 👍

FYI: https://github.com/microsoft/rnx-kit/releases/tag/%40rnx-kit/cli%400.16.17


scripts: add scripts for making an isolated release of one or a few packages

Tiny utility script for making a release of one or a few packages

@freben you mean the interactive list? PRs welcome 😅


Codegen type parameters for serde_json::Value fields

This allow callers to provide a struct type for the CloudWatchEvent detail field and have it automatically deserialised by the runtime.
As an example, here is the skeleton of a lambda I built to receive CloudWatch Events for STS AssumeRole. Previously you’d write this:
lambda::start(|input: CloudWatchEvent| {
    let assume_role: AssumeRoleDetail = serde_json::value::from_value(input.detail)?;

    ...
})

Now you can write:
lambda::start(|input: CloudWatchEvent<AssumeRoleDetail>| {
    ...
})

I don’t know of any authoritative source for the detail payloads that we could use to codegen them, but this will let you sub in a specific event in place of the serde_json::Value field type.
Fixes https://github.com/srijs/rust-aws-lambda/issues/10

struct types for example
#[derive(Deserialize, Serialize, Debug)]
struct UserIdentity {
    arn: String,
    #[serde(rename="userName")]
    user_name: String,
}

#[derive(Deserialize, Serialize, Debug)]
struct RequestParameters {
    #[serde(rename="roleArn")]
    role_arn: String,
}

#[derive(Deserialize, Serialize, Debug)]
struct AssumeRoleDetail {
    #[serde(rename="userIdentity")]
    user_identity: UserIdentity,
    #[serde(rename="requestParameters")]
    request_parameters: RequestParameters,
}

I fixed the test failure in my dev environment by pinning tokio to = 0.1.8 so that it doesn’t use 0.1.13 but that’s outside the scope of these changes.

Sorry, totally missed this before I moved the crate to its own repo! Would it be too much trouble for you recreate it on https://github.com/LegNeato/aws-lambda-events?


merge line which goes across 0 degree of laser

There was a problem with merging lines, a line which crosses the 360 degree of the laser was split in two lines.

Found an issue with this version. Will update it when it is working correct.


Double click on word should select it and show editor toolbar.

Sorry, my Mac Trackpad seems to distinguish between double tap and double click.


Create Curl installer for Extism CLI

[ ] Add option for Extism users to install the CLI with a Curl command pulling from (https://github.com/extism/cli/releases)
[ ] Update Documentation (https://extism.org/docs/install)

Finished in #55


The original index required to ref back to the oringinal metadata.

Hi
Could u please add the original passage index to the resulting passage? In order to  link to metadata of each passage?

Yes , thanks for your fast reply


Fix griffe

I had mkdocstrings-python-legacy installed in my prefect-collection-generator environment, which worked locally, but since prefect-hightouch uses mkdocstrings[python] which uses griffe under the hood, it broke the publish docs.
Tested properly with mkdocstrings[python]

Closes https://github.com/PrefectHQ/prefect-hightouch/issues/3
Example

Checklist

[ ] This pull request references any related issue by including "Closes #<ISSUE_NUMBER>"

If no issue exists and your change is not a small fix, please create an issue first.

[ ] This pull request includes tests or only affects documentation.
[ ] Summarized PR's changes in CHANGELOG.md

Closing in favor of #20 which is rebased.


Shouldn't require django-cms

If you want to only use HTMLField without any CMS integration, you still have to install the CMS and configure all kinds of CMS-related settings. This could probably be solved by either turning imports from cms into "runtime" imports, or by carefully splitting up modules into ones depending on the cms and ones that do not.

mentioned in #285 this package is mainly for django-cms, thus the name


FilesystemWriter::write on multiple threads

Hello,
I'm evaluation backhand as a replacement for calling external squashfs tools. There's a significant drop in performance when creating a fs due to the lack of parallelism. My application spends most of its time somewhere in a compression implementation which is executed within a single thread.
Is there currently any change to utilise more threads for the compression?
Thanks
@flxo

You are right, we currently don't have any methods that spawn multiple threads for writing a new filesystem. You would just need a new lock on the writer in this method, with a rayon::par_iter or something in this spot: https://github.com/wcampbell0x2a/backhand/blob/9fdf0cf8192155b04da9c3b5e34ba6c8047d8e16/src/filesystem/writer.rs#L440.

Thanks for the update. Probably this needs some refactoring because the compression happens in data_writer.add_bytes(...) and files is borrowed from self.

Thanks for the update. Probably this needs some refactoring because the compression happens in data_writer.add_bytes(...) and files is borrowed from self.

Feel free to submit a MR, I'm quite busy at the moment to do this!


feat(event_handler): add support for persisting authorization data in…

… Swagger UI
Summary
Add support for persisting authorization data (e.g. OAuth 2.0 access token), so it's not lost on browser close/refresh. It will be stored in the browser's local storage:
https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/#:~:text=persistAuthorization
Changes
Add parameter to enable_swagger called persist_authorization that's provided  to generate_swagger_html for Swagger UI HTML generation.
User experience
The user may persist tokens, so it's not necessary to re-authenicate after browser refresh.
Checklist
If your change doesn't seem to apply, please leave them unchecked.

[X] Meet tenets criteria
[X] I have performed a self-review of this change
[X] Changes have been tested
[X] Changes are documented
[X] PR title follows conventional commit semantics

Is this a breaking change?
No
RFC issue number:
Checklist:

[X] Migration process documented
[X] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Hello @nlykkei! Another great PR helping us improve the OpenAPI/SwaggerUI experience for customers.
Do you mind opening an issue as a Feature Request and explaining in 2 or 3 lines the use case? We always need to link a PR to an issue to keep track of what we are creating.
Thanks

Hello @nlykkei! Another great PR helping us improve the OpenAPI/SwaggerUI experience for customers.
Do you mind opening an issue as a Feature Request and explaining in 2 or 3 lines the use case? We always need to link a PR to an issue to keep track of what we are creating.
Thanks

Thank you, and likewise! 🙂
I've linked the PR to an issue


Change the FAQ schema

Old Schema:

New Schema:

Fix #1169
Test URLs:

Before: https://main--moleculardevices--hlxsites.hlx.page/products/clone-screening/mammalian-screening/cloneselect-imager
After: https://1169-change-faq-schema--moleculardevices--hlxsites.hlx.page/products/clone-screening/mammalian-screening/cloneselect-imager

this one is good- https://1169-change-faq-schema--moleculardevices--hlxsites.hlx.page/products/clone-screening/mammalian-screening/cloneselect-imager
Please push this on live.


Using serverless-webpack 2.2.0 lib extension.

By bumping the serverless-webpack dependency to 2.2.0, the setup doesn't work anymore. @HyperBrain suggested in elastic-coders/serverless-webpack#174 to use the entry: slsw.lib.entries in the webpack config. This branch contains such a setup for further investigation. Do not merge for now.
Once a solution is found, I shall add it to this branch so it can be merged to help any others bumping into the same issue.

I will check it later today. Can only be a small configuration issue ;-)

@ringods Fix is available in https://github.com/ktonon/elm-serverless-demo/pull/2
I tested it with serverless package to see if the zip is packaged correctly and the code compiles. You can use ^2.2.0 instead of the V3 RC. Should work too.

Closed in favor of #2


Setup and Deploy DEMO environment in PROD realm

Carly can go in today and make a good test project :)


COSBETA-81: Enable logging and security fixes

This applies the changes from PRs #246 and #371 to Cosmetics Web, by moving most of the relevant dependencies and configuration into Shared Web.
@jasiekmiko, @broder – this is in preparation for our upcoming pen test, so if you can think of anything else that was done for MSPSDS that we should be doing here, please let me know.

Thanks for the link to those recommendations. I think we've implemented most of the broad recommendations on there. We might want to come back and look at page-level things, like preventing caching for sensitive information (such as product formulation details), but those pages don't exist yet.


feat(treewide): add require-color-op-func-percentage stylelint rule

Adds a new rule, require-color-op-func-percentage, that requires the "amount" argument to color operation functions (e.g. fade(<color>, <amount>)) to be in percentage format - <float or int>%. This consistency makes these functions more readable, and can catch bugs. As you can see in the diff, there are many cases of fadeout(@text, 0.8); people may think this 0.8 is out of 1, meaning 80%, but it is really just 0.8% (https://lesscss.org/less-preview/#eyJjb2RlIjoiYSB7XG4gIGNvbG9yOiBmYWRlb3V0KCMwMDAwMDAsIDAuOCk7XG59IiwiYWN0aXZlVmVyc2lvbiI6IjQuMi4wIiwibWF0aCI6InBhcmVucy1kaXZpc2lvbiIsInN0cmljdFVuaXRzIjpmYWxzZX0=). These very very tiny percentages should be corrected at some point as well.

0.8 should be 80% though? without a percent sign, the number is on a 0-1 scale instead of 0-100

this may not be how less apparently does it but it is likely everyone's intention

Right, as I said in my original comment:

there are many cases of fadeout(@text, 0.8); people may think this 0.8 is out of 1, meaning 80%, but it is really just 0.8%

I linked to a Less playground where you can see that 0.8 results in a very small (difference?); I'll make it even clearer here:
https://lesscss.org/less-preview/#eyJjb2RlIjoiYSB7XG4gIGNvbG9yOiBmYWRlb3V0KCMwMDAwMDAsIDAuOCk7XG4gIGJhY2tncm91bmQ6IGZhZGVvdXQoIzAwMDAwMCwgODAlKVxufSIsImFjdGl2ZVZlcnNpb24iOiI0LjIuMCIsIm1hdGgiOiJwYXJlbnMtZGl2aXNpb24iLCJzdHJpY3RVbml0cyI6ZmFsc2V9

0.5 should be 50%, not 0.5%

This will be done in a followup PR, I have no intention of going through and fixing all these issues on individual styles. If the maintainers of the following userstyles could please make follow up PRs correcting this issues:

youtube
whatsapp-web
trinket
snapchat-web
lastfm
ichi.moe
hoppscotch

Discussed a little in Discord, so just to clarify: this change causes no changes to the compiled output of the userstyles. Any bugs you can now easily see like 0.8 not being 80% have already existed and still exist.
That being said, @isabelroses raised the point of should this lint rule automatically interpret the input and if it is less than 1, assume the author intentions and change it to the (hopefully) intended 80% instead of just 0.8%.
Maintainers, if we could do a little poll just leave a thumbs up 👍  on this comment if I should change it to interpret the result (basically remove these bugs) or a thumbs down 👎 if I should leave it as is.
^^ Also interesting to note here, if I did change it (👍 vote) that would mean these userstyles would actually look different. Maybe I'll do that and maintainers you can check out the areas where percents were changed to make sure it still looks fine?

With an overwhelming unanimous vote, looks like we want an autofix! Implemented now :)

I'm going to assume approvals here on out include a visual review of the website after updating the userstyle from this PR if you maintain an individual userstyle - please ensure nothing now looks wrong because of this!

lgtm


docker-credential-gcr doesn't work

the image configures the GCR cred helper here https://github.com/buildbuddy-io/buildbuddy/blob/5a07a454d8003ecfe507c076cce477186e865dc5/dockerfiles/executor_image/Dockerfile#L37
but that writes to $HOME/.config/docker/auth.json, which at build time resolves to /root/.config/docker/auth.json
later, the helm chart comes along and sets HOME to /buildbuddy https://github.com/buildbuddy-io/buildbuddy-helm/blob/79753a73c9bb459cb0aa0809b9550a29dc9d2e22/charts/buildbuddy-executor/templates/deployment.yaml#L86-L87
so docker/podman don't find the auth.json
it's also not possible to fix this by building a new image because /buildbuddy is a bind mount
https://github.com/buildbuddy-io/buildbuddy-helm/blob/79753a73c9bb459cb0aa0809b9550a29dc9d2e22/charts/buildbuddy-executor/templates/deployment.yaml#L128-L129

This is a regression caused by my change in https://github.com/buildbuddy-io/buildbuddy-helm/commit/60e7116ce5dfdd5eb45e681a31062c63a1e315e3.

Set $HOME=/buildbuddy to retain the .config/buildbuddy/host_id between accidental container restarts.

This was a reactionary fix for folks who wish to retain the same data between container restarts within the same pod.
This rarely happens, but in some self-hosted setups, folks do run into such edge cases more often than usual.
I think the correct solution should be to turn $HOME/.config/buildbuddy/ into a bind mount, with $HOME == root.
Let me discuss this with my team and get back to you on this.


Guided Workouts

Changelog:

take package-lock.json from main branch
Guided workout components
New dependecies (carousel and MUI)
Navbar styling compatability and bug fixes
Remove emoji in toasts
Refactor styles to theme file
Animated number dial (Spring)

Maybe there is a latest update that wasn't pushed, but set remaining can go less than 0 unless it is intended

UI/UX Improvements:

Finishing a set will reset the timer and start it if it is not already started
Fixed hover styles for timer button
Now a clear color for timer ON and timer OFF
Fixed exercise table header colors
Timer immediately starts counting down after click


Home.py and main_analysis.py changed

Issue no :- BACKGROUND Issue #279 work done
Please check @sanjay-kv and merge the PR.

Ping @sanjay-kv


Don't know what I screwed up, but apparently I did something

Parameter name: path1
   at System.IO.Path.Combine(String path1, String path2)
   at ThemeEditor.WPF.MainWindow.SendTheme_Execute(String ip, Boolean start) in D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\MainWindow.Themes.cs:line 0
   at ThemeEditor.WPF.MainWindow.SendTheme_Execute(String ip) in D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\MainWindow.Themes.cs:line 622
   at ThemeEditor.WPF.RelayCommandAsync`2.<Execute>d__11.MoveNext() in D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\RelayCommand.cs:line 226
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)```

Lovely. Crashed and lost all of my work.


Question: superRefine on nested objects

Hi, I tried to play around with.superRefine to add some custom issues. I found that zod only supports these on the first level of an object schema. Could someone confirm with me that this is true? Or am i missing something?
export const AnotherSchema = z.object({
    id: z.string(),
    clientId: z.string(),
});

export const BaseSchema = z.object({
    key1: z.string().superRefine((val, ctx) => {
        ctx.addIssue({
            code: z.ZodIssueCode.custom,
            message: 'trouble looking'
        });
    }),
    key2: AnotherSchema,
});

if I add
export const BaseSchema = z.object({
    key1: z.string().superRefine((val, ctx) => {
        ctx.addIssue({
            code: z.ZodIssueCode.custom,
            message: 'trouble looking'
        });
    }),
    key2: AnotherSchema,
});

This works fine. I can see:
ZodError: [
      {
        "code": "custom",
        "message": "trouble looking",
        "path": [
          "key1"
        ]
      },
      {
        "code": "invalid_type",
        "expected": "string",
        "received": "undefined",
        "path": [
          "key2",
          "clientId"
        ],
        "message": "Required"
      }
    ]

However moving the superRefine to key2's schema won't print out any issues like above.
If this is expected behaviour, how can I make zod to throw a custom issue or error on nested objects then?
Thank you.

Thanks for the bug report, I'll look into this.
In the future, it's easier to provide a single snippet of code, then specify a) how it behaves and b) how it should behave. I also don't know what data you were trying to parse, which is necessary to debug fully.
Also consider adding the ts annotation onto your code blocks to get syntax highlighting:
```ts
// your code here
```

This is intended behavior.
Inside the superRefine call, the first argument val is strongly typed. Because AnotherSchema failed validation, it doesn't run the refinement call, because Zod knows that the data doesn't conform to that type signature. In other words, Zod only runs refinements if parsing succeeds on the schema first.


New animation: headShake - An amazing animation for negative feedbacks

Preview: http://codepen.io/FelipeMartinin/pen/NGrXvR?editors=011

I really enjoy this

It does look a bit too flat,as in maybe you should bend the corners, but I still really like it a lot!


defining gulp's default task and creating a basic server with express and other dependencies

defining gulp's default task and creating a basic server with express and other dependencies

go ahead jero :)


v3 branch setup

This PR is into new branch: v3. Proposing that we maintain v3 in addition to main until the majority of chains have migrated to v5.
Changes module path to github.com/strangelove-ventures/ibctest/v3. #284 changes the module path in main to github.com/strangelove-ventures/ibctest/v5. This will make the ibctest version in sync with ibc-go.

What's the strategy for keep both main and v3 branches up to date? Or perhaps the v3 branch does not get many updates by design.

What's the strategy for keep both main and v3 branches up to date?

With #285, PRs can be made against main if they are applicable to both v5 and v3. After the PR is merged into main, another PR will be made with a cherry-pick into v3

What's the strategy for keep both main and v3 branches up to date?

With #285, PRs can be made against main if they are applicable to both v5 and v3. After the PR is merged into main, another PR will be made with a cherry-pick into v3

Can we get another PR adding this info to the documentation? Probably under a "contributing" section.

@agouin Last question (I think): Does the v3 branch run CICD similar to main?

Can we get another PR adding this info to the documentation?

Yes, will add.

Does the v3 branch run CICD similar to main?

Yes, I added the branch protection for v3 to be the same requirements as main


[TS migration] Migrate 'DistanceEReceipt.js' component to TypeScript

Details

https://github.com/Expensify/App/blob/bc80ac10f05bf167f0d7a91d195deed1c5fb705a/src/components/DistanceEReceipt.tsx#L35-L36 thumbnail that is returned from ReceiptUtils.getThumbnailAndImageURIs can be a string or ImageSourePropType but tryResolveUrlFromApiRoot only takes a string I have just employed as to bypass typescript error.
I have removed the fill prop here as textBrand doesn't exist in the theme it seems some obsolete code maybe 😕  https://github.com/Expensify/App/blob/7d1b0f8b99616c48aedb975dd73fc3086c9f20e3/src/components/DistanceEReceipt.js#L113-L114

Fixed Issues

$ https://github.com/Expensify/App/issues/31964
Tests

open a distance details page
click on the receipt displayed on top to open Distance E-Receipt modal to open
Verify that it displays correctly

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/38649957/84ff4459-3470-4567-9ea3-1787b830288a

Android: mWeb Chrome

https://github.com/Expensify/App/assets/38649957/10840aea-8ea7-4930-8438-57de29d68ae6

iOS: Native

https://github.com/Expensify/App/assets/38649957/f65dd304-8b1e-4ad6-a753-cc0d9db53cff

iOS: mWeb Safari

https://github.com/Expensify/App/assets/38649957/58611f5d-1cc3-472e-b66f-ce1276749223

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/38649957/182eefc7-85b1-4e8e-90dc-b4a00edcf61b

MacOS: Desktop

https://github.com/Expensify/App/assets/38649957/acabbba5-4e97-49f8-a6b2-c6f7e914c13a

Please update PR name to follow the issue name:
[TS migration] Migrate 'DistanceEReceipt.js' component to TypeScript

@shubham1206agra bump

Please sync this branch with the newest main. Context here, thanks!

Thanks! Done 👍

@FitseTLT Please fix conflicts here.

Conflict resolved!

@FitseTLT @shubham1206agra Please let's move forward with this PR, it is over one month now 😅

I will do the review today.

@FitseTLT Let's merge the newest main, and we can proceed with a merge @grgia 😄

Merged with latest main and tested. We can proceed!

bump @grgia

Thank you @FitseTLT !

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.43-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.43-20 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update this tutorial to make it available to use latest Sentiment (V3.0) action

Detect Sentiment (V2) action is currently not availble (DEPRECATED) to use because it was already replaced to Sentiment (V3.0) action.
https://learn.microsoft.com/en-us/connectors/cognitiveservicestextanalytics/#actions
Both action's output deffers each and this tutorial's function code can't be used with Sentiment (V3.0) action.
Could you update this tutorial to make it available to use latest Sentiment (V3.0) action.
Requestor : CSS Shingo Hanai (shhanai)

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ae1a4055-33b7-eead-6eb4-0092b7112567
Version Independent ID: 7b866c4b-46d2-d420-278e-f49ec05e5d0d
Content: Create a function that integrates with Azure Logic Apps
Content Source: articles/azure-functions/functions-twitter-email.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@ShingoHanai  Thanks for your feedback. I am assigning this to author for review and will update as appropriate.

This tutorial is slated to be updated in the next few sprints. Sorry for the delay and thanks for your patience.


Fastlane init is stuck on bundle install

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description

Tried to run fastlane init but it got stuck on bundle install.
I checked out this issue but the gem cleanup didn't made any difference for me (also tried the cleanup with sudo).
Forgive me if there are other existing issues, I tried to search for them but it's hard with just the keywords init, dependencies or bundle.
Complete output when running fastlane, including the stack trace and command used

🤔  Running the init command with the --capture_output arg given did nothing. It only created a fastlane folder on disk, then stopped executing.

 Couldn't get an output...

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
10.13.4

Ruby
2.3.3

Bundler?
false

Git
git version 2.15.1 (Apple Git-101)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.13.4 (17E199)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib

OpenSSL Version
LibreSSL 2.2.7

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.3

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.95.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.2

CFPropertyList
3.0.0

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.5

xcodeproj
1.5.7

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.2

terminal-table
1.8.0

plist
3.4.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.62.0

faraday
0.15.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.3

gh_inspector
1.1.3

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.4.0

bundler
1.16.1

faraday_middleware
0.12.2

naturally
2.1.0

simctl
1.6.4

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.13.6

emoji_regex
0.1.1

io-console
0.4.5

libxml-ruby
2.9.0

json
2.1.0

generated on: 2018-05-11

I just replicated the same problem

Replicated the issue but found a solution for it.
sudo fastlane init did the trick for me. found it here

What @aabanaag suggest works, executing the command using sudo made fastlane go past the bundle install


Cannot reflect struct with Option fields

Bevy cannot derive Reflect on structs that contain Option<T> fields, even though T is Reflect.
This compiles:
#[derive(Component, Reflect)]
struct MyComponent {
    sz: Size<Val>,
}

(Size<Val> is Reflect)
This does not:
#[derive(Component, Reflect)]
struct MyComponent {
    sz: Option<Size<Val>>,
}

error[E0277]: the trait bound `bevy::prelude::Size<bevy::prelude::Val>: bevy::reflect::erased_serde::private::serde::Serialize` is not satisfied
 --> src/main.rs:3:21
  |
3 | #[derive(Component, Reflect)]
  |                     ^^^^^^^ the trait `bevy::reflect::erased_serde::private::serde::Serialize` is not implemented for `bevy::prelude::Size<bevy::prelude::Val>`
  |
  = note: required because of the requirements on the impl of `bevy::prelude::Reflect` for `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>`
  = note: required for the cast to the object type `dyn bevy::prelude::Reflect`
  = note: this error originates in the derive macro `Reflect` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `for<'de> bevy::prelude::Size<bevy::prelude::Val>: Deserialize<'de>` is not satisfied
 --> src/main.rs:3:21
  |
3 | #[derive(Component, Reflect)]
  |                     ^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `bevy::prelude::Size<bevy::prelude::Val>`
  |
  = note: required because of the requirements on the impl of `bevy::prelude::Reflect` for `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>`
  = note: required for the cast to the object type `dyn bevy::prelude::Reflect`
  = note: this error originates in the derive macro `Reflect` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `bevy::prelude::Size<bevy::prelude::Val>: bevy::reflect::erased_serde::private::serde::Serialize` is not satisfied
 --> src/main.rs:3:21
  |
3 | #[derive(Component, Reflect)]
  |                     ^^^^^^^ the trait `bevy::reflect::erased_serde::private::serde::Serialize` is not implemented for `bevy::prelude::Size<bevy::prelude::Val>`
  |
  = note: required because of the requirements on the impl of `bevy::prelude::Reflect` for `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>`
  = note: required for the cast to the object type `(dyn bevy::prelude::Reflect + 'static)`
  = note: this error originates in the derive macro `Reflect` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `for<'de> bevy::prelude::Size<bevy::prelude::Val>: Deserialize<'de>` is not satisfied
 --> src/main.rs:3:21
  |
3 | #[derive(Component, Reflect)]
  |                     ^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `bevy::prelude::Size<bevy::prelude::Val>`
  |
  = note: required because of the requirements on the impl of `bevy::prelude::Reflect` for `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>`
  = note: required for the cast to the object type `(dyn bevy::prelude::Reflect + 'static)`
  = note: this error originates in the derive macro `Reflect` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `clone_value` exists for enum `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>`, but its trait bounds were not satisfied
   --> src/main.rs:3:21
    |
3   | #[derive(Component, Reflect)]
    |                     ^^^^^^^ method cannot be called on `std::option::Option<bevy::prelude::Size<bevy::prelude::Val>>` due to unsatisfied trait bounds
    |
   ::: /home/iyes/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:515:1
    |
515 | pub enum Option<T> {
    | ------------------ doesn't satisfy `_: bevy::prelude::Reflect`
    |
   ::: /home/iyes/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_math-0.6.0/src/geometry.rs:8:1
    |
8   | pub struct Size<T: Reflect + PartialEq = f32> {
    | ---------------------------------------------
    | |
    | doesn't satisfy `_: Deserialize<'de>`
    | doesn't satisfy `_: bevy::reflect::erased_serde::private::serde::Serialize`
    |
note: the following trait bounds were not satisfied because of the requirements of the implementation of `bevy::prelude::Reflect` for `_`:
      `bevy::prelude::Size<bevy::prelude::Val>: bevy::reflect::erased_serde::private::serde::Serialize`
      `bevy::prelude::Size<bevy::prelude::Val>: Deserialize<'de>`
   --> src/main.rs:3:21
    |
3   | #[derive(Component, Reflect)]
    |                     ^^^^^^^
4   | struct MyTest {
    |        ^^^^^^
    = note: this error originates in the derive macro `Reflect` (in Nightly builds, run with -Z macro-backtrace for more info)

Reflect is implemented there for Option:
https://github.com/bevyengine/bevy/blob/44bf66e436086bc9382ebdea4ad6c86c6463a75a/crates/bevy_reflect/src/impls/std.rs#L34
Since it is an enum, we currently have to reflect "as a value", and implement Serialize and Deserialize.
Instead of implementing Serialize and Deserialize on Size<Val>, I think the easiest fix is to also reflect your component as a value:
#[derive(Component, Reflect, Serialize, Deserialize)]
#[reflect_value(Component, Serialize, Deserialize)]
struct MyComponent {
    sz: Option<Size<Val>>,
}

Eventually #1347 will fix this issue.

#4761 is the follow-up PR that will fix this.

I think this has been solved?
https://learnbevy.com/playground?share=50a7cd2beb4a72e3c506197684999f785d6bccdd361c2f8f33d3f1bbcc294bed


refactor: add springboot module

Relates to #734
Summary:
This PR provides support to add a new sub module in the main module to enable future exposition of service using springboot.
New structure:

main/cli : include all files from the old main module
main/sprinboot: will include support to expose the application using springboot framework

Expected behavior:

[x] same tests should pass
[x] cli app should be packaged as usual
[x] cli app should be executable as usual
[x] cli app's docker image should be built, published and executable as usual

Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: [new feature short description]". Title must follow the Conventional Commit Specification(https://www.conventionalcommits.org/en/v1.0.0/).
[x] Linked all relevant issues
~[ ] Include screenshot(s) showing how this pull request works and fixes the issue(s)~

Thanks for reviewing @maximearmstrong - Will merge this after: #965, #961, #960, and #956 to avoid potential merge conflict

Closing as partially duplicate in #933


advanced-bot-framework-composer-example1 Problem with json

Describe the bug
When I tried the first example of the bot framework composer advanced-bot-framework-composer-example1, I was not able to add the json code without error.
JSON code:
# Chicken() -Chicken
OR JSON code
import](common.lg) # Chicken() -Chicken
Error always on first sign: Expected a JSON object, array or literal. json(0)
Version
v.2.1.1
Browser

[ ] Electron distribution
[X] Chrome
[ ] Safari
[ ] Firefox
[X] Edge

OS

[ ] macOS
[X] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:
advanced-bot-framework-composer-example1
Expected behavior
It should work without a problem/error.
Screenshots

@stevkan any update on this?

Is there a solution yet?

@TheTrees123, thank you for your patience. I am looking at the example above and hope to have a response before the end of day, today.

@TheTrees123, @tonyanziano
Unfortunately, I was not able to repro the issue. I went thru the steps as described and was able to create, publish, and run without any errors reported.

@TheTrees123 can you try to just create an Empty bot, then in the Greeting trigger, add a single "Send Response" node that executes a template?
Ex:

@TheTrees123 Did Tonys suggestion help?

When I opened the Bot Framework Composer this time I was asked to install Node.js and .Net Core SDK. This solved the problem.