RFC: spatial: review calculation formula for Jaccard distance with non-0/1 input

Is your feature request related to a problem? Please describe.
When spatial.distance.jaccard, cdist('jaccard'), or pdist('jaccard') is called with input vectors that contain elements that are not equal to True, False, 0 or 1, with or without weights, the calculation formula appears ad-hoc and not obviously meaningful.
Concretely, for real vectors $(u_1, \cdots, u_n)$ and $(v_1, \cdots, v_n)$, the Jaccard functions produce a value equal to
$$
\frac{\#\{ i \, |\, u_i \ne v_i \}}{\#\{ i \,|\, u_i v_i \ne 0 \}}
$$
assuming the denominator is not zero.
If the input vectors contained only Boolean or 0/1 values, it would be natural to consider $\{ 1, 2, \cdots, n \}$ as the full set of interest, and interpret $u_i = 1$ to indicate that $i$ is in the first set, and $v_i=1$ to indicate that $i$ is in the second set. This seems to agree with the usual definition of Jaccard distance, i.e. (size of) set intersection over (size of) set union.
However, in the above expression, only the denominator is consistent with this interpretation. The numerator counts the number of pairs $(u_i,v_i)$ where $u_i$ and $v_i$ are unequal, even if they're both non-zero. I'm unable to find an interpretation for this treatment, noting that the value $u_i$ (or $v_i$) is not a value in the full set (but $i$ is).
Describe the solution you'd like.
For consistency with Boolean input, I suggest to change the formula to
$$
\frac{\#\{ i \, |\, u_i \ne 0, v_i = 0 \textrm{ or } u_i=0, v_i \ne 0 \}}{\#\{ i \,|\, u_i v_i \ne 0 \}}
$$
Describe alternatives you've considered.
A simple workaround for the user is to always convert an input vector to True/False or 0/1.
Even though this workaround works, I think it would be ideal to fix the consistency when the workaround is not used.
Additional context (e.g. screenshots, GIFs)
All the other Boolean distance functions in Python adopt "fuzzy" logic formula for non-Boolean inputs, i.e. replacing an and b with a*b and not a with 1-a. Most of the other Boolean distance functions in C++ converts non-Boolean input to 0/1 before doing the calculation, except dice which adopts fuzzy logic for the unweighted case and an ad-hoc formula for the weighted case. (Admittedly these details are more than I wanted to know!)
That Jaccard is treated specially in the code appears to suggest the treatment might be intentional. But a counter-hint is that the code actually computes the numerator by
num = (x != y) & ((x != 0) | (y != 0));

This is just a disguised version of x != y; the part after & is redundant. This gives me the feeling that the formula might not have been well thought of after all.

There is some previous discussion of this in gh-12174 and gh-14357. The second link is a pull request with a proposed fix along the lines of what you suggest here, but it was never merged and has some discussion of why this is a complicated topic.

Thanks for the reference @jakevdp !
Disallowing (non-Boolean) 0/1 input might be a bit far reaching. I think it would be easier to “silently” convert numbers to Booleans.
As for whether $(u_i)$, $(v_i)$ could be treated as values of two sets themselves, I think it’s a bit far too, for example consider (0,1,2,3) vs (1,2,3,4), which gives a similarity of zero although intersection / union equals 0.6.
As for compatibility with Matlab/Octave, I checked MATLAB Documentation, which supports input vectors with integer values, ranging from say 1 to m. MATLAB treats these integer values as labels, and returns an m-vector of Jaccard distances, where if I understand correctly the k-th component is the number of pixels labeled as k in both images over the number of pixels labeled as k in either image. This is different from SciPy’s formula.


Add link to the dev mailing list

Fixed, added links to community page:
 To subscribe, unsubscribe or post our developer list, send an email message to one of the following addresses:

Subscribe<EMAIL_ADDRESS>Unsubscribe<EMAIL_ADDRESS>Post (new topic<EMAIL_ADDRESS>


Add contribution guidelines to web docs

review comment: Having the contribution guidelines as part of the main docs in addition to the DEVELOPER.md file would be very helpful, too!

I don't want to engage in dual maintenance, as this always leads to synchronisation issues. The contribution guidelines, code of conduct, and developer guide are prominently featured on the docs page already as links (screenshot). I don't think that more is necessary.


Not able to access to Nest.Indices.Names

NEST/Elasticsearch.Net version: 7.17.0
Elasticsearch version:
.NET runtime version: 7.17.0
Operating system version:
Description of the problem including expected versus actual behavior:
I am doing a GetRole:
var getRoleResponse = client.Security.GetRole("a_role");
After that, trying to list the names in the indices, but there does not appear an accessor to get to the list of names.
KeyValuePair<string, Nest.XPackRole> role = getRoleResponse.Roles.ElementAt(0);
IndicesPrivileges index = (IndicesPrivileges) role.Value.Indices.ElementAt(0);
var a_name  = index.Names[0];
Steps to reproduce:
Console.WriteLine(index.Names);  // failed
Newtonsoft.Json.JsonConvert.SerializeObject(getRoleResponse.Roles); // failed to show Names
Expected behavior
There should be a way to access to the results at the High Level Client
Provide ConnectionSettings (if relevant):
Provide DebugInformation (if relevant):

Hi, @dliulabs,
Roles on the response is a dictionary. so you can first access the specific role by its name. Each role then has an array of index permission entries. You could use LINQ to access all Indices from all of the entries. Once you have the Indices you can iterate over them and extract the individual names. In this case, Indices is a special union type so it's a little complicated to work with. The easiest option, for now, is to use its Match method to handle the union cases. See the example below which adds the values to a list.
This does highlight a usability issue on this response that I'll flag and look to improve in v8 if possible.
var role = getRoleResponse.Roles["a_role"]; // Access the role by name

var indices = role.Indices.Select(i => i.Names);

var indexNames = new List<string>();
foreach(var index in indices)
{
	var names = index.Match(all => new[] { "_all" }, many => many.Indices.Select(index => index.Name).ToArray());
	indexNames.AddRange(names);
}

@stevejgordon,
Thank you, yes, this helps.
If we have an accessor function such as this:
public static IEnumerable<string[]> IndexNames(this IReadOnlyCollection<Nest.IIndicesPrivileges> p)  => p     .Select(i => i.Names)     .Select( index => index     .Match(             all => new[] { "_all" },              many => many.Indices.Select(index => index.Name).ToArray()         )     );
then it is possible to do something like this:
role.Indices.IndexNames()


Initial implementation CI environments

The environment can include several branches.
When commit to a branch, builds all environments in which the branch enters.
When build the environment, the branches related to it merge into it.
If no environment is specified, it should work as before.
Builds:

Build view:

Edit project

Excellent work! Thank you :beer:. I will look at this feature soon.
Can you add the short documentation (for environments configuration format) and make rebase on current master branch?

And it would be great if you could fix the tests according your changes. See https://travis-ci.org/corpsee/php-censor/jobs/214704570

Useful feature.
I have a number of solutions in my project. Solutions differ with each other by the database structure and the set of modules included.
Each time I submit a new commit I run tests against all solutions.
I could probably use this environments if I had an access to environment name variable in .php-censor.yml.
For example:
setup:
    mysql:
        - "CREATE DATABASE rfm_db_test_%ENVIRONMENT%_%BUILD%;"
# fill db with data
# ...
# run some tests
complete:
    mysql:
        - "DROP DATABASE IF EXISTS rfm_db_test_%ENVIRONMENT%_%BUILD%;"

I think it is good idea - seting the %ENVIRONMENT% variable if the environment is set. @ss-gxp What are you think about it?

Yes, %ENVIRONMENT% variable already exists.
I will fix the tests, write documentation and do rebase (do with force push or just merge the upstream? I usually do not use force push, but history will be cleaner).

Docs :heart: Thanks!

Thanks! I merged manualy this branch.


Fix incomplete stack trace in Electron

Modified the regex to fix https://github.com/getsentry/raven-js/issues/1063.

Thanks @teleclimber!


[BUG] placeholder misalignment

Description
There is an error in the message textarea is a placeholder misalignment, caused by inconsistent CSS styles.

Someone is assigned for making new footer ui


Particle emitter broken in v3.16.0 Beta 2

Version

Phaser Version: v3.16.0 Beta 2

Operating system: Windows 10 Pro N 1803

Browser: All

Description

The particle emitter stopped working in my projects, all phaser3 examples of the particle emitter are broken with dev version V3.16.0 Beta 2 - they are still working on V3.15.1.
The particle emitter seems to work well at first, particles appear as expected but after reaching the lifespan value no more particles are created and somtimes a couple of particals  are created but not in the expected position - seems to be down and to the right of the original position.
Example Test Code
Code Pen
Broken V3.16.0 Beta 2
Working V3.15.1
All example are broken
Phaser 3 examples
Phaser 3 example Angled Emitter
var config = {
    type: Phaser.CANVAS,
    width: 800,
    height: 600,
    backgroundColor: '#000',
    parent: 'phaser-example',
    scene: {
        preload: preload,
        create: create
    }
};

var game = new Phaser.Game(config);

function preload ()
{
    this.load.atlas('flares', 'assets/particles/flares.png', 'assets/particles/flares.json');
}

function create ()
{
    var particles = this.add.particles('flares');

    particles.createEmitter({
        frame: 'blue',
        x: 200,
        y: 300,
        lifespan: 2000,
        speed: { min: 400, max: 600 },
        angle: 330,
        gravityY: 300,
        scale: { start: 0.4, end: 0 },
        quantity: 2,
        blendMode: 'ADD'
    });
}

Additional Information
None

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

I have built it and tested it, all seems to work fine now, thanks.


Overlay can't use cyrillic letters.

It is a known issue. I'm working to pushing an update to fix this soon

Fixed in the current version. Please update through FFXIVQuickLauncher


added moveit yaml files to cob_hardware_config

requires https://github.com/ipa320/cob_manipulation/pull/86/files

Well, I'd have a few comments but typing on the phone on the small screen is to much trouble...just make sure both collision_monitoring AND moveit, i.e. planning e.g. via rviz still work afterwards!
Also cob_moveit_config pkg is not fully auto-generated...it's structure has been cob-timized!
@ipa-mdl

maybe yoj could at least keep the part uploading tbe moveit info in its own launch file similar to planning_context.xml so it is clear where it comes from...

How about keeping the moveit_config files grouped in a subfolder, at least...so it's clear they belong together and not to confuse them with the (tons of) other config files!

How about keeping the moveit_config files grouped in a subfolder, at least...

+1
I am not sure why it was moved into cob_hardware_config. I thought we move cob_moveit_config (without the launch files) into cob_robots..

How about keeping the moveit_config files grouped in a subfolder, at least...

+1

The suggested changes are done and also the cob_manipulation PRs adapted:
https://github.com/ipa320/cob_manipulation/pull/86  --> move the config files to cob_hardware_config
https://github.com/ipa320/cob_manipulation/pull/87/files --> move the config files to cob_hardware_config and rename the cob_moveit_config to cob_moveit_bringup

closing as it is handled in related PRs https://github.com/ipa320/cob_manipulation/pull/88 https://github.com/ipa320/cob_manipulation/pull/91 as well as https://github.com/ipa320/cob_robots/pull/573 https://github.com/ipa320/cob_robots/pull/567


Add filename parameter to requests with url

This PR solves the following problem:

I want to embed Netron in another Node webapp
I want to control the model displayed inside Netron. I can do this by giving Netron an url parameter
However, I want Netron to show local content (picked by the user with an input type='file' form). Since the Node app is sandboxed, I can't pass the file path directly in the URL (using a file:// protocol); instead, I'm using URL.createObjectURL to create a temporary URL that references the file, and passing it to Netron
The URL created by URL.createObjectURL doesn't have a file extension, and thus Netron's model format matching (in view.js:loadBuffer) fails

With this change, a request with a url parameter can also provide a filename parameter to specify the file format (e.g. onnx).

Added &identifier= in eb2607a7bc1c2584d7f44bd8b262979ba6a1551f to enable this.


Spinner freezes when create-yoga install template dependencies

Need node/npm/yarn versions.
Cannot reproduce
Choose a GraphQL server template? minimal-yoga (Basic starter template )
? Where should we scaffold graphql server? ./test
✔ Downloading starter from https://api.github.com/repos/prisma/yoga2/tarball/master
✔ Extracting content to /Users/wtrocki/Projects/sync/yoga2/packages/create-yoga/test
✔ Installing dependencies 👩🚀

Your template has been successfully set up!

Here are the next steps to get you started:
  1. Run yarn dev (Starts the GraphQL server)
  2. That's it !

@wtrocki
This is related to https://github.com/sindresorhus/ora/issues/86
If we want to fix that spinner, we need to change that shellSync to shell, so we are not blocking the event loop.

Ah.. So this 2 blue dots are spinner.  Yes now this is trivial fix 🤦♂


Odom is published twice

when the data was updated, the odometer was published twice，which is meanless.
if (config.publishOdom)
{
  odom.header.frame_id = config.parentFrameId;
  odom.child_frame_id = config.childFrameId;
  odomPublisher.publish(odom);
}
if (config.publishOdom)
{
  odom.header.frame_id = config.parentFrameId;
  odom.child_frame_id = config.childFrameId;
  odomPublisher.publish(odom);
}

the duplicated code has been removed , thank you!


How can i start typescript with version 0.53 of react-native

the latest version of react-native has no index.android.js and index.ios.js

Please see https://github.com/Microsoft/TypeScript-React-Native-Starter/pull/24/files for a more up-to-date readme (if you haven't already found it.)


investigate using jsDelivr and kbw.countdown

https://github.com/kbwood/countdown is hosted on jsDelivr. Probably want to consolidate everything to one CDN, but that might just be my OCD.

cdnjs.com has 2.0.1, jsDelivr has 2.0.2. :unamused:
At least cdnjs has that weird jquery.plugin stuff now.
Alternatively, cdnjs also has 1.6.3, which doesn't use this jquery.plugin.


Command Prompt getmac run every time I launch VSCode on Windows 10

VSCode Version: Code 1.12.1 (f6868fce3eeb16663840eb82123369dec6077a9b, 2017-05-04T21:26:50.689Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions: the listing exceeds the lower minimum of browsers' URL characters limit

Currently every time when I open VS Code, the getmac command is run on command prompt (regardless of whether or not that application is open). I'd like to either remove this functionality or just stop the window from coming up, since I have to manually dismiss it every time I open the application.
Not entirely how/why it started happening, as I noticed it a while ago but never got around to reporting it. Is this a normal occurance? This doesn't happen to me on the Mac version of the app.
Steps to Reproduce:

Launch VS Code
Command prompt opens (in my case, ConEmu, since I have that overriding the default command prompt) and runs getmac.

@macintacos

is run on command prompt

Can you clarify what exactly you mean by command prompt? Does this happen in the integrated terminal of VS Code or does it happen in the command prompt where you launched vscode. Can you please add a screenshot.

@macintacos ping?

Sorry about that, wasn't around a computer for a bit that could reproduce it.
Gif below explaining the issue. It's not when I'm launching from the command prompt itself, even just opening something from the File Explorer will do it. Happens whenever I open from a cold start, doesn't happen if VS Code is already open.
GIF: https://www.dropbox.com/s/au8lyqy8i569jm5/vscode-getmac-vids.gif?dl=0

@macintacos thanks the video helps a lot. VS Code makes use of the getmac utility, but this is not the expected behaviour.
As a workaround you can try to disable the telemetry collection: https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting

wow - that is interesting

@chrmarti I remember you made some changes how the machine ids are computed. Do we still need the getmac module/command? I am hoping we don't and to solve this problem indirectly (apart from others)

@egamma I don't mind giving the telemetry, but this works as a workaround. If this is addressed I'll definitely turn it back on.

@jrieken The computation itself did not change.

Can we change it @chrmarti? Apart from this issue it's really not good a solution...
@macintacos On the issue: you are using conemu, right? @joaomoreno suggested that there is a setting that always run conemu with cmd.exe. can you check

@jrieken yes that setting is available. Currently everything (as far as I know) runs through ConEmu on my machine, rather than the normal command prompt.

@jrieken Sure, go ahead. All we need is some sort of id that is stable across stable/insiders releases and reinstalls of the application on all platforms. Also, existing ids should not change, that would break many reports. /cc @ramya-rao-a

Can we change it?

Change it to what? Didnt we try this in #16151?

There would be this which I suspect is much more reliable: https://github.com/automation-stack/node-machine-id

Also, existing ids should not change, that would break many reports

Well, I guess that's why we store them. However, if we starting using a different technique to generate them, machine ids will change after a reinstall. Tho, I suspect this happens with getmac as well.
fyi @joaomoreno this is most likely caused by this: https://github.com/Microsoft/vscode/blob/master/src/vs/code/electron-main/window.ts#L271 because for telemetry we store the machine id and read it from there subsequently.

@jrieken Sounds good. We keep the user data across reinstalls, so the old id will be kept. There will be a few users with the old id in stable and the new id in insiders (and potentially the other way around), but that shouldn't be a significant number.

@jrieken

fyi @joaomoreno this is most likely caused by

What is most likely caused?

@joaomoreno Your code always gets to call getmac whereas the telemetry logic makes this run only once (unless you nuke local storage). So this issue, conemu always popping up, is most likely caused by the http-header setting

I don't mind dropping it, in favour of a UUIDv4. The Marketplace people even asked for it.

As a as stable thing or just per session?

Stable.

https://github.com/automation-stack/node-machine-id would be nice because it is the same for stable/insiders and also when the user uses multiple user data dirs. What are the advantages of UUIDv4?

I think the marketplace folks have trouble parsing something else

Remind me what the reason is for parsing a UUID. I always think of these as something opaque (apart from the ability to store and compare them).

We didn't ask for a reason, they just asked for it explicitly.

@joaomoreno @chrmarti I leave this up to you guys

I've changed the ID we send to the Marketplace guys to be UUID. This allowed me to remove getmac from the critical path.

We only run getMac once on startup and then store it in either local storage or the storage.json on the main side. I do not think this is still an issue anymore. @chrmarti I suggest to close it.

Well we should probably still discuss if we can replace getMac with a different solution that requires less time 👍

@bpasero We shouldn't block startup on having the machine id. I see you have started the discussion on resolving 'common' properties only in the shared process, we can take care of it with that. Closing this issue.


zombie processes on exit

[for J Borchers]
The program creates lots of "zombie" processes that I have to kill by
hand regardless of how I exit the program.

Fixed? Somebody can check on windows?

Not fixed. On my Win10 system running the GUI on Refl1D 0.8.14, fitting initializes 9 additional processes, presumably one for each parallel task and one to rule them all. These are not automatically closed upon exiting.
However, if no fit is initiated after Refl1D is opened, the single python process that is initiated does disappear upon exiting.


[5.6] Add a simple argument extractor to PackagePlugin (#4053)

This is a 5.6 cherry-pick of #4053. Details in that PR. Motivation: This improves package plugins, a new feature in SwiftPM 5.6

@swift-ci please test


Refactor the code

@EmreOzkose
I have been using your code as a reference and refactor this repo a bit.
Thanks for your contribution.


Fail fast with 5xx responses

When server has an error there is usually no easy way of knowing what exactly has happened.
Most of the time we get timeout error which is indistinguishable between 5xx and 2xx responses (so we can't know if the element hasn't been render or there's an error on the server).
It would help a lot if we could fail fast with server error showing the response info.
Here's what I currently do (which is just dirty as): https://gist.github.com/1715880
This approach is too dirty and won't work with rack_test and in places where wait_for isn't used. So we need something better.

This issue has been discussed a number of times, for example in #329 and I think in a couple of others as well. It's always come back to the fact that it's just a really tricky problem to solve, to show server errors in a better way, and so far no one has produced a really convincing solution.

I'm not sure about all the ins of Capybara.
But to me it looks like the main issue is that there are no hooks (or I can't find) that are executed when response is received (AJAX or normal ones). I would assume if such hook existed and worked accross different browsers then the issue would be solved.
We could just manually plug into that hook and do whatever we want. What I'm currently doing is just a dirty hack that works for me and probably only with capybara-webkit.
BTW, FYI the &block argument in the Capybara.timeout isn't used anywhere.

@jnicklas It seems like there are two 'levels' to this issue, and they can be addressed separately:

Exception handling where we are testing against a rack app that exists in the same process
Status code handling

I have a proposal for number 2.
At the moment, Capybara doesn't care about the status code. It won't raise an error if a visit or a click produces a 500 or a 404 etc.
I think that by default Capybara should raise an error if the status code is not in the 2XX range. This would help people catch errors faster and make it more obvious what's going on. ("Received 500 response" is more obvious than "couldn't find 'foo' link to click".)
This would only be possible for drivers that have status code support, and would need something to be added so that drivers can indicate their support (or not) for status codes.
Additionally, there are cases where someone might want to test their 404 or 500 pages. Therefore, there needs to be a way to disable this functionality. Suggested API:
click_link 'error', :status => 500
visit '/missing', :status => (400...499)

What do you think?

That sounds okay. But I'm a little weary of just throwing exceptions on stuff which really isn't that exceptional. What about a 304 response? Or a 401, which is perfectly sensible on authentication failure? A 422 on failing to edit a form? Maybe if we just raise on 500 errors, but then, wouldn't that be inconsistent? This opens up a whole can of worms, imo.

Yeah, good point. On reflection I think the error should only happen in the 5XX range (by default). But I don't think it needs to be inconsistent. We could consider:
visit '/foo'

To be sugar for:
visit '/foo', :status => (200...499)

And then when user gives their own :status option, they are being more explicit about the expected status code.

It's not only about visit but also AJAX requests (where supported) and probably some others too.
One option would be to introduce "response handler" that by default would do nothing (for backwards compatibility), but we could override it globally (and maybe in page actions too).
For example:
# Globally:
Capybara.handle_response_received do |request, response|
  raise "500 error with:\n#{response.body}" if response.status_code == 500
  puts "URL #{request.url} isn't available. Is this right?" if response.status_code == 404
end

# override locally
visit '/foo' do |response, optional_original_handler|
  raise 'Only expecting 200' unless response.status_code == 200
end


Unable to find libclang

Hi Peter,
I've been trying to compile this using cargo, though I am having this problem where it complains not being able to find libclangAST.so.7 even though it exists.
AR_x86_64-unknown-linux-gnu = None
AR_x86_64_unknown_linux_gnu = None
HOST_AR = None
AR = None
running: "ar" "crs" "/home/username/tools/longshot/target/release/build/rust-htslib-007e912aeb150570/out/libwrapper.a" "/home/username/tools/longshot/target/release/build/rust-htslib-007e912aeb150570/out/wrapper.o"
exit code: 0
cargo:rustc-link-lib=static=wrapper
cargo:rustc-link-search=native=/home/username/tools/longshot/target/release/build/rust-htslib-007e912aeb150570/out
--- stderr
thread 'main' panicked at 'Unable to find libclang: "the libclang shared library at /usr/lib64/clang-private/libclang.so.7 could not be opened: libclangAST.so.7: cannot open shared object file: No such file or directory"', src/libcore/result.rs:999:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.

It seems that the problem is with building rust-htslib. Unless you are interested in forking/developing Longshot I recommend just doing the conda installation so this isn't an issue. Otherwise, maybe you can try setting LIBCLANG_PATH as described in this similar issue? https://github.com/rust-bio/rust-htslib/issues/112

issue resolved by using conda


scripts/h0: Pass options to test command

Created by: vvv

Accept multiple commands.
Example: h0 make test

Pass options to test command.
Example:

$ h0 test --help
----- test --help -----
Mmm... tasty test suite

Usage: tests [-p|--pattern ARG] [-t|--timeout ARG] [--output-dir ARG]
             [-o|--capture-stdout] [-j|--num-threads ARG] [-q|--quiet]
             [--hide-successes] [--color ARG]

Available options:
  -h,--help                Show this help text
  -p,--pattern ARG         Select only tests that match pattern
  -t,--timeout ARG         Timeout for individual tests (suffixes: ms,s,m,h;
                           default: s)
  --output-dir ARG         File path to store the test results.
  -o,--capture-stdout      Capture the stdout stream (may inadvertantly capture
                           some tasty output.)
  -j,--num-threads ARG     Number of threads to use for tests execution
  -q,--quiet               Do not produce any output; indicate success only by
                           the exit code
  --hide-successes         Do not print tests that passed successfully
  --color ARG              When to use colored output. Options are 'never',
                           'always' and 'auto' (default: 'auto')

Closing as an obsolete


tarball at https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.2.4/openexr-v3.2.4.tar.gz extracts incorrectly

Hey folks there,
When you extract:
https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.2.4/openexr-v3.2.4.tar.gz
I would expect the following directory to be created, in the current working directory:
openexr-v3.2.4/
Instead, it dumps all contents into the current working directory. This is wrong and unexpected. Hopefully
in the next release it would extract to openexr-v3.2.4/ or openexr-3.2.4/ (in general the only correct way
is to extract to exactly the same name as the tarball; quite many github based projects do this incorrectly).

Apologies, that was an oversight, missing a --prefix for the git archive.
Do you have an recommendation for naming? The tag begins with v (e.g. v3.2.4), but GitHub's "Source Code" download link omits the v (e.g. openexr-3.2.4.tar.gz extracts to openexr-3.2.4/...).  Is it preferable to match that, or be distinct from it? Either way, I'll make sure the directory matches the tarball name.

Should be fixed in the next release.


Connection should support authParamsMap

In addition to https://github.com/auth0/custom-social-connections/issues/12, it would be good to directly support the authParamsMap options in the connection definition.
The authParamsMap provides a way to map parameters received in the authentication call into the authorization call sent to the external identity provider. For example:
{
  "options" : {
    "authParamsMap" : {
      "foo": "bar"
    }
}

Now if I do tenant.auth0.com/authorize?....&bar=something, the value will be mapped into a call like idp.com/authorize?....&foo=something.

Update: Auth0 whitelists the /authorize call, so values on the right side (i.e. from the auth0domain/authorize call) can only be:
'force_login', 'login_hint', 'whr', 'wauth', 'hd', 'access_type', 'prompt', 'approval_prompt', 'display', 'include_granted_scopes', 'resource'

(code here)


Add dark login theme

I have started working on a Dark Login theme PoC. Idea:

[ ] - Rework Jenkins Core CSS login theme files to use variables. From what I see in the code @scherler actually started doing it in some files, but then commented it out
[ ] - Introduce a new CSS file with light defaults in the Jenkins core. Variable names should be aligned with https://github.com/jenkinsci/jenkins/pull/4752 to simplify overrides
[ ] - If needed, Update Dark Theme CSS to include overrides for Login Theme CSS variables
[ ] - Document how to add a custom stylesheet to the login theme

Current PoC works for the background, but more work is needed to make it actually working. We will not be taking the CSS files from the core into the final implementation, of course

Moved the Core CSS patches to https://github.com/jenkinsci/jenkins/pull/4763


Loss Function vs epoch plot while training

We are training a model and require a plot of loss function with epochs while the model is training. How can we do this with torchmd?

When running torchmd-train (see documentation here or here for a more advance approach) a file called metrics.csv will be generated inside the logdir (along with checkpoints and other information).
The metrics.csv file will be similar to this
epoch,lr,step,train_neg_dy_mse_loss,train_total_mse_loss,train_y_mse_loss,val_neg_dy_l1_loss,val_neg_dy_mse_loss,val_total_l1_loss,val_total_mse_loss,val_y_l1_loss,val_y_mse_loss
20.0,0.0005000000237487257,1357436,0.009475486353039742,5.106609344482422,0.012685230001807213,0.05106592923402786,0.010068569332361221,5.183582305908203,1.0168300867080688,0.07698939740657806,0.009973234497010708
21.0,0.0005000000237487257,1357593,0.012938769534230232,5.229669570922852,0.013254974037408829,0.04567231982946396,0.007519902195781469,4.6268630027771,0.7586674094200134,0.05963057279586792,0.006677159108221531
22.0,0.0005000000237487257,1357750,0.011407813988626003,5.110054969787598,0.01159985177218914,0.043068308383226395,0.00
....

This file contains, among others, the information you request (epoch and different losses).
For instance:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('/path/to/metrics.csv')
plt.figure(figsize=(10, 6))
plt.plot(df['epoch'], df['train_total_mse_loss'], marker='o')
plt.title('Epoch vs Train Total MSE Loss')
plt.xlabel('Epoch')
plt.ylabel('Train Total MSE Loss')
plt.grid(True)
plt.show()

Note that we also provide integration with some popular frameworks for ML training visualization https://torchmd-net.readthedocs.io/en/latest/torchmd-train.html#cmdoption-torchmd-train-wandb-use

Hi!
We trained the data of alanine dipeptide using torchmd with a train.yaml configuration file. Our data file (metrics.csv) has a set of different loss functions. But we are unaware about the loss function which we need to minimise. So we chose an arbitrary loss function (train_total_mse_loss) from among those given in the data file, and observed the plot of loss vs number of epochs. It was not a decreasing plot, but highly irregular. How do we know the loss function involved in the algorithm and how can we toggle between them if it is possible?

The metrics.csv file contains the losses for the energy (y), the forces (neg_dy) and total (sum of both) for the training, validation and test sets.
So for instance, if you chose MSE loss as function, the loss on the energy for the training set is denoted train_y_mse_loss.
Its hard to pin point why your loss is not going down just from the information you provided. Could you share configuration?

This is the train.yaml file we are using.
train.yaml.txt

Your network seems to be very barebones (you are disabling neighbor embedding, for instance), you are also choosing the defaults for parameters such as the cutoff.
I am inclined to believe this is a matter of hypeparameters.
You seem to be trying to adapt this configuration file https://github.com/torchmd/torchmd-cg/blob/master/tutorial/train.yaml for a more recent version of the project.
That repo is long before my time I am afraid, I am not familiar with the Graph Network and the old iterations of it as to tell you the translation for each default/parameter.
Perhaps the current documentation of this network will help https://torchmd-net.readthedocs.io/en/latest/models.html#graph-network


problem calling api with "newerThan" too close to current time

Hello,
i think i found a small problem in the api:
doing a call to https://www.commafeed.com:443/rest/category/entries?id=all&readType=all&limit=50&offset=0&newerThan=1424903600763&order=asc&onlyIds=false too close to the time given it results in an error (or rather the request timing out).
calling the same link with a timestamp of a while before the current time is no problem.
the error i got was something like this:
{
"code": 500,
"message": "There was an error processing your request. It has been logged (ID 4ae85707e2613511)."
}
for this to happen, readType has to be set to all, if it's set to unread i simply get a empty string.
maybe the Logged ID helps finding the problem...?
also - this happened on the api/testsite...

I can reproduce, the query takes too long and times out. I'll try to find what's causing this. Thanks for the report.

H,
Any news about this, I can't call the APIs for old items because of this error.


[doc] update doc & fix typo & fmt (#172)_126

Motivation
fix bug on tutorial
Have you read the Contributing Guidelines on pull requests?
Yes

/canary

:sunny: Canary successful

/land


Floor the Grafana Prometheus queries for workspace starts/fails

Signed-off-by: David Kwon<EMAIL_ADDRESS>What does this PR do?
Floors the devworkspace start and devworkspace start success/failure metrics so that decimal points don't appear in the dashboard
What issues does this PR fix or reference?
The dashboard can display non integer values for the devworkspace start and devworkspace start success/failure metrics, which does not make much sense:

This is because the increase() function used to determine the #of starts in a time interval, extrapolates the given data points (# of starts, successes/failures and what time they happened) within the given time interval. Extrapolating here does not make much sense because # of starts, successes/failures should be integer values.
Is it tested? How?

PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

@dkwon17 is it still Draft of can we merge?


Behaviour of _curryX functions is inconsistent

I've noticed that due to the implementation of these functions, some ramda functions respect passed this and some don't.
For example, when ignores the context:
function usesContext(a) { return this.a + a }

R.when(R.equals(1), usesContext).call({a: 42}, 1) // NaN, because `this.a` is `undefined`

While ifElse which is different arity does respect this:
R.ifElse(R.equals(1), usesContext, R.identity).call({a: 42}, 1) // 43

I understand that using this is not quite encouraged in FP, but I think it's a good idea to respect the context like _curry1 and _curryN do, and be consistent about it.
Edit: It seems like ifElse handles this on its own, so the issue may not be strictly about _curryX functions.

Ramda started by trying to respect the this context, as it made it easier to use Ramda-generated functions as object methods.  We found that was little-used when a bug for it in a common function was not discovered for a long period.  We've mostly abandoned the idea, as it adds complexity to the implementation of various functions, but we have not made a dedicated effort to go back and remove it.
But don't expect it to be there for long.

That's sad.. Is it really a big hassle to pass the context around?

It can be.  It can really complicate code.  Often enough it isn't.  But Ramda and OOP is an odd mix. Allowing attempts to cater to OOP to complicate our code seems counter-productive.


Style filename in shortcode/code.html

example grab-top-two-tags.html

See example in https://github.com/budparr/gohugo-theme/issues/11

actually, going to close in favor of #11


[Question] Why do envs look different?

Hi, I'm wondering if this repo/stable-baselines is using different envs to the ones found by default in PyBullet? When running HopperBulletEnv-v0 without stable baselines it looks like this:

However when testing from within stable baselines it looks like this:

How/where are these changes being done? Any idea if they are purely visual or are there changes to reward functions/joint dynamics?

Hello,
This is just camera view vs GUI view from PyBullet, all the rest is the same (you can take a look at PyBullet doc for launching without the gui and for defining cameras).

How/where are these changes being done? Any idea if they are purely visual or are there changes to reward functions/joint dynamics?

yes, purely visual.

I meant both the colours and the camera position.
I assumed it was only visual just wanted to be sure I wasn't benchmarking against a different env. Another thing I noticed is that this implementation seems to run in real time (when rendering), whereas in my testing when rendering it still runs very fast, possibly a clue as to what's going on. Regardless thanks for the help.

Another thing I noticed is that this implementation seems to run in real time (when rendering)

you mean it runs much faster in the default GUI?
See https://github.com/bulletphysics/bullet3/pull/2627#issuecomment-593059710 and https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/stable_baselines/enjoy.py#L75
(it uses a sleep with the default GUI so you can take a look at it)


Add labels sync

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mkumatag
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mkumatag]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mkumatag: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

pull-test-infra-yamllint
af7584d336991882109e32316c9ca2b061154343
link
/test pull-test-infra-yamllint

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/assign

@mkumatag: Updated the following 2 configmaps:

plugins configmap in namespace prow at cluster default using the following files:

key plugins.yaml using file config/prow/plugins.yaml

job-config configmap in namespace prow at cluster default using the following files:

key test-infra-presubmits.yaml using file config/jobs/ppc64le-cloud/test-infra/test-infra-presubmits.yaml

In response to this:

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


stats bug: verified contracts growth

wrong zeros apearing in range from the left:
https://eth-goerli.blockscout.com/stats

Released in staging:
https://blockscout-main.k8s-dev.blockscout.com/stats


Program fails due to missing Nett dependency

Forge launches and then crashes when trying to evaluate aliases when I specify commands.
For example, using the environment config specified below, running forge --version results in the following stack trace:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.
File name: 'Nett, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
  at Forge.Alias.load () [0x00010] in <5839973d73406ffea74503833d973958>:0
  at Forge.Commands.applyAlias (System.String[] args) [0x00001] in <5839973d73406ffea74503833d973958>:0
  at Forge.Commands.strikeForge (System.String[] args, Forge.Commands+Result cont) [0x00001] in <5839973d73406ffea74503833d973958>:0
  at Forge.App.main (System.String[] argv) [0x000b5] in <5839973d73406ffea74503833d973958>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.
File name: 'Nett, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
  at Forge.Alias.load () [0x00010] in <5839973d73406ffea74503833d973958>:0
  at Forge.Commands.applyAlias (System.String[] args) [0x00001] in <5839973d73406ffea74503833d973958>:0
  at Forge.Commands.strikeForge (System.String[] args, Forge.Commands+Result cont) [0x00001] in <5839973d73406ffea74503833d973958>:0
  at Forge.App.main (System.String[] argv) [0x000b5] in <5839973d73406ffea74503833d973958>:0

Possible Solution
I think this is because the release folder doesn't contain the necessary dlls.
The recipe for homebrew just unzips the release to a directory like /usr/local/Cellar/forge/{VERSION}/libexec, and that folder doesn't contain Nett.dll per the build script.
As soon as that file is copied to the release zip, things work.  I'm going to submit a PR to fix.
Context
Can't use forge to create new test workspaces/script projects easily
Your Environment

Version used: Forge 1.2.0 from Homebrew
Environment name and version (F#, .Net): Mono 4.6.2
Server type and version: N/A
Operating System and version: OSX El Capitan (10.11.6)

Forge 1.2.1 is already released (waiting for merge in scoop and homebrew). It fixes this problem.


Please add ActivityCompletionClient support in TestActivityEnvironment

See issue created on server side: https://github.com/temporalio/temporal/issues/1185

Hi Temporal Team, any update on this issue? Thanks!

Duplicate of https://github.com/temporalio/sdk-java/issues/2097


[e2e]: generic tag main assets slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v18.0.58
Run: https://github.com/slsa-framework/example-package/actions/runs/2793979751
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.tag.main.assets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.tag.main.assets.slsa3.yml
Trigger: push
Branch: v18.0.58
Date: Thu Aug  4 03:40:07 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/v18.0.59
Run: https://github.com/slsa-framework/example-package/actions/runs/2801142923
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.tag.main.assets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.tag.main.assets.slsa3.yml
Trigger: push
Branch: v18.0.59
Date: Fri Aug  5 03:57:06 UTC 2022
Tests are passing now. Closing this issue.


Fixed SwiftLint integration

          1 Error

:no_entry_sign:
summary file not found

          1 Warning

:warning:
Sources/Addons/MediaPicker/MediaPickerResult.swift#L55 - Sources/Addons/MediaPicker/MediaPickerResult.swift#L55: 'referenceURL' was deprecated in iOS 11.0: Will be removed in a future release, use PHPicker.

  Generated by :no_entry_sign: Danger


Integrated terminal does not resize when pane is resized

Issue Type: Bug
Integrated terminal does not resize when pane is resized.
If the Integrated Terminal pane is started so it is on the bottom and covers 50% of the vertical screen space.  When resizing the pane so it only covers 30%, the prompt stays up at the 50% position, so I have to either press Enter or Ctrl+c repeatedly so the prompt lowers down the terminal enough to become visible.
The reverse happens if I resize the pane up from 50% to 80% of the vertical screen space.  Then the prompt also stays at the 50% position and I have 30% of blank screen above the prompt position.  Pressing Ctrl+l to clear the terminal screen does nothing to move the prompt up to the top of the Integrated Terminal pane.
In either case, no matter how long I use the terminal, the prompt position is fixed to where it was when I first started the terminal.
VS Code version: Code 1.59.1 (3866c3553be8b268c8a7f8c0482c0c0177aa8bfa, 2021-08-19T11:56:46.957Z)
OS version: Windows_NT x64 10.0.14393
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (2 x 2400)

GPU Status
2d_canvas: unavailable_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: disabled_offoop_rasterization: disabled_offopengl: disabled_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
undefined

Memory (System)
8.00GB (0.59GB free)

Process Argv
--crash-reporter-id 1e88d7ed-dfc2-42ed-b5d3-970568cb872e

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

macros
ged
1.2.1

sftp
lix
1.12.9

python
ms-
2021.9.1191016588

vscode-pylance
ms-
2021.9.0

jupyter
ms-
2021.8.1236758218

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt700cf:30270857
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vstes516:30244333
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805cf:30301675
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
pythonvssor306:30344512
bridge0708:30335490
pygetstartedc2:30360494
bridge0723:30353136
vsdyn478:30356813
vscus224cf:30358040

/needsMoreInfo
Latest stable version is 1.60.0. Is this issue reproducible there?

@IllusionMH
Yes.  Screen capture below to show what I am talking about.  It is particularly annoying when I resize to a smaller size about halfway through the gif, I am pushing Enter 20 to 30 times before the prompt gets pushed down far enough to reappear in the terminal window.

This looks like an issue with our old terminal backend "winpty", going forward we are focusing our efforts on the new backend "conpty" which is build by the Console team at Microsoft and should fix many issues with the terminal under Windows. You can read more about getting ConPTY here.
/duplicate https://github.com/Microsoft/vscode/issues/45693


Consider implementation of ST_AsMVT ?

PostGIS has the function ST_AsMVT (and related functions for tiling, as shown in the docs) which can be useful for generating vector tiles for more efficient visualization.  Probably an involved implementation, but at least wanted to open this request as a placeholder of interest.

Discussed in #241. As soon as I land support for spatial indexes Im planning to pick this up, as once that's implemented using ST_AsMVT in practice actually becomes a feasible once you can filter and clip the source geometries to the tile bounds efficiently.

sorry I missed that! perfect, will close this and keep an eye there.  exciting stuff.


gitMinimal: Fix wrong shell for cross compiled package

The current package depends on the build hosts shell and therefor a lot of scripts can not be used on the target:
❯ nix-build -A pkgsCross.aarch64-multiplatform.gitMinimal
/nix/store/52lfla8dfp22520axc9jalz8bnp8l6xx-git-aarch64-unknown-linux-gnu-2.33.0

❯ nix-store -q --references ./result/
/nix/store/nrwmkyqhqczn61zrb3z05k31nnkqjqyb-glibc-aarch64-unknown-linux-gnu-2.33-50
/nix/store/hwzhnqhjgry727m5vkqy8zf9ppngbp3p-zlib-1.2.11-aarch64-unknown-linux-gnu
/nix/store/kkll2mjnj1dsdlhyvp78v9fjisvby86z-openssl-aarch64-unknown-linux-gnu-1.1.1l
/nix/store/2kjjiic8x1adyps4wn7p1w1ah404kdga-curl-aarch64-unknown-linux-gnu-7.76.1
/nix/store/7i3q6zdhwqfahyfm6a4lb7m4gh0m0ra4-aarch64-unknown-linux-gnu-stage-final-gcc-debug-9.3.0-lib
/nix/store/gixyqr6hc6d296ymgicklqnixv4dbfxd-expat-aarch64-unknown-linux-gnu-2.4.1
/nix/store/jwy7714ddm0yqzbii5hbj3ycn1xb7sdk-coreutils-aarch64-unknown-linux-gnu-8.32
/nix/store/k4ai6vqsqgixrbrjq14w5pg8z8pn9mfl-gettext-aarch64-unknown-linux-gnu-0.21
/nix/store/r7ag3jn3vgrr2s0jb5k9s98x7768dfgf-openssh-aarch64-unknown-linux-gnu-8.7p1
/nix/store/rgm0p4yrq6gl2475v779z25l355c9bdv-gnused-aarch64-unknown-linux-gnu-4.8
/nix/store/ss074bgk5fwz85mif0is1hwz6ig1mwaj-gnugrep-aarch64-unknown-linux-gnu-3.6
/nix/store/wadmyilr414n7bimxysbny876i2vlm5r-bash-5.1-p8
/nix/store/52lfla8dfp22520axc9jalz8bnp8l6xx-git-aarch64-unknown-linux-gnu-2.33.0

This patch fixed the dependency to the build hosts shell:
❯ nix-build -A pkgsCross.aarch64-multiplatform.gitMinimal
/nix/store/i08892l479l8yvbrlz64hh071kwky14r-git-aarch64-unknown-linux-gnu-2.33.0

❯ nix-store -q --references ./result/
/nix/store/nrwmkyqhqczn61zrb3z05k31nnkqjqyb-glibc-aarch64-unknown-linux-gnu-2.33-50
/nix/store/hwzhnqhjgry727m5vkqy8zf9ppngbp3p-zlib-1.2.11-aarch64-unknown-linux-gnu
/nix/store/kkll2mjnj1dsdlhyvp78v9fjisvby86z-openssl-aarch64-unknown-linux-gnu-1.1.1l
/nix/store/2kjjiic8x1adyps4wn7p1w1ah404kdga-curl-aarch64-unknown-linux-gnu-7.76.1
/nix/store/7i3q6zdhwqfahyfm6a4lb7m4gh0m0ra4-aarch64-unknown-linux-gnu-stage-final-gcc-debug-9.3.0-lib
/nix/store/gixyqr6hc6d296ymgicklqnixv4dbfxd-expat-aarch64-unknown-linux-gnu-2.4.1
/nix/store/jwy7714ddm0yqzbii5hbj3ycn1xb7sdk-coreutils-aarch64-unknown-linux-gnu-8.32
/nix/store/k4ai6vqsqgixrbrjq14w5pg8z8pn9mfl-gettext-aarch64-unknown-linux-gnu-0.21
/nix/store/r7ag3jn3vgrr2s0jb5k9s98x7768dfgf-openssh-aarch64-unknown-linux-gnu-8.7p1
/nix/store/rgm0p4yrq6gl2475v779z25l355c9bdv-gnused-aarch64-unknown-linux-gnu-4.8
/nix/store/ss074bgk5fwz85mif0is1hwz6ig1mwaj-gnugrep-aarch64-unknown-linux-gnu-3.6
/nix/store/i08892l479l8yvbrlz64hh071kwky14r-git-aarch64-unknown-linux-gnu-2.33.0

Motivation for this change
Want to use cross compiled gitMinimal package.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

should target staging

The Git package do not allow to specify build and target shell differently. On non NixOS systems, this doesn't matter, since the absolute paths to a shell is the same between build and target system.

Can we reach out to upstream on this? Shouldn't be too hard to add separate variables for build and runtime shell.

Why should staging be targeted, no package needs to be rebuilt?

Check the ofborg labels on this PR, many packages are getting rebuilt. Unfortunately although the output does not change the inputs have changed, so it causes a mass rebuid.

Sorry for the noise, I only changed the target branch from master to staging.

had to force push to fix the checks

I think this broke the NixOS option hardware.pulseaudio.support32Bit. At least, that's what my bisect shows.

in what way did it break?

this shouldn't have affected that at all?

I was getting error: a 'i686-linux' with features {} is required to build '/nix/store/xds3y616a8apx3y36s2dzsxx5qzdpdyf-builder.pl.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test}
But it looks like git bisect borked? I assumed it was right because this is also a cross-compiling thing, but the commit before this also fails... I'll investigate further

lets continue in https://matrix.to/#/#dev:nixos.org


cmd/compile: oversized arrays

@davecheney noted in https://go-review.googlesource.com/#/c/20350/ that cmd/compile's binary size shrunk by about 400kB as a result of the CL.  Investigating, it looks like this is mostly attributable to cmd/compile/internal/ppc64.varianttable:
$ nm -S compile.old | grep varianttable
0000000000d7bc40<PHONE_NUMBER>0826c0 D cmd/compile/internal/ppc64.varianttable
$ nm -S compile.new | grep varianttable
0000000000beca20<PHONE_NUMBER>0209b0 D cmd/compile/internal/ppc64.varianttable

Also, I note that table is sized for ppc64.ALAST, whereas it only needs to be sized for ppc64.ALAST & obj.AMask.  Also, all of the progtables, and cmd/internal/obj/arm64's oprange table.
So all of those tables have a bunch of empty/unused space in them.
arm64's oprange is probably most worth fixing, because it actually contains pointers, so even if it's unused, the GC needs to scan it.  (I think?)
The others waste disk space, but are pointer-free, so they shouldn't need to be paged in.  Also, they're all zero values, so they should compress well in the binary distributions.  (Still, probably worth fixing if someone wanted some easy low hanging fruit to look into.)

On it.


Change zint_symbol layout to support Zint v2.6.3

With this change, I'm able to access zint_symbol->bitmap correctly with Zint v2.6.3.

Great, thanks!


Fix html2js

add public base path to html2js conf
use $templateCache in submit-directive
remove hack in field-directive

@lalop this breaks the field edit view in the app.

do you have an error ?


[GTA:Vice City] map player position bug

When viewing the map from the menu, if the IVRadarScaling option is enabled, the player position ('You are here') marker becomes huge and slightly inaccurate.

Should be fixed in the latest version.


too long execution time for pool.getConnection

I've recently faced an issue with high load. After I spent a couple of days making tests I've found out interesting pool.getConnection behavior.
I created simple express app using jade to render results from data base. I used node-mysql to access DB. Then I created jmeter test and made some testing.
Connection Limit: 10, Ramp-up: 1s, Loop Count: 1
Threads (Users): 100, Avg Response: ~4ms. cool
Threads (Users): 200, Avg Response: ~14ms. cool
Threads (Users): 300, Avg Response: ~250ms. sad
I didn't expect so much increase in Avg Response and after short research I found that most time consuming process is getConnection from pool - approx 90%.
Ok let's increase Connection Limit: 20. But it doesn't help.
Threads (Users): 300, Avg Response: ~250ms.
Then I add one more node process using cluster and it helps:
Threads (Users): 300, Avg Response: ~25ms.
Can you please suggest me other way of resolving the problem?
You can find samples here https://github.com/dnfrolov/node-performance.

Your connectionLimit is probably too low for your load. Can you raise it above 10? Otherwise you will get high wait times, because that is how pooling works.

Otherwise, if you can dig into where the time is being spent and me let know/make a PR, it would be much appreciated.

@dnfrolov what tool you use to load test?

@dougwilson I've used 20 connection limit but got the same timings. I've checked it with SQL Profile to be sure that all 10/20 connections were created

@sidorares I used apache jmeter

I have more details:
If there are 200 threads then no one connection is pushed to _connectionQueue.
But if there are 300 threads then approx ~270 connections are pushed to _connectionQueue.
Time range spent in queue is 4ms - 400ms

Interesting. I tried today but was unable to reproduce -latency is linearly proportional to number of connections. Tried with wrk, jmeter and ab

Can you please provide code sample and more testing details?

I used your node-mysql benchmark @dnfrolov

Found the issue, I used express + jade. it was the bottleneck.
Thank you for your participation.


Allow passing null or undefined to clear timer functions.

When clearInterval() and clearTimeout() are passed an invalid ID they silently do nothing; no exception is thrown.

I'm inclined to leave this as-is. I understand that having an additional if guard in some circumstances is cumbersome, but I think the inconvenience is outweighed by the current definition's potential to catch programmer errors. Thanks anyway, though!

@nmote I support the goal of catching programmer errors but what mistakes does this actually catch?  I can't think of any examples.

The null check forces the programmer to think about that case. When writing or reading the null check, you are forced to consider what should happen in that case. If you choose to do nothing, that's often a legitimate choice, but in my opinion, that case should be considered.

Maybe your main motivation is just to reduce changes to the core lib defs?

That's not true at all. I've been merging tons of libdef PRs recently, and I believe this is the first one I've closed simply because I don't agree with the change. I've closed others which were abandoned or already addressed in another commit, but the rest I have either merged or sent back to the author requesting specific changes. There's nothing nefarious going on here -- I just think the current libdef is slightly safer.


Add a badpfp command

Add a ++badpfp command for dealing with members who have inappropriate profile pictures.

closed by  https://github.com/AberrantFox/hotbot/commit/8b79ece445b76363cad8750b2efb765dfac7aeb5


Bare bones version?

Is there the possibility to make a "bare bones" version of Swiffy Slider? Or does that not fit into the concept?
I have replaced a couple of old sliders on clients' websites with Swiffy Slider, and for the new slider to fit into the whole design, I had to override quite a bit of the CSS.
I do love the possibility to style the slider just by adding classes, and I am not overly bothered by loading CSS I don't end up using. But it would be great to have a .pure class (or something) that does not style the elements, so I only have to add, not to override.
As I have said before – your slider is a dream come true when I had already given up on looking for something usable and also on trying to write my own. Many, many thanks for this great piece of software – and no less for the stellar support!

Thanks - and you are welcome. Same reason we wrote this slider!!
Yeah, I do not think that would be a big issue to do something. Just need to understand which parts that would be - as I see it, the CSS only styles navigation arrows and indicators.
Are you talking about the navigation and indicator styling? Or also their relative position on top of the slides?

Yes, it's the indicators and the arrows. For one project, I needed to move the indicators to the right side.
.slider-indicators says {justify-content: center;} It was not too hard to change that – but as I said, not having the styles that are already there interfere with my CSS would be a plus. 😁

Will look into at some point - should be fairly simple!

That's great, thank you! Looking forward to it.

Any news this side of things? The next project is coming up where I could really use this. I know this is not a major issue, but it would be helpful for my workflow. So if the bare bones version should be just around the corner, I'd postpone the project a bit.

I am off on vacation very soon and have unfortunately limited time to look into this in the near future… feel free to make a pull - I should be able to look at that when in a boring meeting 😉

I am happy to hear that! One so busy working on this wonderful piece of software should get all the rest they need.
Okay, I will look into it myself and have a go.

🙌
In order to avoid overriding styles, as a first step, I wrapped css rules within :where (I'm not granted to push those changes @nicped)
If it doesn't opt-out from applying the style, it avoid integrations from using !important.
An option could be creating several css files

default one --> include all styles
minimum --> in order to get basic features work
indicators --> add indicators styles
navigation --> add navigation styles

I do like the idea of this - but have not come around to it. There is a relatively large amount of opinionated default styles that could be left out with this - which I like a lot to keep things nice and tidy.

I can push the branch 39-lower-css-specificity from my local to the remote.
The next step could be test against the examples of the doc. Then review code.
Special thanks for your effort, I love the way you tackle the matter 👌

I do not know where that branch is - maybe in your own fork? I cannot see it in this repo. On this page on the right panel, you have a section called "Development" where you can create a branch for this subject. So do that, check it out and move your changes to that branch.

@tleperou You need to fork, then you can create a PR.
You can not push in another repository without you got access for this repository. :D


info flashing in and out

I have a SBP5000 and in HA the data flashes in with info and then out with unknown over and over..
ran some inverter_check tests.. inverter set to None.. see below
the logs ouput in HA
2024-05-13 17:43:58.602 DEBUG (MainThread) [custom_components.goodwe.coordinator] No response received (streak of 1)
2024-05-13 17:43:58.602 DEBUG (MainThread) [custom_components.goodwe.coordinator] Finished fetching GoodWe data in 5.095 seconds (success: True)
2024-05-13 17:44:06.949 ERROR (MainThread) [homeassistant] Error doing job: Exception in callback _SelectorDatagramTransport._read_ready()
Traceback (most recent call last):
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 1238, in _read_ready
self._protocol.datagram_received(data, addr)
File "/usr/local/lib/python3.12/site-packages/goodwe/protocol.py", line 111, in datagram_received
if self.command.validator(data):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/goodwe/protocol.py", line 408, in <lambda>
lambda x: self._validate_response(x, response_type),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/goodwe/protocol.py", line 428, in _validate_response
logger.debug("Response has unexpected length: %d, expected %d.", len(data), data[6] + 9)
~~~~^^^
IndexError: index out of range
2024-05-13 17:44:58.621 ERROR (MainThread) [homeassistant.components.number] Setup of platform goodwe is taking longer than 60 seconds. Startup will proceed without waiting any longer.
2024-05-13 17:44:58.621 ERROR (MainThread) [homeassistant.components.select] Setup of platform goodwe is taking longer than 60 seconds. Startup will proceed without waiting any longer.
2024-05-13 17:44:58.732 ERROR (MainThread) [homeassistant.components.switch] Setup of platform goodwe is taking longer than 60 seconds. Startup will proceed without waiting any longer.

ran some inverter_check and got different outputs
inverter set to default ET
2024-05-13 18:06:56,807 __init__(54) - DEBUG: Using selector: KqueueSelector
2024-05-13 18:06:56,807 connect(55) - DEBUG: Connecting to ET family inverter at <IP_ADDRESS>:8899.
2024-05-13 18:06:56,807 _ensure_lock(43) - DEBUG: Creating lock instance for current event loop.
2024-05-13 18:06:56,808 _send_request(144) - DEBUG: Sending: READ 33 registers from 35000 (f70388b800213ac1)
2024-05-13 18:06:56,999 validate_modbus_rtu_response(181) - DEBUG: Response is too short: 35, expected 73.
2024-05-13 18:06:56,999 datagram_received(115) - DEBUG: Received invalid response: aa55f70342000113560000003900350030003000300042005000530047005700350030
2024-05-13 18:06:56,999 _send_request(144) - DEBUG: Sending: READ 33 registers from 35000 (f70388b800213ac1) - retry #1/3
2024-05-13 18:06:57,491 validate_modbus_rtu_response(181) - DEBUG: Response is too short: 45, expected 73.
2024-05-13 18:06:57,492 datagram_received(115) - DEBUG: Received invalid response: aa55f703420001135600000039003500300030003000420050005300470057003500300030000a000a00960000
2024-05-13 18:06:57,492 _send_request(144) - DEBUG: Sending: READ 33 registers from 35000 (f70388b800213ac1) - retry #2/3
2024-05-13 18:06:57,901 validate_modbus_rtu_response(181) - DEBUG: Response is too short: 48, expected 73.
2024-05-13 18:06:57,901 datagram_received(115) - DEBUG: Received invalid response: aa55f703420001135600000039003500300030003000420050005300470057003500300030000a000a009600000000ff
2024-05-13 18:06:57,902 _send_request(144) - DEBUG: Sending: READ 33 registers from 35000 (f70388b800213ac1) - retry #3/3
2024-05-13 18:06:58,311 validate_modbus_rtu_response(181) - DEBUG: Response is too short: 61, expected 73.
2024-05-13 18:06:58,311 datagram_received(115) - DEBUG: Received invalid response: aa55f703420001135600000039003500300030003000420050005300470057003500300030000a000a009600000000ffffffffffffffffffffffffffff
2024-05-13 18:06:58,311 _retry_mechanism(159) - DEBUG: Max number of retries (3) reached, request READ 33 registers from 35000 (f70388b800213ac1) failed.
2024-05-13 18:06:58,312 connection_lost(102) - DEBUG: Socket closed.
Traceback (most recent call last):
  File "/Users/oziee/Downloads/goodwe-master 4/inverter_check.py", line 43, in <module>
    inverter = asyncio.run(goodwe.connect(IP_ADDRESS, PORT, FAMILY, COMM_ADDR, TIMEOUT, RETRIES))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/__init__.py", line 56, in connect
    await inv.read_device_info()
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/et.py", line 495, in read_device_info
    response = await self._read_from_socket(self._READ_DEVICE_VERSION_INFO)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/inverter.py", line 129, in _read_from_socket
    raise RequestFailedException(f'No valid response received even after {self._protocol.retries} retries',
goodwe.exceptions.RequestFailedException: ('No valid response received even after 3 retries', 1)

inverter set to None
2024-05-13 18:24:19,020 __init__(54) - DEBUG: Using selector: KqueueSelector
2024-05-13 18:24:19,020 discover(70) - DEBUG: Probing inverter at <IP_ADDRESS>:8899.
2024-05-13 18:24:19,020 _ensure_lock(43) - DEBUG: Creating lock instance for current event loop.
2024-05-13 18:24:19,021 _send_request(144) - DEBUG: Sending: aa55c07f0102000241
2024-05-13 18:24:19,199 _validate_response(432) - DEBUG: Response has unexpected length: 29, expected 86.
2024-05-13 18:24:19,199 datagram_received(115) - DEBUG: Received invalid response: aa557fc001824d3130313043475735303030532d425023313000000000
2024-05-13 18:24:19,199 _send_request(144) - DEBUG: Sending: aa55c07f0102000241 - retry #1/10
2024-05-13 18:24:19,718 _validate_response(432) - DEBUG: Response has unexpected length: 40, expected 86.
2024-05-13 18:24:19,718 datagram_received(115) - DEBUG: Received invalid response: aa557fc001824d3130313043475735303030532d4250233130000000000000000000000000003935
2024-05-13 18:24:19,719 _send_request(144) - DEBUG: Sending: aa55c07f0102000241 - retry #2/10
2024-05-13 18:24:20,095 datagram_received(112) - DEBUG: Received: aa557fc001824d3130313043475735303030532d42502331300000000000000000000000000039353030304250533232335730313832333630303431302d30343030312d3130093431302d30323033342d3136021010
2024-05-13 18:24:20,095 discover(85) - DEBUG: Detected ES/EM/BP inverter GW5000S-BP, S/N:95000BPS223W0182.
2024-05-13 18:24:20,096 _ensure_lock(43) - DEBUG: Creating lock instance for current event loop.
2024-05-13 18:24:20,097 _send_request(144) - DEBUG: Sending: aa55c07f0102000241
2024-05-13 18:24:20,607 _validate_response(432) - DEBUG: Response has unexpected length: 54, expected 86.
2024-05-13 18:24:20,607 datagram_received(115) - DEBUG: Received invalid response: aa557fc001824d3130313043475735303030532d42502331300000000000000000000000000039353030304250533232335730313832
2024-05-13 18:24:20,607 _send_request(144) - DEBUG: Sending: aa55c07f0102000241 - retry #1/10
2024-05-13 18:24:21,016 datagram_received(112) - DEBUG: Received: aa557fc001824d3130313043475735303030532d42502331300000000000000000000000000039353030304250533232335730313832333630303431302d30343030312d3130093431302d30323033342d3136021010
2024-05-13 18:24:21,017 discover(96) - DEBUG: Connected to inverter GW5000S-BP, S/N:95000BPS223W0182.
Identified inverter
- Model: GW5000S-BP
- SerialNr: 95000BPS223W0182
- Rated power: 0
- A/C output type: None
- Firmware: 1010C
- ARM firmware: None
- Modbus version: None
- DSP1 version: 10
- DSP2 version: 10
- DSP svn version: None
- Arm version: 12
- ARM svn version: None

2024-05-13 18:24:21,018 __init__(54) - DEBUG: Using selector: KqueueSelector
2024-05-13 18:24:21,019 _ensure_lock(43) - DEBUG: Creating lock instance for current event loop.
2024-05-13 18:24:21,019 _close_transport(168) - DEBUG: Failed to close transport.
2024-05-13 18:24:21,020 _send_request(144) - DEBUG: Sending: aa55c07f0106000245
2024-05-13 18:24:21,529 _validate_response(432) - DEBUG: Response has unexpected length: 73, expected 149.
2024-05-13 18:24:21,529 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea40021000000000200020b019f005000f600ca00410041000048004864020000010937002bfffa1389010937002e03b513890102015e000000000000bfb700003e
2024-05-13 18:24:21,529 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #1/10
2024-05-13 18:24:22,038 _validate_response(432) - DEBUG: Response has unexpected length: 26, expected 149.
2024-05-13 18:24:22,038 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea60021000000000200020b019f005000f600
2024-05-13 18:24:22,038 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #2/10
2024-05-13 18:24:22,553 _validate_response(432) - DEBUG: Response has unexpected length: 114, expected 149.
2024-05-13 18:24:22,553 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea50021000000000200020b019f005000f600ca00410041000048004864020000010936002bfff91389010936002d03a313890102015f000000000000bfb700003ed4001b00d000036ad003d90100300003cc00010000ffd900000040000018050d121813000000000000
2024-05-13 18:24:22,553 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #3/10
2024-05-13 18:24:23,065 _validate_response(432) - DEBUG: Response has unexpected length: 148, expected 149.
2024-05-13 18:24:23,065 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea40021000000000200020b019f005000f600ca00410041000048004864020000010938002bfff81389010938002e03b213890102015f000000000000bfb700003ed4001b00d000036ad003d90100300003da00010000ffda00000040000018050d1218130000000000000000000000000000000000000000000000000000d9fd0000ccec04001fc7ed00011c
2024-05-13 18:24:23,066 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #4/10
2024-05-13 18:24:23,573 _validate_response(432) - DEBUG: Response has unexpected length: 107, expected 149.
2024-05-13 18:24:23,574 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea60021000000000200020b019f005000f600ca00410041000048004864020000010937002bfff91388010937002d03a713880102015f000000000000bfb700003ed4001b00d000036ad003d90100300003cb00010000ffdb00000040000018050d1218
2024-05-13 18:24:23,574 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #5/10
2024-05-13 18:24:24,088 _validate_response(432) - DEBUG: Response has unexpected length: 62, expected 149.
2024-05-13 18:24:24,089 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea40021000000000200020b019f005000f600ca00410041000048004864020000010937002bfffa1389010937002e03b713890102015f
2024-05-13 18:24:24,089 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #6/10
2024-05-13 18:24:24,600 _validate_response(432) - DEBUG: Response has unexpected length: 20, expected 149.
2024-05-13 18:24:24,601 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea50021000000000200020b01
2024-05-13 18:24:24,601 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #7/10
2024-05-13 18:24:24,907 _validate_response(432) - DEBUG: Response has unexpected length: 58, expected 149.
2024-05-13 18:24:24,907 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea60021000000000200020b019f005000f600ca00410041000048004864020000010938002bfffa1388010938002e03b71388
2024-05-13 18:24:24,908 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #8/10
2024-05-13 18:24:25,401 _validate_response(432) - DEBUG: Response has unexpected length: 16, expected 149.
2024-05-13 18:24:25,402 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea500210000000002
2024-05-13 18:24:25,402 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #9/10
2024-05-13 18:24:25,931 _validate_response(432) - DEBUG: Response has unexpected length: 86, expected 149.
2024-05-13 18:24:25,932 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea50021000000000200020b019f005000f600ca0041004100004800486402000001093d002bfffa138901093d002e03b413890102015f000000000000bfb700003ed4001b00d000036ad003d90100
2024-05-13 18:24:25,932 _send_request(144) - DEBUG: Sending: aa55c07f0106000245 - retry #10/10
2024-05-13 18:24:26,422 _validate_response(432) - DEBUG: Response has unexpected length: 46, expected 149.
2024-05-13 18:24:26,422 datagram_received(115) - DEBUG: Received invalid response: aa557fc001868c0ea50021000000000200020b019f005000f600ca0041004100004800486402000001093d002bff
2024-05-13 18:24:26,422 _retry_mechanism(159) - DEBUG: Max number of retries (10) reached, request aa55c07f0106000245 failed.
2024-05-13 18:24:26,422 connection_lost(102) - DEBUG: Socket closed.
Traceback (most recent call last):
  File "/Users/oziee/Downloads/goodwe-master 4/inverter_check.py", line 62, in <module>
    response = asyncio.run(inverter.read_runtime_data())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/es.py", line 209, in read_runtime_data
    response = await self._read_from_socket(self._READ_DEVICE_RUNNING_DATA)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/inverter.py", line 129, in _read_from_socket
    raise RequestFailedException(f'No valid response received even after {self._protocol.retries} retries',
goodwe.exceptions.RequestFailedException: ('No valid response received even after 10 retries', 1)

Your inverter is of "ES" kind.
You seem to receive lots of incomplete/fragmented responses, it is rare but unfortunately it happens.
I have just implemented an attempt to recovers from these fragmented packets (if that is actually what happens).
Please, update to latest version and try again.

@mletenay cheers.. thanks for trying..
seems to get some data but then nothing else ever comes in.. just sits there
DEBUG:asyncio:Using selector: KqueueSelector
DEBUG:goodwe:Connecting to ES family inverter at <IP_ADDRESS>:8899.
DEBUG:goodwe.protocol:Creating lock instance for current event loop.
DEBUG:goodwe.protocol:Sending: aa55c07f0102000241
DEBUG:goodwe.protocol:Received response fragment: aa557fc001824d3130313043475735303030532d425023313000000000000000000000000000393530303042505332323357303138

waited..waited and waited more but nothing else ever logged..
I still get index out of range errors or the test just sit there and do nothing
python inverter_check.py
2024-05-20 14:57:19,352 __init__(54) - DEBUG: Using selector: KqueueSelector
2024-05-20 14:57:19,352 connect(52) - DEBUG: Connecting to ES family inverter at <IP_ADDRESS>:8899.
2024-05-20 14:57:19,352 _ensure_lock(58) - DEBUG: Creating lock instance for current event loop.
2024-05-20 14:57:19,353 _send_request(176) - DEBUG: Sending: aa55c07f0102000241
2024-05-20 14:57:19,742 default_exception_handler(1771) - ERROR: Exception in callback _SelectorDatagramTransport._read_ready()
handle: <Handle _SelectorDatagramTransport._read_ready()>
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 80, in _run
    self._context.run(self._callback, *self._args)
  File<EMAIL_ADDRESS>line 1169, in _read_ready
    self._protocol.datagram_received(data, addr)
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/protocol.py", line 131, in datagram_received
    if self.command.validator(data):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/protocol.py", line 487, in <lambda>
    lambda x: self._validate_response(x, response_type),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/oziee/Downloads/goodwe-master 4/goodwe/protocol.py", line 507, in _validate_response
    raise PartialResponseException(len(data), data[6] + 9)
                                              ~~~~^^^
IndexError: index out of range

Fixed in v0.4.5

Thanks.. I'll give it a try tonight


Fix issues caused by destructively killing task with TaskKiller

This fixes some issues found while using TaskKiller.killTask with destructive set to true.

"permanently-failed" attribute was not taken into account  by recovery scheduler.
Resource cleaner could use offers previously accepted by recovery  scheduler.

Can one of the admins verify this patch?

@xtenzo:  Thanks a lot for the PR.  Looks good.  Could you please write a unit test which fails without this change, and which passes with this change?

@mesosphere-ci retest this please

@mesosphere-ci retest this please

@xtenzo:  Thanks a lot for the PR and explanation.


Add my blog into showcase

The URL of my blog is: heitoy.cn

I want to limit the showcase for show blog that combine different cover/colors that the provided by default, so first customize your theme and open a new issue :-)

I can't understand you, I'm Chinese.


Support parsing multiple items from a page

Adds support for any items that are stored on a wikipage with more than 1 item, including:
All non tradeables broken in PVP (void, fire cape, defenders etc)
Crystal weapon/armour degraded stats.

Added in https://github.com/deathbeam/osrs-data/commit/51d3623c9348acd615a8d540dac51ba05de003e7


move ACN fuzzer test for tendermint message to open-autonomy

Since we are moving tendermint protocol to open-autonomy, the recently introduced fuzzer test for it on ACN can no longer reside in this repository and may be ported to open-autonomy as well
https://github.com/valory-xyz/open-aea/pull/341#discussion_r981166984

Not relevant anymore


[RFE] Have a release cadence

To consume jetlag from CI pipelines having a release cadence in place is fundamental.

We've had discussions before about this. The first step is to define a "Jetlag release" and how it's packaged and distributed.
One relatively simple option might be to simply cut a release branch and change the installation directions to git clone from that branch rather than (by default) from main.

@dbutenhof Thanks for jumping in here. I fully understand that expectation setting around the goals of, as well as technical processes behind a release is important. However, I would propose to start with something simple for now - even something as simple as on every 1st of the month we manually run the current code base for a BM and SNO install and cut a release. In the absence of CI currently, and with know concrete timelines/roadmap around it, having something that we can pull and use reliably is table stakes to use jetlag to orchestrate our CPT runs. Can we start imperfectly and journey to perfection iteratively?

+1 @smalleni
Since we always have a risk of regression with new changes, having monthly releases will help a lot of the users.
If the master is not working for me, I can use the last known working release.
This will give more time for project developers to fix the issues, prioritize.
IMHO this is easy to do and has big value for users !!

After discussing this earlier with @pravins, we've decided to "start small and limited" and try to figure out where to go later.
The first step is to cut a GitHub "release", which we're calling v0.0.1-beta. If Jetlag users of various environments (e.g., BM, SNO, DU, HV, local storage, SCALE and IBM CLOUD, etc) are willing to verify that this "beta" works, we can decide to "promote" it to a v0.0.1 as a release baseline.
The "packaging" at this point is trivial -- one uses Jetlag by cloning the repo. To instead clone from the release tag,
git clone --branch v0.0.1-beta https://github.com/redhat-performance/jetlag.git

We'll try to begin to define what stories should be included in the next release, whatever that's called.

If we want to consistently clone a stable but latest release of jetlag within our Prow environments, I thought using releases/latest would do the trick. But in this case we risk cloning a beta release as well looks like?
Also, do we want to solely rely on user feedback before promoting. Should we target some limited testing in the scale lab because simply waiting on user feedback makes the process very unpredictable.


Find box hide in document

We have written the needed data into your clipboard because it was too large to send. Please paste.

please add more information... Is it a duplicate of https://github.com/microsoft/vscode/issues/80826 ?


feat: Caching support for new formatted storage provider

Signed-off-by: Derek Trider<EMAIL_ADDRESS>closes #2470

I'm thinking that the provider and store shouldn't know anything about the cache. The caching store should be just another implementation of the provider/store interfaces, wrapping the actual store.

I agree - then there would be no need for all of the following checks:  if f.cacheProvider != nil

I'm thinking that the provider and store shouldn't know anything about the cache. The caching store should be just another implementation of the provider/store interfaces, wrapping the actual store.

I agree - then there would be no need for all of the following checks:  if f.cacheProvider != nil

@bstasyszyn @sandrask Great idea. I agree. However, for the sake of time, would it be acceptable to do this refactoring after I've completed with my other high-priority storage tasks? While it's not too complicated, getting all the unit tests done is fairly tedious and takes quite a bit of time. I need to make sure I get the Aries code migrated over to using the new storage interface before the next milestone.

@bstasyszyn @sandrask Great idea. I agree. However, for the sake of time, would it be acceptable to do this refactoring after I've completed with my other high-priority storage tasks? While it's not too complicated, getting all the unit tests done is fairly tedious and takes quite a bit of time. I need to make sure I get the Aries code migrated over to using the new storage interface before the next milestone.

@bstasyszyn @sandrask Great idea. I agree. However, for the sake of time, would it be acceptable to do this refactoring after I've completed with my other high-priority storage tasks? While it's not too complicated, getting all the unit tests done is fairly tedious and takes quite a bit of time. I need to make sure I get the Aries code migrated over to using the new storage interface before the next milestone.

I am ok for this to be fixed later (please create issue)

@bstasyszyn @sandrask Great idea. I agree. However, for the sake of time, would it be acceptable to do this refactoring after I've completed with my other high-priority storage tasks? While it's not too complicated, getting all the unit tests done is fairly tedious and takes quite a bit of time. I need to make sure I get the Aries code migrated over to using the new storage interface before the next milestone.

I am ok for this to be fixed later (please create issue)

@sandrask @bstasyszyn Created the issue: #2479

@sandrask @bstasyszyn Created the issue: #2479


Use fixed-width FontAwesome icons for the user menu.

Add fa-fw class to the user dropdown on the top-left. I think this looks slightly better :)

Wonderful!
This is a good improvement :D


Design of new structure in JSON mapping rules

@zperova done: https://www.ebi.ac.uk/seqdb/confluence/display/MouseInformatics/PDCM+Admin#PDCMAdmin-JSONMappingRules


[Feature Request] Support custom location of pypgx-bundle files

Currently, pypgx defaults in multiple places to files present in pypgx-bundle. To locate said files pypgx assumes that pypgx-bundle has been cloned in the user's home directory. This is done with code similar to:
home = os.path.expanduser('~')
panel = f'{home}/pypgx-bundle/1kgp/{assembly}/{gene}.vcf.gz'

from https://github.com/sbslee/pypgx/blob/decb65a9ff7b906ad7cf2a031d646a87e701fcd3/pypgx/api/utils.py#L822
It would be useful to support different locations for the pypgx-bundle clone so that users can organise their filesystems in any way they like.
Although, in the future, the use of files from the pypgx-bundle could be handle differently, for now, an easy way of adding some flexibility would be to extract the fetching of files from the bundle to a utility function. This utility function then could have some logic to determine the path to the pypgx-bundle clone using user-defined environment variables, and defaulting to the user's home directory. Something like:
def estimate_phase_beagle(imported_variants, panel=None, impute=False):
    [...]
    gene = imported_variants.metadata["Gene"]
    assembly = imported_variants.metadata["Assembly"]
    [...]

    if panel is None:
        pypgx_bundle_panel_file = f"1kgp/{assembly}/{gene}.vcf.gz"
        panel = resolve_pypgx_bundle_path(relative_file_path=pypgx_bundle_panel_file)
    [...]

def resolve_pypgx_bundle_path(relative_file_path: str) -> str:
    """
    Given a relative file path for a file inside the pypgx-bundle, this
    function returns an absolute path to the file.

    This function uses the PYPGX_BUNDLE_LOCATION environment variable to
    determine where pypgx-bundle is in the filesystem. If the environment
    variable is not defined, it defaults to the user's home directory (i.e. ~).

    @param relative_file_path: the path to a file inside pypgx-bundle relative
    to the top level of the project's directory tree.
    """
    # Ensure file path is indeed a relative path
    relative_file_path = relative_file_path.lstrip("/")
    pypgx_bundle_location = os.environ.get("PYPGX_BUNDLE_LOCATION", "~")
    pypgx_bundle_path = pathlib.Path(pypgx_bundle_location).resolve()
    pypgx_file_path = pypgx_bundle_path / relative_file_path
    return str(pypgx_file_path)

The resolve_pypgx_bundle_path() function could also add some validation to ensure, for example, that the returned path exists.
Do you think this would be a useful addition to the library?

@lexotero,
Thank you so much for this feature request and also for providing sample code! I really appreciate your contribution. I have been meaning to add an option to manually specify the file path to pypgx-bundle, and your solution using an environment variable is a clever one! I was originally thinking in the line of adding a command line option because I think this makes it very explicit as for which pypgx-bundle was used for a given run. I'd like to take some time to think about the pros and cons for each approach. But please do feel free to give your take on these two approaches.
BTW, I'm curious to hear more about your motivation for changing the path for pypgx-bundle. I understand that you'd like to organize your filesystems, but were there any specific reasons you could not or did not want to put pypgx-bundle to your home directory?

@lexotero,
Thank you so much for providing such a detailed explanation! It's exactly what I was hoping to hear. I hadn't really considered situations where a user doesn't have access to the home directory, but it's an important observation for sure.
As for CLI option vs. environment variable, I am still leaning towards the former because 1) many PyPGx users are not necessarily proficient in programming and I think CLI option is more explicit and user-friendly, 2) I counted and there are only four PyPGx actions that will be affected if I introduced the CLI option (run-ngs-pipeline, run-chip-pipeline, predict-cnv, and estimate-phase-beagle), and 3) I think it's more consistent with the overall CLI design of the tool.
I will publish the official release of 0.21.0 this weekend and then will start working on adding the said CLI option in the 0.22.0-dev branch.

Thank you for considering this feature!
Let me know if you want any help reviewing/testing.

@lexotero,
After careful consideration, I came to the conclusion that your approach is better because it's way simpler to implement and also because if a user is looking to customize the path to pypgx-bundle it probably means he or she is already quite famialir with the concept of environment variables in the first place (i.e. they are sort of 'advanced' users)!
Therefore, as promised, I had released the official version of 0.21.0 yeseterday and today I added the feature you requested to the 0.22.0-dev branch using the environment variable PYPGX_BUNDLE. I'd greatly appreciate it if you could test this new feature and let me know if everything works as expected. You can access it by:
$ git clone https://github.com/sbslee/pypgx
$ cd pypgx
$ git checkout 0.22.0-dev
$ pip install .

You can also see the updated Read the Docs as well. Thank you so much!

Hello @sbslee ,
I'll check and get back to you today.
Thanks for your help.

Hello @sbslee,
A friendly coworker (@erichards52) with actual field knowledge helped me out with the testing:

If the CLI argument is specified, pypgx-bundle is not used.
If no CLI argument specified, files are fetch from the PYPGX_BUNDLE directory.
If PYPGX_BUNDLE is not a valid path, you get a friendly error pypgx.sdk.utils.BundleNotFoundError: /this/should/not/work.
If PYPGX_BUNDLE is not specified, it defaults to ~/pypgx-bundle.

I think that covers the expected behaviour.

Thank you so much, @lexotero and @erichards52! I really appreciate it. Please don't hesitate to let me know if you have any other feature ideas or questions!


So I have the following code from the PayPalIPN php file. When running a test submit in sandbox mode, with error reporting on, I get an error. IPN block of code:

So I have the following code from the PayPalIPN php file. When running a test submit in sandbox mode, with error reporting on, I get an error. IPN block of code:
        $get_magic_quotes_exists = false;         if (function_exists('get_magic_quotes_gpc')) {             $get_magic_quotes_exists = true;         }         foreach ($myPost as $key => $value) {             if ($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1) {                 $value = urlencode(stripslashes($value));             } else {                 $value = urlencode($value);             }             $req .= "&$key=$value";         }
Error
Deprecated: Function get_magic_quotes_gpc() is deprecated
PHP version 7.4.0+ purely because that's when it got deprecated. Any suggestions?
Originally posted by @Flinty916 in https://github.com/paypal/ipn-code-samples/issues/160

Closing as spam.


[Documentation] Default action server wrongly mentioned in rasa run -h

Rasa version: 2.0.0
Rasa SDK version (if used & relevant): Not Used
Rasa X version (if used & relevant): Not Used
Python version: 3.6.8
Operating system (windows, osx, ...): windows
Issue:
Default action server wrongly mentioned when running rasa run -h as
...
-p PORT, --port PORT  port to run the server at (default: 5005)
...

Should be 5055 as is shown correctly when running rasa run actions -h.
...
-p PORT, --port PORT  port to run the server at (default: 5055)
...

My mistake ! rasa run actions -h works just fine!


Use more robust array checks

Problem
In some places objects are checked to be arrays using obj instanceof Array. This is problematic since it only compares against the prototype Array in the current context. As a consequence, arrays created in an iframe are not detected as such in top-level code, or vice versa.
See this JSFiddle for an example: http://jsfiddle.net/qchybjp4/1/
Solution
A more rubust way to check whether an object is an array is Array.isArray(obj), so simply replacing all occurences of instanceof Array should suffice.
Background
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/instanceof

+1


Unable to download Github CLI to Docker Container via script (gh.sh)

Remember to label the issue with the appropriate area, and also assign it to yourself if you plan to work on the issue in the near future.
Describe the bug
While doing the installation of Dynamic pickup of latest github version does not work. I had to hardcode GitHub version (as shown below) in gh.sh so the curl command can download and install.
Original :
curl -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}linux_amd64.tar.gz" -o /tmp/gh.tar.gz
tar -zxvf /tmp/gh.tar.gz --strip-components 2 -C "$INSTALL_DIR" "gh${VERSION}_linux_amd64/bin/gh" > /dev/null
Hardcoded:
curl -sSL "https://github.com/cli/cli/releases/download/v2.14.3/gh_2.14.3_linux_amd64.tar.gz" -o /tmp/gh.tar.gz
tar -zxvf /tmp/gh.tar.gz --strip-components 2 -C "$INSTALL_DIR" "gh_2.14.3_linux_amd64/bin/gh" > /dev/null
Steps to reproduce

Install via VSCode  and Docker Desktop on Windows.
follow getting started
open code in Remote container extension(VSCode) as it tries to load the docker container and downloads required CLI. It failed at the Github CLI download step.

@sanjeevsidana is this with the code base checked out on Windows? It could be a Linux/Windows issue. Can you clone the repo on say WSL, and see if you get the same issue?
I've added a note to the docs in this PR as a few issues have been reported. Thanks.

@marrobi, yes this was cloned on windows. I will try on WSL and update.


⚠ ClamAV has degraded performance

In ef1c6b4, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in 0991933 after 536 days, 16 hours, 9 minutes.


Some scrappers are broken

I was trying to figure out what was happening with the issue: https://github.com/midudev/kings-league-project/issues/240  and I realized that some scrappers are not working. I don't know if that only happen to me

You need to use Node 18.


plugin hangs for 15s when usabilitydynamics.com is down

At the time this issue is created, usabilitydynamics.com is down.

Every page of wp-admin is loading extremely slowly, and Query Monitor points to an HTTP call made by wp-stateless to usabilitydynamics being the culprit.  This request times out after 15s, and blocks loading until it fails.

Hello @ckeeney
Thank you for you notice! We've already fixed the issue.

Closing the ticket.


Show peripheral terms on work page

They are not included in the Instance response, so we need to do an Item query as well.

Done in df4a7c1


Update portfolio link to be uniform

Codecov Report

Merging #283 (776ce60) into master (e5edaac) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #283   +/-   ##
=========================================
  Coverage     70.02%   70.02%
  Complexity      826      826
=========================================
  Files           131      131
  Lines          2886     2886
  Branches        375      375
=========================================
  Hits           2021     2021
  Misses          738      738
  Partials        127      127

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 e5edaac...776ce60. Read the comment docs.