Meta Issue: NumPy Random Generator Support

This issue page tracks the current progress of NumPy's random number generation support (the new Generator API) and links all related PRs and Issues. (This only links 'missing' features and not bug reports).
Functionalities for core Generator support:

[x] Core Generator boxing-unboxing.
[ ] Constructors for Generator and BitGenerator
[ ] Thread safety for Generator states.

Tasks within Numba for better support / efficiency of existing features:

[ ] Re-iterate the Numba documentation for Generators to explicitly mention what is supported and what isn't.
[x] Change the output shape iterator to a flattened iterator for every distribution. - https://github.com/numba/numba/pull/8619
[ ] Fix for NumPy vs Numba output discrepancy due to fmadd instructions being generated in certain cases. - https://github.com/numpy/numpy/issues/22993
[ ] Support for array arguments - https://github.com/numba/numba/issues/8770

Generator methods: (Methods that can be implemented right away are marked feasible)

[x] numpy.random.Generator.integers
[x] numpy.random.Generator.random
[ ] numpy.random.Generator.choice (Depends on support for Advanced Indexing)
[ ] numpy.random.Generator.bytes (Feasible, but no definitive return type in Numba)
[x] numpy.random.Generator.shuffle
[x] numpy.random.Generator.permutation
[ ] numpy.random.Generator.permuted (Feasible)
[x] numpy.random.Generator.beta
[ ] numpy.random.Generator.binomial - https://github.com/numba/numba/pull/8371
[x] numpy.random.Generator.chisquare
[ ] numpy.random.Generator.dirichlet (Feasible)
[x] numpy.random.Generator.exponential
[x] numpy.random.Generator.f
[x] numpy.random.Generator.gamma
[x] numpy.random.Generator.geometric
[ ] numpy.random.Generator.gumbel - https://github.com/numba/numba/pull/8232
[ ] numpy.random.Generator.hypergeometric (Feasible, but complex enough to require it's own PR)
[x] numpy.random.Generator.laplace
[x] numpy.random.Generator.logistic
[x] numpy.random.Generator.lognormal
[x] numpy.random.Generator.logseries
[ ] numpy.random.Generator.multinomial (Depends on #8371)
[ ] numpy.random.Generator.multivariate_hypergeometric (Feasible, but complex enough to require it's own PR)
[ ] numpy.random.Generator.multivariate_normal (Feasible, but complex enough to require it's own PR)
[x] numpy.random.Generator.negative_binomial
[x] numpy.random.Generator.noncentral_chisquare
[x] numpy.random.Generator.noncentral_f
[x] numpy.random.Generator.normal
[x] numpy.random.Generator.pareto
[x] numpy.random.Generator.poisson
[x] numpy.random.Generator.power
[x] numpy.random.Generator.rayleigh
[x] numpy.random.Generator.standard_cauchy
[x] numpy.random.Generator.standard_exponential
[x] numpy.random.Generator.standard_gamma
[x] numpy.random.Generator.standard_normal
[x] numpy.random.Generator.standard_t
[x] numpy.random.Generator.triangular
[x] numpy.random.Generator.uniform
[ ] numpy.random.Generator.vonmises - https://github.com/numba/numba/pull/8232
[x] numpy.random.Generator.wald
[x] numpy.random.Generator.weibull
[x] numpy.random.Generator.zipf

numpy.random.Generator.choice (Depends on support for Advanced Indexing)

choice has one signature that is much easier to support: just giving an integer as first argument and it generating number with or without replacement up to not including that number.

In [1]: import numpy as np

In [2]: rng = np.random.default_rng(0)

In [3]: rng.choice(10, size=50, replace=True)
Out[3]:
array([8, 6, 5, 2, 3, 0, 0, 0, 1, 8, 6, 9, 5, 6, 9, 7, 6, 5, 5, 9, 2, 8,
       6, 0, 3, 8, 5, 0, 7, 7, 8, 1, 0, 8, 0, 5, 0, 2, 4, 4, 4, 0, 0, 1,
       0, 6, 5, 6, 2, 6])

In [4]: rng.choice(100, size=50, replace=False)
Out[4]:
array([28, 94, 97, 51, 56, 67, 81, 83, 59,  5, 80, 85, 44, 38, 27, 22, 93,
       95, 62, 58, 21, 36, 90, 64, 92, 46, 37, 61,  4, 49, 19, 74, 39, 35,
       72, 29, 66, 82, 54, 30, 63, 41, 24, 53, 89, 43, 42,  8, 88, 26])

That should be possible to support without any new fancy indexing support for numba, right?
I.e. rng.choice(<int>) is equivalent to rng.choice(np.arange(<int>))


Update retrieve_workspace function

Workspace.get and Workspace.from_config use the same interactive authentication. Though, if from_config doesn't find file during the ADO pipeline it will throw an error, which indicates that the ADO project is not well connected to AML. In the other case, the function will get stuck on interfactive authentification.

should we merge this PR or close it?

Let's close it for now


static handler for home page doesn't work

Hi again! I haven't dug into this one yet, but I figured I'd report it first. Evidently static_files isn't supported for the home page? eg this returns a 404:
- url: /
  static_files: static/index.html
  upload: static/index.html

...but if you add any path to url, like this, it works.
- url: /x
  static_files: static/index.html
  upload: static/index.html

Aha. Looks like this overrides the home page path to point to gunicorn?
https://github.com/XeoN-GHMB/app_server/blob/0bfaf921721729aa0dd0b5756cec0374d944da73/src/app_server/__init__.py#L165

OK so, sounds like this is a feature request to look for handlers with script and attach them to gunicorn, instead of making it the catch-all for all paths? Or we could keep that behavior and implement it as a true fallback instead, instead of overriding /?


workaround file permissions

Do not depend on the permissions of the Python script.

https://github.com/pypa/setuptools/issues/2041


Adding/Updating json schema programmatically  from third party plugin

I am looking for a plugin API where a custom plugin can update contributes specially jsonValidation schema programmatically. Currently a plugin can add a schema in package.json file.
I am developing a plugin where user able to create json schema definition within the workspace or reference any existing schema as definition and can perform validation against the schema generated by the plugin.
Note: I have explore existing json language server, but it only has support for file based or remote schema.

This comment describes how you can register a schema with dynamic content:
https://github.com/microsoft/vscode/issues/77433#issuecomment-512726599

@aeschli  Thanks for the update

@aeschli can you help with clearing schema cache when dynamic schema change?

The TextDocumentContentProvider that you provide has a onDidChange event. You must fire this event when the document with your schema changes. The JSON language server will then clear it's cache and reload the schema.

@aeschli onDidChange event do not clear the schema, i have tried this approach.
The Reason why JSON language server not clearing  the schema is the following code
let handleContentChange = (uri: Uri) => { 			if (uri.scheme === 'vscode' && uri.authority === 'schemas') { 				client.sendNotification(SchemaContentChangeNotification.type, uri.toString()); 			} };
This is in JSON language server client code here, which check if the content change has schema vscode.
which prevents the resetSchema function being executed on the server.

@ramank775 Good catch!

@aeschli  Thanks. 👍


Emitters!

The idea: dynamically create new nodes based on requested URL parts.
Example: at /blog/ lives a node that has an emitter for /blog/:year/ URLs. These will dynamically spawn nodes that render archives for the selected year.
Through emitters, we can have a unified API for dynamically created nodes. The biggest advantage here is that not only do these enable dynamic applications (where the node graph keeps changing over time), but we can also remain compatible with static site generations, since emitters can also be used when exporting (eg. the blog archive would, when exporting, actively trigger the emitter to generate pages for each year that has a blog entry.)

Pull Request in #16.


create a 'noms alias' command

This would be vastly superior to a 'noms use' command and easier to implement. The following command:
noms alias local http://localhost:8000
would save the alias to a .noms file in the user's home directory. From that point on, users could use the command:
noms ds local
The noms alias command would also have the following args: -d (for delete), -s (for show) and -ls (list all).
prompt> noms alias -s local
local: http://localhost:8000

prompt> noms alias -ls
local:                http://localhost:8000
cli-tour:             http://demo.noms.io/cli-tour
demo-sfcrime:         http://demo.noms.io/cli-tour::sf-crime

prompt> noms alias -d local
alias 'local' deleted

the place we save the configuration should in fact be a noms repo

drive by: I like how .gitconfig is a text file, not git repositories.

the place we save the configuration should in fact be a noms repo
drive by: I like how .gitconfig is a text file, not git repositories.

yeah I had that gut reaction too. I suggested using noms as a kind of strawman.

Shooting from the hip and taking inspiration from git clone, what if noms defined a mapping between the local and remote repo implicitly when sync was issued. This combined with some prudent defaulting could be a convenient way to work with local and remote datasets.
Here's a rough sketch:
Issuing a sync like this:
noms sync http://demo.noms.io/cli-tour::sf-film-locations ldb:.noms/tour::films

would implicitly create some definitions like this:
# .nomsconfig
[db.tour]
  url = ldb:.noms/tour
  [db.tour.remote.origin]
    url = http://demo.noms.io/cli-tour

The use command would activate the mappings. (Note that use could be implicit if there was only one db defined in the local .nomsconfig).
noms use tour    # activates definitions under db.tour

Other noms commands would be modified to make use of the current db mappings:
noms ds          # noms ds ldb://.noms/tour
noms ds origin   # noms ds http://demo.noms.io/cli-tour

noms log films   # noms log ldb://tmp/noms/tour::films
noms log origin::sf-film-locations   # noms log http://demo.noms.io/cli-tour::sf-film-locations

noms show 'it8pop...'         # noms show ldb://.noms/tour::'...'
noms show origin::'it8pop...'  # noms show http://demo.noms.io/cli-tour::'...'

noms sync films origin::sf-film-locations
noms sync origin::sf-film-locations films

There would also be explicit commands for defining these mappings like:
noms config db <name> --set-url <local-url>
noms config db <name> --set-remote <remote-name> <remote-url>

@aboodman, @willhite: If this feels like a useful idea to pursue, I can flesh out the details and a basic implementation to kick around.

I'm not sure about the .ini config file syntax, do they normally scope things with a '.' in the name or is there some other way of scoping.
I think this is pretty cool and it would be nice to leverage the .git model for this onto noms. I can see how the general 'alias' concept might get unwieldy if people have several databases and this might scale better. But I am a bit nervous about how well this concept maps to a system like ours that isn't closely tied to a directory structure like git is. If other people think this is a good direction, I would suggest implementing the bare minimum for us to see how this feels. So perhaps, just implement the config file reader and the integration with dataspec.go. We would each have to create our config files manually for now but it would allow us to get a sense for how well this works.

The config format in the example is toml. It's very similar to the git file format. Using the git format would require a little more programming but is certainly easy to do if important.
Agreed with the idea of first doing a minimal implementation. This would sanity test the idea and inform how/if to proceed further.

To be more precise, the minimal implementation would be as follows:
Step 1: Local and remote aliases
If ./.nomsconfig or ~/.nomsconfig is present, load it.
# .nomsconfig
[db.tour]
  url = ldb:.noms/cli-tour
  [db.tour.remote.origin]
    url = http://demo.noms.io/cli-tour

The example above defines two db aliases:

tour (refers to ldb:.noms/cli-tour)
tour.origin (refers to http://demo.noms.io/cli-tour)

Either of these aliases can be used anywhere in a noms command where a db name is required. Here are some examples:
noms ds tour          # noms ds ldb://.noms/cli-tour
noms ds tour.origin   # noms ds http://demo.noms.io/cli-tour

noms log tour::films   # noms log ldb://.noms/cli-tour::films
noms log tour.origin::sf-film-locations   # noms log http://demo.noms.io/cli-tour::sf-film-locations

noms show tour::'it8pop...'         # noms show ldb://.noms/tour::'...'
noms show tour.origin::'it8pop...'  # noms show http://demo.noms.io/cli-tour::'...'

Step 2: Use command
The use command specifies a local database to use as the default. Once issued, this database will be implicit in most noms commands. Additionally remote databases associated with this database will no longer need to be qualified. Here are some examples:
noms ds          # noms ds ldb://.noms/cli-tour
noms ds origin   # noms ds http://demo.noms.io/cli-tour

noms log films   # noms log ldb://.noms/cli-tour::films
noms log origin::sf-film-locations   # noms log http://demo.noms.io/cli-tour::sf-film-locations

noms show 'it8pop...'          # noms show ldb://.noms/tour::'...'
noms show origin::'it8pop...'  # noms show http://demo.noms.io/cli-tour::'...'

FWIW I'd rather not have the use functionality.

@kalman: Can you elaborate on what specifically you don't like about use?
Is it the idea of a default context (where the local and remote databases may be implicit in commands)? Or is it the idea that there may be multiple contexts?

Yeah - here are 5 reasons:

The idea of a default git context works for me because it's dependent on shell state, namely the working directory (plus its currently checked out branch). I explicitly enter a state of git by cd'ing into that directory. Noms doesn't have that concept (I suppose you could say "thing of noms pwd as home directory path").
A small related point I just thought of: shelling out to commands and leaving out databases (deliberately or accidentally) could be surprising.
I can see rules about where the database should be implicitly inserted, and where it shouldn't, could get ambiguous/inconsistent/confusing/frustrating. I can't think of an example right now where the path is ambiguous, but we did have problems resolving ambiguity.
Where in the stack does the substitution happen? Does the entire noms library respect the implicit database, or do commands have to opt-in somehow (e.g. what about csv-import)?
If I do need to deal with multiple databases, having one be implicit could be surprising. However so long as this whole thing is explicit (you need to noms use it, it never happens implicitly) this should be fine.

The idea of a default git context works for me because it's dependent on shell state, namely the working directory (plus its currently checked out branch). I explicitly enter a state of git by cd'ing into that directory. Noms doesn't have that concept (I suppose you could say "thing of noms pwd as home directory path").

My initial thinking was to follow the git model and tie a single context to a directory. This feels clearer and simpler than noms use to me also.
On the negative side, it's a little odd to require cd'ing to an otherwise empty directory. Dan @willhite also raised concern about restricting the user to one local db. My gut is that these negatives may not be too bad in practice.

A small related point I just thought of: shelling out to commands and leaving out databases (deliberately or accidentally) could be surprising.

Not sure I follow.

I can see rules about where the database should be implicitly inserted, and where it shouldn't, could get ambiguous/inconsistent/confusing/frustrating. I can't think of an example right now where the path is ambiguous, but we did have problems resolving ambiguity.

I've worried about this a bit and think I can devise simple rules to avoid ambiguity. Won't know for sure until digging into the implementation a bit.

Where in the stack does the substitution happen? Does the entire noms library respect the implicit database, or do commands have to opt-in somehow (e.g. what about csv-import)?

It would need to apply to all command line tools. Probably makes sense to keep it out of the core API.

If I do need to deal with multiple databases, having one be implicit could be surprising. However so long as this whole thing is explicit (you need to noms use it, it never happens implicitly) this should be fine.

There might be some confusion here, but my hope is that:

this use case is uncommon (other than pairing a local db with remotes)
explicit specs can be handled in an unsurprising way

On the negative side, it's a little odd to require cd'ing to an otherwise empty directory

I agree. I hadn't really considered this.

A small related point I just thought of: shelling out to commands and leaving out databases
(deliberately or accidentally) could be surprising.
Not sure I follow.

As in say I write a script that implements a pipline: e.g. imports data, then transforms it. We actually already have this with the cron jobs where url-fetch imports csv blob, then csv-import turns that into structured data. It also runs various noms commands to make sure not to commit duplicate commits if the blob doesn't change.
I can see easy mistakes slipping in: leaving out arguments by accident and doing the wrong thing, or a bad script running noms use but not restoring it... etc.

I think I'm on board with the directory-based version of this proposal, except for I don't like the idea of trying to default the local/remote based on sync. I'd rather it be explicit to start out so we can get used to it.

It's a big change so I expect everyone will be a little freaked out, but I think it can be implemented in such a way that it isn't too disruptive to how people work right now and they can try it out.

Considering the issues raised here and discussing offline with @aboodman, here's a revised proposal:
A noms context is defined when a .noms/config file is present in the current directory or in an ancestor. The config will looks something like this:
[local]
url = ldb:.noms/db   # the url of the local database; defaults to ldb:./.noms/db but can be any path

[remote.origin]     # defines a remote alias named origin
url = http://demo.noms.io/cli-tour

[remote.another]  #defines a remote alias named another
...

When in a directory where the noms context is active, the local database is implied in many commands and remote(s) can be referred to by their aliases:
noms ds             # noms ds ldb:.noms/db
noms ds origin   # noms ds http://demo.noms.io/cli-tour

noms log ::sf-films                           # noms log ldb://.noms/db::sf-films
noms log origin::sf-film-locations   # noms log http://demo.noms.io/cli-tour::sf-film-locations

noms show ::'it8pop...'                     # noms show ldb://.noms/db::'...'
noms show origin::'it8pop...'           # noms show http://demo.noms.io/cli-tour::'...'

noms diff ::'it8pop...' origin::'it8pop...'    # diff local object with object at origin

noms sync ::sf-films origin::sf-film-locations  # sync from local to remote
noms sync origin::sf-film-locations ::sf-films  # sync from remote to local

The commands will continue to work with full specs as well.
When .noms/config isn't present, noms behavior is unchanged.
There's still a healthy debate about the approach of tying a context to a directory -vs- defining databases and remotes globally. This proposal should be viewed as a prototype to evaluate rather than the final approach.
Implementation steps:
Phase 1:

Implement config file parsing and discovery
Resolve aliases in noms commands allowing "local" as an alias for the local database

Phase 2:

implement default use of the local db when no db name is specified

On Thu, Sep 8, 2016 at 3:52 PM, Eric Halpern<EMAIL_ADDRESS>wrote:

Considering the issues raised here and discussing offline with @aboodman
https://github.com/aboodman, here's a revised proposal:
A noms context is defined when a .noms/config file is present in the
current directory or in an ancestor. The config will looks something like
this:
[local]
url = ldb:.noms/db   # the url of the local database; defaults to ldb:./.noms/db but can be any path
[remote.origin]     # defines a remote alias named origin
url = http://demo.noms.io/cli-tour
[remote.another]  #defines a remote alias named another
...
When in a directory where the noms context is active, the local database
is implied in many commands and remote(s) can be referred to by their
aliases:
noms ds             # noms ds ldb:.noms/db
noms ds origin   # noms ds http://demo.noms.io/cli-tour
noms log ::sf-films                           # noms log ldb://.noms/db::sf-films

Can we make it so the '::' not required?

noms log origin::sf-film-locations   # noms log http://demo.noms.io/cli-tour::sf-film-locations
noms show ::'it8pop...'                     # noms show ldb://.noms/db::'...'
noms show origin::'it8pop...'           # noms show http://demo.noms.io/cli-tour::'...'
noms diff ::'it8pop...' origin::'it8pop...'    # diff local object with object at origin
noms sync ::sf-films origin::sf-film-locations  # sync from local to remote
noms sync origin::sf-film-locations ::sf-films  # sync from remote to local
The commands will continue to work with full specs as well.
When .noms/config isn't present, noms behavior is unchanged.
There's still a healthy debate about the approach of tying a context to a
directory -vs- defining databases and remotes globally. This proposal
should be viewed as a prototype to evaluate rather than the final approach.
Implementation steps:
Phase 1:

Implement config file parsing and discovery
Resolve aliases in noms commands allowing "local" as an alias for
the local database

Phase 2:

implement default use of the local db when no db name is specified

lgtm

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/issues/2131#issuecomment-245766683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAE6BOawSo2l3aRL2uFCzzsDKyZOi1M0ks5qoJHAgaJpZM4JTId2
.

Can we make it so the '::' not required?

You need to be careful because of IPV6 addresses which (as we know) allow ::. You'd need to know whether the part before :: is the name of an alias, vs just leaving out the database altogether.
Given IPV6 addresses need to start with https?:// it should be ok, since we don't allow : in dataset names. But good to keep this in mind.

Can we make it so the '::' not required?

I think we can as long as we require the protocol prefix in explicit specs.

You should send out a note about this to #general and to the usage mailing
list too...
On Wed, Sep 21, 2016 at 7:43 PM, Eric Halpern<EMAIL_ADDRESS>wrote:

Closed #2131 https://github.com/attic-labs/noms/issues/2131 via e3e9b29
https://github.com/attic-labs/noms/commit/e3e9b29d2c3786bdb433bf63137bf75b1229c067
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/issues/2131#event-798277144, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAE6BON94WQ2VlGJSEgIDzYmIlhee_JJks5qsetqgaJpZM4JTId2
.


Allow more fields in ServingRuntime Container spec

/kind feature
Describe the solution you'd like
It would help us have cleaner simpler InferenceServices if we could specify the ports and volumeMounts section in the ServingRuntime Container spec.
Is there a reason the ServingRuntime Container spec isn't just the k8s v1.Container Spec instead of a few select fields?
@pvaneck

I believe the limited fields are carry-over from ModelMesh, the originator of the ServingRuntime. I suppose it would make sense to remove the limited selection of fields given your scenarios.
@njhill @yuzisun Any thoughts on replacing the ServingRuntime container spec with just the v1.Container spec?

sounds good to me, the InferenceService is using v1.Container already so it is better to be consistent.

I think in the model-mesh case it was primarily to keep the surface area smaller and because the idea is that the runtime container is mostly "managed" by our controller and kind of sits behind the modelmesh container in the same pod. For example the volume mounts and pre-stop hook are configured by the controller since it  handles the storage and shutdown sequencing, etc. It doesn't look like it currently sets the ports field, but it could set this based on the ports advertised by the endpoints fields in the ServingRuntime. I think the reason that it doesn't is that these ports are intended to be for intra-pod communication only, and that field is informational anyhow.
Having said that, I don't think it would harm to use v1.Container, we could override/merge/fail as appropriate if some of these other fields are set.
@markwinter I'm curious what is it that you want to use the volumeMounts / ports for in this case?

@njhill
Our model server image was hardcoded to listen on port 80 so we used the ports section to reflect that. We're updating to use $PORT var instead.
As for volumeMounts, our model server runtime needs some shared memory.
Of course this can all be specified in the InferenceService, but I want our users to write yaml as possible, so the more I can specify in the ServingRuntime the better

Done in https://github.com/kserve/kserve/pull/2112
Thanks @Suresh-Nakkeran


Add distribution_counter_microbenchmark to apache_beam.tools.utils

Add distribution_counter_microbenchmark to apache_beam.tools.utils
Related PRS:
map_fn_microbenchmark.py : https://github.com/apache/beam/pull/4915
distribution_counter: https://github.com/apache/beam/pull/4928
r: @pabloem @aaltay

This looks good to me. Is it worth adding it to a unit test to have it run often? (and the answer may be no. Just wondering.)
LGTM
Note: Robert is ooo until friday : ) - maybe get another reviewer to take a look.

Hey @aaltay, last commit addressed all your comments above. Please review these changes :D

Jenkins retest this please

All comments addressed @aaltay. Thanks!

Could you look at the test errors?
docs errors seems related:
/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_MavenInstall/src/sdks/python/apache_beam/tools/utils.py:docstring of apache_beam.tools.utils:3: WARNING: Unexpected indentation.

Hey @aaltay,
I fixed my docstring in latest revision and there is still one lint warning which is not related to my code change:
************* Module apache_beam.typehints.typehints
C:1101, 0: Trailing newlines (trailing-newlines)

For my code changes, there is no other error or warning. Thanks!

https://github.com/apache/beam/pull/4972/files fixed the lint error, rerunning tests

retest this please

retest this please

Hey @aaltay , python related tests have passed. Thanks for your help!


Add a customFuncMap parameter

I added that capabability because I needed for the cm_cli to overload the template functions.
Signed-off-by: Dominique Vernier<EMAIL_ADDRESS>

It is to be able to add new functions in the Gand text/template rendering. For the time being there is the standard golang text functions plus spring, plus few others I implemented in the templatefuntion.go file. I want to implement few extra for the cm-cli but as they are specific to the cm cli I don't want to implement them in the clusteradm. This change will allow me to inject the extra functions I need for the cm cli without having them in the clusteradm

it looks good. Would you squash the commit.


Apply Import Validation Checks (DTO) for RECT DUCT WAF Data to Import API

RECT DUCT WAF Data Import Format Checks

The value for WAFDeterminationDate  must be formatted as a date yyyy-mm-dd
The value for WAFBeginDate  must be formatted as a date yyyy-mm-dd
The value for WAFBeginHour must be numeric, within the range of 0 to 23 (no decimals)
The value for WAFValue must be numeric, 6 digits max within the range of -99.9999 and 99.9999, only 4 decimals
The value for NumberOfTestRuns  must be numeric, 2 digits max, no decimals
The value for NumberOfTraversePointsWAF  must be numeric, 2 digits max, no decimals
The value for NumberOfTestPorts  must be numeric, 2 digits max, no decimals
The value for NumberOfTraversePointsRef  must be numeric, 2 digits max, no decimals
The value for DuctWidth  must be numeric, 5 digits max within the range of -9999.9 and 9999.9, only 1 decimal
The value for DuctDepth  must be numeric, 5 digits max within the range of -9999.9 and 9999.9, only 1 decimal
The value for WAFEndDate  must be formatted as a date yyyy-mm-dd
The value for WAFEndHour must be numeric, within the range of 0 to 23 (no decimals)
If any of these fields do not contain valid values, it's an error. Error Message:
[RECTDUCTWAF-FATAL-A] The value for [fieldname] in the Rectangular Duct Waf record #[index of record] is not formatted properly

RECT DUCT WAF Data Import Value Checks

The value for WAFMethodCode must be string and limited to the results from (SELECT waf_method_cd FROM camdecmpsmd.waf_method_code)
If any of these fields do not contain valid values, it's an error. Error Message:
[RECTDUCTWAF-FATAL-B] The value for [fieldname] in the Rectangular Duct Waf record #[index of record] is invalid

Testing
Test Case: TC264
Tester @mosesdeeCVP
Clean Monitoring Plan

Test Passed


Use before definition errors should not be reported in ambient contexts

// test.d.ts

declare var S: typeof A; // error TS2448: Block-scoped variable 'A' used before its declaration.
declare const A: number;

Errors make sense only in non-ambient context.

But would that error still be valid like this?
var S: typeof A;
const A: number;

I would argue we're not using A variable, we're reasoning about its type. And the type is known regardless of the order of the statements.


Make sure 'LibGMT.log_to_file' removes the file even if an exception occurs

Right now, it doesn't check that the log file is deleted if there was an error in setting the logging or an exception occurs inside the with block. I would guess that it isn't. It be good to implement a test to make sure the file is deleted.

It seems this issue can be closed since #188 remove the log_to_file function.

:+1:


Release v0.1.0

Added

Add distro package providing functionality to quickly setup the OpenTelemetry Go implementation with useful Splunk defaults.
Add splunkhttp module providing additional Splunk specific instrumentation for net/http.

Do you want to wait a few days before I experiment with https://github.com/signalfx/splunk-otel-go/pull/30#discussion_r606000990 ?
Per https://github.com/signalfx/gdi-specification/discussions/27 maybe we should also wait for a little and consider renaming SPLUNK_CONTEXT_SERVER_TIMING_ENABLED to SPLUNK_TRACE_RESPONSE_HEADER_ENABLED ?


Add a notebook and a matlab script to run the model in development mode

This PR adds two scripts to show a developer how to run the model:

developer on snellius uses a notebook to read python modules, and to call matlab from python
developer on crib with access to matlab desktop uses a matlab script to call python from matlab

Hi @SarahAlidoost , good job! I only left some minor comments related to texts in notebooks and readme. Please feel free to edit them and merge this branch afterwards.
I tested the dev notebook on snellius, it works well. But I cannot test the workflow on crib since it seems I need a matlab account with a valid license. So maybe it is good for you to double check the code yourself or ask someone with a matlab license on crib to do it (maybe a phd student?).

@geek-yang thanks for reviewing. you are right, testing the matlab script on crip needs a matlab license.


cleaning up links and descriptions appearing on Google search

Looks like we have some duplicate sections (log in) and need more clear description for sign up functionality.

Add "no-index" to all app pages
Remove /resource pages from cache, create ticket for permanent removal
Create copy around results from<PHONE_NUMBER> and other number (@emmastephenson?)

Ticket for noindex created here: https://github.com/CDCgov/prime-simplereport/issues/3667

@Rebecca-LM finally got into Twilio - our other sending number is<PHONE_NUMBER>. Patients can receive results from either number.

PR #310 adds numbers to the COVID-19 test results page.


--disable-ticker flag has typo

┬─[Wed Nov 25 07:35:07 PM]─[scottpeterson@Principia-Mac:~/D/D/Chore]
╰─> cat .mill-version
0.8.0-53-c964fb
┬─[Wed Nov 25 07:37:32 PM]─[scottpeterson@Principia-Mac:~/D/D/Chore]
╰─> mill --disable-ticker
Cannot resolve --disable-ticker. Try `mill resolve _` to see what's available.
┬─[Wed Nov 25 07:37:46 PM]─[scottpeterson@Principia-Mac:~/D/D/Chore]─[1]
╰─> mill --disable-ticket
Selector cannot be empty
┬─[Wed Nov 25 07:37:49 PM]─[scottpeterson@Principia-Mac:~/D/D/Chore]─[1]
╰─>

This also prevents BSP from working since it correctly writes --disable-ticker to the mill.json file.
Changing to --disable-ticket and BSP works in Intellij.

Should be fixed by https://github.com/lihaoyi/mill/commit/96160eba2c9c5904c45f4f51a74ccb4768551cda I think


Neck tracker needs a warning upon assignment, indicating potential lethal choking danger of improper neck strap/collar.

Since users will want to try everything, this is important to put so that people are aware of the risk of using the neck tracker.
WARNING: Neck tracker can be deadly if too tight of a strap cuts off circulation to the head!

I think people will know when a choker is too tight :joy:
also, kinky.


Fix "The following actions uses node12 which is deprecated and will be forced to run on node16"

fixes https://github.com/NWACus/avy/issues/8. Just needed to update actions/checkout@v2->v3 and ctions/setup-node@v2 -> v3, based on documentation that is where node 16 is supported. Tried on the update and seemed to not break anything.
https://github.com/NWACus/avy/actions/runs/6294661816 -> no more warnings :D

yay thank you @yuliadub!


Revendor hcsshim and go-tar

Update hcsshim to take some fixes including one for Go1.9
Update go-tar to use the go1.10 fork in order to prepare for the Windows Archiver.
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1812   +/-   ##
=======================================
  Coverage   48.71%   48.71%
=======================================
  Files          81       81
  Lines        8116     8116
=======================================
  Hits         3954     3954
  Misses       3515     3515
  Partials      647      647

Flag
Coverage Δ

#linux
48.77% <ø> (ø)
:arrow_up:

#windows
44.91% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

/cc @dmcgowan

LGTM

Please rebase.

Need to figure this one out hdr.Xattrs is deprecated: Use PAXRecords instead

The changes added for XAttrs/PAXHeaders LGTM

LGTM

This one introduces a regression, as go-tar from go-1.10 now uses user.LookupId() etc., which leads to the following ugly but rightful errors when compiling static binaries:
/tmp/go-link-408986199/000003.o: In function `mygetgrouplist':
/usr/lib/go-1.9/src/os/user/getgrouplist_unix.go:15: warning: Using 'getgrouplist' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-408986199/000003.o: In function `mygetgrgid_r':
/usr/lib/go-1.9/src/os/user/cgo_lookup_unix.go:38: warning: Using 'getgrgid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-408986199/000003.o: In function `mygetgrnam_r':
/usr/lib/go-1.9/src/os/user/cgo_lookup_unix.go:43: warning: Using 'getgrnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-408986199/000003.o: In function `mygetpwnam_r':
/usr/lib/go-1.9/src/os/user/cgo_lookup_unix.go:33: warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-408986199/000003.o: In function `mygetpwuid_r':
/usr/lib/go-1.9/src/os/user/cgo_lookup_unix.go:28: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

I'm not quite sure what to do about it yet.


Key-n-Stroke doesn't run

Key-n-Stroke 1.0.0 doesn't run in this Windows 10 environment.  It will launch with the smart screen warning, I click "More Info" and "Execute Anyway" and then nothing.
It doesn't appear in Task Manager.
In Resource Monitor, its Status is "Suspended" and trying to End Process fails with the message "Access is denied."
The only way to end the process is to restart.
I tried changing many Compatibility settings in Properties and running compatibility troubleshooter, running as Administrator. All failed.
Troubleshooter ultimately categorized it as "Incompatible Program - Fixed"
Reliability History had this info:
Source
KeyNStroke
Summary
Stopped working
Date
7/30/2021 5:24 PM
Status
Report sent
Problem signature
Problem Event Name:	CLR20r3
Problem Signature 01:	Key-n-Stroke.exe
Problem Signature 02:	<IP_ADDRESS>
Problem Signature 03:	eef6d148
Problem Signature 04:	mscorlib
Problem Signature 05:	4.8.4390.0
Problem Signature 06:	609c41da
Problem Signature 07:	339
Problem Signature 08:	10
Problem Signature 09:	System.ArgumentException
OS Version:	10.0.19<IP_ADDRESS>.256.48
Locale ID:	1033
Additional Information 1:	2beb
Additional Information 2:	2beba6fb4680d73a8c78ca7c24ccdb46
Additional Information 3:	6c14
Additional Information 4:	6c14eabbec4a762ea0aea5a3f0c42228
Any ideas/help would be appreciated.

I have the same issue.
Release	Windows 10 Pro
Version	21H1
OS-Version	19043.1110

Hm. Maybe the NET Framework is missing. I thought .Net Framework 48 is installed by default on Windows 10.
Maybe you can find out which versions are installed on your machine: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

I am not allowed to install 4.8 runtime since that or greater is already installed. But I still can't launch Key-n-Stroke.
dotnet --list-sdks
3.1.415 [C:\Program Files\dotnet\sdk]
5.0.104 [C:\Program Files\dotnet\sdk]
5.0.403 [C:\Program Files\dotnet\sdk]

dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

After installing the 4.8 developer pack from https://dotnet.microsoft.com/download/dotnet-framework/net48
(which shouldn't make any difference from before) I still can't launch.
An old PxKeyStrokes.exe works.

Hello Phaiax,
Just wanted to say that while it took awhile for the Key-n-Stroke doesn't run #59 issue to be addressed, it ultimately was. Not only is Key-n-Stroke  working but you've improved it, helping others to more easily follow complicated ideas and demonstrations.
Thank you!


fix: broken links in js docs

@eswarclynn can we also check if this page is needed or not
https://www.100ms.live/docs/v2/client-sdks/Getting-Started-Javascript

@eswarclynn can we also check if this page is needed or not
https://www.100ms.live/docs/v2/client-sdks/Getting-Started-Javascript

No we're not, checked with the team too. Do you want it removed?


plugin: ability to access VSecM Sentinel through OIDC authentication

This is not something that can be done lightly, or have a sloppy implementation since we are adding another point of entry to a critical system component.
That said, using OIDC as an authentication mechanism does not inherently decrease the security of your system. In fact, OIDC can provide a secure way to authenticate users since it is built on top of the OAuth 2.0 protocol, allowing clients to verify the identity of users based on the authentication performed by an authorization server.
However, as with any system that opens up additional points of access, there are a number of factors that need to be considered:
Quality of the OIDC Provider: If you're not implementing OIDC yourself, the security of your system will depend largely on the security measures taken by the OIDC provider. Make sure you use a reputable and secure provider.
Access Control: If you allow OIDC authentication for sentinel, it's crucial that you have a robust access control system in place. You should make sure that only authorized users can write secrets. Additionally, consider the Principle of Least Privilege, granting only the necessary access to users and nothing more.
Secure Token Handling: OIDC uses tokens to establish and confirm user identity. Ensure these tokens are securely handled at all times. They should not be logged or exposed in any way, and should be securely stored if they need to be stored at all. It's often best practice to handle these tokens in-memory and never persist them.
Validation of Tokens: Always validate ID tokens on your backend service. This includes verifying the signature, validating the claims, and confirming that the 'aud' claim contains your app’s client ID.
Use of Secure Communication: All communication should happen over secure channels (HTTPS).
Session Management: Ensure proper session management. Invalidate sessions server-side after logout, and consider implementing token expiration and revocation.
Monitoring and Auditing: Regularly monitor and audit the activities within your system to detect any unauthorized access or anomalous activities.
Some of these are to be fixed within the realm of VSecM, and some of these wil be the things that the user/operator have to consider and secure themselves.
Remember that adding new access points to a system always involves risk, but with the proper implementation and continuous monitoring, it's possible to maintain a high level of security.

This is done; closing it.


Log failed authentications as warning message.

fail2ban will not work, if the gitea loglevel is set to Warn, since failed authentications are log as info.
Suggestion: Log failed authentications as warning.

Codecov Report

Merging #6311 into master will not change coverage.
The diff coverage is 33.33%.

@@           Coverage Diff           @@
##           master    #6311   +/-   ##
=======================================
  Coverage   38.82%   38.82%
=======================================
  Files         359      359
  Lines       51137    51137
=======================================
  Hits        19854    19854
  Misses      28411    28411
  Partials     2872     2872

Impacted Files
Coverage Δ

modules/context/auth.go
26.08% <0%> (ø)
:arrow_up:

routers/home.go
45.45% <0%> (ø)
:arrow_up:

routers/user/auth.go
13.07% <50%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Hmm I'm in two minds about this. I'm not sure that a failed authentication is sufficient to cause a warn and I wonder if we're actually overusing error actually.
That being said - in at least one interpretation authentication is a possible warn.
However, take a look at my pr #6095 you can configure a logger with a regular expression and only log events that match that expression. (Amongst a whole gamut of other things.) You may find that this is not really needed.

I know what you mean by »not sure that a failed authentication is sufficient to cause a warn«.
The point is gitea logs are quiet noisy (Info), if console output is used to feed into journal/syslog,
so that the user might be encouraged to set it to Warn and this shouldn't not break fail2ban,
since it is security relevant.
But I think I can close this PR and have a look at your improvements in #6095.


Move initialization of pipelines and commands out to creation

Its a use-what-you-need approach.

4ddab6b7a939eebffb75a458c66304966c3107d3


AttributeError: 'Response' object has no attribute 'status'

First, thank you for all your hard work on this, can't be easy maintaining a repo like this. Second, I know issues like this have already been posted, but I think I have some additional issues/information to add [identifying info removed].
Some quick backstory: I've been scraping nhentai for years using a combination of urllib, request, and BeautifulSoup. My python script would gather new links and write them to a txt file, which I would then load once a month to HDoujinDownloader to download and sort. 14 days ago, my script stop working. After investigating I found that Cloudfare had been preventing my script from successfully gathering links. While trying to find work-around solutions, I was lead here. I tried the code found in Issue #39 :
from NHentai import NHentai, CloudFlareSettings
nhentai_async = NHentai(request_settings=CloudFlareSettings(csrftoken="hne[...]", cf_clearance="1qDg[...]"))
print(nhentai_async.get_page(page=1))
And was met with this error:
File "C:[...]\AppData\Local\Programs\Python\Python310\lib\site-packages\NHentai\sync\infra\adapters\request\http\implementations\sync.py", line 37, in handle_error
raise Exception(f'An unexpected error occoured while making the request to the website! status code: {request.status}')
AttributeError: 'Response' object has no attribute 'status'
My suspicion is that more advanced CloudFare settings have been applied to nhentai and that those settings are preventing successful runs. Is that something you can confirm? Any advice on which direction to head in would be most appreciated.
Thanks again for all your hard work.

Hey @trestlesky! I have been having the same issue. did you manage to solve it, or somehow circumvent it?

It's really messy and inconvenient, but I am currently using undetected chrome driver, python, and selenium:
https://github.com/ultrafunkamsterdam/undetected-chromedriver
I can't run it headless, it's slow because it actually opens each page I'm scraping, and it's been tricky figuring out an automation schedule... but it works for the time being until I find another solution.
Let me know if you want more details.

Thanks for that @trestlesky I'll see if I can make it work.

Hello everyone,
Firstly, I'd like to apologize for my delayed response. I had set this project aside after Nhentai implemented Cloudflare's protection. However, I've now addressed the issue by incorporating the Cloudflare cookie token from the user's session along with a valid user-agent. Thank you for opening this PR.
I've recently undertaken a significant refactoring of this project. I would greatly appreciate your continued contributions.


pipeline_kafka should support pushing data info Kafka

+1

Moved to https://github.com/pipelinedb/pipeline_kafka/issues/1


Applied fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Current coverage is 26.05%

Merging #1 into master will not affect coverage as of 70f851f

@@            master      #1   diff @@
======================================
  Files            2       2
  Stmts          142     142
  Branches         0       0
  Methods         21      21
======================================
  Hit             37      37
  Partial          0       0
  Missed         105     105

Review entire Coverage Diff as of 70f851f

Powered by Codecov. Updated on successful CI builds.


Configure GDS::SSO caching

The default is not to cache, and this means that large numbers of
requests are being made to Signon. Hopefully caching will reduce this.

This was deployed on Friday and had the desired effect of reducing the number of requests to Signon from asset manager:

@tijmenb Thanks for checking it had the desired effect 👍


[Photon Health] Get authentication working

This tests the connection to the neutron health api by adding a button on the patient prescription page that tests the connection. This calls a bot that initiates the authentication workflow, returning and logging allOk if the connection is successful. Note that you will need to have a PHOTON_CLIENT_ID and PHOTON_CLIENT_SECRET set up in your project for this to work.

@SocketSecurity ignore<EMAIL_ADDRESS>


[Broker] fix error log miss stack trace when create tenant fail

Motivation
When create tenant fail, the error log did not print out the stack trace.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Documentation

[x] no-need-doc
only a fix for error log

/pulsarbot rerun-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


add terminfo output to foot

Project description
The foot terminal is already packaged in nixpkgs. As foot uses its own terminfo, this terminfo is needed on any remote servers you connect to using foot. It would be useful to have this terminfo packaged as its own output as with other terminals: alacritty, kitty, rxvt-unicode to name a few.
ping foot maintainer @sternenseemann for feedback
Metadata

homepage URL: https://codeberg.org/dnkl/foot
source URL: https://codeberg.org/dnkl/foot
license: mit
platforms: linux

That is a very good idea! Unfortunately it doesn't seem to be possible to specify a separate install directory for foot's terminfo so far (it is installed to datadir along with the license etc.). I'll open an upstream ticket, they are usually very helpful, and then we'll be hopefully be able to set this pretty soon.

https://codeberg.org/dnkl/foot/issues/569


Unconfirmed transaction last 3days

Hello sir
I have deposited 0.010376  bitcoin not deposited yet my wallet address on 24 may 2017
3Qk9uCxi9HnbHwkoeNE2J9EgEyo3WE6i9S what happened? why u cant transfer to my wallet
Plz feedback me about my bitcoin status send me as soon as possible
<EMAIL_ADDRESS>I will send I link
https://insight.bitpay.com/tx/a2fedde598fb89cf7d6a7186318907f27c9c483a816449e544d8f7ddd0b64755

Sir feedback me what happened.????????

not related to insight-ui, this is a bitcoin issue


Tests are not stable under re-ordering.

Description of the issue
Right now if you do:
pip install pytest-randomly
./check/pytest --random-order

Many tests break. This issue (along with others that might be underlying it like randomness seeding @pavoljuhas ) is blocking us from taking advantage of things like parallel pytest:
./check/pytest -n auto

or more distributed CI checking like is done in #4913  https://github.com/quantumlib/Cirq/runs/5013652945?check_suite_focus=true
We should work to get these issues resolved and make our tests a little more robust. Perhaps a good first step would be to resolve all the issues when using pytest-randomly and then introduce it into our CI.
Cirq version
v0.14.0dev

@MichaelBroughton - can you check if pytest-random is the correct plugin?
Its last update is from 2013 whereas pytest-randomly seems to be actively maintained; perhaps we should use that one.
On my side the current master 4f354ea6fce895c16e962697fb923a7d61c1f818 can already do parallel pytest without either of pytest-random/pytest-randomly plugins:
check/pytest -n auto -p no:randomly -p no:random

This produced one extra error compared to a serial pytest, cirq-core/cirq/_compat_test.py::test_deprecated_module_error_handling_3, which should be easy to fix.
After pip install pytest-randomly the serial check/pytest failed all 16 parametrized versions of test_deprecated_module and a parallel run failed 5 of them.  I guess this parametrized test is prone to test ordering, which needs more investigation.  There were BTW no other extra failures from the pytest-randomly plugin.
Do you seen different errors in your case?
If so can you share some examples?

Oops yes, pytest-randomly was the package I was referring to. Experimenting locally those were the breakages I saw, but remotely I was also seeing this break here: https://github.com/quantumlib/Cirq/runs/5013652945?check_suite_focus=true
Which I assumed was caused by this, but perhaps it has something to do with import ordering or something else unrelated.

The tests in _compat_test.py can be fixed by commenting out the test_deprecated_module_error_handling_X tests for X=1, 2, 3.  Trying to understand this now.

Here are some misplaced parentheses - it seems to help if moved to the end, eg,
subprocess_context(_test_broken_module_1_inner)()
https://github.com/quantumlib/Cirq/blob/4f354ea6fce895c16e962697fb923a7d61c1f818/cirq-core/cirq/_compat_test.py#L809-L818

Yep, just did that :)

It looks like this has been fixed. Thanks @pavoljuhas


How to test my own images?

Dear author,
I want to know how to test my own images if there is no ground truth value of my images?
Thanks for opensource this outstanding working!
您好，感谢开源如此优秀的工作！请问一下怎么才能测试自己的图片呢？是必须要有图片的ground truth吗？如果没有的话怎么办呢？

Thank you.
You can refer to the issue#7 or issue#8 which has mentioned before. Maybe we will update the inference code in the future.

Thank you. You can refer to the issue#7 or issue#8 which has mentioned before. Maybe we will update the inference code in the future.

Thanks for your reply.
I have temporary solved this problem, looking forward to the inference code!
Further more, hope for more helpful code on how to transfer to onnx and TensorRT in the future!

@HaonanLu9566  can you share your solution


Rework type assertions in patterns

This needs to be rethought some more.  How can we incorporate types into patterns without deviating so much from JavaScript notation for objects, destructuring, and defaults? 🤔

type Point = {x: number, y: number}
type Line = {p1: Point, p2: Point}

// object
let n: number = 5
let p = {x = 5, y = 10}
let p: Point = {x = 5, y = 10}
let p: {x: number, y: number} = {x = 5, y = 10}
let p = {x: number = 5, y: number = 10}

// deep destructuring
let line: Line = {p1 = {x = 5, y = 10}, p2 = {x = 0, y = 1}}
let {p1: {x as x1, y as y1}, p2: {x as x2, y as y2}} = line

// pattern matching
match value {
  | n: number => ...
  | _: number => ... // check without binding
  | {x, y} => ...
  | {x, y}: Point => ...
  | {x = 0, y = 0}: Point => ... // default values
  | {x, y}: {x: number, y: number} => ...
  | {x as a, y as b} => ...
  | {x: number, y: number} => ...
  | {x: number as a, y: number as b} => ...
  | {x: number as _, y: number as _} => ...
}

// function params
let foo = fn ({x, y}) => x + y
let foo = fn ({x: number, y: number}) => x + y
let foo = fn ({x: number as a, y: number as b}) => a + b
let foo = fn ({x: number as a = 0, y: number as b = 0}) => a + b

How do we differentiate between when something after the : is a type versus an identifier?
// pattern matching
match value {
  | n: number => ...
  | n is number => ...
  | _: number => ... // check without binding
  | _ is number => ... // check without binding
  | {x, y} => ...
  | {x, y}: Point => ...
  | {x, y} is Point => ...
  | {x = 0, y = 0}: Point => ... // default values
  | {x is number, y is number} => ...
  | {x: a, y: b} => ...
  | {x: a satisfies number, y: b satisfies number} => ...
  | {x: a is number, y: b is number} => ...
  | {x: (a: number), y: number as b} => ...
  | {x: a::number, y: b::number} => ...

I ended up staying with is.  Implementation has been completed by #111, #112, and #121.


Added CI

waiting this PR https://github.com/ros/rosdistro/pull/38056

@john-maidbot CI is green here! ready for review


Discussion on our 1st release.

Hi team,
as many functions are able to use, let's discuss our 1st alpha release. Please propose the things that you think they're need to be closed. Thanks.

As we don't have the huge resources for launching the fully release tests. Let's setup a specification to standardize the processes, like, distributing the release testing tasks to the authors and collecting them, finally generating the release tests report.
For an instance:

Selecting the volunteers from authors, AUTHOR1, AUTHOR2, AUTHOR3.
Distributing the release tasks to the 3 authors.
Iterating the candidate versions once we found any issue.
Generating the release report.
And more, the all processes should be tracked in a Github issue.


add serialization and deserialization of Actions and Observations

fixes #148

@rbren
Is there some defined spec for Action and Observation serialization?
Before we had
# Action
        return {"action": self.__class__.__name__, "args": self.__dict__, "message": self.message}

# Observation
        """Converts the observation to a dictionary."""
        extras = copy.deepcopy(self.__dict__)
        extras.pop("content", None)
        return {
            "observation": self.__class__.__name__,
            "content": self.content,
            "extras": extras,
            "message": self.message,
        }

as the base serialization and a bunch of weird hand coded stuff on top that is different from this base serialization format...

@geohotstan I appreciate your work here! I copied much of it and merged the PR above, so we could get unblocked.

yeah sorry about blocking you guys, I was without internet for a few days :(

All good! You gave us a great head start, definitely got done faster thanks to your work 😄


Various optimizations, size reductions and stability improvements

The goal of all these changes is to reduce WASM binary size with opt-level = "z" and reduce the number of allocations for tiny objects.
While #[inline(always)] is usually discouraged, when using opt-level = "z" LLVM strongly avoids inlining to the point it can sometimes not inline enough, causing extra function calls/indirection and duplicate code. My internal guidelines for inlining here is to emulate what opt-level=3 would do automatically for simple functions. "Simple" being barely more than a single function call within. Furthermore, functions that take impl Fn() almost always create a unique monomorphization of that function for the callback closure type, so we may as well force-inline it where that closure is, allowing the compiler to merge them and potentially optimize further. If necessary I could change them all to #[cfg_attr(target_arch = "wasm32", inline(always))]
Other changes:

Quite a bit of non-generic code has been pulled out of generic functions. This is slightly worse for artificial benchmarks, but significantly reduces compiled binary size.
ScopeDisposer no longer allocates.
Fixed nested batch calls. Previously, batching was set to false and effects were run on every call to batch, but now effects will only be run on the top-most call to batch, when nested.
batch and untrack are now somewhat resilient to panics, even if nothing else is yet.
I changed the fn bubbles(&self) -> bool method on EventDescriptor to an associated constant const BUBBLES: bool, as this is not a dynamic property, nor is it ever used in a dyn context. Keeping it const potentially allows for dead-code elimination of certain branches. Hard to predict if this helps, but it doesn't hurt.
Attribute, IntoAttribute and most standard meta components have been updated to use Cow<'static, str>. The downside of this is the removal of the impl IntoAttribute for &'_ str implementation. However, static attributes do not allocate now, which is a very common case. Unsure if it was even possible for attributes to be a non-static str in practice before.
Added a "fast-path" in mark_dirty for linearly nested children. Avoids boxing the iterator and the single iteration.
Various other tiny cleanups I noticed along the way, e.g.: enum Defaults, some code organization.

Here is an example of the binary size improvements seen for the Hackernews example:
lto = false (default):
  Hackernews 0.2.5: 498,180 bytes
  Hackernews main branch: 483,875 bytes
  Hackernews my changes: 448,513 bytes
lto = true:
  Hackernews 0.2.5: 410,247 bytes
  Hackernews main branch: 397,740 bytes (154KB gzipped)
  Hackernews my changes: 376,679 bytes (149KB gzipped)

Having just read through every line, I want to say: Thank you, this is really fantastic.
I think I agree with all of the decisions here, and wanted to call out especially the change toScopeDisposer (very good clean up from an ancient version of this, avoiding the allocation) and preventing as-yet-unreported bugs with nested batching and untrack.

Oh I should add: I've swapped over to criterion benchmarks inside leptos_reactive, and this PR gave a smallish but (supposedly) statistically significant ~4-5% improvement on "deep update" (chain of 1000 memos) and "fan out" (1 signal to 1000 memos), with no significant change to "narrow down" (1000 signals to 1 memo). The benchmarks for other frameworks do tend to bounce around a bit between runs, sometimes even reporting significant improvements within an actual version change, so I'd say this is all either within the margin of error or a slight improvement, in release mode SSR, so — very good.


SocketException: OS Error: Connection reset by peer

This exception is being raised randomly on AWS ec2
After this exception is raised, the process exits with exit code 255, but tcp port is still in use

@lesnitsky , can you provide more details? How can we repro the issue?

Closing as there is not enough information to figure out the issue.

I have similar problems, I share this link:
https://stackoverflow.com/questions/64009822/socketexception-in-flutter

For me the solution is adding the next header accept-encoding: gzip, deflate, br
Had 100 percent same issue


Map renders empty grey box?

Using the exact example from the readme. Am I missing something or is there a bug?
import React from 'react'
import GoogleMapReact from 'google-map-react'

export default class MapView extends React.Component {

	static defaultProps = {
		center: {lat: 59.95, lng: 30.33},
		zoom: 5
	  };

	render() {
		const AnyReactComponent = ({ text }) => <div>{text}</div>;

		return (
			<GoogleMapReact
				defaultCenter={this.props.center}
				defaultZoom={this.props.zoom}
				bootstrapURLKeys={{
					key: 'redacted'
				}}
			  >
				<AnyReactComponent
				  lat={59.955413}
				  lng={30.337844}
				  text={'Kreyser Avrora'}
				/>
			  </GoogleMapReact>
		);
	}

}

Seems like google api didnt loaded for some reason (bad api key etc) What u see in console?

Also what about jsbin example? Does it works for you?

Nada, that's why it's weird. I did just make the api key though so I'll give it a few more minutes for the API key to be "valid" maybe?

Okay very weird — just accidentally clicked "responsive mode" in chrome's devtools and it made the map load, but once I refresh the page it goes back to not loading

These are the network requests made after toggling the responsive mode, should the first two be made when the component mounts?

Have u tried jsbin example, a link before source at readme page? Does it work?

Is it possible that you load map at script tag with different api key?

jsbin example works, yep. No other script tags for google maps, only using this component

Strange. I can confirm that it loads once i resize the browser window. I'll look into it a bit more

Im not at the computer, are u sure that bootstrapUrl key is 'key' and not a cliientId or any other? What if you will delete that prop ?

API key works fine. The parent div that the map was in is hidden initially with display: none and then toggled to display: block. I removed the initial display: none and now it works fine. Going to see if I can see why it does that

Try "magic" property resetBoundsOnResize
<GoogleMapReact
   resetBoundsOnResize
   ....

should help

That did the trick! Might be a good point to add to the docs, I'd be happy to submit a PR later

I am having a similar problem with my web site's contact page. (http://sandermechanical.com/contact)  The WordPress theme (Envision) has a built in Google Maps widget, and all of a sudden it stopped working.  I've paid for the author's support program, but my service ticket requests have gone ignored since December 2018.  Any assistance or guidance that can be offered would be most appreciated.

@Luckass77 What this wordpress theme has to do with this library? Please open another issue, this is closed and solved.


Add Ballerina command to create Config.toml

Description:
Add Ballerina command to create Config.toml. This will be beneficial for the new users since they don't need to look sample Config.toml from the web.
Suggested Labels:

Suggested Assignees:

Affected Product Version:
2.0.0-SL-Alpha3
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

We've introduced a flag generate-config-schema to generate a JSON schema with the configurable details that can be used to generate the Config.toml
Please refer https://github.com/ballerina-platform/ballerina-lang/issues/32585


ROWORCOLST problem with decision from #1722

With #1722 #1791 a ROWORCOLST setting of 'C' is always serialized as blank.
We frequently use abapGit with tables set to column store. However this is setting is not carried over by abapGit (cf above).
Some of these tables have FullTextIndizes (FTI). When now the table is deserialized the column store setting in ROWORCOLST of 'C' is removed which gives afterwards an error for the table because FTI Indizes are only valid if this is set explicitly to 'C' and are not valid if this is set to blank. This error prevents activation of the table and dependent stuff. After every(!) pull we have for every(!) such table manually(!) access the technical settings of the table and set this to C and then we can activate the technical settings (which thankfully activates all dependent stuff).
So could we amend the change from #1722 #1791 with a mechanism in deserialize that if the field ROWORCOLST is there and the value is blank, it is set to C?
If this would be ok for you, I can do this as a test in our system and provide you with a pull request.

It's the typical case of a "new feature in a newer release". imho, the field should be serialized with the proper value (ie. R or C) if it exists in a given release (no mapping of field content). If imported on a lower release, you will get a diff like with any field that doesn't exist.

It's the typical case of a "new feature in a newer release". imho, the field should be serialized with the proper value (ie. R or C) if it exists in a given release (no mapping of field content). If imported on a lower release, you will get a diff like with any field that doesn't exist.

if its blank, and ROWORCOLST exists in the system, default the value to 'C'

if its blank, and ROWORCOLST exists in the system, default the value to 'C'

I created pull request #4430

I created pull request #4430

@DerGuteWolf can this issue be closed?

@DerGuteWolf can this issue be closed?

closing

closing


[bug 1209787] Fix tests sending GA data

We have a handful of google_utils tests that need to test that function.
This fixes them so they're all mocked and none of them send actual data.
We have a bunch of other tests that test code that calls google_utils
functions. This fixes the google_utils functions to not send any data
when running in a test context.
r?

@mythmon If Travis is good with this, can you review it?

This is icky, but I think the amount of icky remained the same before and after this patch. It is just updating the do-not-run-in-tests guard to understand py.test. Given that, I guess this is fine.

^^^ That addresses everything except the nested with. I redid that with \, but then the linter complained and I decided my patience for fiddling with things to make tools happy today had run out.
When Travis says green, I'll land it.
Thank you!


Indexing existing metrics and tagk/tagv pairs

I was wondering what the plan is for bosun to discover metrics that were not routed through bosun to OpenTSDB.  In our setup, we have all services talk directly to a large opentsdb cluster for insertion of metrics.  By now, there are thousands of metrics and tagk/tagv strings.  Can bosun automatically or manually pull those from OpenTSDB and index them?
thanks in advance.

There is no plan to do this at the moment. If you start relaying data through bosun it will start to populate. Our assumption is that it is okay to be missing old information from Bosun's knowledge. This in a way is similar to OpenTSDB's behavior of not returning results if they don't exist in the time span.
If you just don't want to relay all data through a single bosun process, we do have a seperate relay process that can be used. That basically just duplicates the traffic and sends it to OpenTSDB and Bosun. The process is more reliable than bosun itself since it is so simple (This is why we created it}. It is in cmd/tsdbrelay.
Bosun also keeps track of relational information (This metric has these tag keys, and these tag keys have these values, etc). OpenTSDB doesn't do this by default, so we can't really just replay the information from the OpenTSDB tag table since it doesn't store relational information.

I think that's a reasonable stance, but still presents a barrier for us, since most of our services use the opentsdb telnet interface.  I think my current preferred idea is to issue a separate /api/index to bosun for tagk/tagv values that i care about.
However, i think bosun would still benefit from indexing the metric names.  Can you offer any thoughts on that as a compromise solution?

You can but unless it is simple I don't think we will have time to act on
it without a PR.
Our collector (scollector) takes the telnet format on the command line and
formats it to JSON. You also get queueing. If that doesn't help it might be
trivial to make scollector run in a mode where it also takes those messages
via a network socket and proxies them. Maybe that would help?
My first guess at implementing a an indexer would be to create an api route
that expects no data points and just metric tag sets. I would then see if I
can use OpenTSDBs scan cmdline utility to get the ids from the tsdb table
to feed that new route (translating the keys back to the metric tag sets).
If not I would try to do the same thing but with hbase directly. One way or
another you would have to scan the tsdb table to know the relational
information.
On Jul 13, 2015 8:48 PM, "mxk1235"<EMAIL_ADDRESS>wrote:

I think that's a reasonable stance, but still presents a barrier for us,
since most of our services use the opentsdb telnet interface. I think my
current preferred idea is to issue a separate /api/index to bosun for
tagk/tagv values that i care about.
However, i think bosun would still benefit from indexing the metric names.
Can you offer any thoughts on that as a compromise solution?
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1158#issuecomment-121100147
.

When it comes to just the metric names I think that would be problematic.
We would have two behaviors (some metrics know what tags belong, others
don't) and that would get messy fast
On Jul 13, 2015 9:16 PM, "Kyle Brandt"<EMAIL_ADDRESS>wrote:

You can but unless it is simple I don't think we will have time to act on
it without a PR.
Our collector (scollector) takes the telnet format on the command line and
formats it to JSON. You also get queueing. If that doesn't help it might be
trivial to make scollector run in a mode where it also takes those messages
via a network socket and proxies them. Maybe that would help?
My first guess at implementing a an indexer would be to create an api
route that expects no data points and just metric tag sets. I would then
see if I can use OpenTSDBs scan cmdline utility to get the ids from the
tsdb table to feed that new route (translating the keys back to the metric
tag sets). If not I would try to do the same thing but with hbase directly.
One way or another you would have to scan the tsdb table to know the
relational information.
On Jul 13, 2015 8:48 PM, "mxk1235"<EMAIL_ADDRESS>wrote:

I think that's a reasonable stance, but still presents a barrier for us,
since most of our services use the opentsdb telnet interface. I think my
current preferred idea is to issue a separate /api/index to bosun for
tagk/tagv values that i care about.
However, i think bosun would still benefit from indexing the metric
names. Can you offer any thoughts on that as a compromise solution?
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1158#issuecomment-121100147
.

Thanks, I have no problem working on a PR, but looking for guidance to start.  two questions:

i thought /api/index already exists.  http://bosun.org/api.html#apiindex  is there any reason why it would not be appropriate?  As long as i have a corresponding call to bosun to index what i just inserted into opentsdb (because i bypass bosun), it would be my client keeping the data synced.

does bosun also passthrough graphite data, or does it discover metric names from graphite in some other way?

/api/index should be sufficient. It expects a set of gzipped/json encoded data points. If you can get them in that format and call /index, it will accept them.

Possibly an external indexer/opentsdb scraper app could look for metrics and tags and call that endpoint.

I believe graphite queries do not get the benefit of the search and indexing functionality in bosun. It can run alerts and evaluate expressions, but I think the graph page is less useful. Most users I know of use grafana for graphing from graphite.

We also use grafana for dashboarding and such, but evaluating Bosun for actually doing alerting.  Is that possible?
I've configured graphiteHost in bosun.conf, but i can't seem to run a query against it.  It's almost as if Bosun assumes it's an opentsdb metric.  how does bosun figure out whether to query Graphite or TSDB?

There is a seperate query function for graphite.http://bosun.org/expressions.html#graphite-query-functions

@captncraig @mxk1235 The reason I was thinking a different route is that I believe /api/index expects datapoints (values) whereas the only information needed if you were scanning the tsdb table would metric+tagset. I guess you put in 0,0 values or something but that seems a bit messy.
I haven't checked the implementation though, maybe it doesn't need a time value pair already...

we are looking to build alerting on exisiting tsdb.  It  would be good to see this feature in Bosun.


Futon redesign

Hey @benoitc

Are you calling it futon?
Is this staying?
If so, maybe we could overhaul this?

Closed and reopened.
https://barrel-db.atlassian.net/browse/BAR-5


Display "beta" and "new" labels as ribbons

Now they are being displayed in the same way as the "learning" label, but I think they shouldn't, because the meaning is quite unrelated.
We should pick a color and an icon for Beta (yellow/orange?) and another for New (blue?), so the user can quickly identify it.
Here is a way to do it using CSS transformations: https://unindented.org/articles/github-ribbon-using-css-transforms/

@faloi  I want to test it, how can I change to Beta an exercise?

The flags are available on a per guide basis, and can be changed via the edit view of a guide you own, e.g. http://es.mumuki.io/guides/26/edit

Those labels have being removed in #405.
Closing


Update WSLTTy to v3.5.3 And Add MPC-QT

Closes #XXXX

Relates to #XXXX

[x] I have read the Contributing Guide.

Separate PR for each app.
For WSLtty, has the problem described in #2318 been resolved?

Please start a new branch for each app. Using master will cause files from other PRs mixed together here, which is super messy, and likely to cause conflicts.
For example, if some earlier PRs have been accpted/merged and updated by our bot, thier will be conflicts between ScoopInstaller:master and your master.

Please start a new branch for each app. Using master will cause files from other PRs mixed together here, which is super messy, and likely to cause conflicts.
For example, if some earlier PRs have been accpted/merged and updated by our bot, thier will be conflicts between ScoopInstaller:master and your master.

I can't use git I don't understand git I can't learn git. pleaase
About wsltty so i saw a wsltty quite.exe file which was made especially for winget https://github.com/microsoft/winget-pkgs/pull/40573 I thought it can fix previous issue
Now I want to add https://github.com/mtkennerly/shawl/releases/tag/v1.1.0 but there are too many conflicts in my PR

You don't need to learn git (although you should, it is extremely useful).
You just need to open PRs from new branch, instead of editing the master branch every time. GitHub provides that option every time you make an edit to a file.

Can anyone please add these 2 apps so that I can delete my fork to make a new repo so that I can PR shawl https://github.com/mtkennerly/shawl

You can just start a new branch using Github's web interface.

/verify

/verify

/verify

@SonaliBendre Please consider test your manifest first, before sending a PR. This will avoid some low-level mistakes and save both of us some time.
You can test your manifest locally, For example, if your manifest is located at D:\, you can:
(1) test autoupdate: Go to D:\, start Powershell, Run (scoop directory)\buckets\main\checkver.ps1 -f xxx .
(2) test installation: Run scoop install D:\xxx.json

For WSLtty, has the problem described in https://github.com/ScoopInstaller/Extras/pull/2318 been resolved?

@issaclin32 the problem with wsltty still exists. We should have not merged that change (and only merged mpc-qt change).

@rashil2000 Thanks for reminding me. Will try to fix that later.

Can anyone please add these 2 apps so that I can delete my fork to make a new repo so that I can PR shawl https://github.com/mtkennerly/shawl

@SonaliBendre You can just start a new branch using Github's web interface.

thank you

@rashil2000 Thanks for reminding me. Will try to fix that later.

you can ask the dev about issue here https://github.com/mintty/wsltty/issues/304

@issaclin32 mpc-qt github release tag and version in file url is different!


Update dependencies

Use 2021 edition, async-session v3 and mongodb v2
Update all other dependencies
Move example into separate crate
Apply some lints and other minor improvements

Hi @AaronErhardt
I missed this PR and it has been superseded by https://github.com/http-rs/async-mongodb-session/pull/17 which has now been merged and released.
Please feel free to @ me directly if there are further updates to this lib as I tend to keep my GH notifications in quiet mode.


Create a Neovim starter kit for people who are interested but have no config yet

I'm thinking of calling it magic-kit or something like it. It'll basically be a starter pack you fork and clone into your Neovim configuration directory.
It'll come with everything you need to work with every Conjure supported language as well as a few other essentials I think are important such as plugin management and Aniseed based configuration.
So this might not be something I add to this repo, but it'll be another sister to the Conjure and Aniseed projects. It's basically a starter kit that I can point people who are unfamiliar with Neovim at.
The only thing I worry about is people relying on it then constantly adding things through PRs. I would like it to be minimal and a starter pack, you can fork it to add what you want, it's not supposed to be a Doom Emacs / Spacemacs. Just a ground floor that will let you work with Clojure et al.

Arne was doing something similar to this for Emacs (called corgi). Maybe you could get some ideas through his approach there.

FWIW, as someone with a lot of Clojure experience using Emacs but no existing Vim or Neovim config, I opted to nab this directory from your dotfiles repo @Olical and it has been a solid but not overwhelming starting point.

Just to point to existing projects: https://github.com/NTBBloodbath/doom-nvim looks very interesting! There is also https://github.com/SpaceVim/SpaceVim but it's not Neovim specific

For clarification, this would be a starter kit for Conjure + Aniseed, so all the Fennel based configuration is there and some essentials for autocompletion etc but not much else. The idea being that you fork / copy it and modify, it wouldn't be the kind of IDE like experience you get from doom / spacemacs etc. Just an opinionated starting point.

Still need to work on this, but progress is here: https://github.com/Olical/magic-kit

A few of my colleagues use this day to day now instead of Doom Emacs or Spacemacs, so I'm happy to close this!


[Bug] development nginx conf does not force redirect to https

Description
I was setting up local environment, didn't realise I was on http instead of https. everything seemed to work on the surface, only to break down on API calls.
Steps to reproduce the behaviour:
Add steps to reproduce this behaviour, include console / network logs & screenshots

Go to http://dev.appsmith.com
Try logging in

Important Details

Version: dev on latest release 799b88b
OS:  Ubuntu on WSL2 (Independent of OS)
Browser: Chrome (Independent of browser)

I'll submit a PR to force a redirect to https in local nginx.conf template files

I don't think we should do this because ideally, we would like all developers to be running the Appsmith system (in it's entirety) on their own local machines. I know that the release endpoint is documented in our contribution guide today, but we should remove that from the contribution doc as well and give people a simple Docker-driven way to setup the Java server as well on their own machines.
I understand that this causes some issues & heartburn during the contributor setup process, but I don't think this is the right solve.

I've been seeing this from the lens of improving the existing setup.
I don't think I understand the average contributor enough yet to make a broader call on "do we want to double down on docker?"
One way to think about it is to have minimal dependencies/steps:
Right now, the setup without docker is still fairly straightforward for someone that wants to work just on the UI. With a little bit of work, we can remove the dependency on nginx as well and simplify dev UX further.

@mohanarpit this seems to have come up quite a few times with frontend folk. If we want good frontend contributions, maybe we should re-think our philosophy on this?

closing as the related PR has been merged


Expand Frogbot tests

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.9%) to 67.0%

Totals

Change from base Build<PHONE_NUMBER>:
4.9%

Covered Lines:
201

Relevant Lines:
300

💛  - Coveralls


Cache potential energy and gradient of last trace in HMC/NUTS

Minor optimization as a result of investigating #1511.
Since the log density and gradient computation can take much longer with traces containing discrete sites, it is best to avoid it whenever possible. This includes a minor optimization - i.e. caching the potential energy and grads of the last seen trace (we already do caching within the same kernel sample step but not across steps).
Perf Impact:
The benefits are typically higher for HMC than NUTS, because NUTS tends to build longer chains and therefore the impact of caching the potential energy and gradient values for the beginning of the chain can be small. On the HMM example with 30 time steps with NUTS, this results in a reduction in runtime from 3min 28 seconds to 3min 19 seconds.

This is good to merge, pending any further comments.

@jpchen - could you help merge this PR (reviewed by @fehiepsi)? Feel free to review too!


Usage of Big.js

I'm seeing big.js show up in flamegraphs. How is that being used? Is it possible to refactor it out?

I looked through js-ipfs-bitswap and it's using Big.js as well, but nothing is being done with it outside of integer addition. Removing it has no adverse effects on tests, aside from losing the number methods that come with Big.js. The Connection Manager is also not doing anything that would necessitate using Big.js.
@pgte would you be able to provide any context around the usage of Big.js? It seems like we should be able to remove it altogether from both switch and js-ipfs-bitswap

Other than being able to grow beyond Number.MAX_VALUE, I don't recall using any Big.js-only methods.


feature: sound

Hello,
Happy to see this wonderfull project
is it possible to add a sound notification when mail arrived ?
thanks
lucile

i did the trick in my fork

i did the trick in my fork


Proposed solution to activity outcome issues

Renamed outcome.verdict to outcome.conclusion.
Renamed to enumeration values of outcome.conclusion according to
previous discussions.

:+1:


[labs/react] Build fails on obscure TypeScript errors

Description
The labs/react package is currently failing with bizarre TypeScript errors on CI (example):
Error: ../../../node_modules/typescript/lib/lib.dom.d.ts(4787,101): error TS2344: Type 'HTMLElementTagNameMap[K]' does not satisfy the constraint 'Element'.
  Type 'HTMLElement | BasicElement | HTMLObjectElement | HTMLStyleElement | HTMLLinkElement | ... 67 more ... | HTMLVideoElement' is not assignable to type 'Element'.
    Type 'BasicElement' is missing the following properties from type 'Element': assignedSlot, attributes, classList, className, and 123 more.
Error: ../../../node_modules/typescript/lib/lib.dom.d.ts(5160,101): error TS2344: Type 'HTMLElementTagNameMap[K]' does not satisfy the constraint 'Element'.
  Type 'HTMLElement | BasicElement | HTMLObjectElement | HTMLStyleElement | HTMLLinkElement | ... 67 more ... | HTMLVideoElement' is not assignable to type 'Element'.
    Type 'BasicElement' is not assignable to type 'Element'.
Error: ../../../node_modules/typescript/lib/lib.dom.d.ts(11372,87): error TS2344: Type 'HTMLElementTagNameMap[K]' does not satisfy the constraint 'Node'.
  Type 'HTMLElement | BasicElement | HTMLObjectElement | HTMLStyleElement | HTMLLinkElement | ... 67 more ... | HTMLVideoElement' is not assignable to type 'Node'.
    Type 'BasicElement' is missing the following properties from type 'Node': baseURI, childNodes, firstChild, isConnected, and 47 more.
Error: src/create-component.ts(15,30): error TS2307: Cannot find module 'react' or its corresponding type declarations.
Error: src/create-component.ts(87,22): error TS2503: Cannot find namespace 'React'.
Error: src/create-component.ts(134,20): error TS2503: Cannot find namespace 'React'.
Error: src/create-component.ts(135,5): error TS2503: Cannot find namespace 'React'.

These errors don't seem to reproduce locally.
The build and test scripts in packages/labs/package.json were disabled to allow builds on CI to continue passing. The cause of the failure needs to be investigated and the scripts should be re-enabled.

Fixed by https://github.com/Polymer/lit-html/pull/1580.


Add load test for xz compressed images

The auto decompression functionality was already vendored in
with containers/image. Adding a test for it.
Fixes https://github.com/projectatomic/libpod/issues/472
Signed-off-by: umohnani8<EMAIL_ADDRESS>

@umohnani8 Test failures look legitimate, travis is failing too

@mheon I don't understand why it is failing - works fine for me locally.
Runs /usr/bin/podman --root /tmp/podman_test196384510/crio --runroot /tmp/podman_test196384510/crio-run --runtime /usr/bin/runc --conmon /usr/libexec/podman/conmon --cni-config-dir /etc/cni/net.d --storage-driver=vfs save docker.io/library/alpine:latest | xz -zc - > /tmp/podman_test196384510/alpine.tar.xz
And throws error error parsing additional tags: invalid reference format.
For me locally:
$ sudo podman save docker.io/library/alpine:latest | xz -zc - > /tmp/alp1.tar.xz
Getting image source signatures
Copying blob sha256:73046094a9b835e443af1a9d736fcfc11a994107500e474d0abf399499ed280c
 4.46 MB / 4.46 MB [========================================================] 1s
Copying config sha256:11cd0b38bc3ceb958ffb2f9bd70be3fb317ce7d255c8a4c3f4af30e298aa1aab
 1.48 KB / 1.48 KB [========================================================] 0s
Writing manifest to image destination
Storing signatures

Travis runs ubuntu, could the 'xz' command not have the '-z' or '-c' param there?

@umohnani8 Try using the vfs storage driver?

@rhatdan works for me with vfs also.

@TomSweeneyRedHat looked at the man page for xz on ubuntu and -z and -c options exist.

I don't think it's xz, that error looks like it's coming out of c/image?

@mtrmac Mind taking a look? We're seeing a c/image error in CI but not when run locally.

@umohnani8 CI is fixed on master, can you rebase?

Rebased.

@rh-atomic-bot r+

@umohnani8 Tests are failing.

bot, retest this please

Looks like the CI hosts don't have xz installed, see:
  unable to run command: xz /tmp/podman_test747436009/alpine.tar

Tests pass! @rhatdan PTAL

@rh-atomic-bot r+


[system][material-ui] Move useMediaQuery to system

Move useMediaQuery to @mui/system
Re-export from @mui/material to prevent breaking changes
Closes #35037

[x] I have followed (at least) the PR section of the contributing guide.

I don't understand why the browser tests for joy began failing. This feels like an import issue, and it seems like it's only happening in bundled environments.
I've tried a number of things

Adding beforeEach/afterEach for mocking window.matchMedia from theme-scoping.test.tsx to various places, but it didn't fix everything, and I also feel like that's not a valid solution to this problem.
I tried messing with files that dealt with bundling or paths that mentioned useMediaQuery and changing it to come from system instead, but the tests still fail, window.matchMedia is still undefined.

scripts/sizeSnapshot/webpack.config.js
test/bundling/fixtures/next-webpack5/pages/next-webpack.fixture.js
test/bundling/scripts/fixtureTemplateValues.js
test/bundling/scripts/packages.js

I didn't commit any of that because it didn't solve anything.
Kinda stumped here 😅  would appreciate if someone could give me some help. 🙏
Sorry, thought this would be an easier lift. I'll keep trying but I don't feel like I have a clear idea of how to approach this.

I moved the test back to @mui/material but still got errors. It's weird.

Looks like it should be good to go, unless any of those changes I mentioned here for the bundling/test/webpack stuff need to go in.

Watching to see when this is merged.

This has been approved for a while... anything holding it up? Willing to update whatever is necessary!

This has been approved for a while... anything holding it up? Willing to update whatever is necessary!

I will merge after the CIs are green. Thanks for the PR and very sorry for the delay.

@michaldudak @Janpot Need your help, the CI error seems unrelated to the change. Can you guess what would be the root cause?

Looks like we're low on memory during typechecking. Try reducing concurrency in the typescript:ci script

I think I ran into this last week and increased available memory for this script.


add sudo to the check elastic command

Adding sudo for consistency with rest of docs. needed when running on bash shell on windows

Thanks, @navalev . This change looks fine to merge.
#sign-off

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


Socket get disconnect after certain period of time.

Hi,
Now i am working with the major socket based project where i have used this code. No doubt it working extremely good. But there is one problem that is i am starting socket from terminal that is from local, so that it get disconnected if my pc gets down or internet connection get lost.
What i want to do is, that i want open socket connection permanently i mean if anybody hit that url than socket should get started.
There should be no need to start it first from my terminal.
Can i do it in any way.?
currently i am stating my socket like -
canopus@canopus-K54C:~$ ssh root@MY-IP
root@MY-IP's password:
Last login: Mon Dec  7 14:28:26 2015 from static-3254654654.SP.com
root@SERVER-PATH
<EMAIL_ADDRESS>[PHP-Websockets-master]# php -q FILE-NAME.php
Server started
Listening on: MY-IP:9000
Master socket: Resource id #6

First welcome to Linux.
To keep it simple every app that you start from terminal are link to it. So when the terminal connection a signal is sent "hangup" to every app that you start and will be close.
What you need is to unlink the app from terminal. You can do it by using "nohup". By default every output will be redirect to "nohup.out". To redirect them you can use > redirect.file or simply redirect everything to void by using "> /dev/null 2>&1" not recommended because good luck finding why a crash happens.
so your command
php -q FILE-NAME.php

will look like
nohup php -q FILE-NAME.php > ws.log

Also note that now to close the server you will need to kill it manually.

Hey Xaraknid,
Thank You. It is working.
BTW how will i disconnect socket manually.

Personnaly I use "htop" it's like task manager processes tab under windows. Replace "end process" by "kill" key F9 to close the application.

what should be my command. actually i am not getting.

htop is a program you'll need to install if not allready on your system otherwise if you want to do it by command line instead : http://www.cyberciti.biz/faq/kill-process-in-linux-or-terminate-a-process-in-unix-or-linux-systems/

That is how htop looking but still socket connection is on.

Xaraknid thanks. My problem resolved.


Generator Overwrite Protection

Hey Ionic Team!
I have a small feature request, check for existing files when generating new objects.
Steps to reproduce:

Hit the up arrow 1000 times in a row to run/build from the command line as I develop
Generate a new page using ionic generator
Spend 5 minutes developing without committing or issuing different commands
Hit the up arrow and execute without thinking
Files are overwritten, development is wasted.

Could the CLI generate command do a quick check to see if it would overwrite files and then request for a confirmation from the user? It would save me some time in the future.
Thanks and keep up the great work!

@jgw96 @danbucholtz This presents a challenge with how generators were designed.

I've got to agree with this request.  I've done this twice already today :(

Hi,
Full disclosure, I love the idea but I know we're not going to get to this anytime soon. There is way too much other stuff on our list. We'd be open to a well-tested PR. We can even help. Please reach out to me if interested.
Thanks,
Dan


[Feature Request] Add metric temporality to telemetry config

Describe the solution you'd like
See https://github.com/temporalio/sdk-core/pull/402 (and https://github.com/temporalio/sdk-core/pull/404)

Dupe of https://github.com/temporalio/sdk-python/issues/141


Data Viz Colors

Summary
Establish a few sets of Categorical and Sequential colors that can be used across the SDS data visualization components, starting with CZ ID Heatmap, cellxgene Dot Plot, CZ ID Stacked Bar Chart. This will save teams time by eliminating the need to find their own colormaps for their data visualizations and instead rely on pre-vetted ones from the SDS.
Project Plan
Priorities of problems to solve for:

It is easy for teams to implement a color scheme for their data visualizations with colors and patterns that are user friendly and easy to implement
Colors are easy to interpret
Reducing the amount of times that colors are very similar but mean very different things
Eng implementation is easier

Sub Tickets:

[ ] #334

@mmmmmmaya @irene-han - Masoud is going to start on a POC for this, can either of you help get Masoud some ID test data or give him access to a test env for ID so he can take a look at the existing heatmap?


Add check to prevent StackOverflowError

The problem solved by this PR is the same as (#2564).
Due to my problem, I closed the previous PR, re-submitted this, hoping to review my code. Thanks again : )

Codecov Report

Merging #2580 into master will increase coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2580      +/-   ##
==========================================
+ Coverage   65.93%   65.97%   +0.04%
==========================================
  Files         207      207
  Lines        7665     7669       +4
  Branches      950      952       +2
==========================================
+ Hits         5054     5060       +6
+ Misses       2247     2244       -3
- Partials      364      365       +1

Impacted Files
Coverage Δ

...ork/cloud/netflix/feign/FeignClientsRegistrar.java
81.56% <100%> (+0.42%)
:arrow_up:

...ix/zuul/filters/route/SimpleHostRoutingFilter.java
89.1% <0%> (+1.28%)
:arrow_up:

Continue to review full report at Codecov.

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