[flutter_tools] support trailing args

Fixes https://github.com/flutter/flutter/issues/85891
Allow all flutter commands to support trailing arguments.

Looks like this does break how we pass things through to pub. 😓

heh, I thought it seemed to easy 😄
If you don't have time to debug it and would prefer I had a look, let me know. It'd definitely be nice for me if we could make this consistent (esp. as some of those code will move from Dart-Code to the SDKs with DAP :-))

LGTM, thank you! 🙂


Command line argument: set webhook type and URI

Initially we will support Teams, with Discord and Slack to be added in the future

Implemented in #19


API tweaks

Some details of the API are open to tweaking.

[ ] Code tag: #0040

The discover module uses the walkdir crate to recursively files. This crate uses a builder pattern to allow restriction of the depth of the walk and control whether links are followed; it would be nice to expose these options — preferably via named default function arguments, but this feature is not (yet) available in Rust.

The discover functions could support partial paths. Example:
$ ls samples/repo-seq-small/
pn1-ss0-cl0.piplog  pn1-ss0.pip  pn1-ss1.pip
$ cargo run --example pippincmd -- -PSL samples/repo-seq-small/pn1-ss

In the Partition type:

the way user_fields are passed to write and write_snapshot may want to be different
returning file headers from load and load_range (or via other methods) might be useful

Is there a way of auto-boxing structs passed to Partition::open, create (and repo equivalents)?

[ ] UserFields & MakeMeta

Currently these get passed into nearly all methods which might use them, and some (e.g. Partition::create) now require two: user: Option<&mut UserFields>, make_meta: Option<&MakeMeta>. Partition::create(io, "replay part", None, None) is not so pretty.

[ ] Lists/maps of things within structs

Several struts store lists/sets/maps which should be user-readable: elements within a PartState, states, commits and "pending commits" within a Partition, changes within a Commit. Sometimes the underlying type can be accessed via a method which is convenient but fixes the type. Sometimes only a limited set of operations is possible.

[ ] Move want_snapshot out of PartIO?

Rationale: it's there to allow configuration of when snapshots are made, not how data is loaded/saved; additionally, the discover module provides a ready-to-use implementation of PartIO but it's not obvious how to do this while still allowing customisation of another method in the same trait.

[ ] Revise user-field funcs?

We have the following. Should snapshot and log file numbers be passed?
fn make_user_data(&mut self, _header: &FileHeader) -> Result<Vec<UserData>>;
fn read_header(&mut self, _header: &FileHeader) -> Result<()>;


Backup and restore in GCP

Hi Team,
I checked the CRDs available for GCP provider and found that no CRDs have been implemented for backup and DR API for taking backup  and restoring of resources in GCP.
Is it possible to implement CRDs for backup and restore feature in GCP so that these features can be implemented through Crossplane. Is there anything related to this in future roadmap? If yes, please let me know when will this be available.
Also do let me know if any existing solution is available for this feature.

@danishk6100 I suggest opening issues for the resources you require using the new resource request issue template: https://github.com/upbound/provider-gcp/issues/new?assignees=&labels=new-resource&projects=&template=new_resource_request.md&title=Request+for+`gcp_instance`+resource


hotfix/allow for backwards compatibility (3.5)

This fixes the issue raised here with backwards compatibility.
It would great if this could be merged and released in a new version.

Cheers!


Consider adding filterFirst, filterFirstX, filterLast, filterLastX, filterWhile, filterUntil operators

To allow removal of the first matching element/s
Last matching element/s
To switch filtering on / off by some predicate
Possibly consider Filter time operators also - filterAfter, filterBefore

filterFirst / filterLast are the same as take / drop.


fix: correct typos and sql syntax

resolves #5311

Hmmmm.. thought we had these tackled somewhere in the review... did I overlook them, or where they somehow reintroduced in rebasing/merging?

I think a couple were missed... but I could be wrong. no worries either way.


Fix hostbuild when crosscompiling to windows

Fix hostbuild when crosscompiling to windows from a different OS.

Thanks a lot @jschwe


Extending ShadowMaterial

I'd like to extend the three.js ShadowMaterial so I can apply shadows to my custom shader. When I try to do this my shader code gets ignored and the default ShadowMaterial is rendered (ie. the fragments in shadow render as black, the rest of the mesh is transparent).
Looking at the source code for ShadowMaterial, I can see it explicitly sets the gl_FragColor, whereas the other materials use outgoingLight as their output:
gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );
Am I approaching this wrong or is this not possible with the library currently?

Thanks for the reply! I wasn't able to access your codesandbox for some reason but the solution I ended up going with for my use case was to extend MeshBasicMaterial and inject the shadowmask_pars_fragment shaderchunk so I could access the getShadowMask() function.

Sorry the box was set to private. Should be fixed now. But yes thats essentially the solution:
    <CSM
        baseMaterial={ShadowMaterial} //
        fragmentShader={
          /* glsl */ `
          void main() {
            float alpha = opacity * ( 1.0 - getShadowMask() );
            csm_DiffuseColor = vec4(1.0, 0.0, 1.0, alpha);
          }
        `
        }
        patchMap={{
          "*": {
            "gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );": /* glsl */ `
              gl_FragColor = csm_DiffuseColor;
            `,
          },
        }}
      />

Can I assume this issue is the case with extending MeshDepthMaterial too?
Guessing id need to patch the following last line if viable..
`float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
#if DEPTH_PACKING == 3200

	gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );

#elif DEPTH_PACKING == 3201

	gl_FragColor = packDepthToRGBA( fragCoordZ );

#endif`

I'm trying to patch a shader (juniorsounds depthkit.js) which uses a large geometry and a video texture to set all non relevant pixels as discarded but the depth image, seems to still be the original geometry & in my particular case, this causes a big rectangle to overlay on top of what should be outlines in an outline pass...

... working in vanilla three , not r3f if thats relevant at all

Shouts out for the exceptional work thus far though , really glad to find this repo.

If it works in Vanilla but not in R3F then it must have to do with your setup in react (Memoization and such). If you can post a minimal reproduction I can take a look
also remember that some pathways in ThreeJS materials require certain properties to be set on the material instance. So for example in MeshDepthMaterial, the depthPacking property value determines which pathway gets executed

Beg your pardon, I meant I'm working in vanilla three, not r3f - as in i cant get the depth material to work in vanilla three, Im not using react at all.
I'll see if i can create a sandbox in due course but might be tricky as involves video files..
My rough attempt so far is essentially a second CustomShaderMaterial with the same vertex/frag shader as the actual mesh material and a patchmap doing:
const depthPatchMap =  {   "*": {        // The keyword you will assign to in your custom shader     "float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;":
float fragCoordZ = 0.5 * csm_DiffuseColor.z / csm_DiffuseColor.w + 0.5;
   }, }

which comes befores the pathway to choose depth packing

For further clarity - the material is setup as follows =>
this.frontDepthMaterial = new CustomShaderMaterial({         uniforms: UniformsUtils.clone(Uniforms),         baseMaterial: MeshDepthMaterial,         vertexShader: crossDkVert,         fragmentShader: crossDkFrag,         patchMap: depthPatchMap,         transparent: true,         cacheKey: () => {             return this.props.reference + '-depth-front'         },     }) ..... this.mesh.customDepthMaterial = this.frontDepthMaterial;

I see. As for the comment -

// The keyword you will assign to in your custom shader

CSM will only inject your patch map if the keyword you specify in place of * is present in your shader. This is useful if you are building generic patchmaps for multiple material types. However, using * bypasses this requirment and injects your patch map regardless.
Most if not all third party patch maps would use * so you are on the right path
I am not too sure what the intended result is here. Perhaps an running example would help. If you are trying to set the depth based on a video texture here is what the patchMap would look like:
const crossDkFrag = `
    uniform sampler2D tDepthVideoTex;
    varying vec2 vUv;

    void main() {
        vec4 depth = texture2D(tDepthVideoTex, vUv);
        vec4 csm_CustomDepth = depth;
    }
`;

const depthPatchMap = {
  csm_CustomDepth: {
    "gl_FragColor = packDepthToRGBA( fragCoordZ );": `
            gl_FragColor = csm_CustomDepth;
        `,
  },
};

And then you would simply set the RGBADepthPacking to THREE.RGBADepthPacking (as RGBADepthPacking = 3201)
Note my useage of csm_CustomDepth in place of *. This would mean that if you removed vec4 csm_CustomDepth = depth; from your frag shader, the patch map will not be injected thus not breaking your shader.

Also, this usecase with MeshDepthMaterial seems to not require CSM. You can simply write a very small ShaderMaterial and assign that to this.frontDepthMaterial

Ah, got it, thanks - so you basically check if csm_CustomDepth is set, and apply the patch if it is. I thought perhaps it worked a bit like #include statements do in three shaders..
I had originally just tried to create a new MeshDepthMaterial and use onBeforeCompile , but for some reason couldnt then access the uniforms later to update them, even after assigning them to userData in the onBeforeCompile method, but it was like onBeforeCompile never ran..
Agreed also that I could just use ShaderMaterial,
I tried the following but also to no avail, in fact with errors in the glsl parts, none of these were reported nor setting gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); in the fragment shader for instance had no effect either- so for some reason or another my mesh.customDepthMaterial isnt being instantiated or honoured at all !
`
let depthShader = ShaderLib['depth'];
let uniforms = UniformsUtils.clone(depthShader.uniforms);
  console.log('depth shader', depthShader, uniforms);

this.frontDepthMaterial = new ShaderMaterial({
    uniforms: {...UniformsUtils.clone(depthShader.uniforms), ...UniformsUtils.clone(Uniforms)},
    vertexShader: dkDepthVert,
    fragmentShader: depthShader.fragmentShader, // (or custom dkDepthFrag)
    transparent:true,
    depthPacking: RGBADepthPacking,
    side: FrontSide,
})

this.frontDepthMaterial.onBeforeCompile = (shader)=>{
    console.log("Depth: " +  shader);
};

this.mesh.customDepthMaterial = this.frontDepthMaterial;
`

Sorry - cant for the love of me work out how to format code correctly in github !

Ill report back if I get anything working at all !
I did build the mesh using this.frontDepthMaterial (& my custom frag shader) and it all compiled, throwing up a couple of glsl errors , which i then resolved but setting it as customDepthMaterial just doesnt seem to do anything , even if i intentially write some erroneous garbage in the shader so theres clearly something fundamentally wrong here regardless of the shader

using three r.161 currently

OK - so like an absolute tool, i had castShadow & receiveShadow set to false before so that my incomplete works didnt interfere with other shadows - seems these have to be true in order for custom depth material to be invoked at all.
Starting from scratch now ive confirmed i can actually make it work !! fool ..

Hi Farazz - firstly apologies for stuffing this thread with my previous insanity.
Would you clarifying the usage of the patchmap keys?
My current working code looks like this:
In my vertex shader, im doing the calculations for the depth values - since this is where its done on the actual shader too.
In it , I declare
varying float visibility;
and set visibility appropiately based on sampling the depth video texture (where values less than 0.9 should be discarded in the frag shader)
`
this.frontDepthMaterial = new CustomShaderMaterial({
uniforms: UniformsUtils.clone(Uniforms),
baseMaterial: MeshDepthMaterial,
vertexShader: dkDepthVert,
//fragmentShader: (use the basematerial frag shader)
patchMap: depthPatchMap,
depthPacking: RGBADepthPacking,
cacheKey: () => {
return this.props.reference + '-depth-front'
},
})
`
Aim therefore is to set patch map to patch 2 entries in the original base depth shader...
const depthPatchMap =  {   "*": {        // The keyword you will assign to in your custom shader     "#if DEPTH_PACKING == 3200":
varying float visibility;
#if DEPTH_PACKING == 3200
  },   visibility: {// The keyword you will assign to in your custom shader     "float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;":
if ( visibility < 0.9) discard;
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
`
},
}
`
Ive also tried visibility in "" like the * is but it doesnt seem to be patched in
nor can i declare two lots of "*" entries
Is the following valid?
const depthPatchMap =  {   "*": {     "#if DEPTH_PACKING == 3200":
varying float csm_CustomDepth;
varying float visibility;
#if DEPTH_PACKING == 3200
,     "float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;":
if ( visibility < 0.9) discard;
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
`
},
}
`
Seems to be , though im still not seeing any appropriate culling

Just wanted to report back on progress..
I managed to get the depth material to work as a regular material for the model...

And the keyword replace works as advertised...
const depthPatchMap =  {
  "visibility": {
    "float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;":
        `
        if ( visibility < 0.9) discard;
        float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
      `
  },
}

But, when I use it as a custom depth material, it still renders as the original plane geometry..

.. In fact, ive done away with the patchmap all together. and just declared if ( visibility < 0.9) discard; in the frag shader...
removing that or altering the threshold to a lower value reveals the complete altered geometry

Hello @CosyStudios, I’d love to assist you further, however GitHub issues is to track bugs and not support tickets. Please DM me on Discord @CantBeFaraz and we can pick up there
I’m not familiar with your use case so please try to create a working minimal reproduction of the issue on CodeSandbox or feel free to send me some code to work with
Lastly, I might not be available all the time so if you’d like to buy my time for more dedicated support feel free to also reach out through Discord or email

Fair comment Farraz..
Github issues shouldnt be a sounding board for my internal processes
I was hoping to solve this on my own steam with the intention of posting an actual solution in this thread for others as well as clean up the previous comments and hide the irrelevant findings - which i will still do.
I'll continue to crack at it but will follow on discord and attempt a sandbox should i need to reach out, happy to fund some time appropriately should I require a close eye.
Best..

Hello,
I have decided that ShadowMaterial is advanced usage and supporting it does not provide enough utility to the average user to warrent complicating the codebase to support it OOTB.
ShadowMaterial will remain supported only though patchMaps using this patch map in perticular: https://github.com/FarazzShaikh/THREE-CustomShaderMaterial/issues/49#issuecomment-1997926041


NetworkStatusMessage.test.tsx

converted to RTL utilizing containers
could be a good inline snapshot use case?

#9


Users and groups with spaces aren't handled properly

I'm in an environment where groups with spaces are common. The regular expression that extracts the output of ls cannot handle this properly.  Since there are no delimiters for user and group names, it would not be possible to get the correct user and group.
For example, this is the output with spaces in the user and group names:  (users: howlem and "test user ignore" and groups: "domain users")
TYPE PERMISSIONS LINKS OWNER      GROUP      SIZE         TIME                                  NAME
d    rwxr-xr-x   4     howlem     domain     users        "4096 2019-05-23 14:17:07.493736735"  "-0400 debian"
-    rw-r--r--   1     howlem     domain     users        "12837 2019-05-23 11:49:51.750633915" "-0400 README.md"
-    rw-r--r--   1     test       user       ignore       "domain users     0"                  "2019-05-23 15:28:01.361719083 -0400 test"
-    rw-r--r--   1     howlem     domain     users        "0 2019-05-23 15:49:04.809507672"     "-0400 test2"
-    rw-r--r--   1     howlem     domain     users        "853 2019-05-24 10:43:18.835875117"   "-0400 test.py"
-    rwxr-xr-x   1     howlem     domain     users        "21838 2019-05-28 10:24:17.890430740" "-0400 uxy"

I wrote a quick implementation of ls.  It does lose the extra ls arguments and the date/time format isn't the same.
import datetime
import os
import pwd
import grp

def uxy_cmd_ls(args, uargs):
  uargs =  uargs[0] if uargs else "."
  content = os.listdir(uargs)
  fmt = Format("TYPE PERMISSIONS LINKS OWNER      GROUP      SIZE         TIME                                  NAME")
  writeout(fmt.render())

  for entry in content:
      fields = []
      fstats = os.stat(os.path.join(uargs, entry))
      mode = stat.filemode(fstats.st_mode)
      fields.append(mode[0])
      fields.append(mode[1:])
      fields.append(str(fstats.st_nlink))

      uid, gid = (fstats.st_uid, fstats.st_gid)
      try:
        user = pwd.getpwuid(uid).pw_name
      except KeyError:
        user = str(uid)

      fields.append(encode_field(user))

      try:
        group = grp.getgrgid(gid).gr_name
      except KeyError:
        group = str(gid)
      fields.append(encode_field(group))

      fields.append(str(fstats.st_size))
      fields.append(encode_field(datetime.datetime.fromtimestamp(fstats.st_mtime).isoformat()))
      fields.append(encode_field(entry))
      writeout(fmt.render(fields))
`

Hm, uxy is meant to reformat the output of existing tools rather than provide tools of its own.
I guess calling ls with -b option would make spaces deterministically parsable.

From what I can tell -b only escapes the file name.
I agree, perhaps a better workaround rather than re-implementing ls would be to use -n, --numeric-uid-gid with some minimal post-processing by using pwd and grp modules to resolve the uid/gid iff -n was not passed in by the user.  Luckily -n is supported by other UNIXes.
def uxy_cmd_ls(args, uargs):
  resolve_ids = True
  if "-n" in uargs or "--numeric-uid-gid" in uargs:
    resolve_ids = False
  proc = subprocess.Popen(
    ['ls','-l', '--time-style=full-iso', '-n'] + uargs,
    stdout=subprocess.PIPE)
  regexp = re.compile(r'(.)([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*\s+[^\s]*\s+[^\s]*)\s+(.*)')
  fmt = Format("TYPE PERMISSIONS LINKS OWNER      GROUP      SIZE         TIME                                  NAME")
  writeout(fmt.render())
  for ln in proc.stdout:
    ln = trim_newline(ln.decode("utf-8"))
    if ln.startswith('total'):
      continue
    m = regexp.match(ln)
    if not m:
      continue
    fields = []
    for i in range(1, regexp.groups + 1):
      value = m.group(i)
      if resolve_ids:
        try:
          if i == 4:
            value = pwd.getpwuid(int(value)).pw_name
          elif i == 5:
            value = grp.getgrgid(int(value)).gr_name
        except (KeyError, ValueError):
          pass
      fields.append(encode_field(value))
    writeout(fmt.render(fields))

If that implementation is ok, I can make a pull request.

Thanks!


SoX effect "rate" crashing or hanging in multiprocessing

🐛 Bug
This time I'm pretty sure it's a bug :P
When running torchaudio speed + rate SoX effect chain inside of a ProcessPoolExecutor on the CLSP grid, the subprocess experiences segmentation fault inside the apply_effects_tensor function. I managed to make the subprocess wait and attached gdb to it, and this is the native stack trace I got:
Program received signal SIGSEGV, Segmentation fault.
0x00007fb3862087d6 in __kmp_acquire_ticket_lock () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/mkl/../../../libiomp5.so
(gdb) bt
#0  0x00007fb3862087d6 in __kmp_acquire_ticket_lock () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/mkl/../../../libiomp5.so
#1  0x00007fb3861dad4a in __kmpc_set_lock () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/mkl/../../../libiomp5.so
#2  0x00007fb30e244746 in update_fft_cache (len=len@entry=2048) at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/effects_i_dsp.c:190
#3  0x00007fb30e245187 in lsx_safe_rdft (len=2048, type=1, d=0x55f3b1e30700) at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/effects_i_dsp.c:218
#4  0x00007fb30e254be5 in dft_stage_init (instance=instance@entry=0, Fp=0.91362772738460019, Fs=Fs@entry=1, Fn=2<EMAIL_ADDRESS>phase=phase@entry=50, stage=0x55f3b1ed5730, L=L@entry=2, M=1)
    at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/rate.c:239
#5  0x00007fb30e2568b6 in rate_init (noSmallIntOpt=<optimized out>, max_coefs_size=400, interpolator=-1, use_hi_prec_clock=sox_false, maintain_3dB_pt=<optimized out>, rolloff=rolloff_small, anti_aliasing_pc=<optimized out>,
    bw_pc=<optimized out>, phase=50, bits=<optimized out>, factor=0.98090137934956023, shared=<optimized out>, p=<optimized out>) at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/rate.c:367
#6  start (effp=effp@entry=0x55f3b1e2edc0) at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/rate.c:632
#7  0x00007fb30e241f95 in sox_add_effect (chain=0x55f3b1fdec40, effp=effp@entry=0x55f3b1e2edc0, in=in@entry=0x7ffdf6d5acf0, out=out@entry=0x7ffdf6d5acd0)
    at /opt/conda/conda-bld/torchaudio_1603752092839/work/third_party/src/libsox/src/effects.c:157
#8  0x00007fb30e232bcd in torchaudio::sox_effects_chain::SoxEffectsChain::addEffect (this=this@entry=0x7ffdf6d5ac90, effect=...) from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torchaudio/_torchaudio.so
#9  0x00007fb30e1f3e1f in torchaudio::sox_effects::apply_effects_tensor (input_signal=..., effects=...) from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torchaudio/_torchaudio.so
#10 0x00007fb30e20b593 in c10::impl::detail::WrapFunctionIntoRuntimeFunctor_<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > (*)(c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >), c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> >, c10::guts::typelist::typelist<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > > >::operator() (this=<optimized out>, args#1=<error reading variable: access outside bounds of object referenced via synthetic pointer>, args#0=...)
   from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torchaudio/_torchaudio.so
#11 c10::impl::call_functor_with_args_from_stack_<c10::impl::detail::WrapFunctionIntoRuntimeFunctor_<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > (*)(c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >), c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> >, c10::guts::typelist::typelist<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > > >, false, 0ul, 1ul> (stack=0x7ffdf6d5b490, functor=<optimized out>) at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:339
#12 c10::impl::call_functor_with_args_from_stack<c10::impl::detail::WrapFunctionIntoRuntimeFunctor_<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > (*)(c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >), c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> >, c10::guts::typelist::typelist<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > > >, false> (stack=0x7ffdf6d5b490, functor=<optimized out>) at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:346
#13 _ZZN3c104impl31make_boxed_from_unboxed_functorINS0_6detail31WrapFunctionIntoRuntimeFunctor_IPFNS_13intrusive_ptrIN10torchaudio9sox_utils12TensorSignalENS_6detail34intrusive_target_default_null_typeIS7_EEEERKSB_St6vectorISE_ISsSaISsEESaISG_EEESB_NS_4guts8typelist8typelistIJSD_SI_EEEEELb0EE4callEPNS_14OperatorKernelERKNS_14OperatorHandleEPSE_INS_6IValueESaISW_EEENKUlT_E_clINSL_6detail9_identityEEEDaS10_ (__closure=<optimized out>, delay_check=...)
    at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:392
#14 _ZN3c104guts6detail13_if_constexprILb1EE4callIZNS_4impl31make_boxed_from_unboxed_functorINS5_6detail31WrapFunctionIntoRuntimeFunctor_IPFNS_13intrusive_ptrIN10torchaudio9sox_utils12TensorSignalENS_6detail34intrusive_target_default_null_typeISC_EEEERKSG_St6vectorISJ_ISsSaISsEESaISL_EEESG_NS0_8typelist8typelistIJSI_SN_EEEEELb0EE4callEPNS_14OperatorKernelERKNS_14OperatorHandleEPSJ_INS_6IValueESaIS10_EEEUlT_E_ZNSU_4callESW_SZ_S13_EUlvE0_LPv0EEEDcOS14_OT0_ (thenCallback=<optimized out>)
    at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:193
#15 _ZN3c104guts12if_constexprILb1EZNS_4impl31make_boxed_from_unboxed_functorINS2_6detail31WrapFunctionIntoRuntimeFunctor_IPFNS_13intrusive_ptrIN10torchaudio9sox_utils12TensorSignalENS_6detail34intrusive_target_default_null_typeIS9_EEEERKSD_St6vectorISG_ISsSaISsEESaISI_EEESD_NS0_8typelist8typelistIJSF_SK_EEEEELb0EE4callEPNS_14OperatorKernelERKNS_14OperatorHandleEPSG_INS_6IValueESaISX_EEEUlT_E_ZNSR_4callEST_SW_S10_EUlvE0_EEDcOT0_OT1_ (elseCallback=<optimized out>,
    thenCallback=<optimized out>) at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:282
#16 c10::impl::make_boxed_from_unboxed_functor<c10::impl::detail::WrapFunctionIntoRuntimeFunctor_<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > (*)(c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > >), c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> >, c10::guts::typelist::typelist<c10::intrusive_ptr<torchaudio::sox_utils::TensorSignal, c10::detail::intrusive_target_default_null_type<torchaudio::sox_utils::TensorSignal> > const&, std::vector<std::vector<std::string, std::allocator<std::string> >, std::allocator<std::vector<std::string, std::allocator<std::string> > > > > >, false>::call (functor=<optimized out>, stack=0x7ffdf6d5b490) at /opt/conda/conda-bld/torchaudio_1603752092839/work/torchaudio/csrc/register.cpp:388
#17 0x00007fb35fa661f2 in c10::Dispatcher::callBoxed(c10::OperatorHandle const&, std::vector<c10::IValue, std::allocator<c10::IValue> >*) const () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so
#18 0x00007fb35fa61829 in torch::jit::(anonymous namespace)::createOperatorFromC10_withTracingHandledHere(c10::OperatorHandle const&)::{lambda(std::vector<c10::IValue, std::allocator<c10::IValue> >*)#1}::operator()(std::vector<c10::IValue, std::allocator<c10::IValue> >*) const () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so
#19 0x00007fb36458f42d in torch::jit::invokeOperatorFromPython(std::vector<std::shared_ptr<torch::jit::Operator>, std::allocator<std::shared_ptr<torch::jit::Operator> > > const&, pybind11::args, pybind11::kwargs) ()
   from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_python.so
#20 0x00007fb364567624 in torch::jit::initJITBindings(_object*)::{lambda(std::string const&)#104}::operator()(std::string const&) const::{lambda(pybind11::args, {lambda(std::string const&)#104}::kwargs)#1}::operator()(pybind11, pybind11::args) const () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_python.so
#21 0x00007fb364567a0c in void pybind11::cpp_function::initialize<torch::jit::initJITBindings(_object*)::{lambda(std::string const&)#104}::operator()(std::string const&) const::{lambda(pybind11::args, pybind11::kwargs)#1}, pybind11::object, {lambda(std::string const&)#104}, pybind11::args, pybind11::name, pybind11::doc>(torch::jit::initJITBindings(_object*)::{lambda(std::string const&)#104}::operator()(std::string const&) const::{lambda(pybind11::args, pybind11::kwargs)#1}&&, pybind11::object (*)({lambda(std::string const&)#104}, pybind11::args), pybind11::name const&, pybind11::doc const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail) ()
   from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_python.so
#22 0x00007fb3641da5ea in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) () from /home/pzelasko/miniconda3/envs/lhotse/lib/python3.7/site-packages/torch/lib/libtorch_python.so
#23 0x000055f3adb53c94 in _PyMethodDef_RawFastCallKeywords () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:694
#24 0x000055f3adb53db1 in _PyCFunction_FastCallKeywords (func=0x7fb30cdac960, args=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:734
#25 0x000055f3adbbf5be in call_function (kwnames=0x0, oparg=2, pp_stack=<synthetic pointer>) at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:4568
#26 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3093
#27 0x000055f3adb032b9 in _PyEval_EvalCodeWithName () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3930
#28 0x000055f3adb53435 in _PyFunction_FastCallKeywords () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:433
#29 0x000055f3adbbf229 in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:4616
#30 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3093
#31 0x000055f3adb0431b in function_code_fastcall (globals=<optimized out>, nargs=3, args=<optimized out>, co=0x7fb30e107ae0) at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:283
#32 _PyFunction_FastCallDict () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:322
#33 0x000055f3adb22b93 in _PyObject_Call_Prepend () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:908
#34 0x000055f3adb5a16a in slot_tp_call () at /tmp/build/80754af9/python_1588882889832/work/Objects/typeobject.c:6402
#35 0x000055f3adb5b00b in _PyObject_FastCallKeywords () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:199
#36 0x000055f3adbbf186 in call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:4619
#37 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3124
#38 0x000055f3adb032b9 in _PyEval_EvalCodeWithName () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3930
#39 0x000055f3adb53497 in _PyFunction_FastCallKeywords () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:433
#40 0x000055f3adbbbcba in call_function (kwnames=0x7fb30e106fb0, oparg=<optimized out>, pp_stack=<synthetic pointer>) at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:4616
#41 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3139
#42 0x000055f3adb032b9 in _PyEval_EvalCodeWithName () at /tmp/build/80754af9/python_1588882889832/work/Python/ceval.c:3930
#43 0x000055f3adb04610 in _PyFunction_FastCallDict () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:376
#44 0x000055f3adb22b93 in _PyObject_Call_Prepend () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:908
#45 0x000055f3adb1595e in PyObject_Call () at /tmp/build/80754af9/python_1588882889832/work/Objects/call.c:245

The same test seems to be hanging in Lhotse's GitHub Actions CI: https://github.com/lhotse-speech/lhotse/pull/124/checks?check_run_id=1391378614
To Reproduce
Steps to reproduce the behavior:

the latest PyTorch with torchaudio (via conda) and install Lhotse from the torchaudio data augmentation branch git clone https://github.com/lhotse-speech/lhotse && cd lhotse && git checkout feature/augmentation-refactoring && pip install -e '.[dev]'
Run this test using pytest test/known_issues/test_augment_with_executor.py

Expected behavior
No crash
Environment

What commands did you used to install torchaudio (conda/pip/build from source)? conda
If you are building from source, which commit is it?
What does torchaudio.__version__ print? (If applicable)

Collecting environment information...
PyTorch version: 1.7.0
Is debug build: True
CUDA used to build PyTorch: 10.2
ROCM used to build PyTorch: N/A
OS: Debian GNU/Linux 9.13 (stretch) (x86_64)
GCC version: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
Clang version: 3.8.1-24 (tags/RELEASE_381/final)
CMake version: version 3.7.2
Python version: 3.7 (64-bit runtime)
Is CUDA available: True
CUDA runtime version: Could not collect
GPU models and configuration:
GPU 0: GeForce GTX 1080 Ti
GPU 1: GeForce GTX 1080 Ti
GPU 2: GeForce GTX 1080 Ti
GPU 3: GeForce GTX 1080 Ti
Nvidia driver version: 440.33.01
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Versions of relevant libraries:
[pip3] numpy==1.18.5
[pip3] torch==1.7.0
[pip3] torchaudio==0.7.0a0+ac17b64
[pip3] torchvision==0.8.1
[conda] blas                      1.0                         mkl
[conda] cudatoolkit               10.2.89              hfd86e86_1
[conda] mkl                       2020.1                      217
[conda] mkl-service               2.3.0            py37he904b0f_0
[conda] mkl_fft                   1.1.0            py37h23d657b_0
[conda] mkl_random                1.1.1            py37h0573a6f_0
[conda] numpy                     1.18.5           py37ha1c710e_0
[conda] numpy-base                1.18.5           py37hde5b4d6_0
[conda] pytorch                   1.7.0           py3.7_cuda10.2.89_cudnn7.6.5_0    pytorch
[conda] torchaudio                0.5.1                    pypi_0    pypi
[conda] torchvision               0.8.1                py37_cu102    pytorch
Additional context

Hi @pzelasko
I confirm I could reproduce the issue.  The default backend will be changed to "sox_io" backend in 0.8.0 and "sox" backend will be removed in 0.9.0. Please migrate to "sox_io" backend. Please refer to https://github.com/pytorch/audio/issues/903 for the detail.
    warnings.warn(

test/known_issues/test_augment_with_executor.py::test_wav_augment_with_executor[ThreadPoolExecutor]
  /home/moto/conda/envs/PY3.8-cuda101/lib/python3.8/site-packages/torchaudio/compliance/kaldi.py:574: UserWarning: The function torch.rfft is deprecated and will be removed in a future PyTorch release. Use the new torch.fft module functions, instead, by importing torch.fft and calling torch.fft.fft or torch.fft.rfft. (Triggered internally at  /opt/conda/conda-bld/pytorch_1603729009598/work/aten/src/ATen/native/SpectralOps.cpp:590.)
    fft = torch.rfft(strided_input, 1, normalized=False, onesided=True)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
========================================================================================================== short test summary info ===========================================================================================================
FAILED test/known_issues/test_augment_with_executor.py::test_wav_augment_with_executor[ProcessPoolExecutor] - concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was runn...
================================================================================================== 1 failed, 1 passed, 2 warnings in 1.48s ===================================================================================================

env
PyTorch version: 1.7.0
Is debug build: True
CUDA used to build PyTorch: 10.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 18.04.3 LTS (x86_64)
GCC version: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Clang version: Could not collect
CMake version: version 3.10.2

Python version: 3.8 (64-bit runtime)
Is CUDA available: True
CUDA runtime version: 10.1.243
GPU models and configuration:
GPU 0: Quadro GP100
GPU 1: Quadro GP100

Nvidia driver version: 418.116.00
cuDNN version: /usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.5
HIP runtime version: N/A
MIOpen runtime version: N/A

Versions of relevant libraries:
[pip3] numpy==1.19.2
[pip3] pytorch-sphinx-theme==0.0.24
[pip3] torch==1.7.0
[pip3] torchaudio==0.7.0a0+ac17b64
[conda] blas                      1.0                         mkl
[conda] cudatoolkit               10.1.243             h6bb024c_0
[conda] magma-cuda101             2.5.2                         1    pytorch
[conda] mkl                       2020.1                      217
[conda] mkl-include               2020.1                      219    conda-forge
[conda] mkl-service               2.3.0            py38he904b0f_0
[conda] mkl_fft                   1.2.0            py38h23d657b_0
[conda] mkl_random                1.1.1            py38h0573a6f_0
[conda] numpy                     1.19.2           py38h54aff64_0
[conda] numpy-base                1.19.2           py38hfa32c7d_0
[conda] pytorch                   1.7.0           py3.8_cuda10.1.243_cudnn7.6.3_0    pytorch
[conda] pytorch-sphinx-theme      0.0.24                    dev_0    <develop>
[conda] torchaudio                0.7.0                      py38    pytorch

@pzelasko
Could you check what initialization method is used to launch subprocess?
One possible cause is how subprocess is launched. https://github.com/pytorch/pytorch/issues/46409#issuecomment-712298214
If I modify the test and change it to exec_type(1, mp_context=multiprocessing.get_context('spawn')). It worked.
If this is the case, the root cause might be same as https://github.com/pytorch/pytorch/issues/46409 .

Thanks @mthrok, that is a valid work-around that un-blocks Lhotse :)
FYI you mentioned in that other thread that libsox was not built with OpenMP, but the three top frames from the call stack I reported suggest otherwise. Note that it broke at line 190 in update_fft_cache, that calls a macro that only does anything when HAVE_OPENMP is defined (see here).

Thanks @mthrok, that is a valid work-around that un-blocks Lhotse :)

Glad it helped.

FYI you mentioned in that other thread that libsox was not built with OpenMP, but the three top frames from the call stack I reported suggest otherwise. Note that it broke at line 190 in update_fft_cache, that calls a macro that only does anything when HAVE_OPENMP is defined (see here).

In https://github.com/pytorch/pytorch/issues/46409, the issue was focusing on macOS environment, and the binary distributions of torchaudio for macOS does not include OpenMP. The binary distributions for Linux have them.
I was not sure why there was MKL on the stack trace you shared, but that makes sense. Thanks for letting me know.
I guess that the cause of the issue is fork vs spawn in Python's multiprocessing module, regardless of the OS.
Thanks for reporting the issue. This is a good data point and gave us better insight on it. (though I am still not sure how we can fix it when subprocess is created with fork method.)

I will add the workaround to the documentation.
I think this will be a pitfall potentially many people will fall in.

On Ubuntu, disabling OpenMP support for libsox seems to resolve the issue.
https://github.com/pytorch/audio/pull/1026

As a first step you could try OMP_NUM_THREADS=1 and see if this still causes the segfault. This will disable any openmp parallelization.

Another thing we should make sure is that torchaudio's sox is using PyTorch's openmp (PyTorch statically links openmp and ships with it). Or maybe we decide to disable openmp for sox entirely, but let's do some perf investigation before we do that.

I talked with @malfet, and it is most like that Intel's OpenMP and GNU Open MP are conflicting.

@pzelasko I have disabled the OpenMP support for libsox, which is the suspected cause. It will be available as nightly tomorrow, and we are adding the change to the 0.7.1 minor release, which happens expected in early December. If you have time, can you try the nightly and see things work without using "spawn" ?

@pzelasko Can we close the issue? I believe now it works fine on "folk" method too.

Yes. Thanks!

Wiadomość napisana przez moto<EMAIL_ADDRESS>w dniu 12/19/20, o godz. 12:50:

@pzelasko Can we close the issue? I believe now it works fine on "folk" method too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Footer hyperlinks (fb, twitter, etc) should open a new window

All the resources links open a new window, but the ones on the footer don't.
Is this by design?
it feels inconsistent. I'd vote for all external links in a new window, but happy to go with whatever the designers planned for

Fixed by #65


Packaging error, file not found

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.4.2
Electron version
26.2.1
Operating system
macos 13.4
Last known working Electron Forge version
6.4.2
Expected behavior
when i used package command
"An unhandled rejection has occurred inside Forge:
Error: ENOENT: no such file or directory, stat '/private/var/folders/nl/bg8c1j554f992v80ccqbz57c0000gn/T/electron-packager/darwin-x64/first-app-darwin-x64-yb3210/Electron.app/Contents/Resources/app/node_modules/electron-squirrel-startup'"
my mac is m1 chip
project is electron-forge default demo
Actual behavior
I encountered an error when packaging according to the instructions in the document
Steps to reproduce
I encountered an error when packaging according to the instructions in the document
{
    "name": "first-app",
    "productName": "first-app",
    "version": "1.0.0",
    "description": "My Electron application description",
    "main": ".vite/build/main.js",
    "scripts": {
        "start": "electron-forge start",
        "package": "electron-forge package",
        "make": "electron-forge make",
        "publish": "electron-forge publish",
        "lint": "eslint --ext .ts,.tsx ."
    },
    "keywords": [],
    "author": {
        "name": "xujiajun",
        "email"<EMAIL_ADDRESS>    },
    "license": "MIT",
    "devDependencies": {
        "@electron-forge/cli": "^6.4.2",
        "@electron-forge/maker-deb": "^6.4.2",
        "@electron-forge/maker-dmg": "^6.4.2",
        "@electron-forge/maker-rpm": "^6.4.2",
        "@electron-forge/maker-squirrel": "^6.4.2",
        "@electron-forge/maker-zip": "^6.4.2",
        "@electron-forge/plugin-auto-unpack-natives": "^6.4.2",
        "@electron-forge/plugin-vite": "^6.4.2",
        "@typescript-eslint/eslint-plugin": "^5.62.0",
        "@typescript-eslint/parser": "^5.62.0",
        "electron": "26.2.1",
        "eslint": "^8.49.0",
        "eslint-plugin-import": "^2.28.1",
        "ts-node": "^10.9.1",
        "typescript": "~4.5.4"
    },
    "dependencies": {
        "electron-squirrel-startup": "^1.0.0"
    }
}

force.config.ts
import type { ForgeConfig } from '@electron-forge/shared-types'
import { MakerSquirrel } from '@electron-forge/maker-squirrel'
import { MakerZIP } from '@electron-forge/maker-zip'
import { MakerDMG } from '@electron-forge/maker-dmg'
import { MakerDeb } from '@electron-forge/maker-deb'
import { MakerRpm } from '@electron-forge/maker-rpm'
import { VitePlugin } from '@electron-forge/plugin-vite'

const config: ForgeConfig = {
    packagerConfig: {},
    rebuildConfig: {},
    makers: [
        // new MakerSquirrel({}),
        new MakerZIP({}, ['darwin']),
        new MakerRpm({}),
        new MakerDMG({}),
        new MakerDeb({}),
    ],
    plugins: [
        new VitePlugin({
            // `build` can specify multiple entry builds, which can be Main process, Preload scripts, Worker process, etc.
            // If you are familiar with Vite configuration, it will look really familiar.
            build: [
                {
                    // `entry` is just an alias for `build.lib.entry` in the corresponding file of `config`.
                    entry: 'src/main.ts',
                    config: 'vite.main.config.ts',
                },
                {
                    entry: 'src/preload.ts',
                    config: 'vite.preload.config.ts',
                },
            ],
            renderer: [
                {
                    name: 'main_window',
                    config: 'vite.renderer.config.ts',
                },
            ],
        }),
    ],
}

export default config

Additional information
No response

Perhaps the PR #3336 fixed this issue.


A mistake in the online data augmentation in proposal_target_layer

In https://github.com/sshaoshuai/PointRCNN/blob/master/lib/rpn/proposal_target_layer.py#L306
       for k in range(batch_size):
            pts[k] = kitti_utils.rotate_pc_along_y_torch(pts[k], angles[k])
            gt_of_rois[k] = kitti_utils.rotate_pc_along_y_torch(gt_of_rois[k].unsqueeze(dim=1), angles[k]).squeeze(dim=1)
            rois[k] = kitti_utils.rotate_pc_along_y_torch(rois[k].unsqueeze(dim=1), angles[k]).squeeze(dim=1)

            # calculate the ry after rotation
            temp_x, temp_z = gt_of_rois[:, :, 0], gt_of_rois[:, :, 2]
            temp_beta = torch.atan2(temp_z, temp_x)
            gt_of_rois[:, :, 6] = torch.sign(temp_beta) * np.pi / 2 + gt_alpha - temp_beta

            temp_x, temp_z = rois[:, :, 0], rois[:, :, 2]
            temp_beta = torch.atan2(temp_z, temp_x)
            rois[:, :, 6] = torch.sign(temp_beta) * np.pi / 2 + roi_alpha - temp_beta

Maybe the ry after rotation should be at the outside of the for?
Currently the ry will be calculated batch_size times. Is this a mistake?

Well, though they are calculated multiple times. The result seems the same with one time.


fix(release): adjust semantic release syntax

:tada: This PR is included in version 1.0.1 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:


Fix msal issue 882

Fix MSAL Issue 882
If the authority is B2C, then we don't need to check if the Environment on the account that is passed matches the host or not as B2C only exists in one cloud.
cherry picked commit from pr #764

Approving - I assume there will be a follow-up PR to rev version numbers and update the changelog?

Approving - I assume there will be a follow-up PR to rev version numbers and update the changelog?

Yes

I have the same comment as the other one. Either that or add comments describing why we add this B2C check (for readability). Otherwise LGTM

Added a comment @rpdome


C3 reboot, possible power drop monitor false positive

Describe the bug
After driving 30 minutes C3 rebooted causing dash errors with no warning. Looking at footage the segment ends about 1 minute before the reboot happened so footage is missing from the end of the drive. Reboot happened just as I was getting to my destination so device went off road shortly after it happened.
openpilot version 0.8.12 release3
device: comma 3
Vehicle: 2021 Toyota Highlander
Last available segment: 8d8427a2116eace2|2022-01-06--18-19-23--2
What hardware does this issue affect?
comma three
Provide a route where the issue occurs
8d8427a2116eace2|2022-01-06--18-19-23--2
openpilot version
0.8.12 release3
Additional info
Left device overnight in vehicle, drove next day with no issues so after going off-road it seems to be back to normal.

Can you upload rlogs?

It shows rlogs for the last partial segment 3 as "none."

Requested segment three manually for you. Since the qlog is corrupted you can't do it through connect.

From the logs/next bootlogs I don't see anything immediately obvious. From the PMIC status it looks like the device rebooted out of it's own will, indicating a false positive on the power drop monitor. When the battery voltage drops below 7V we turn off the screen, try to flush as much as possible to disk and shut down cleanly to prevent disk corruption. https://github.com/commaai/agnos-builder/blob/master/userspace/usr/comma/power_drop_monitor.py
The power drop monitor tries to write a param when this happens (LastPowerDropDetected), but this wasn't set in your case. Did some more testing on my own device, and this doesn't seem as reliable as I thought. So the absence of the param doesn't really prove anything.
Let me know if this happens to you more often! If it does happen you can try replacing your cable.
In the meantime I'll try to improve the logging around the power drop monitor, and ensure we can better debug this.

Just for context, I recently changed the USB-C cable due to a random connection dropout issue but not a power issue. This new cable has been working for a few months without issue, but could be a similar cable failing issue. If so these C3 cables are only lasting about 3 months at a time. And I'm leaving device and cable connected as much as possible so no excessive wear from handling.
I'll report if it happens again, and swap cables again to see if that resolves it.
Thanks for looking into it!

In the next bootlogs there are no pstore entries (logs from the last boot held in RAM). When I manually run the halt -f that the power drop monitor runs to shut down, the pstore entries remain. This could indicate your device actually lost power briefly.

@Hubblesphere Possible there are any kinks the way you're routing the USB cable? Would be weird to see the cable fail twice. Just throwing some ideas around.

@alancyau first one failed on my 2019 Corolla and I swapped to the new one after getting my 2021 Highlander. They have different installation positions and I think Highlander gives a bit more room for the cable. If it does turn out to be the cable again I'll try to reassess my installation and avoid any tight bends.

I believe my C3 also experienced a random reboot while the car was turned on. I was sitting in the back seat, so I didn't catch the entire reboot process. If I recall, OP was disengaged and the car was being driven manually at the time. The driver noticed the C3 screen go dark and saw the Comma symbol. I believe a reboot occured.

@alancyau What is your dongle id, and approximate time of the reboot?

@pd0wm The reboot occurred on 1/14/22 during a 7 hour road trip. I don't see the route on Comma Connect. Do you think it never got uploaded? I believe my device is still in Prime trial mode. If I can see the route in connect, I can skim through the drive and estimate when the reboot occured.
Dongle ID: a4af1602d8e668ac

Looking at the logs that was a ui crash, which restarts automatically. Happened 1/14 on 20:09 UTC. Don't see any bootlogs from that day, so your device itself did not crash.

Thanks for checking the logs. Would a UI crash cause OP to disengage if OP was engaged prior to the UI crash?

No, it would stay engaged. It would throw a processNotRunning alert, which is a no entry condition (i.e. doesn't allow you to enter the engaged state).

@Hubblesphere has this happened again? If not, I think we can close this, and if it's happened again, we should have some better logging now.

No issues since.


Improve listing files with long name

I'm using serve to host and share files that may have long names. Current presentation only displays the first characters of the file's name in most cases, which can lead to confusion.

I would love to have an option that would allow displaying one file per line, with the full name of the file shown.

@leo I think this should be a relatively straightforward change, should I just add a button to toggle the layout? Also, do you have any mock ups that I could work with? =0

Fixed in https://github.com/zeit/serve/pull/276

not work in ios device


qiskit-ibmq-provider is not maintained anymore

The package qokit  depends on qiskit-ibmq-provider (<1,>=0.20.2) https://www.wheelodex.org/projects/qokit/ which is not maintained any more and it was replaced by qiskit-ibm-runtime.
See the migration guide here: https://docs.quantum.ibm.com/api/migration-guides/qiskit-runtime

qiskit-ibmq-provider removed


cmd/plume: enable releasing GCE images

Release GCE images using plume
This change adds a new --gce-release-key parameter to the plume release subcommand, that allows uploading GCE images to the corresponding project.
It also sets all the GCE parameters for the channel spec as needed, and gets rid of some old obsolete CoreOS code.
I also did a small refactor of the containerlinux.go file, extracting the channel descriptions that were repeated in the two Azure offers, as I also needed to use the channel description for the GCE image.
How to use
bin/plume release --debug --board amd64-usr --channel <CHANNEL> --version <VERSION> --gce-json-key gce-service-account.json --gce-release-key gce-image-uploader.json
Testing done
Sample run:
$ bin/plume release --debug --board amd64-usr --channel alpha --version 2697.0.0 --gce-json-key gce-service-account.json --gce-release-key gce-image-uploader.json
2020-11-25T11:47:50Z cli: Started logging at level DEBUG
2020-11-25T11:47:50Z storage: Fetching gs://flatcar-jenkins/alpha/boards/amd64-usr/2697.0.0/
2020-11-25T11:47:51Z storage: Found 376 objects under gs://flatcar-jenkins/alpha/boards/amd64-usr/2697.0.0/
2020-11-25T11:47:52Z plume: Creating GCE image flatcar-alpha-2697-0-0
2020-11-25T11:47:52Z platform/api/gcloud: Creating image "flatcar-alpha-2697-0-0" from "https://www.googleapis.com/download/storage/v1/b/flatcar-jenkins/o/alpha%2Fboards%2Famd64-usr%2F2697.0.0%2Fflatcar_production_gce.tar.gz?generation=1605786420053101&alt=media"
2020-11-25T11:47:53Z plume: Waiting for image creation to finish...
2020-11-25T11:47:54Z plume: Image creation is running.
2020-11-25T11:47:57Z plume: Image creation is running.
2020-11-25T11:48:00Z plume: Image creation is running.
2020-11-25T11:48:04Z plume: Image creation is running.
2020-11-25T11:48:07Z plume: Image creation is running.
2020-11-25T11:48:10Z plume: Image creation is running.
2020-11-25T11:48:14Z plume: Image creation is running.
2020-11-25T11:48:17Z plume: Image creation is running.
2020-11-25T11:48:21Z plume: Image creation is running.
2020-11-25T11:48:24Z plume: Image creation is running.
2020-11-25T11:48:27Z plume: Image creation is running.
2020-11-25T11:48:31Z plume: Image creation is running.
2020-11-25T11:48:34Z plume: Image creation is running.
2020-11-25T11:48:38Z plume: Image creation is running.
2020-11-25T11:48:41Z plume: Image creation is running.
2020-11-25T11:48:44Z plume: Image creation is running.
2020-11-25T11:48:48Z plume: Image creation is running.
2020-11-25T11:48:51Z plume: Image creation is done:   100%
2020-11-25T11:48:51Z plume: Success!
2020-11-25T11:48:51Z plume: GCE image name publishing disabled.
2020-11-25T11:48:51Z plume: Deprecating old image flatcar-alpha-2643-0-0
2020-11-25T11:48:51Z plume: Deprecating old image flatcar-alpha-2605-1-0
2020-11-25T11:48:52Z plume: Deprecating old image flatcar-alpha-2513-1-0
2020-11-25T11:48:53Z plume: Waiting on 3 operations.
2020-11-25T11:48:53Z plume: No Azure profile defined, skipping.
2020-11-25T11:48:53Z plume: AWS image creation disabled.

When the image already exists it won't upload it again (else if len(conflicting) == 1), or? For AWS I already change the code to upload again which is needed when the release is rebuilt. Now since this is in release and not pre-release one can argue that it shouldn't happen but if it does, it would be better to upload the image again and delete the existing image first.

Indeed, this is release and not pre-release, it should be run only once per release. Once released images are out, they can start to be used by external customers, so they shouldn't change. Deleting an existing released image sounds bad to me. It could lead to people encountering errors because they tried to install the image and we deleted it while their installation was in progress (I know it's unlikely right now, but if we were to have enough people using our images on GCE, it could happen).
The ore create-image command also allows to upload GCE images, and includes a --force flag that can replace the image if it already exists. I think this is a valid option to be run manually, if a re-upload is necessary for some reason.


Fixes #490; store old versions of scadnano at version-specific URLs

Tested in Fork: https://unhumbleben.github.io/scadnano/v0.11.3/
Here is example of when version number cannot be parsed: https://github.com/UnHumbleBen/scadnano/actions/runs/358816601
Root deployment still runs, but version url gets skipped and a warning message is fired so that we know we need to fix the version string.

Tested in Fork: https://unhumbleben.github.io/scadnano/v0.11.3/
Here is example of when version number cannot be parsed: https://github.com/UnHumbleBen/scadnano/actions/runs/35881660
Root deployment still runs, but version url gets skipped and a warning message is fired so that we know we need to fix the version string.

I see a 404 error on the second link.

Fix linked in my comment: https://github.com/UnHumbleBen/scadnano/actions/runs/358816601


Update player-widget.md for Azure Video Analyzer

Update instructions for creating the JWTToken.

@jasonxian-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Awaiting peer review

#sign-off

@naiteeks: I'm sorry - only the author of this article, @Juliako, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Undefined is not an object (evaluating '_reactNative.Image.resizeMode.contain)

Undefined is not an object (evaluating '_reactNative.Image.resizeMode.contain)

Environment

React Native version: 0.56
React Native Camera Kit: 6.2.6
Platform(s) (iOS, Android, or both?): Both
Device info (Simulator/Device? OS version? Debug/Release?): Nexus 5 - 7.1.1 Version

Recently I did updated react native version to 0.56.  I am also facing the same issue after updation.

@gran33  Can you please tell me any solution for this issue.

Hi,
you can change '{Image.resizeMode.contain}' to "{'contain'}" in file CameraKitCameraScreenBase.js
you need open files in node_modules.

LInk:
https://github.com/wix/react-native-camera-kit/pull/207


📝 Add docs for OTel header generation and ingestion

What and why?
Add documentation on how to generate OTel and traceparent style headers.
Also add a bit of troubleshooting documentation.
Review checklist

[ ] This pull request has appropriate unit and / or integration tests
[ ] This pull request references a Github or JIRA issue

CI Configuration (optional)

[ ] Run unit tests
[ ] Run integration tests

Opened https://datadoghq.atlassian.net/browse/DOCS-4654 for an editorial review!


Make robots look more similar

Currently, all the different versions look a bit different, some of them are darker than the others. We should make sure that they all look the same.

Might be nice to see whether we could 'merge' the ROS 1 and ROS 2 versions of this into a single package.
I've been thinking about converting ROS 1 description/support packages into ROS-agnostic (ie: plain CMake) projects which just happen to install files & directories in expected places, making it possible for ROS 1 & ROS 2 utilities/scripts/etc to pick them up.
The duplication in the case of the UR descriptions specifically has always annoyed me, and there doesn't really appear to be a good reason for it (also thinking about #59).


Difficult to trigger swipe on mobile safari

Hi there! Thanks for this wonderful plugin.
I'm having a more difficult time triggering the swipe functionality than I would like. Don't get me wrong - it does work, but it just seems to be very insensitive.
Compare for example these two sliders on mobile Safari:
The Client Testimonials slider on this website, implemented with this library
The Shorts slider on Youtube's homepage
As you can tell, the Youtube slider is significantly easier to trigger. It seems to recognize the start of the swipe more quickly, and considers swiping out of the area a completion of the swipe.
Any suggestion configuration changes I can make? I tried reducing swipeTolerance from 30 to 15 to no avail.

Looks like this might be related: https://github.com/robinrodricks/vue3-touch-events/issues/22

It's not insensitive from my experience, when you do a left swipe or a right swipe, you have to swipe in a almost perfect line.. Swipe slightly upwards or downwards while sliding left / right, then it won't register.
Most people use the thumb to slide left or right, and doing a perfectly straight line is incredibly hard. The thumb is automatically, and naturally, sliding slightly up (Swiping right) or down (Swiping left) as you move the thumb. Try it yourself, focus, and do a perfectly straight line, and it works every time.
I would consider this a major bug / flaw in this library, as it makes the swipe function useless.

Update: It seems the option swipeTolerance which is by default set to 30px, is related to this. The number follows X as well as Y. Setting it to something like a 100px made the swipe way more accurate and responsive, allowing swipes that wasn't a perfect straight line.


Rename repo?

We may likely be moving to a different documentation scheme from sphinx. I just submitted #3 and the image I'm suggesting we start pushing is ood-doc-build, so maybe it's time to rename this repo to be a more generic 'ood documentation build' repository.

Done. This is ood-documentation-build now.


Constification of the wire module

A huge portion of the wire module is constifyable, as shown in this commit. Making these const fns, especially the functions set aside in the field modules of wire, would be greatly beneficial to me as a consumer of this crate, and I imagine many others. Many of the structs in my own crate's "wire" module for a custom protocol are more constrained versions of the packets and reprs provided by smoltcp. Due to being more constrained, many fields which are variable in the generic reprs are now constant in mine, which then lend themselves to being constants in my crate, however these functions and methods not being marked const prevents me from using smoltcp's tools to calculate these values. Most of the functions which I marked const in this commit are by their very nature/semantics guaranteed to be constifiable anyway, however a handful aren't necessarily, therefore:
Important note: While the majority of the functions are marked const are very safe to do so, not all of them are guaranteed to be so, and the reviewer of this PR should take caution and feel free to unmark something as const if they're not comfortable making that guarantee in the public API.
Another note: There are various other functions which can't be made const fn as written, but could be with minor tweaks. I did not include these tweaks but I think it should be considered as further work for this PR or a potential follow-up PR. Furthermore, plenty outside of wire is constifyable as well but I did not include those in the scope of this PR.

In response to the test failure: The issue is the new_unchecked functions which I marked const fn. This was stabilized in Rust 1.61, one version after the MSRV. Should I remove those for now or is bumping up the MSRV by one viable for this?


Feature request: Save Documents to disk or other file store

I have a Document that takes a long time to be processed by Unstructured. Once it's processed and I get a Document from it, I would like to be able to easily save/load this document to disk or other file store without a vector store (I don't want to split the Document in this use case, and the Document is too large to be converted to an embedding).
Is there a "Langchain" way of doing this or should I go down the route of just serializing to disk as JSON?

I think serialization to disk is fine - we do also have the (poorly documented) concept of a Docstore, but it's only implemented for Google Cloud and in memory at the moment:
https://js.langchain.com/docs/api/stores_doc_gcs/classes/GoogleCloudStorageDocstore


Update ballerina connectors for Swan Lake Preview1

Connectors:

[x] Amazon S3
[x] Google Spreadsheet
[x] Cassandra
[x] Redis

Closing this issue. Since all the task are completed


Error not catched by CATCH node

The catch node fails to catch the error, for example "Error: Error from socket". I would like to request that node.error is called with a 2nd parameter to permit the catch node to catch errors it raises.
The rationale behind. When  tuya-smart-device cannot connect to tuya bulb it generate error and report it to debug window. But when the bulb swith is off then it is normal situation and there is need to handle that programatically. For example catch error from the node and decide not to display in debug.

Good thought.
But how will you turn on from the off state ( physical ) . ?

See also issue#429.
I found 2 ERRORs not catched:
  3 Mar 18:48:14 - [error] [tuya-smart-device:12896b89.d95c84] Error: find() timed out. Is the device powered on and the ID or IP correct?
  3 Mar 18:49:56 - [error] [tuya-smart-device:e543af34.b2468] Error: Error from socket

More notes on ver. 2.0.0. used in production environment  tuyaDAEMON:

New in this version is the extra infos:

3 Mar 18:56:00 - [info] [tuya-smart-device:12896b89.d95c84] Recieved the config {"id":"12896b89.d95c84","type":"tuya-smart-device","z":"173260fb.d021ff","deviceName":"siren","deviceId":"42027807d8bfc0c5831e","deviceKey":"70e17a0208ae2e5c","deviceIp":"","retryTimeout":"100279","findTimeout":"100291","tuyaVersion":"3.1","x":970,"y":460,"wires":[["2ec83963.a7d146"]],"info":"**tuya_ms_104**   \n\n_tuya bridge for \"WiFi Smart Switch Module MS-104\"_\n\nAfter any command, this device sends (and this node captures) a 'status' message carring only the changed values.\n\nA command can be send by node-red, SmartLife app, Google home, Google voice: in any case this node captures the status message.\n\n_note:_\n If node-red changes the switch state, SmartLife is updated correctly, but Google Home not.\n \n_Input:_\nTo send a command via node-red. the payload structure must be:\n` multiple: true\n  data: object\n    1: true\n    102: 5`\n\n_nb:_\nset **Device Virtual ID** and **Device Key** to a tuya connected and working switch, model M-104 ( see [https://it.aliexpress.com/wholesale?SearchText=smart+switch+ms+104](https://it.aliexpress.com/wholesale?SearchText=smart+switch+ms+104))."}

All stuff after "tuyaVersion":"3.1" is not usefull.

User config timeouts are very useful: with prime numbers I can better distribute the load over the time. But it would be even better with the dynamic timeouts: so I can "hibernate" some devices via the program (see ISSUE#35](https://github.com/vinodsr/node-red-contrib-tuya-smart-device/issues/35)).

tuyapi is now ver. 6.1.5

Best regards
m.s.

Good thought.
But how will you turn on from the off state ( physical ) . ?

Hi
I have a phisical/traditional switch in wall (2-wire). So when switch is off the bulb is off.  If the wall switch is off then obviously there is not way to switch on the bulb. The status of bulb in my custom app should be INACTIVE. To detect if bulb is connected I'm using status of your tuya-smart-device node.  If status is connected then then in my app the bulb is accessible and you can perform operations (On/Off/Dimm/etc). In case of other status I assume the bulb is not connected and it should be inactive in my app (no operations allowed).
I hope that clarifies.

The catch node fails to catch the error, for example "Error: Error from socket". I would like to request that node.error is called with a 2nd parameter to permit the catch node to catch errors it raises.
The rationale behind. When tuya-smart-device cannot connect to tuya bulb it generate error and report it to debug window. But when the bulb swith is off then it is normal situation and there is need to handle that programatically. For example catch error from the node and decide not to display in debug.

I localy modified the following:
tuya-smart-device.js:
var setStatusOnError = function (e, message = "error", msg = {}) { 			node.error(e, msg);             return node.status({ fill: "red", shape: "ring", text: message });         };
And it is working as expected


Settings tab improvements

when using 'Settings` tab from left navbar:

settings saved in config.json fileare not loaded
sometimes 'OK' button is spinning for no reason

another related fix: https://github.com/EpicCash/epic-gui-wallet/issues/5


config.toml-E file got generated after release process (make prerelease)

Bug Report
config.toml-E file got generated after the release process (make prerelease)
What did you do?

What did you expect to see?
only config.toml file gets generated
What did you see instead? Under which circumstances?
both config.toml and config.toml-E file got generated
Environment
Operator type:

Kubernetes cluster type:

$ operator-sdk version
v1.19.0
$ go version (if language is Go)
1.17.9
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"2c6062082e8dbbf36936b35dcc27c6882d3a2f67", GitTreeState:"clean", BuildDate:"2022-01-11T19:37:02Z", GoVersion:"go1.15.14", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-21T23:01:33Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/amd64"}
Possible Solution
Not sure
Additional context

I'll update this issue after v1.20 gets released.

Didn't replicate in v1.21.0 release.


feat/grpc-web

Summary
The grpc-web protocol is a derivative of gRPC, modified to be driven by a JS client running on a web browser.  The main differences are:

works over any HTTP instead of only HTTP/2
defaults to base64-encoded Protobuf payloads, but allows binary Protobuf and JSON encoding. (with appropriate Content-Type header)
keeps the same message framing, but adds a flag bit to the message type, to allow for a new 'trailers' frame.  Added at the end of the content, this new frame replaces the HTTP trailer carrying the final response status.

Current status:

[x] base64 and binary Protobuf.
[x] JSON payloads.
[x] Pass compressed and uncompressed frames.
[x] Status trailer frame.
[ ] Streaming requests (not lost, but buffered because that's how the platform works).
[x] Streaming responses.

In short, it does work with unmodified servers and client library for default and common cases.
The (de)framing object is slightly overspecified for the the current state, in preparation for the JSON transcoding feature.

@javierguerragiraldez we've been adding new plugins as separate repositories, and not in the main Kong repository. I think, for consistency, we should create a https://github.com/kong/kong-plugin-grpc-web repository instead and add it as a dependency in Kong.

@javierguerragiraldez since it seems that this was moved to https://github.com/kong/kong-plugin-grpc-web, how do you want to handle this? Do you want to close this PR?


Dark theme responsive cafe webpage

Description
I have made a fully responsive cafe website that is attractive with a Dark theme.
issue no. #698

[x] I have made this from my own
[x] I have taken help from some online resources
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas

ATTACH SCREEN-SHOTS

Deploment link
https://deploy-preview-719--cool-front-end-templates.netlify.app/dark theme responsive cafe website/

@Keyurchaniyara amazing work!


fix empty out dir and add option host

Like already discussed, i fixed the empty outDir by filter the path array  by strlen.
Furthermore i need the possibility to add an IP as host in dev-mode, when i access the site by a mobile-device in my wlan.
Therefore i added an option host, which defaults to Server::host() like it was before.
To show the Version in the Panel System View, i also added a Version to composer.json.
Would be nice, if you can accept this PR.
Thx!

Sure! Experiment with it and if it works - feel free to create another PR!


trying to remove null from version-info

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

It seems to have ignored the files here:

Ah no, because the compiler flags are probably inside the siesta binary (?)

Still not fixed.
The problem is that we want to make siesta relocatable, but we only want the rpath/path to be updated, not the string that originates from version-info.
This issue is somewhat related to: https://github.com/conda/conda-build/issues/40
I think the only way to fix this is to:

Add CMake detection of whether we are building in conda
do a replacement of PREFIX and BUILD_PREFIX in flags to something less obvious, probably <prefix> and <build-prefix>

Ok, so for now the only possible fix is to patch "version-info" to not incorporate compiler flags, no?


[Bug]: Select Widget's Options Accepts Boolean Value While Default Value Does Not

Is there an existing issue for this?

[X] I have searched the existing issues

Description
A user can use the boolean values true and false as Options in a Select widget, but the Default Value does not accept boolean values, returning an error:

Steps To Reproduce

Add a Select widget to the canvas and populate the Options with:

[
  {
    "label": "True",
    "value": true
  },
  {
    "label": "False",
    "value": false
  }
]

Set the  Default Value to {{true}} or {{false}}.
An error displays.

Public Sample App
https://app.appsmith.com/app/select-booleans/page1-635ae04f2d2bae0de0e3fd4f
Version
Cloud
 Front conversations

This usecase is in one of my projects.
We are getting the value via DB as a boolean, but it somehow expects a string.
We used toString() as a workaround, using a ternary operator to record the value as a boolean back into the DB.
Maybe this can be related to this React behaviour as I had to handle it in a React select/option before.

Hey @Nuno1123 thanks, can you also let me know if switch, checkbox or radio doesn't work for you?

Hey @Nuno1123 thanks, can you also let me know if switch, checkbox or radio doesn't work for you?

@dilippitchika I have only experieced this in select widgets. I haven't used checkboxs but radio is working fine.

Ok @Nuno1123, is there a reason for specifically using a dropdown for booleans in your use-case, which switch and radio will not solve? I want to understand so that i can prioritise this accordingly.

@dilippitchika we were opening the possibility of in the future having true, false and null as possible outputs from DB. But right now we could make that change, or stick to the workaround.

Understood, thanks for adding more context 👍

Stats

Stat
Values

Reach
530.2

Effort (months)
0.5


Cobigen perfomance issues

Expected behavior
Faster working cobigen.
Actual behavior
If i use cobigen in batch mode and have choose more than 10 files, cobigen is really slowly and it appears if eclipse suspended completly.
Steps to reproduce (bug)
I tested this with 14 Enities an and generated the following increments.
It last about 15 minutes until it finished .

I head from colleages who use the testdata builder, that they have the same performance issues, i think it is a general problem of cobigen.

With the CobiGen CLI performance is improved greatly. Maybe we could try to parallelize CobiGen, but it seems more an Eclipse UI issue.


[SPARK-22648][K8s] Add documentation covering init containers and secrets

What changes were proposed in this pull request?
This PR updates the Kubernetes documentation corresponding to the following features/changes in #19954.

Ability to use remote dependencies through the init-container.
Ability to mount user-specified secrets into the driver and executor pods.

@vanzin @jiangxb1987 @foxish

Test build #85321 has started for PR 20059 at commit c0a659a.

@foxish addressed your comments.

Test build #85323 has started for PR 20059 at commit a6a6660.

Updated in https://github.com/apache/spark/pull/20059/commits/fbb211214499997fe131358042ce05454f88d6fb.

Test build #85325 has started for PR 20059 at commit fbb2112.

Test build #85321 has finished for PR 20059 at commit c0a659a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85321/
Test FAILed.

Test build #85323 has finished for PR 20059 at commit a6a6660.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85323/
Test PASSed.

Test build #85325 has finished for PR 20059 at commit fbb2112.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85325/
Test PASSed.

Merged build finished. Test PASSed.

Test build #85331 has started for PR 20059 at commit f23bf0f.

Test build #85331 has finished for PR 20059 at commit f23bf0f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85331/
Test PASSed.

Test build #85385 has started for PR 20059 at commit 818abaf.

Test build #85385 has finished for PR 20059 at commit 818abaf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85385/
Test PASSed.

Test build #85411 has started for PR 20059 at commit 08486e8.

Test build #85411 has finished for PR 20059 at commit 08486e8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85411/
Test PASSed.

Test build #85428 has started for PR 20059 at commit f4b5c03.

Test build #85428 has finished for PR 20059 at commit f4b5c03.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85428/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #85431 has started for PR 20059 at commit f4b5c03.

Test build #85431 has finished for PR 20059 at commit f4b5c03.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85431/
Test PASSed.

Test build #85440 has started for PR 20059 at commit 453a3db.

Test build #85440 has finished for PR 20059 at commit 453a3db.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85440/
Test PASSed.

Merged build finished. Test PASSed.

Thanks! merging to master.


Admin panel 50% width when following a row with multiple fields

See the issue here:

I fixed this by adding clear: both to the li.wagtailgmap CSS style.

Thanks for the report @scisteffan. Would you might submitting a PR with the fix?

Sure, I've submitted my first ever PR!

FWIW, testing shows that it only happens when the last children of the FieldRowPanel is a FieldPanel for a date field (but works fine for a text field`).
content_panels = Page.content_panels + [
    FieldRowPanel(
        [
            FieldPanel('expire_at'),
            FieldPanel('go_live_at'),
        ]
    ),
    MapFieldPanel('formatted_address'),
]

It should be available on PyPi as 1.0.1 now. Thanks again.


Changes for 20.04

Changed most (all?) refs to apt to apt-get in line with https://askubuntu.com/questions/990823/apt-gives-unstable-cli-interface-warning
and symlinked 'python2.7' to 'python' as 3 is the new default ('python3'), as per previous versions

thanks! I did not know this little detail


LibWeb/HTML: Use IDL Enumerated for form{Enctype, Method}, method attributes

The values of these attributes must be limited to only known values, updated the IDL to enforce this.
This PR fixes many test in this WPT test

[x] Fix #1890

#1890 is closed, so is it safe to close this PR?

Yes, this PR can be merged, I updated the test results so that are correct.


Mapart Bot?

just curious if this bot would be capable of making mapart if someone coded such thing, would be survival obviously and fully afk if also possible

i think this can be done.
you can even use a lib to convert an image to minecraft blocks (there are also websites that can do this) and make the bot build it

https://rebane2001.com/mapartcraft/ this website turns images into schematics and is very customizable

https://github.com/PrismarineJS/mineflayer-builder/ can work

https://github.com/PrismarineJS/mineflayer-builder/ can work
its in js but does also work in python. you also need to change the createbot part to use lodestone

im not sure how useable this actually is for the reasons mentioned above. the main goal is to be able to automate the process in survival which would be great. dont get me wrong i love spending hours placing all these blocks with printer and then seeing my creation, however would be nice to be able to go afk and do other things.

Well mineflayer has a plugin to load those blueprints. You can write your own code based on that data

yeah i dont have the skills to code such thing unfortunately, hopefully someone else does tho would be sick to have a bot for this.

would probably be easier as a mod but it would be nice to make maparts from a web panel

I can maybe make it as a plugin but it's gonna take some time

that would be great, honestly would consider compensating you for your time if you're serious about it. Mapart is probably the only that is stopping me from not playing the game just think its amazing you can create almost anything even tho its just pixels

Going to work on a plugin for this.

Good news @bstar16 i almost got it fully working!

wow that's great! how did you implement it does the bot begin to build the map after you set the coordinates of where it needs to be placed and how does it get the resources for the map. quite amazed you did this, good job

also how does it take the schematics, would love a full walkthrough of what it's capable of so far

Well atm i fully converted the JavaScript (old code) to python. Atm it does not work in survival. Although this is really easy to implement. Tho it cant get the items itself. It needs to be in the inventory. (For creative it gets it from the creative menu). In the examples folder there are some great examples including an map art of the lodestone logo. I have still a lot of bugs to work out bur im planning on doing that today.

The code (for now) only supports .schem and .nbt files but .schmatics can be converted to .nbt online

You can try it out on a supperflat world

@bstar16 I'm working on a update for the plugin. Fixed most bugs and added a progress bar.

So for survival mode what does the bot need to do to obtain the blocks?
also maybe join the discord server. Its a bit easier to chat there

Please God, I need this robot that can automatically build map art.
Although writing programs is a bit difficult for me, I should be able to give you some inspiration.

I hope these robots can get materials from the box. If my blueprint materials are limited, the robots can only take the corresponding materials. The robots can communicate with each other to detect whether there are any missing materials, or there can be an interface that can directly place your materials. nbt file for the robot to detect and build

I'm very sorry I can only provide my thoughts, I hope it helps you


Quick fix: only load 'cfpropertylist' in darwin

Fixes the error message "Error loading fact C:/ProgramData/PuppetLabs/puppet/var/lib/facter/macaddress_primary.rb: cannot load such file -- cfpropertylist" on puppet runs. Only load cfpropertylist gem in Darwin; does only make sense on darwin anyway

@helge000 thanks for patch. Sorry for the slow response. I cam going to close this PR, but it is being merged into the develop branch manually. Cheers!


Adjust the color palette with fewer and more equal numbers on the rows. Some few exceptions.

Done


feat(FX-3972): send trending sort for artist artwork grids based on Unleash flag

The type of this PR is: Expirement

This PR solves FX-3972
Description
When a user is viewing an artist artwork grid with the “default” sort option enabled, we want to have the option to either send -decayed_merch (our current default sort) or our new trending_score (TODO: Clarify this moment) sort parameter to Gravity. We want to be able to change this behavior based on an Unleash feature flag. This will first allow us to add specific Artsy users to the “view trending score-boosted sort” group, so that we can do a qualitative review of the updated grids with stakeholders.
Acceptance criteria

[x] Feature flag in Unleash is created
[x] When the flag is true AND the user is viewing an artist works for sale page, send the new trending score sort param in the fetch for filteredArtworksConnection
[x] When it is false, maintain the existing behavior (sending -decayed_merch)
[ ] Correctly track analytics

Then later, we can launch by updating the feature flag to show to all users (or to a portion of users for an A/B test if desired)

Necessary changes will be added in another PR


Add an option to automatically backup metadata

Dump metadata and upload it to the object storage periodically

Duplicated with #957


chore: move lemmas from Stietljes.lean to their proper afterport places

Purely moving, no mathematical change (apart from namespaces that were missing in the original version).

Thanks! My only complaint is that since I created those after-port moving tasks (most of them at least, perhaps all of them), you should have told me to do it instead of taking time to do it yourself. But thanks again for doing this.
bors r+
There are some other files needing similar PRs. I'll do that in a few days.


add: Bharath Kalyan S

Description

Added my profile to Profile.json.

Changes Proposed
Added the following details :
{
    "name": "Bharath Kalyan S",
    "location": "Bengaluru, India 🇮🇳",
    "bio": "Full Stack Developer with expertise in MERN + Spring Boot",
    "avatar": "https://github.com/bharathkalyans.png",
    "portfolio": "https://showwcase.com/bharathkalyans",
    "skills": [
      "React JS",
      "Next JS",
      "Node JS",
      "Express JS",
      "PostgreSQL",
      "MongoDB",
      "Java",
      "Spring Boot",
      "REST APIs",
      "Git",
      "Tailwind CSS",
      "Blockchain",
      "Web3",
      "Kotlin",
      "Android Development",
      "Python",
      "Machine Learning"
    ],
    "social": {
      "GitHub": "https://github.com/bharathkalyans",
      "Twitter": "https://twitter.com/bharathkalyans",
      "LinkedIn": "https://www.linkedin.com/in/bharathkalyans"
    }
  }

Checklist

[X] I have read and followed the Contribution Guidelines.
[ ] All new and existing tests passed.
[ ] I have updated the documentation to reflect the changes I've made.
[X] My code follows the code style of this project.
[X] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Hey @bharathkalyans we are upgrading our project and there will be a new way to add profile, So can you please wait for it. I will ping than you can add your profile. Sorry for the inconvenience.


Calendar picker - add data-prepend

Hi,
I've form with many input and I'm using data-prepend for label (like render clean and it usefull to gain place). In my form, I've 2 input with calendar picker. I attempt using data-prepend but not implemented it seem ^^
Could you add data-prepend (or perhaps give me tips to have unified form ?) ?
Thanx.

Added in 4.2.23

Nice !
Thanx you for your job 👍


Distribute committee emails

We use ZohoMail and all the DNS records have been set up, no work needed here. The only thing to do is:

clean up all mailboxes (a lot of email from 2020)
reset passwords
make passwords available to new committee
ask exec about who should get an email address

I'm happy to deal with this issue, if you send me the logon details


Add SYNCV3_SERVER_PUB environment variable pointing to the public homeserver URL

SYNCV3_SERVER continues to be used for connecting to the server.
SYNCV3_SERVER_PUB is a new environment variable (defaulting to the value of SYNCV3_SERVER), so that people who are already pointing SYNCV3_SERVER to a public URL do not need to set both.
This change affects the server field in the generated /client/server.json file, so that this field points to the public homeserver URL (SYNCV3_SERVER_PUB).
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2583
Pull Request Checklist

[x] Pull request includes a sign off

I'm not sure if this is the right place to fix this.
This is to benefit Element-web, which seems to be hitting /client/server.json and complaining that the internal homeserver URL there does not match the homeserver it's talking to, as desribed in https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2583
Element X (at least on iOS) does not seem to be doing such checks and does not care what /client/server.json says.
So it may be that element-web needs to stop caring too, or that Element X needs to be fixed. In any case, it seems like /client/server.json may also benefit from advertising the correct public homeserver URL anyway.

Working on this, I've also noticed that https://github.com/matrix-org/sliding-sync/pull/378 (ae73ace4a41be24ebc9ca7752346659061a38338) which introduced UNIX socket support (to SYNCV3_SERVER and https://github.com/matrix-org/sliding-sync/issues/383) may also benefit from this current patch landing.
When SYNCV3_SERVER is pointed to a UNIX socket, it also ends up in the /client/server.json file ("server": "/socket.sock", ..} which I suppose clients like Element will not like. People using UNIX sockets can use the new SYNCV3_SERVER_PUB environment variable for the public homeserver URL.
I also believe that validation checks in cmd/syncv3/main.go should be adjusted, so that when SYNCV3_SERVER is pointed to a socket file, SYNCV3_SERVER_PUB would be required.
If you agree with this, I could prepare another PR.. Or feel free to quickly fix it up yourselves.

So it may be that element-web needs to stop caring too

This. /client/server.json isn't part of the MSC, and element-web shouldn't care about this nowadays. The SYNCV3_SERVER env var is an internal URL, and really we probably shouldn't be leaking it outside (via /client/server.json). Adding another env var just confuses things more.

Sounds good!
I wonder why element-web is trying to read it from there though. Perhaps that should be fixed first.

Nothing to do here, so closing. Element-Web should not be checking /client/server.json anymore.


CGB compatibility palettes

Implement CGB compatibility palettes when opening a GB game in CGB mode.

This is done by the bootrom apparently, so we have to decide if we emulate it (badly) or use the original bootroms.

Use Sameboy bootroms.


migration tool should only put non-default values in the generated values file

To keep the generated values more concise and allow for easier review, the migration tool should only print values which override the defaults.
An alternative might be a tool to remove all default values from an existing values file.  Then you could take the output of the current migration tool and run it through the cleanup/minimize tool.

This is already done partially.
Could you list which values did you see ?

Looking at the generated values.yaml file, there are lots of values included which match the default settings.  Here are a few examples:
kaap:
  cluster:
    spec:
      global:
        dnsConfig:
          options:
          - name: ndots
            value: '4'
        kubernetesClusterDomain: cluster.local
        tls:
          brokerResourceSets: {
            }
          proxyResourceSets: {
            }
      zookeeper:
        nodeSelectors: {
          }
        tolerations: [
          ]