Missing template field on newly created diagram

Describe the Bug
On Camunda Modeler 4.2.0 it is required to create new diagram, save it and then open application once again to have template field available. Otherwise applying template on any task is not possible.
Steps to Reproduce

Open Camunda Modeler 4.2.0.
Create task (applicable templates exists).
Select newly created task - template field is missing.

Save diagram.
Close Camunda Modeler.
Open Camunda Modeler once again and load previously saved diagram. Template field is visible:

Expected Behavior
Template field should be visible from the beginning. Saving diagram and restarting Camunda Modeler application should not be required.
Environment

OS: Windows 10
Camunda Modeler Version: 4.2.0

Can you reproduce the same issue in the current (v4.4.0) version of the app?

Can you reproduce the same issue in the current (v4.4.0) version of the app?

No, it is not reproducible on 4.4.0, but due to Issue 2011 I can't use newer version at the moment.

What is the last good known version this worked for you?

Where are you storing your element templates? I can only reproduce this with local element templates stored in a .camunda directory which is expected as new diagrams are not saved anywhere on disc.

What is the last good known version this worked for you?

I did not checked. I just started using Camunda Modeler in version 4.2.0 and then I tried to use 4.4.0 when I noticed that it is available.

Where are you storing your element templates?
Yes, I am using local element templates stored in a .camunda directory. What are different options? In documentation I found only nfo about .camunda and resources\element-templates directories. Did I miss sth?

The options are clearly outlined in our documentation.

@szerie Local templates that are stored in .camunda directories are not found in v4.3.0 and v4.4.0 due to a bug. This issue has been fixed so you can expect it to be working again in the next release. Sorry for the inconvenience.

Thanks for your input / feedback regarding this.
I've updated the issue description and moved the issue to the backlog.
TLDR: When saving a diagram so that local .camunda stored templates are available the chooser should be shown right after save. This is a long standing bug.
To workaround you may reload the app via CTRL/CMD+R.


multi-stage caching

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Studybox 506 + some fixes

Added user gravatar.
Fixed searching: logged user can search public decks not including own, not logged user can search all public decks.
Changed error message in image import view.

Account with gravatar:
login<EMAIL_ADDRESS>pass: studybox


Can't easily get serial number that data was received from

Referring to using the radio module on the micro:bit.
I can set the serial number:

But it looks like I don't have anything to "get" that at the receiving end.
I'd expect a block, perhaps like "radio receive number" or signal strenght that works inside the "on radio receive" event that gives the serial number as a number.

^ lIke this, but "radio received serial number"
Ideally, in the event handler, the number, serial number, signal strength are all atomic for that event. (IE even if more radio data is received, while in that flow, the serial number is not updated, so if I store a serial number at the beginning of an event handler and a number at the end, I'm sure they are from the same packet)

Having separate output blocks for each part of the packet is confusing right now. It isn't clear if using one of them "consumes" the packet or not. I think that maybe something like this might work better and be more in line with the flow bit you mentioned:

In that block, the variable names would work like the index in the for-loop block and be declared locally:
radio.onPacketReceived((serial: number, signal: number, data: number) => {

});

We could also give the block a mutation handler to let you add/remove the parts of the packet

Yes! This is much better.

Yea, I like this too - would it not be a breaking change to the radio module? That's well and good and better to make it sooner rather than later if so - might be a nice test of how we handle breaking changes to scripts.
Is there a nice trivial migration from the old mechanism to the new one?

I don't know if there is an easy way to rewrite the ts code, but I spoke with @pelikhan and he suggested one option would be to keep around the old APIs and just not surface them in the block editor. That way you could still import old files and we can deprecate the APIs for eventual removal.

Alright, I've been looking into this and trying to come up with a clean API for receiving packets. Here are our existing APIs for sending packets and the data that each of their packets comes with:

API
1
2
3
4
5

sendNumber(value)
value
time
serial number (optional)

sendValue(value, name)
value
time
serial number (optional)
name length
name...

sendString(string)
string

Additionally, each packet also has an rssi value available.
For sendString(), I think the existing receiveString() function is probably fine as is. If we like, we can redo it as a callback pretty easily and add the rssi, but that probably isn't necessary.
For the other two sending APIs (value and number), I think the best idea would be to have one function for both since most of the data is the same between the two. There are two ways we could do that:
Option 1
Take a callback with a lot of optional parameters:
radio.onPacketReceived(callback: (
    value?: number,
    name?: string,
    rssi?: number,
    time?: number,
    serial?: number
) => void): void;

The problem with this is that receiving just a number (i.e. sent with sendNumber()) is a little awkward because we have to "skip over" the name field to get the other parts of the packet. We could put the name at the end of the parameter list, but most people probably want just the value and the name so that would be even more annoying.
Option 2
Define a Packet object and pass that to a callback:
interface Packet {
    value: number;
    rssi: number;
    time: number;
    name?: string;
    serial?: number;
}

onPacketReceived(callback: (packet: Packet) => void): void;

I would prefer not to expose another object type in the blocks because the existing ones are already hard to wrap your head around. Instead, Instead, we can be clever when decompiling the blocks and use destructuring:
// Justthe name and value
radio.onPacketReceived({ name, value }) => { })

// The value and some other data (with no name)
radio.onPacketReceived({ value, rssi, serial })  => { })

By default, we would only show two blocks in the toolbox: one that takes in a value, and one that takes a name and value. All the other "advanced" values will be hidden behind mutations that most kids can just ignore. I don't know if exposing a language feature like object destructuring would overwhelm kids, but I also don't think it is that much more magic than lambdas already are.
Thoughts?

Note that for option 1, mutations would also be awkward because I don't think Blockly lets us enforce an order on the parts you can assemble. We could just figure it out during compilation, but the blocks and TS wouldn't match very cleanly.

Very elegant. I like the package interface option.
From: Richard Knoll<EMAIL_ADDRESS>Sent: Thursday, October 13, 2016 6:47 PM
To: Microsoft/pxt<EMAIL_ADDRESS>Cc: Peli de Halleux<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/pxt] Can't easily get serial number that data was received from (#465)
Alright, I've been looking into this and trying to come up with a clean API for receiving packets. Here are our existing APIs for sending packets and the data that each of their packets comes with:
API
1
2
3
4
5
sendNumber(value)
value
time
serial number (optional)
sendValue(value, name)
value
time
serial number (optional)
name length
name...
sendString(string)
string
Additionally, each packet also has an rssi value available.
For sendString(), I think the existing receiveString() function is probably fine as is. If we like, we can redo it as a callback pretty easily and add the rssi, but that probably isn't necessary.
For the other two sending APIs (value and number), I think the best idea would be to have one function for both since most of the data is the same between the two. There are two ways we could do that:
Option 1
Take a callback with a lot of optional parameters:
radio.onPacketReceived(callback: (
value?: number,

name?: string,

rssi?: number,

time?: number,

serial?: number

) => void): void;
The problem with this is that receiving just a number (i.e. sent with sendNumber()) is a little awkward because we have to "skip over" the name field to get the other parts of the packet. We could put the name at the end of the parameter list, but most people probably want just the value and the name so that would be even more annoying.
Option 2
Define a Packet object and pass that to a callback:
interface Packet {
value: number;

rssi: number;

time: number;

name?: string;

serial?: number;

}
onPacketReceived(callback: (packet: Packet) => void): void;
I would prefer not to expose another object type in the blocks because the existing ones are already hard to wrap your head around. Instead, Instead, we can be clever when decompiling the blocks and use destructuring:
// Justthe name and value
radio.onPacketReceived({ name, value }) => { })
// The value and some other data (with no name)
radio.onPacketReceived({ value, rssi, serial })  => { })
By default, we would only show two blocks in the toolbox: one that takes in a value, and one that takes a name and value. All the other "advanced" values will be hidden behind mutations that most kids can just ignore. I don't know if exposing a language feature like object destructuring would overwhelm kids, but I also don't think it is that much more magic than lambdas already are.
Thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fissues%2F465%23issuecomment-253688942&data=01|01|jhalleux%40microsoft.com|6779c066aef748ac1eb008d3f3d3ede6|72f988bf86f141af91ab2d7cd011db47|1&sdata=AVfEftGsIAHeFEqVmf7HEr0ypws4yk6dbJZspFYBgCI%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD-4KZqNBYgo_pKwDkXyupTNVsShYwVLks5qzt76gaJpZM4KT6KQ&data=01|01|jhalleux%40microsoft.com|6779c066aef748ac1eb008d3f3d3ede6|72f988bf86f141af91ab2d7cd011db47|1&sdata=PEfjog32KssVs61nNvX%2BkTY1vPr4o%2Bg0S%2F%2FIwrVkxDE%3D&reserved=0.

Fixed with the new radio API. Some of the old APIs have been deprecated as well; old projects will still be compatible, but the old blocks no longer appear in the toolbox.


Build docs on Read the Docs

This almost works:
https://astrojuanlu-seaborn.readthedocs.io/en/rtd/
However, the examples gallery doesn't. This is because the actual command to build the docs is this:
$ NB_KERNEL=python3 make notebooks html

or, alternatively (pseudo-bash):
$ ./tools/nb_to_doc.py tutorial/*.ipynb
$ ./tools/nb_to_doc.py docstrings/*.ipynb && cp -r $*_files ../generated/ && ...  # The "Examples" part of the docstrings
$ ./tools/nb_to_doc.py introduction.ipynb
$ make html

Looks like parts of this could be replaced by something like https://nbsphinx.readthedocs.io/, however it requires some workflow changes.

Well, at least locally it turns out that I could manage to get this working by adding the relevant command to conf.py 🎉  I should have tried that earlier, thanks @ericholscher for the suggestion

With an extra hack because of https://github.com/mwaskom/seaborn/issues/2532, but this is working 🎉


Add a link to the license

Add a markdown link to the license file.

Thanks a lot for contributing to Moya! I've invited you to join the Moya GitHub organization – no pressure to accept! If you'd like more information on what that means, check out our contributor guidelines and feel free to reach out with any questions.


Various issues with apostrophe

Etienne Leguil - Irfan Pirbhai (Testing Challenge)
The screenshots will be with 'u'. The same problem can be seen for instance with L'Oréal.
Run on Windows 8 - Mozilla Firefox 33.1
As we can see here there is a 'u' page on Wikipedia:

If a search is ran on WikiWash, an error occurs:

However, if we indeed copy-paste the Wikipedia url, the apostrophe is not displayed properly:

The L'Oréal page works in release 1.1. What URL is the Klingon language page?

@tadman the url is http://en.wikipedia.org/wiki/’u’

Unsubscribe.
On March 23, 2015 at 4:33:14 PM, irfanpirbhai<EMAIL_ADDRESS>wrote:
@tadman the url is http://en.wikipedia.org/wiki/’u’
—
Reply to this email directly or view it on GitHub.

This issue is duplicated by #75.


TS Bindings: Minify generated files

It'd be best practice to minify the output files in the dist files

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello I'm a frontend and also a blockchain developer and I would love to hop on this issue

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello I'll like to be assigned to work on this.
I'm a software Dev with over four years experience and have worked on a couple of projects here. Here's a link to my profile https://app.onlydust.com/u/raizo07

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello, I am Joseph I am a software developer and blockchain developer and I am also an active contributor here on only dust here is my profile https://app.onlydust.com/u/josephchimebuka. This is my first time to contribute to this repo ill appreciate the opportunity to contribute.
How I plan on tackling this issue
To solve this , I will first install a minification tool Then, I will update the build script in the package.json or build pipeline to include a minification step after TypeScript compilation.  Additionally, I can configure terser further by creating a terser.config.js file if more control over the minification process is needed. Once the setup is complete, I'll run the build process and ensure the generated files are properly minified and functional in the final output. I can complete this in 3-4 days

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Helloo, my name is Hellen. I´m currently a computer science student and a web3 developer. I have been working on different exercises on different platforms like Exercism and Starklings in the past weeks so I can get my knowledge about the different languages better . I am hopeful to contribute on this repository!!
How I plan on tackling this issue
To resolve this issue I would do the following:

Install a build tool so I can work on the minification process.
Upgrade or create a build script in the package.json.
Use "--removeComments" in the "tsconfig.json to optimize the TypeScript compilation for production to making it more efficient and improving the project's application.
Run the build script and checking that it produces minified versions of the TypeScript bindings.
Fix any issues if they appear at the run process.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience in TypeScript and JavaScript, focusing on optimizing build processes and file management. I understand the importance of minification for performance and efficiency in production environments.
How I plan on tackling this issue
I’d review the current build process to identify how files are generated in the dist directory. Then, I’d implement a minification tool, such as Terser or UglifyJS, and integrate it into the build pipeline to ensure all output files are minified appropriately.

Hello, I would love to work on this
I am able to minify the output files to ensure efficiency

I’d love to work on this task.

It may not be best to tackle this functionality at the moment, because we are discussing moving the binding generation, potentially to another tool.


Fixed: reset password flag inconsistency in quick-user-setup (#91)

Related Issues

Closes #91
Short Description and Why It's Useful

Fixed issue in user-quick-setup that isPasswordReset required parameter is always going as 'Y'
Screenshots of Visual Changes before/after (If There Are Any)

Contribution and Currently Important Rules Acceptance

[x] I read and followed contribution rules

Already fixed through following PR: https://github.com/hotwax/user-management/pull/93


AlertInputOptions::value should allow number type

Ionic version:  (check one with "x")
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
Current behavior:
AlertInputOptions::value requires a string, but number technically works.
Expected behavior:
AlertInputOptions::value should allow more types than just string.
Steps to reproduce:
Here's a Plunkr demonstrating that numbers do work, they just throw an error when compiling.
Related code:
This code will not compile properly, saying that Type 'number' is not assignable to type 'string'.
  this.AlertController.create({
    title: `Demo`,
    inputs: [0, 1, 2, 3, 4].map((i): AlertInputOptions => {
      return {
        type: 'radio',
        label: i,
        value: i
      };
    }),
    buttons: [
      {
        text: 'Submit',
        handler: (value) => {
          console.log(typeof value);
        }
      }
    ]
  }).present();

If you change the value as follows, then it will work.
  return {
    type: 'radio',
    label: i,
    value: i as any as string
  };

Ionic info:
Cordova CLI: 6.3.1
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.7
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: OS X El Capitan
Node Version: v6.10.3
Xcode version: Xcode 8.2.1 Build version 8C1002

Thanks, we will look into this.


It's very difficult to write libraries that support both Haiku and plain Jax

I would like to extend my fixed point solver to work in both Haiku and Jax.  I thought it would be as simple as replacing jax.lax.scan with hk.scan, etc.  Unfortunately, I get
 ValueError: hk.jit() should not be used outside of hk.transform. Use jax.jit() instead.

Perhaps I'm missing something, but would it be possible to reverse the design decision (https://github.com/deepmind/dm-haiku/pull/17) to raise an error and instead simply fall back to the Jax version of the command if the stateful context isn't needed?
Also, just out of curiosity, but is jacfwd broken in Haiku, or does it not need a stateful wrapper?
@trevorcai WDYT?

I think that's fine. I (personally) won't be able to make time to make the change, but happy to review a PR that would.
@tomhennigan for visibility

Okay, great, thanks for the quick reply.  I'll start working on a PR.

Hi @NeilGirdhar and @trevorcai , I have some reservations about lifting this restriction. I think we should try as much as possible to avoid Haiku "leaking" into more of your program than it needs to be, and this is why hk.scan etc should only be used when you know that the code running is going to be transformed.
One concrete reason why this might be a bad idea, is that you are now locking your users into using Haiku for NN, while they may prefer to use another library (e.g. Flax, Trax etc). The lock in comes from the fact that each OOP JAX library needs to provide you a drop in for scan et al when they are managing the state, so say if you want to support Flax you would need to be able to switch between hk and flax.scan (I assume they have one).
I'll reply on your other issues in a moment, but I wonder if it would be easier for your library to instead integrate with Haiku's pure functions that you get back from transform (e.g. f.apply)? If you are able to do so then your users would be able to use any NN library by simply producing the same function signature.

Hi Tom, thanks for the detailed explanation.

when you know that the code running is going to be hk.transform-ed.

The problem is that you don't know whether the code is going to transformed.  Let's look at some concrete examples.
In my exponential family library, efax, I calculate the Fisher information using grad here.  There's no way for me to know whether this will be called from Jax code or Haiku.
The problem I'm actually running into is in tjax with my fixed point solver here.  Same as before, there's no way to know whether this will be called by Jax or Haiku.

One concrete reason why this might be a bad idea, is that you are now locking your users into using Haiku for NN,

Yes, I agree with your point.  I would love to hear alternatives.  The issue is that this code leaks tracers if it's called from Haiku and isn't properly wrapped.  I would love it if my libraries didn't have to know about Haiku.

it would be easier for your library to instead integrate with Haiku's pure functions that you get back from transform

Same as with the other problem, it's not possible because these functions are called deep in the code.  If they were the outermost thing (for example, if I was always only calculating the Fisher information of the whole network, or the fixed point iteration was only ever applied to the whole network), then I agree that this is a reasonable workaround.
Maybe, to prevent the locking-in behavior, we could come up with a way for the wrappers to be registered with Jax?  It would be more work on the Jax side, but it would be much nicer for users.  Something like this:

In Jax, add a function:

jax.register_stateful_library(f_map: Mapping[str, Callable], when: Callable[[], bool]
jax.jit, for example, can call when to see if it needs to use a different handler, and if so replace its call with f_map['jit'] to get hk.jit.

In Haiku, add a function that does the registration for you like hk.register_stateful_handlers() that calls the Jax hook.

Now, no one is trapped in any choice, and my libraries don't even need to know about Haiku since the calling code will register handlers with Jax that automatically replace jit, etc.
What do you think?

I really like the idea of enabling libraries to override/monkey patch jit et al and I think I've discussed this before with @shoyer and @jekbradbury although I can't find the relevant issue. Do either of you remember if we filed a github issue?

Ah here is the issue google/jax#4117.

@tomhennigan Nice!  I love the way they implemented that.  I'm not sure what I should do while I wait for that pull request to be merged.  Maybe I should merge that PR locally to my version of Jax and then add the appropriate Haiku calls (if you haven't got those somewhere already?)

I think that sounds good, It looks like the PR mostly needs rebasing and someone to merge it so I don't think you'll need to wait for too long.
Wrt how/if we make this a part of Haiku I think we'll need to think quite carefully about whether there are performance implications (e.g. transforms like jax.checkpoint) before enabling by default. I'd suggest for now we make it easy for users to opt-in to Haiku's behaviours with a decorator:
_TRANSFORMS = {'lax.scan': hk.scan}  # etc ..

def override_jax_transforms(f):
  @functools.wraps
  def wrapped(*args, **kwargs):
    with jax.override_context(_TRANSFORMS):
      return f(*args, **kwargs)
  return wrapped

# user code
@hk.experimental.override_jax_transforms
def f(x):
  ...

# everything else stays the same
f = hk.transform(f)
params = f.init(..)

Looks great!  Looking forward to this.

Yes, I'm happy to revive google/jax#4117 :)
My original motivation was actually exactly this issue: we have code that we want to support both Haiku and JAX. So far we've gotten around this by writing our own stateful version of higher order functions like jit for switching back and forth, but that isn't very extensible.

I'm working with @shoyer's pull request, and entering the context manager, but I'm getting
ValueError: hk.while_loop does not support initialization (since we cannot statically determine if your loop will run at least once). Please use `hk.running_init` to run the body unconditionally:

    if hk.running_init():
      # Unconditionally connect the module at init time.
      val = module(val)
    else:
      val = hk.while_loop(lambda val: val.mean() < 1, module, val)

First off, what about parameters that are initialized by the cond_fun?  Are those missed?
Also, I can do something like what's recommended my code, but this is very painful for libraries that don't want to know anything about Haiku.  Why not just make hk.while_loop assume that the loop will run once for the sake of initialization?  That is, why not just have:
def hk.while_loop(cond_fun, body_fun, init_val):
  if not base.params_frozen():
    cond_fun(init_val)
    return body_fun(init_val)
  ...

I guess this doesn't work in some very weird cases where the parameter-getter in body_fun has a different initializer than the parameter-getter after the while loop.
If this is unacceptable, then what about simply forcing the user to have every parameter that's used in the condition or body of a while loop to have already been initialized before the while loop?

Sorry for the long delay, it's been a busy few weeks and I've not had the headspace to dig into this.

First off, what about parameters that are initialized by the cond_fun? Are those missed?

IIRC cond has a requirement that the output structure of each branch must be the same, so I think by construction cond will only support parameter creation if the same creation happens in both branches. Otherwise you will get an error from JAX.
Since we know one of the branches will run, and both branches create/use the same params we can safely support creation in cond.

what about simply forcing the user to have every parameter that's used in the condition or body of a while loop to have already been initialized before the while loop?

This is what is implemented, we enforce this via requiring you to have if hk.running_init(): y = body() else: y = hk.while_loop(..).
I guess what you're asking is whether we can allow hk.while_loop but only throw the error if you update some state in the body (and we're running the init fn)? I think that could be fine, but in that case it would be appropriate to use lax.while_loop directly.

@shoyer's pull request

It seems like there has not been much movement on here. An alternative solution might be to document some alternative designs that would allow library authors to accept functionally impure code and make use of jax transforms. For example instead of:
def my_library_f(f, x):
  x = jax.some_transform(f)(x)
  ...
  return x

We could suggest libraries support users passing in the transforms to use:
def my_library_f(f, x, some_transform=jax.some_transform):
  x = some_transform(f)(x)
  return x

my_library_f(hk.Linear(1), x, hk.some_transform)

In the while loop case, users can then work around any library specific restrictions (as we have in hk.while_loop) without the library needing to care:
if hk.running_init():
  x = hk.Linear(1)(x).reshape(..)
else:
  x = my_library_f(hk.Linear(1), x, hk.some_transform)

Thoughts?

There are other ways to solve the "state management" problem. Haiku, Flax et al have point solutions outside JAX (which are convenient at first, but have some very sharp edges when combined with jax transforms and other libraries). JAX itself could support "implicit state" so at least the sharp edges would be consistent across stateful libraries. Doing so without losing the beautiful simplicity JAX's current explicit data flow design will be a challenge. I know that @LenaMartens, @mattjj, @jekbradbury and others  have been thinking about this for a while, but there isn't a clear solution.

(I'm sick in bed, so apologies if this reply doesn't make sense.)

IIRC cond has a requirement that the output structure of each branch must be the same, so I think by construction cond will only support parameter creation if the same creation happens in both branches. Otherwise you will get an error from JAX.

Sorry, I wasn't clear.  If you look at the error message in hk.while_loop, it says to
    if hk.running_init():
      # Unconditionally connect the module at init time.
      val = module(val)
    else:
      val = hk.while_loop(lambda val: val.mean() < 1, module, val)

I was just saying that you might also want to recommend cond(val) in the initialization phase to make sure that state created by the condition shows up in the initialized state.

I guess what you're asking is whether we can allow hk.while_loop but only throw the error if you update some state in the body (and we're running the init fn)?

I'm just saying that ultimately I figured that hk.while_loop would be a replacement for jax.lax.while_loop, so we can't do if hk.running_init.  I'm suggesting modifying the code for hk.while_loop to only throw the error if you update state that's not already initialized.  Updating state that is initialized should be fine?

We could suggest libraries support users passing in the transforms to use…

To my eyes, @shoyer's solution is extremely elegant by comparison.

and others have been thinking about this for a while, but there isn't a clear solution.

Yes, I understand your point.  Designing this well is going to make a really big difference.  I appreciate all of the thought you all are putting into this.  Jax is marvel of beautiful design, and Haiku is getting there!

We decided to not merge https://github.com/google/jax/pull/4117.
But let me share how we've solved this problem in our own codebase, using our own versions of higher order functions like scan.
First, we define a version of scan that does the right thing for initialization:
import jax
import jax.numpy as jnp
import contextlib

_INITIALIZING = False

@contextlib.contextmanager
def init_context():
  global _INITIALIZING
  assert not _INITIALIZING
  _INITIALIZING = True
  yield
  _INITIALIZING = False

def init_safe_scan(f, init, xs, length=None):
  # version of lax.scan that allows for use under flax/haiku initialization
  if _INITIALIZING:  # could also use hk.running_init() here
    xs_flat, treedef = jax.tree_flatten(xs)
    if length is None:
      length, = {x.shape[0] for x in xs_flat}
    x0 = jax.tree_unflatten(treedef, [x[0] for x in xs_flat])
    carry, y0 = f(init, x0)
    ys = jax.tree_multimap(lambda *z: jnp.stack(z), *(length * [y0]))
    return carry, ys
  return jax.lax.scan(f, init, xs, length)

Then in Haiku, you can write something like:
import haiku as hk

def neural_net(x):
  return hk.Linear(5)(x)

def my_model(step_fn):
  def doubled_step(x):
    y, _ = init_safe_scan(
      lambda x, _: (step_fn(x), _), init=x, xs=jnp.arange(2))
    return y
  return doubled_step

rng = jax.random.PRNGKey(42)
x = jnp.ones([1, 5])
forward = hk.transform(my_model(neural_net))
with init_context():
  params = forward.init(rng, x)
print(params)  # only a single set of weights
logits = forward.apply(params, rng, x)
print(logits)  # does not crash

Presumably this sort of thing could be done for most/all higher order functions in JAX. It doesn't even have to be library specific, so I can imagine this being a good fit for a third-party library or perhaps even a jax.experimental module (but not builtin to JAX core).


Adding note to associating builds to manual test results

The note is related to DTS https://dev.azure.com/mseng/AzureDevOps/_workitems/edit/1834314 .
While waiting for the fix to be published the public documentation should clearly identify this limitation.

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

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

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

#sign-off

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


Add missing docker requirement

The deepsense code requires access to the docker api.

Oh... Do we need to include all the requirements of all the plugins in wildbook-ia?

@karenc This is a wildbook-ia dependency to support the DockerManager


allow personal suggestions to be listed

So,... if a user wants to see his suggestions, it's GET /suggestions. If a user wants to see all suggestions by everybody, it's GET /allSuggestions. Does this API make sense?

Currently nobody uses the /suggestions endpoint. There's nothing to break
here...
In fact previously it only returned the signed in user's suggestions (but
again, it didn't break any existing front-end)
On Wed, 1 Aug 2018, 10:24 LoneRifle<EMAIL_ADDRESS>wrote:

@LoneRifle requested changes on this pull request.
In test/suggestions.js
https://github.com/datagovsg/beeline-server/pull/154#discussion_r206736371
:

@@ -90,18 +90,35 @@ lab.experiment("Suggestion manipulation", function () {
expect(singleResult.result.alight.coordinates[0]).equal(104.0)
expect(singleResult.result.board.coordinates[0]).equal(103.1)

// Superadmin fetch
const superadminFetchResponse = await server.inject({

// Fetch personal suggestions
const superadminFetchPersonalResponse = await server.inject({

 url: "/suggestions",

 method: "GET",

 headers: userHeaders,

Are you sure this is the right set of headers to use?
In src/lib/endpoints/suggestions.js
https://github.com/datagovsg/beeline-server/pull/154#discussion_r206737622
:

handler: handleRequestWith(

 (ig, request, { models }) =>

   models.Suggestion.findAll({

     where: {

       userId: request.auth.credentials.userId,

     },

     order: [["id", "DESC"]],

     limit: request.query.limit,

   }),

 s => s.map(t => t.toJSON())

),
})

server.route({
method: "GET",
path: "/allSuggestions",

Yea, not happy. This is a potential breaking change, and goes against the
usual naming conventions for RESTful endpoints. I'd rather we retain
/suggestions to serve all suggestions as before, and have the
user-specific one as /suggestions/by_user/{userId} or similar.
Also, nitpick - _ case, not camelCase.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/datagovsg/beeline-server/pull/154#pullrequestreview-142206705,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACiTR2ep41pzxAL-KFFtCy5RyICJny_Hks5uMRFlgaJpZM4VneZE
.


[BEAM-8594] Remove unnecessary error check in DataFlow Runner

Currently there are a few places in the DataFlow Runner which checks if there is error reported when accessing the SDK harness's control service. Actually, the error reported by the SDK harness has already been handled in the FnApiControlClient. There is no need to check it anymore.

R @lukecwik  I am appreciate if you can review this changes :) Thank you!

Run Java PreCommit


go get github.com/travisjeffery/jocko fails

This is the first command described in examples/cluster.
Following error message:
package github.com/travisjeffery/jocko: no buildable Go source files in /go/src/github.com/travisjeffery/jocko

I want to run jocko in docker but it fails on the first command. The same command fails on macOS and I testet multiple go versions from 1.6.4 to 1.8rc2.
There is my used docker file for reproduction purpose:
FROM golang:1.7.4-alpine

RUN apk --no-cache add git

RUN go get github.com/travisjeffery/jocko

Go logs that error but still gets the repo. You can add /... to the end so it doesn't complain. I'll update the docs. So it would be:
RUN go get github.com/travisjeffery/jocko/...

@travisjeffery I tried this today and saw this error:
go get github.com/travisjeffery/jocko/...

# github.com/travisjeffery/jocko/log
../../../go/src/github.com/travisjeffery/jocko/log/log.go:52:9: undefined: "upspin.io/log".NewStdLogger


[HANDS-ON BUG] Unit#6 NameNotFound: Environment 'AntBulletEnv' doesn't exist.

Hey, it seems I'm getting the following error while trying execute the function make_vec_env with env_id="AntBulletEnv-v0" environment:
NameNotFound: Environment 'AntBulletEnv' doesn't exist.
but gym creates the "AntBulletEnv-v0" in one of the previous cells of the Unit 6 notebook without any problem.
snapshot:

I am using Google Colab
thanks in advance for your assistance

Hi! I exactly experienced this issue. I was able to fix it as follows:
env = make_vec_env(lambda: gym.make(env_id), n_envs=4)

The training process executed without any hindrance after modifying according to your suggested changes but encountering the error AssertionError: The render_mode must be 'rgb_array', not None while pushing the trained agent to the hub.

Yes, I exactly encountered the same issue, as well. I opened an issue for it and waiting for a response.

Hey @ShridiptaSatpati! Did you figure this out?

@arminmrm Unfortunately I could not fix the problem. But Thomas Simonini and his team promised that they are still updating the Unit 6 notebook and they would be notifying us when it is ready.

You can join the discord server to receive the latest updates.
https://huggingface.co/learn/deep-rl-course/unit0/discord101?fw=pt has that discord link.

+1 for encountering this issue as well.

+1 for encountering this issue as well.

+1 for encountering this issue as well.

Hi @ShridiptaSatpati, I think the problem is from the Stable-baselines3 new release: https://github.com/DLR-RM/stable-baselines3/releases/tag/v2.0.0 and they switch to Gymnasium for the backend, and Gymnasium seems not support the AntBulletEnv. So workaround is to try to install an older release of stable-baselines3. I added a line in the Colab: !pip install stable-baselines3[extra]==1.8.0 and it seems worked.


[BUG] error "should be object" on auth propertie

Environment
Self-Hosted (Docker)
Version
1.6.5
Describe the problem
When I edit the configuration in the UI, I see a warning icon ⚠  (see screenshot) saying :

contains invalid properties

This is the auth on witch there is a problem :

should be object

Additional info

The yml config file is like this :

It's like your example auth config : https://github.com/Lissy93/dashy/blob/master/docs/authentication.md#setting-up-authentication
Please tick the boxes

[X] You are using the latest, or recent version of Dashy
[X] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

Take a look at the Authentication Docs

If you open up the console you should see a message, basically #174 involved some changes to the auth object to allow for more advanced authentication methods. The previous structure will continue to work just fine, but you'll see a validation warning, and a message informing you how to fix it in the console. There is a note about this in the Troubleshooting Guide, and you can see more info about authentication in the Authentication Docs
But basically you need to replace:
auth:
- user: xxx
  hash: xxx

with
appConfig:
  auth:
    users:
    - user: xxx
      hash: xxx

Hope that helps :)

@Lissy93
Oh !!! I swear I read the doc... but my eyes didn't see then the differences I see now... :sweat_smile:
Thank you for bringing me the solution.
Next time, I'll read more carefully the doc :innocent:


new: integrated openai compatible tool calling support (ENG-423)

@monoxgas this works for OpenAI compatible endpoints. Not sure about those TCH002 tho.

Nice, I took the core of these changes and did some expansion to better integrate api-level tools into rigging at the core so we can use them as well. Tracking my progress over here: https://github.com/dreadnode/rigging/pull/27/files

great, I was hoping you could make this neater in terms of integration :D


AnsiConsole.Ask format date to dd/mm/YYYY

Is your feature request related to a problem? Please describe.
DateTime creationDate = AnsiConsole.Ask<DateTime>("What is the client creation date: "); The user will type the date in dd/mm/YYYY format, but .NET thinks it's mm/dd/YYYY format.
Describe the solution you'd like
Adding a parameter to specify which format to use

I can work on it

@samuelguesnier @sowa705 PR was merged. Should we close this issue?


Support Query from stream

System.ObjectDisposedException
  HResult=0x80131622
  Message=Cannot access a closed Stream.
  Source=System.Private.CoreLib
  StackTrace:
   at System.IO.MemoryStream.get_Length()
   at MiniExcelLibs.Tests.MiniExcelHelperTests.BasicCreateStreamTest() in D:\git\MiniExcel\src\MiniExcelTests\MiniExcelHelperTests.cs:line 284

c# - How am I supposed to use ZipArchive with memory streams? - Stack Overflow


Intentionally fail only in the merge queue

Success! The merge queue rejected the PR:

Reloading the PR, it offers to try merging again:


Redis v6 ACL Subcommands

Hi there, I am trying to create an ACL user, however, I don’t see there is a method to do that at the moment (I have looked over the docs). Just wondering if that’s the case at the moment in case I miss something.
ACL commands I am looking to use:
LOAD
SAVE
USERS
SETUSER
GETUSER
DELUSER
I am kinda loss so any help is appreciated!

I found the answer, you can use custom command to run basically any commands in Redis :)


fix(isolated-declarations): eliminate imports incorrectly when they are used in TSInferType

close: #4018

#4043  👈
main

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

Join @Dunqing and the rest of your teammates on  Graphite


More modular CollabSession.

Does no longer require a websocket immediately. An explicit open call now connects the CollabSession to the remote endpoint.
We need to update the collabwriter example to conform the new API.
See substance/notepad for usage and how websocket reconnecting is handled: https://github.com/substance/notepad/pull/9/files

Closing in favor of #472.


Deserialize does not unescape characters

meta.version is usually in the form of "W/\"100\"". When deserialized, it became "W/\\\"100\\\"" internally, which breaks its original value when serialized again.

checkout unquoteBytes function from decode.go in encodings/json


[Logs] Security fields changes in Cloudflare Logs

Addresses PCX-5353.

Not seeing the field changes are live.


Crawler deletes filtered directories

If the user specifies filters when crawling, the crawler will delete any directories that it comes across in the catalog that still exist, but were filtered out. I think the crawler shouldn't delete directories from the catalog if a filter is specified.

Ah, I was mistaken about this. The code is correct.
            # 2. Add children (that match filter) to path_stack.
            children = self.browser.children(relative_path) or []
            filtered_children = filter(
                lambda p: self._matches(str(p), self.exploded_filters),
                children,
            )
            if self.recursive:
                path_stack.extend(filtered_children)

            # 3. Remove deleted children from catalog.
            self._remove_deleted(full_path_posix, children)

It uses children not filtered_children when calling _remove_deleted, so the deletion method has a full view of the children in the live infra, not a filtered view.


EXC_BAD_ACCESS while generating custom Arbitrary from mapped ArrowOf.arbitrary

Hi, I'm running into a problem when I want to create an Arbitrary instance of a struct that has functions in its constructor parameters.
For example, suppose I want to make this struct arbitrary:
struct Formatter<Value> {
	let lengthLimit: UInt
	let makeString: (Value) -> String

	init(lengthLimit: UInt, makeString: @escaping (Value) -> String) {
		self.lengthLimit = lengthLimit
		self.makeString = makeString
	}

	func format(_ value: Value) -> String {
		let formatted = makeString(value)
		let maxIndex = formatted.index(formatted.startIndex, offsetBy: String.IndexDistance(lengthLimit))
		if maxIndex >= formatted.endIndex {
			return formatted
		} else {
			return formatted.substring(to: maxIndex)
		}
	}
}

I need a generator for UInt and one for (Value) -> String, but because, as of Swift 3, there's no conditional conformance to protocols (for Formatter to be arbitrary, Value must be coarbitrary), I created another struct like this:
struct ArbitraryFormatter<Value: CoArbitrary & Hashable>: Arbitrary {
	private let formatter: Formatter<Value>
	init(_ formatter: Formatter<Value>) {
		self.formatter = formatter
	}

	var get: Formatter<Value> {
		return formatter
	}

	static var arbitrary: Gen<ArbitraryFormatter<Value>> {
		return Gen<(UInt,ArrowOf<Value,String>)>
			.zip(UInt.arbitrary, ArrowOf<Value,String>.arbitrary)
			.map { Formatter<Value>(lengthLimit: $0, makeString: $1.getArrow) }
			.map(ArbitraryFormatter.init)
	}
}

This seems reasonable to me: the arrow generator is mapped to give an arbitrary function to Formatter.
But if I try to run this test:
class FormatterTests: XCTestCase {

	func testAlwaysCorrectLength() {
		property("Any formatted string is shorter or equal than the provided length") <- forAll { (x: Int, af: ArbitraryFormatter<Int>) in
			let formatter = af.get
			let string = formatter.format(x)
			return string.distance(from: string.startIndex, to: string.endIndex) <= String.IndexDistance(formatter.lengthLimit)
		}
	}
}

The test execution crashes due to attempted to retain deallocated objects:

The cause seems located here:

Apparently the instance of ArrowOfImpl is gone. It seems like I cannot reliably use the function returned by getArrow without the actual ArrowOf being strongly referenced somewhere.
Am I doing something wrong? Maybe that mapping is not really sound for SwiftCheck, and in that case I'll find an alternative (my actual use case is a little more complex). Any Ideas?

You're using everything correctly, it seems I didn't plan for this kind of use case.  I expected all XXOf modifiers to only live as long as whatever block they were created in, but unfortunately that seems to prevent composition.  I'll look into stronger ownership semantics here.

In the meantime you can use the generator definition you have already as a value and construct the block and value alongside the property block.

I guess a possible solution could be to make the closure stored in arr to own the table directly, without mentioning self, thus something like this:
convenience init(_ arr : @escaping (T) -> U) {
	var table = Dictionary<T, U>()
	self.init(table, { (_ : T) -> U in return undefined() })
	self.arr = { x in
		if let v = table[x] {
			return v
		}
		let y = arr(x)
		table[x] = y
		return y
	}
}

Done.  Please point any submodules or Package manifests appropriately.

Great, thanks a lot! I'm currently managing the SwiftCheck dependency through Carthage, are you planning a new release soon?

Yes, this definitely will have to be a new point-release.  Give me just a moment.


make effect elaborator respect predicated mappings

This changes EffectElaborator to accept an arbitrary function that maps context+field to effect handler, allowing users to delegate to typeMappings.fieldMapping (which understands predicated mappings).

Hm this is causing some failures on our end, looks like. Closing for now.

Ok the failure was unrelated to this. It also may be the cause of our problems with #634 so I'll circle back to that.

@milessabin we're blocked on this issue so it would be nice to get a release out if it looks ok to you.

Yeah, that looks like it was an oversight part.


"Java::JavaLang::OutOfMemoryError: Java heap space" error

Hello,
As explained in an other issue, I use this plugin to import MySQL data into ElasticSearch.
Everything works fine as far as my query doesn't return more than 100 000 rows. When it does, I always get a "Java::JavaLang::OutOfMemoryError: Java heap space" error:
Logstash startup completed
Exception when executing JDBC query {:exception=>#<Sequel::DatabaseError: Java::JavaLang::OutOfMemoryError: Java heap space>, :level=>:warn}
Logstash shutdown completed

I tried updating the heap space with export JVM_ARGS="-Xms4096m -Xmx4096m" but it doesn't seem to change anything.
Any idea on what to do to avoid this ?
My config file:
input {
  jdbc {
    jdbc_driver_library => "/path/to/mysql-connector-java-5.1.33-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://host:port/database"
    jdbc_user => "user"
    jdbc_password => "password"
    statement => "SELECT ..."
  }
}

filter {
  [some filters here]
}

output {
  stdout {
    codec => rubydebug
  }
  elasticsearch_http {
    host => "host"
    index => "myindex"
  }
}

your database query may be resulting in a very large number of rows returned. Paging has been added to relieve this pain.
you can go ahead and add
jdbc {
   jdbc_paging_enabled => true,
   jdbc_page_size => 200000
}

and see how that works out. depending on how big each row is, different page sizes may work out better.

Hello,
Seems to work, thanks.
Just added some commas.
Here is my config now:
input {
  jdbc {
    jdbc_driver_library => "/path/to/mysql-connector-java-5.1.33-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://host:port/database"
    jdbc_user => "user"
    jdbc_password => "password"
    statement => "SELECT ..."
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
  }
}

filter {
  [some filters here]
}

output {
  stdout {
    codec => rubydebug
  }
  elasticsearch_http {
    host => "host"
    index => "myindex"
  }
}

Time saver.
Solves my java heap space issue

life saver.
I love you forever  @diije

thank you guys


Some Feature Request

Hi, this is the first time I have found an application that can download Microsoft Store apps purely directly using the MS-Store-API and not via a third party website.  :D
Do you have plans to add the following features?

Download the app only (without installing).
Each downloaded app is placed in a separate folder.
Ability to use the command line, error level output that can be captured in a batch script, and can run silently.

hello, glad to bear it was helpful
1 and 2 should be easy to implement the 3 one need some work. so i will try to implement the 1 and 2

for the 1st suggestion i think we can implement it as a Toggle in option by default it will download and install the app but if the toggle is enabled it will only download the app

i am assuming that by each app having their own folder you mean like for terminal app there should be a folder called terminal and inside it should be the app installer and its dependencies.
[the reason i implemented all apps to be downloaded into same folder was cause many app share the same dependency so instead of downloading the same dependency over and over again it could use the already downloaded
dependency thus saving bandwidth and space]

since this is a gui app which uses pyqt, we would need to create wrapper for each functionality like install,download etc. and the final should look something like "altinstaller --install app.appx" to install an app

For point 2, I can see your reasoning.
My reason for point 2 is that I see the folder not solely as a cache but as a repository for a collection of installer packages that can be used for purposes other than the original alt-app-installer designation. For example, repackaging in an installer bundle or for mass deployment purposes.
Maybe it would be better if the original cache folder remained but added the function of generating a package folder for repository purposes where the installer package and its dependencies are combined.

As of v2.6.6 i have implemented the 1st (options --> advanced --> download mode) and 2nd (options --> advanced --> dedicated folder) feature  the 3rd one isn't that simple and would need some work. i might implement it in future or if someone is willing to do it feel free to make a PR.

Thank you very much for v2.6.6.
Unfortunately, the analysis results from Hybrid-Analysis.com don't look good:
https://tinyurl.com/ys33dqxo

Thank you very much for v2.6.6.
Unfortunately, the analysis results from Hybrid-Analysis.com don't look good:
https://tinyurl.com/ys33dqxo

No malware analysis tool can properly tell if a file is safe or not it just check for patterns and gives an assumption unless the file has been tested and reported as malicious moreover most day one exploits are never detected by these so called detectors. if you really want to see if its malicious or not check the source code
since the executable i gave is not digitally signed and wasn't downloaded much its showing false positive. the executable is just a sfx which contains the compiled python code of the app it was created using pyinstaller
but if you are paranoid or suspicious about the executable feel free to build the app from source.

Sorry to bother, but since I also have a feature request and found this one, I decided to comment here instead, please tell me if this is not ok and/or problematic and I will delete my (this) comment ;)
Drag 'n Drop installation file(s) to the program's window.
A bit off-topic - I'm currently trying to make this `https://apps.microsoft.com/detail/9MZF9DMHNH3P` work, but, no success for now and I've installed the requirements already, even before trying with "Alt App Installer".

This app can't open
There’s a problem with Notification Logger. Reinstall the application from its original install location or contact your administrator.

Sorry to bother, but since I also have a feature request and found this one, I decided to comment here instead, please tell me if this is not ok and/or problematic and I will delete my (this) comment ;)
Drag 'n Drop installation file(s) to the program's window.
A bit off-topic - I'm currently trying to make this `https://apps.microsoft.com/detail/9MZF9DMHNH3P` work, but, no success for now and I've installed the requirements already, even before trying with "Alt App Installer".

This app can't open
There’s a problem with Notification Logger. Reinstall the application from its original install location or contact your administrator.

hello, so you want a feature where by dragging the appx/msix file (installation files) alt app installer installs them right. if that's what you want have you tried options --> install from file, also it would have been better to open this feature request as a new issue since its easier to track that way. regarding the case where you are not able to install the app, message me on discord it would be easier to help there.

These features need a lot of work currently i am not planning on implementing them but i might do in feature but if you can be sure to create a pr I will merge it.
if you want check v1 of the app it only have installation

I would love to create a PR, but unfortunately I'm not a coder, I only know 2 human languages, I thing or 2 about android packages reverse engineering, but that doesn't mean I know Java/Kotlin or Smali, so the fact that I'm on GH doesn't mean that I'm a programmer, the same for may others as well. Sure, I might be a Collaborator in 1 android app repo, but that's just to be able to manage the issue tickets and discussions.
TBH, I'm not a fan of MS store and the software (including games and whatnot) it provides, also I don't have much use of this program either, but I decided to try it for the first time and it wasn't able to do what I expected it to be able to, but I've decided to share some feedback anyway..., btw I've uninstalled the MS store app, because it's annoying and downloads and updates things I don't want it to and I've set the preference to not update automatically, but it didn't respect it, and guess what - W.11 still DLed Widgets related garbage on my system, even with System Updates paused for 10 years ahead (regedit) and MS Store not being installed.
I'm perfectly well aware that that it's because the app is paid and I mentioned in my E-mail that I think you should mention that those won't work here - if not all paid, then at least some if not most won't work with or without your AAI program, or even by installing them from the PowerShell, but you haven't replied there. If you can do something to help me make the "Notification Logger" work, I guess it would require modifying it and you could've done that in an E-Mail if you wanted to at all, so IDK why you insist that much on that Discord and how will you better help me there, because no troubleshooting is required in my opinion, as this is not a problem with my configuration, but the fact that paid apps have license, install source and whatnot checks.
Sure, I will create a Discord account if I have to, at least it doesn't require a phone number like TG, but I won't be online all the time, but only launch it when I want to, because my phone is offline (no Wi-Fi or data connected) when I'm not using it, so I will be slow at responding.
Sorry about the rant.

hello, sorry if you misinterpreted what i meant was if you are able to you can implement it. i have replied to your email too i didn't check the mail so didn't notice it. as for paid apps you are able to download some and some does work but i don't give much priority to it as this is not what the app is for. i won't be spending any time on figuring out endpoints for paid apps/games or implementing them the app is for providing alternate for free ms store apps
if you want much cleaner win experience i suggest you try building  windows using tiny10builder or similar tool and remove all the clutter you dont need also check out Christitus debloat tool its also a great app with lot of features you would like disabling updates etc
regarding discord the main reason i said so is because its easier to chat there compared to email or GH especially while using a phone. that's said if you are uncomfortable with discord feel free to ask on GH or on mail i will help with the best of my abilities


addTimer() accepts values that it doesn't support, freezes StremSelectLoop::run()

When addTimer() receives a $interval parameter that's high enough, a float value is passed to usleep(). The function will reject the value, and return immediately, causing a busy loop.
StremSelectLoop currently does not support intervals higher than PHP_INT_MAX/1000000. This limitation itself is not harmful, however it freezes any program that accidentally sets an interval higher than this.

@arnaud-lb Thank you for reporting!
Unfortunately, I'm currently unable to reproduce the problem you're seeing.
A similar issue has been fixed via https://github.com/reactphp/event-loop/pull/132 a while back and my tests confirm that this should be fixed (the PR also uses a timer interval of PHP_INT_MAX).
Is the problem you're seeing reproducible? Can you show a gist that highlights this issue?

I'm closing this for now as it hasn't received any new input and I believe this has been answered. Please come back with more details if this problem persists and we can reopen this :+1:

Thanks, I confirm that https://github.com/reactphp/event-loop/pull/132 fixed the problem.


will directory js publish as a npm package ? just like gltfpack

npm package is more popular than source include, so please make an npm package to make this project more popular

I could definitely set things up to be able to publish js/ folder as a standalone NPM package, e.g. meshoptimizer.
Out of curiosity, do you have a specific use in mind? I ask because the decompression code in js/ has been integrated into Babylon.JS where the code is embedded into the distribution, and into Three.JS where the code is technically part of the examples but my understanding is that if you use GLTFLoader at all you'd need to copy it into the project or use smth like unpkg.com that can also be used to get meshopt_decoder.

I could definitely set things up to be able to publish js/ folder as a standalone NPM package, e.g. meshoptimizer.
Out of curiosity, do you have a specific use in mind? I ask because the decompression code in js/ has been integrated into Babylon.JS where the code is embedded into the distribution, and into Three.JS where the code is technically part of the examples but my understanding is that if you use GLTFLoader at all you'd need to copy it into the project or use smth like unpkg.com that can also be used to get meshopt_decoder.

thx for reminding, i don't know it has been integrated into three.js, i just read the gltfpack document and don't where to import the js/meshopt_decoder.module.js from three.js's package
maybe add some notes about what location to import from three.js or Babylon.JS
three/examples/jsm/libs/meshopt_decoder.module.js

thx for reminding, i don't know it has been integrated into three.js, i just read the gltfpack document and don't where to import the js/meshopt_decoder.module.js from three.js's package
maybe add some notes about what location to import from three.js or Babylon.JS
three/examples/jsm/libs/meshopt_decoder.module.js

maybe add some notes about what location to import from three.js or Babylon.JS

That's a good point, I will add a note to that effect. FWIW an example was recently added to three.js that hopefully can show the usage, see https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_gltf_compressed.html

maybe add some notes about what location to import from three.js or Babylon.JS

That's a good point, I will add a note to that effect. FWIW an example was recently added to three.js that hopefully can show the usage, see https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_gltf_compressed.html


[BUG] Unable to restore Android Auto from backup after patch (new)

Describe the bug
Unable to restore Android Auto from backup after patch (I'm using latest master)
To Reproduce
Steps to reproduce the behavior:

Go to AndroidAuto -> make backup
Restart MIB
Checked that nothing happened, decided to restore
Go to AndroidAuto -> restore from backup

Expected behavior
No errors
Error log
cp error

Firmware(please complete the following information):

Brand: VW
Hardware-type: MIB2High Harmann
Version: MHI2_ER_VWG13_K4525

path from patch script: /et/mmx/mnt/system/etc/eso/production/gal.json
Recovery script tried to use that file path: /net/mmx/etc/eso/production/gal.json

Thanks for clearing this up and sorry for the late fix. Adjusted the paths in https://github.com/jilleb/mib2-toolbox/commit/80f9f4febcfdf3e915bcbd84c6af4ea465f9281c


[wrt] Move xwalk_hosts tests from manifestmanu to rtcoremanu

Impacted tests(approved): new 0, update 4, delete 0
Unit test platform: Crosswalk Project for Android 18.46.452.0
Unit test result summary: pass 4, fail 0, block 0
BUG=https://crosswalk-project.org/jira/browse/XWALK-6010

LGTM


Cannot get Sequelize Typings to work.

Hi,
First of all, nice starter. I am trying to get Seqeulize typings to work. My first attempt was to do the following:
Server ts:
import * as ORM from 'Sequelize';
Then npm install @types/sequelize. But when I run the server I get the error:
server.ts(7,22): error TS2307: Cannot find module 'Sequelize'.
I then attempted to install the typings the way I saw in your README.
typings install sequelize -SG. I get the error that says this cannot be installed as a global module and must be installed as an external module. So I removed the global flag and did so. I still could not use the import as syntax so I attempted to use sequelize by using the standard require. I was able to run the app but when I attempt to do the following for example:
const ORM = require('sequelize');
const sequelize = new ORM();
I am not getting any typescript warnings so it seems that it is not working. I am wondering if that is happening because the typings are not installed globally. How are you getting the typings to work for the other modules you have installed in typings/modules?
Any help would be nice. Thanks.

Hi Aaron,
I think your issue is the Capital S in import * as ORM from 'Sequelize'; It should work if you do import * as ORM from 'sequelize';
The @types/sequelize is for newer Typescript 2. I'm using Typescript 1 (I should upgrade it).
Last year when I installed the typings typings install dt~sequelize -SG, it let me but it seems you're right that it doesn't work now. Although you don't need to install it now since by using the lowercase 'sequelize', your issue should be solved.
Let me know if that solves the issue.

Thank you, much appreciated.

I made a few changes in https://github.com/melxx001/simple-nodejs-typescript-starter/tree/upgrade-typescript-yarn-docker:

I upgraded to typescript 2
Started using Yarn (instead of npm) to keep installs the same. You'd need to install it globally.
Added some DB stuff & tests
I updated the Readme with information about docker & yarn. You'd need to install docker (unless you already have mysql installed, then you'd have to update the config files in the config folder with your settings.)

Can you check out the branch and let me know what you think before I merge it into master? I'm still debating whether I should keep the DB stuff since it requires an extra step to get the database up.

Hey there,
Looks like a really nice setup. Again, thank you for the time spent. Personally the reason I liked your project was for the use of typescript. I am a Front-end developer mainly focused on Angular development. I am fairly familiar with backend but my new job has required me to move into full stack. So I decided to use your project to get a jump start on an API that will have public and private end points which will be accessed by other applications built from Angular using N Tier Architecture. That being said, I humbly concede that you know more about the benefits of your changes than I do. From a perspective of simplicity, adding the db setup might be better to avoid. I guess this depends on who is using your starter project as it adds complexity. Additionally, coupling your project out of the box to sql is making it more opinionated when you consider a large portion of JavaScript based applications use Mongo.

Thanks for the feedback. You're right. I'll push up the changes I made to upgrading typescript & using yarn and leave the docker & db stuff in a separate branch.
If you're doing some backend work and actually need a database that is supported by sequelize, you will benefit from this docker setup where you don't have to install the db from scratch and can easily delete and re-create the whole Db should you need to reset.
Depending on how you decide to deploy this API, the config folder I put has setting for dev, test, default and production.json can be added too. My team and I decided to deploy docker

Once we used docker for deployment, we passed environment variables to the npm start command instead of putting all the settings in a production.json

I plan on using postgres. Unfortunately I have not had time to get up to speed with docker. I really need to do that soon. I read up on the differences between npm and yarn. Have you had a trouble installing typings with yarn?

No troubles yet :) yarn works really well and seems way faster that using npm install
If you're starting out with this repo, I would use the latest master which now has typescript 2 and yarn.
I created another branch to contain the DB changes and the usage of Docker.
Thanks for the feedback.

Closing issue. Let me know if you still need help.


(chore) (HCT, HP, Covid): Use concept keys from the schema for better configurability.

Requirements

[x] This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes the ticket number in the format OHRI-123 My PR title.
[x] My work includes tests or is validated by existing tests.

Summary

Used config schema keys in our tab jsons to ensure better configurability.
Implement a reusable function that maps configSchema values to json respective keys.
This covers the hct, hp and covid apps.
Removed duplicate concept uuids those they had different names.
Add new concepts for color statuses which were initially defined in specific components.

Screenshots

Related Issue

https://ohri.atlassian.net/browse/OHRI-2227

@CynthiaKamau we need to see if that is possible.


Add bulk import mode

The bulk import mode allows administrators and developers to setup a new cluster and import existing hashes without getting bottlenecks due to rate limiting or Solr commits. It increases the import speed sigificantly. This feature is spread accross multiple PRs.
Changes:
Documentation:

Added environment flag and usage documentation.

API:

Disable rate limiting when import mode is enabled.
Disable search with a error message to prevent accidental production deploys.

Loader:

Disable commiting when import mode is enabled.

The import function is useful but I want a more complete implementation of this feature. Like how it scan for hashes in file system? import from another server directly? how about import part of the database? and how a server can export its database in a standard format?
Before settling down the details, I'd prefer to avoid a half-made import function.
But exposing the rate limit option to env var makes sense, I think server owners want that configurable depending on their needs.

Adding a dedicated import tool would allow administrators to select which series and episodes the would like to import into their database without providing the media files. It would be a seperate web application that has it's own API and web pages exposed as long as the import tool instance is running.
The import tool can have two import modes:

Importing the provided database dumps without media
Importing database dumps from their own aquired media.

Importing provided database dumps without media
The administrators should download one of the latest database dumps and copy them to the import folder. Then the import tool will query the contents and display the available data on a web page where administrators can decide which series and or episodes they want to import.
The tool is allowed to access the API without rate limit. It generates the required database entries to trigger the loader and tell it to import the data without commiting it. After starting an import the tool keeps track of the progress and once the import process is complete, it notifies all the Solr instances to commit the imported data.
Importing database dumps with media
I would implement something like the RIOT has done with their patching system to quickly transform an existing library to the desiderd state. Supercharging Data Delivery: The New League Patcher
It indexes the current state of the media and then computes hashes for the files based on content-defined chunking (CDF). This allows them to deduplicate similar data and reduce the required data to be downloaded.
The import tool would do something similar and could expose a temporary API to import the data from. Similar to the old approach, administrators can pick the series and episodes to transform the data to the desiderd state.

Importing provided database dumps without media

I would include a sql file in next database dump. So admin doesn't need to run another script to generate it.
As you know, trace.moe doesn't have a proper admin UI to manage files and DB entries. So admin has to figure out their ways to include/exclude particular series. I still hesitate if this should be part of trace.moe-www or a new thing.

Importing database dumps with media

You mean the system can somehow detect if there are some media file that's the same as those hashed by trace.moe?
Regarding the rate limit issue, I think worker instances should not be rate limited at all, regardless of import mode or not. Occasionally I see hashers (not just loaders) encounted rate limit when a lot of short videos are uploaded at once. But then I'll have to figure out a way to authenticate whether each request is from an authenticated worker or not, whilte making sure the worker instances can be run on a separate computer.

since revision https://github.com/soruly/trace.moe-api/commit/16b5847669a7d4a099b92618636e2d68634820cc , the worker process is now spawn directly in trace.moe-api. The rate limit would no longer affect hashing/loading, so bulk import mode is no longer needed.
However, some features you suggested like maintenance mode and skipping solr commit would be implemented separately, which can be tracked in the link above.
I'll revise this docker-compose later, thank you.


Maintaining this crate

Hi @dguo !
Would you mind adding me (or someone else if they volunteer) as a maintainer of this crate on github and crates.io ?
This crate seems to have several active users, and you do not seem to have a lot of time for it. It would be a pity if the crate died.

Hey, thanks for bearing with me. I had a lot of personal stuff going on this past week in particular, but going forward, I'm going to make an effort to incorporate open source maintenance into my daily routine. If it becomes an issue again, don't hesitate to ping me again.


Missing code of conduct.md file

Hi there!
I recommend adding a CODE_OF_CONDUCT.md file to your repository. This file would serve as a guide for potential contributors, providing them with a clear set of expectations, guidelines, and behavior standards for participating in your project. It plays an essential role in creating a welcoming and inclusive environment for everyone involved.
I would like to work on this issue. Please assign it to me under GSSoC'23.
Thank you! @srivastavaritik

hi @Anshika-Jain02 , you can work on this.


Multiple dbg calls ony prints the first one

This code:
app "helloWorld"
    packages { pf: "cli/cli-platform/main.roc" }
    imports [pf.Stdout]
    provides [main] to pf

main =
    dbg "yo"
    dbg "hello"
    dbg 42
    Stdout.line "Hello, World!"

...prints:

This is fixed now! 🎉


feat: Implement list item component with partial functionality.

Co-authored-by: Ntlja<EMAIL_ADDRESS>Co-authored-by: NabbeunNabi<EMAIL_ADDRESS>Resolves #452
🔧 What changed
We created:

a component that displays the fake data in the ModSubmissionListContainer.
an on-click event to take you to the relevant submission form.
In future we need to create a ticket to set up the logic for connecting specific data entries to specific submission forms.

🧪 Testing instructions
📸 Screenshots

Before

After

It's looking really good! A couple small suggestions about Git:

PR titles and commit messages generally don't end with a period. Please update it when you can.
We can see who the co-authors are in the commit history, so it's okay to not include them in the description.

If you want to follow the Conventional Commits guidelines for your commit message, I'd suggest rewording this as:
feat: implement list item component with partial functionality

updated based on feedback

@theyokohamalife Have you had a chance to look at these changes?


Are the 'PE' and 'PC' correct?

@bena-nasa @tclune
https://github.com/GEOS-ESM/MAPL/blob/dea3ee7a8481a75a50d25a2dc9f9459d3117d661/base/MAPL_LatLonGridFactory.F90#L500-L508

I believe so.  Do you have a specific concern?   If nothing else so many runs have used this implementation that it almost defines what we mean by these terms.    I agree that PC is a strange beast.     Not only are the polar cells degenerate in that 2 corners are the same point (the pole), but the "center" is also at the pole.   For PE,  you still have the 2 corners being degenerate, but at least the "center" is somewhere near the geometric middle of the region.

Hmm, it is center, not edge. I thought is not compatible with  GEOSldas. But in GEOSldas, it is about edge.
So, this is not an issue.


Add support for HLS WebVTT subtitles

JSON dumps of CICGC URLs already include a link to sliced English subtitles in WebVTT format that could easily  be downloaded using ffmpeg. It would be nice if the ComCarCoff extractor was able to detect these.

Post an example URL.

Any URL should do. As far as I can tell, any episode includes subs.
For example, take
http://comediansincarsgettingcoffee.com/bill-maher-the-comedy-team-of-smug-and-arrogant
Using --dump-json you'll find a subtitle URL in the format object with id 398, e.g.
http://content-ause2.uplynk.com/a1a924b17afe47a0b86c0c4bd085fc4c/sub4.m3u8?ad=crackle_live&pbs=c97ce4e47cdf453eaad38536c7ceb4e1

I got some code to do it. There are two problems:

Since the URL points to an m3u8 manifest, it has to be post-processed to obtain offline-viewable subtitles. My code just injects a FFmpegSubtitlesConvertorPP (always converting to WebVTT) unless one's already been added.
FFmpeg (git snapshot as of 2015-06-23) cannot actually download playable subtitles. The downloaded WebVTT mixes up timestamps from multiple video fragments. The .vtt fragment files contain X-TIMESTAMP-MAP tags that can be used to synchronise the subtitles against the video, but FFmpeg doesn't make use of them.

Also, FYI:

https://trac.ffmpeg.org/ticket/2833
https://ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152503.html

I suppose the short-term option is to write a parser for HLS WebVTT streams…

i created a fonction that download the segments of the subtitle and convert it to normal webvtt with the real time of each statment but the problem now is in the _extract_m3u8_formats function it return an array of video formats but not always the m3u8 variant playlist contain only videos somtimes it contain also subtitles or audio parts.
i think it shouldn't return a formats list is should return a dictionary contains formats and subtitles if there is.
i know that in the formats array i can found the subtitle url in m3u8_media of the first format but i think it's not the right place.

as i see fstirlitz make a pull request and he make a great work so i will put the code i made in a gist may it he can benefit from it.
m3u8 webvtt download function

support for subtitle extraction(ttml) will be added in the next version.

The plugin Retrospect for Kodi can handle subtitles from Dplay, both before and after the site update.

@AndnixSH you should open a seperate issue for that

I might have same issue with dplay.dk that subs could not be found
This is 4 years old issue. When is it going to be fixed?

Anyone?

wow 5 years and it's still open


Edits some language and adds anchors

Please see the comments on this PR for questions and issues I encountered while testing the example commands.

We try to evaluate mRNA data on mRNA-derived simulations, and proteomics data on proteomics-derived simulated data.

I'm confused by this wording. Sincere question, are we talking about evaluating the data or the algorithms?

Tested the following examples:
cwltool https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/rna-sim-test.yml ##evaluate rna-based deconvolution
cwltool https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/prot-sim-test.yml ##evaluate protein based deconvolution

They returned this error:
https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl: error: the following arguments are required: --simType

Tested this example:
cwltool https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/mrna-prot/mrna-prot-comparison.cwl https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/mrna-prot/alg-test.ymlIssues:

and got this error:
Field `run` contains undefined reference to `//raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metricsn/ru-deconv.cwl`

When I visit https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/run-deconv.cwl, it returns a 404 Not Found

I tested this command:
cwltool https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/imm-subtypes/pan-can-immune-preds.cwl https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/imm-subtypes/imm-args.yml

and got this error:
https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/imm-subtypes/pan-can-immune-preds.cwl:21:6: Source 'signatures' of type {"type": "array", "items": "File"} is incompatible
https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/imm-subtypes/pan-can-immune-preds.cwl:38:7: with sink 'signature' of type {"type": "array", "items": "string"}

General comment:
I think it would be helpful if we added a description of the outputs from each example workflow, so users know what to expect. Once I get them running, I can add this.

@sgosline
I retried this command:
cwltool https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/rna-sim-test.yml ##evaluate rna-based deconvolution

and got the following:
INFO /Users/anna/venv/bin/cwltool 3.1.20211107152837
usage: https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl
       [-h] [--mrna-perms MRNA_PERMS] [--prot-algorithms PROT_ALGORITHMS]
       [--prot-perms PROT_PERMS] [--prot-sigs PROT_SIGS] [--rna-sigs RNA_SIGS]
       --simType SIMTYPE
       [job_order]
https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl: error: the following arguments are required: --simType

When I checked the input yaml, it does look like simType is there, so I'm not too sure what's happening?

I wonder if this is a cwl version again? I'm running 3.1.20220224085855

Was previously running: 3.1.20211107152837
Updated cwltool and tried again with: 3.1.20220406080846
but still getting the same error:
usage: https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl
       [-h] [--mrna-perms MRNA_PERMS] [--prot-algorithms PROT_ALGORITHMS]
       [--prot-perms PROT_PERMS] [--prot-sigs PROT_SIGS] [--rna-sigs RNA_SIGS]
       --simType SIMTYPE
       [job_order]
https://raw.githubusercontent.com/PNNL-CompBio/proteomicsTumorDeconv/main/metrics/data-sim/simul-data-comparison.cwl: error: the following arguments are required: --simType

So strange! I'll look into this.


Fix creating Kubernetes or OSE with credentials.auth_key

Passing credentials containing auth_key was failing with:
Could not create the new provider - Unsupported credential attributes auth_key specified

Worked with Openshift.
(The recommended way to create Openshift with hawkular metrics is pass connection_configurations, which works.
But passing hostname/ip, port and credentials should work when you don't need a hawkular endpoint (and currently will still attempt metrics if there is hawkular on same hostname with default port 443).)
@miq-bot add-label bug, providers/containers, api
Tests
Extended api/providers_spec.rb to run the container tests for all 3 concrete container manager classes, instead of just Openshift::ContainerManager.
I also tried using shared_example instead of loops, found the results less satisfactory.
This file now takes ~17s instead of ~15s.  IMO, despite exercising mostly the same mixing code it's well worth it:

In addition to the bug I'm fixing now, this testing uncovered bug #13306!
Marked that test pending, will address later.
Beside 2 Manager Mixins included in 3 concrete manager classes, there are complex interactions with Authentication, Endpoint, AuthenticationMixin, UI + API, single-endpoint interfaces like credentials vs connection_configurations,  and fallbacks from hawkular endpoint to default endpoint...
I find it very hard to reason about, and to even start simplifying it requires test coverage.

P.S. The "schedules a new credentials check if endpoint change" test is known to be a lie, should fail (#13167).  Will address in later PR.
@yaacov @dkorn Please review.

LGTM 👍
[ except that the pending thing is not nice ...
can you fix the port issue and remove the pending ? ]

I'm working on several PRs that will all depend on / benefit from the extended tests here.
(To Yaacov's point, one of these PRs will fix the pending #13306.)
@abellotti Can you take a look?

(The recommended way to create Openshift with hawkular metrics is pass connection_configurations, which works.
But passing hostname/ip, port and credentials should work when you don't need a hawkular endpoint (and currently will still attempt metrics if there is hawkular on same hostname with default port 443).)

@cben can you provide an example of the request that works and the one that is not working but should work?

Didn't work, fixed here:
    {
      "type"              : "ManageIQ::Providers::Openshift::ContainerManager",
      "name"              : "sample containers",
      "port"              : 18443,
      "hostname"          : "sample_containers.provider.com",
      "ipaddress"         : "100.200.300.3",
      "credentials"       : {
        "auth_type" : "bearer",
        "auth_key"  : "good token"
      }
    }

Worked:
    {
      "type"                      : "ManageIQ::Providers::Openshift::ContainerManager",
      "name"                      : "sample containers provider with multiple endpoints",
      "connection_configurations" : [
        {
          "endpoint"      : {
            "role"     : "default",
            "hostname" : "sample_containers_multi_end_point.provider.com",
            "port"     : 18443
          },
          "authentication": {
            "role"     : "bearer",
            "auth_key" : "good token"
          }
        }
      ]
    }

LGTM 👍

Rebased.  @blomquisg @abellotti, this is a tiny fix.

LGTM :+1:
ping @blomquisg @abellotti
@miq-bot assign blomquisg

I'm good with API changes. Thanks.


delegate requests from the debug variable view as well

Fixes https://github.com/microsoft/vscode-jupyter/issues/15680

waiting to see if DW can handle cases where no notebook is available (debugging a python file)


Update PurpleAir app to use the newest calculations

As of September 2024, PurpleAir has updated their (default) conversion/correction algorithms. This change updates to align the defaults used by this app with the defaults used by PurpleAir.
Different organizations define different "AQI" metrics so this change adds support for selecting your preferred metric. At this time, only the US EPA AQI is implemented.
Researchers have determined the underlying sensors are inaccurate in systematic ways, and have developed correction algorithms/formulas to address these issues. This change adds a mechanism for selecting a preferred correction algorithm. Only 3 of 8 correction algorithms are implemented.

As far as I can tell, this meets the requirements to be included. Is there some issue blocking this?

@posburn Cool to merge?


Comic 1193 image hotlink is broken

Both https://xkcd.com/1193/ and https://xkcd.com/1193/info.0.json refer to https://imgs.xkcd.com/comics/externalities.png, but https://imgs.xkcd.com/comics/externalities.png is blank.

Can't be fixed.


[rpc] Fetching all validators always returns isActive as false even if validator is active

This is now fixed


Can't connect to TAPO C520WS with Firmware 1.2.9

Description
I have 4 TAPO C520WS, 3 of them with Firmware 1.2.8 and one allready updated to 1.2.9 - the 3 with 1.2.8 work fine, but when I try to add the 1.2.9 TAPO camera, I got an error "Invalid authentication data. Make sure you have created your 3rd party account via Tapo app. You can also test if these credentials work via rtsp stream, for example VLC using link rtsp://username:password@IP Adresse:554/stream1" - BUT: I can connect to the stream with VLC, so the credentials are correct.
Any idea`?
Reproduction Steps

go to TAPO camera control integration
click "Add entry"
insert the IP or hostename
insert credentials (username and password of the camera account)
error - "Invalid authentication data...."

Expected behavior
The Camera is added
If applicable, add error logs.
No response
Device Firmware
1.2.9 Build 240723 Rel. 58746n
Integration Version
6.0.1
Using stream component
Yes
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
Yes
HASS Environment
Home Assistant Yellow
Search for similar issues
Yes
Additional information
No response

I am having the same issue. From the discussion here:

It seems to be a problem with using special characters in the password not being recognized by an underlying library. I am holding off changing my passwords in the hope that it can be resolved.

I am having the same issue. From the discussion here: https://www.reddit.com/r/homeassistant/comments/1h021kp/can_no_longer_access_camera_streams_after_update/url
It seems to be a problem with using special characters in the password not being recognized by an underlying library. I am holding off changing my passwords in the hope that it can be resolved.

Thanks chsull!
After setting the password to a simple/stupid one, I can add the Tapo-Camera.but I hope, that somebody fix it (because using a simple password does not feel good),

What was the password format? So that i can try and replicate this

Same problem :(
Invalid authentication data. Make sure you have created your 3rd party account via Tapo app. You can also test if these credentials work via rtsp stream, for example VLC using link rtsp://username:password@IP Address:554/stream1

My bad.. the wireless signal was to low..

What was the password format? So that i can try and replicate this

I used only letters and underscores as a password

Tapo has released a new firmware 1.2.10 – everything works again, even with complex passwords

@JurajNyiri I just confirmed that this still happens in C320WS. There is no firmware update for those cameras yet. Not sure if this is an issue on the camera or in the integration.
I had to also remove dashes from the username:
username: domo-cameras
password: some-random-dash-separated-words


The legal value range of the alpha parameter in LeakyReLU

Issue type
Documentation Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
tf2.12.0
Custom code
Yes
OS platform and distribution
MacOs
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
The document describes the LeakyReLU function as having an alpha parameter whose type is a floating point number and the value is equal to or greater than 0. But we found that the value of this parameter is less than zero can also work.
Document

alpha
Float >= 0.. Negative slope coefficient. Defaults to 0.3.

Standalone code to reproduce the issue
from tensorflow import keras

def bilstm(num_units=25, input_shape=10):
# bilstm input layer
    input_tensor = keras.Input(shape=input_shape)
# bilstm hidden layer
    x = keras.layers.Embedding(input_dim=100, output_dim=10, input_length=8, embeddings_initializer="uniform")(input_tensor)
    x = keras.layers.LeakyReLU(alpha=-0.2044550861511304)(x)
# bilstm output layer
    output_tensor = x
    model = keras.models.Model(inputs=input_tensor, outputs=output_tensor)
    return model

if __name__ == "__main__":
    bilstm().summary()

Relevant log output
Model: "model"
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 input_1 (InputLayer)        [(None, 10)]              0

 embedding (Embedding)       (None, 10, 10)            1000

 leaky_re_lu (LeakyReLU)     (None, 10, 10)            0

=================================================================
Total params: 1,000
Trainable params: 1,000
Non-trainable params: 0

@PhyllisJi ,
Thanks for reporting.I have tested a simple code with alpha = -0.3 and alpha = 0.3 just to check and both are generating output which are different as per attached gist. The source code is missing validation for  values of alpha < 0 .
@adey4 , Could you please confirm whether you are interested to raise a PR for same on Keras repo ? The keras source code can be found here. If not I can raise a PR for this.
Thanks!

Reopening as PR not approved in TF repo. Created a new PR in Keras repo

Reference PR-18336 in Keras repo

I also observed the following alternative names of the API have the same behavior that accepts the negative value of alpha without throwing an Exception.

tf.keras.layers.LeakyReLU, tf.compat.v1.keras.layers.LeakyReLU

This behavior still exists in tensorflow nightly (2.15.0-dev20230906), and users should be cautious when using them on both CPU and GPU.

Hi @PhyllisJi ,
This is fixed in #18678.
Could you please verify and close the issue. Thanks!


Istio quickstart

Resolves #619
Creates quickstart for Istio with an A/B test
Includes e2etest.sh that executes the same commands.

I found it very difficult to set short timeouts. I found that creating pods could take a few seconds to 10 minutes.

Two items might be considered as prerequisites for this. Opinions welcome

rewards section of iter8ctl output (issue https://github.com/iter8-tools/iter8ctl/issues/28)
document A/B as an example testing pattern

@kalantar I think iter8ctl output need not be considered a pre-req.
I do believe A/B and A/B/n testing pattern documentation is a pre-req.

The updates now depends on https://github.com/iter8-tools/iter8-install/pull/71

I left the virtualservice as it was. It should be changed as little as possible from the way it defined by Istio.


Enhanced UI test script and updated dependencies in poetry.lock file

Added comprehensive UI testing and interaction script in test_ui.py for better verification of website functionality. Updated dependencies listed in the poetry.lock file ensuring they are in sync with the current state of the project.

Idea would be to integrate with the species/dbs generated and create JSON/YAML files that guide the test or even use the config files as input


Error when Visual Studio extension updater runs after closing the IDE.

Hi Alexander,
The extension is uploaded on marketplace but is going through a verifying process, we just need to wait.
Sorry for inconvenience.


Polyphony in NoteSeq

I can't tell if I'm being dumb or NoteSeq is not working right. My expectation was that when I had three notes stacked in the grid that it would send three channels of notes out the poly v/oct jack. As it is it seems to send 16 channels of notes with most of them being set to zero. This means that if I send that into Bleak (for instance) it will produce 16 channels of notes rather than the 3 I want. Am I missing something? I know there's an "include inactive" switch but that doesn't seem to do very much.
(win 7)

Currently it uses 16 channels but would only send notes on the first 3 in your case.  In my next update you can select the number of polyphony channels so it doesn't create 16 instances of bleak and eat up CPU.  Sorry for the trouble.
Include inactive is basically a drum mode where each row is mapped to each channel.

In my next update you can select the number of polyphony channels so it doesn't create 16 instances of bleak and eat up CPU.
Could it not just automatically send the same number of channels as there are notes selected in each step?
Sorry for the trouble.
Don't worry. I think we all appreciate the work of module developers.

You could say the same for the midi in modules.  You have to select the number of channels ahead of time in those modules too.  I believe that it would not be a good idea to increase/decrease channels aka create and delete instances at a high right of speed.  This would probably cause cpu issues itself.
Also a lot of people use it for random values and may only use a few channels.  This allows you to select the number of channels you want and save cpu instead of using possibly up to 16 channels for just other unused random values.


Do not report no_occupancy_since if not set

Fixing an introduced inconsistency for occupancy reports for Koenkk/zigbee2mqtt#1195

Nice catch, thanks!


how to get or create?

How would you do something simple like this? Would be nice to have it in the readme
getOrCreate = { type, id ->
  g.V().hasLabel(type).hasId(id).tryNext().orElseGet{ g.addV(T.id, id, T.label, type).next() }
}

that should work, however I'm not really a fan of specifying the id... IMHO that should be left to the database. not sure if it's common enough to have it in the readme on the front page, but a test (e.g. in ElementSpec) would be great - fancy creating a quick PR?


Some readme.md links are bad

You have a number of links in the README.md file like this:
http://<IP_ADDRESS>:8000/pymmcore-plus/examples/mda/
At least for me these don't work. It looks like they are pointing to a local server on your development machine?

Lol, thanks for letting us know @HazenBabcock
The links should point to https://pymmcore-plus.github.io/pymmcore-plus/contributing/ and any of the examples like https://pymmcore-plus.github.io/pymmcore-plus/examples/mda/


Fly3D

"Node config for CharacterBody3D"
in this node, the "Player" can fly :D
Issue #65

wait for review :D 👍