Adding config auto.offset.reset to PulsarKafkaConsumer

Motivation
Currently, in KafkaConsumer, there is a new config which is called auto.offset.reset. It is currently ignored in PulsarKafkaConsumer, so we wish to implement it.
Modifications
We added some new code which defined the behavior if auto.offset.reset == "earliest" or "latest".
Result
It would automatically seek to the last offset or the first offset depending on the set config.

One more thing. @merlimat Do you know what file to change for the documentation.

Ok @merlimat Removed the enum. Do you have any other changes you want seen done?

Ok, done.

@sijie Do you think there is anything else I need?

Hi @merlimat Updated the PR. Hope this wraps things up.

Also, I did some digging. I couldn't seem to find any tests for PulsarKafkaConsumer. Should we add some tests to confirm the method's behavior? I found this to be good practice. WDYT?

Should we add some tests to confirm the method's behavior? I found this to be good practice. WDYT?

In general, it is a good practice to add tests (unit test at least, integration tests would be great) to make sure newly introduced code changes or features are covered by tests. so any subsequent changes can be verified using those tests in future.

Ok, so I noticed some curious behavior while looking through the code. In poll(), if we find there is an invalid offset position, we would seek to the end (default value of auto.offset.reset is latest). It would work just fine. However, when we call seekToBeginning or seekToEnd directly after such a poll() operation, it seems to fail because of some ConnectionError (i.e. not able to find ClientCnx -- Closed Connection). I'm not really sure what is causing this, so I am open to pointers.

Ok, fixed the test. I will probably add a new one and this should be good to go.


fix(KFLUXBUGS-1161): rh-sign-image does not fail when signing internal requests timeout

This commit add set -e to the task script so the task will fail when the wait-for-ir script exits with a non-zero code.
Signed-off-by: Leandro Mendes<EMAIL_ADDRESS>

/test release-pipelines-e2e-suite

/retest

/retest

/retest

/retest

/retest

/retest


REQUEST: flask laptop decals

This is neither a bug or issue but a request.
Where can I find laptop decals for flask? I'm loving this framework and would like to promote it with a laptop decal or sticker but I cannot find any.
Can we make this happen? Stickermule was suggested on reddit but I think this should be held in flask 'store' should this come about.

The Flask store is powered by Spreadshirt, who seem to sell pretty much anything but stickers... given that, I think Stickermule would be a good idea.
FWIW I don't think anything of this has to be official merchandise, a third-party might sell it as well.

I spoke with Armin about this the other day. They are up for sale on Stickermule:
https://www.stickermule.com/marketplace/6037-flask-web-framework

Nice! We should put those on the website.

Cool, I'll take some with me to PyCon this year.  Added in mitsuhiko/flask-website@f344f0857fa0bcc7d8c63d0c186f82abd0e83712, although I'm not sure when that will go live.


Updating to jupyterlab 0.29.x

Thanks, we will have a look at this.

closing due to out of date, we're now on jupyterlab 1.0


"What Binary" doesn't line up with the latest BIN file releases

Howdy AirCookie!
Great work as always. Just a note/correction that the documents for https://kno.wled.ge/basics/install-binary/#what-binary-should-i-use don't match the available binaries of the latest release - more specifically for users of 1Mb ESP8266 devices, there's new ones for 1Mb, 2Mb etc, but the documents still talk about ESP01 bin file.
Steve

I took a look and this does not look like a problem. Am I missing something?
This is the list of assets under 0.13.0-b5:

This is the list in the docs:

The new releases look more in line. The 0.12 release didn't match up for the ESP01 1Mb 2Mb when I raised it. Happy to close off 👍🏻


show_doc treats functions decorated with lru_cache as classes

@hamelsmu @jph00, not sure if this is a good solution?

Maybe a better solution is to use sym.__wrapped__ if it exists

Just realised show_doc also isn't showing a param table for these functions

In general I suspect we should be using __wrapped__ when it's available.

I've just changed it to use __wrapped__ instead - seems to work OK.


Add ios simulator

Closes #352.

xcrun --sdk $PLATFORM --show-sdk-path to get the sysroot
Adding iphonesimulator support.

I've tested verified that this builds with macos, aarch64-apple-ios (the iPhone) and for x86_64-apple-ios (the ios simulator).
I also added cargo-dinghy to CI so that you can run some of the unit tests in the simulator. The tests in gdnative-sys are really just the bindgen size tests.
I tried running cargo dinghy --platform auto-ios-x86_64 test in the root of the project and there's some weird bug with the examples in dinghy. It could be due to lack of a local lib (like godot as a static lib?) or maybe a bug with dinghy itself. I'm not sure.

Travis says that "the x86_64-apple-ios target may not be installed". Maybe you need to add rustup target add x86_64-apple-ios in before_script?

Travis says that "the x86_64-apple-ios target may not be installed". Maybe you need to add rustup target add x86_64-apple-ios in before_script?

Ah, yes. Should be fixed now.

Seem like it still doesn't work: [2020-05-23T05:28:39Z ERROR cargo_dinghy] No device found. According to Travis docs, an iOS simulator is installed on the default image, but the XCode version is only 9.4.1. Maybe a newer version (osx_image: xcode11.4) is required? Maybe cargo-dinghy can't locate it somehow? I'm not familiar enough with it to be a lot of help, sorry.
If the CI can't be made to work, we can leave it out for now, merge the -sys changes, and try to figure it out later.


in make setup: do not create platform/kube/config if it already exists

What this PR does / why we need it:
Today, running make setup twice fails due to an attempt to create platform/kube/config (soft link), while it already exists.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

@vadimeisenbergibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
8a1f9df9d77ee0cea1404fd8e4dd30154f810904
link
/test pilot-e2e-smoketest

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.

@rshriram can you pls help approve?


Update http4s-core, http4s-dsl to 0.21.28

Updates

org.http4s:http4s-core
org.http4s:http4s-dsl

from 0.21.14 to 0.21.28.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Superseded by #283.


[sql-lab] auto complete column names doesn't use correct table columns

https://github.com/airbnb/superset/pull/1712


[now dev] Fix builder sorting

Fix the order of the builders when updating the matches.

Codecov Report

Merging #2563 into canary will increase coverage by 0.03%.
The diff coverage is 71.42%.

@@            Coverage Diff            @@
##           canary   #2563      +/-   ##
=========================================
+ Coverage   13.66%   13.7%   +0.03%
=========================================
  Files         257     257
  Lines        9463    9465       +2
  Branches     1086    1086
=========================================
+ Hits         1293    1297       +4
+ Misses       8045    8044       -1
+ Partials      125     124       -1

Impacted Files
Coverage Δ

src/util/dev/server.ts
64.74% <71.42%> (+0.47%)
:arrow_up:

Continue to review full report at Codecov.

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

@TooTallNate Not sure how. I've tried to rename a file in the fixture during the unit test, but it didn't work as expected.


Add sequence deconstruction to Tokens

I think it makes sense to allow deconstruction of Tokens just like other Seqs (after all, it is a Seq).
tokens match { case Tokens(first, second, rest @ _*) => ??? }

Thanks!

Rebuilt the world and published the results.


Extract Review: Multilayer specification for ffmpeg

Changelog Description
Extract review is specifying layer name when exr is multilayer.
Additional info
This issue was discovered with renders from blender where output exr had channels ['Main.AOV.R', 'Main.AOV.G', 'Main.AOV.B', 'Main.AOV.A', 'Main.Combined.R', 'Main.Combined.G', 'Main.Combined.B', 'Main.Combined.A', 'Main.Normal.X', 'Main.Normal.Y', 'Main.Normal.Z', 'Main.Test.X'] which failed in ffmpeg.
Testing notes:

First of all, any other current exr processing should still work (e.g. multipart exrs from maya)
Render from blender (testing for @simonebarbieri )

We also want to add option to be able define preferred layer names to be used for review, but that's for another PR.


Set up direct publishing to Maven Central

JCenter is done:
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
We need to set up artifact publishing directly to Maven (Chris Banes can help us with that), or explore other publishing options: Github Packages for instance.

Hi guys. Have you started working on it?

@dzkoirn not yet

So, maybe I may try to help you there if you need

PRs are always welcome, especially if you have some relevant experience with publishing and can do it right)


chore(deps): update common-dev-assets digest to 2e80564

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
4e17567 -> 2e80564

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 6.3.0 :tada:
The release is available on:

GitHub release
v6.3.0

Your semantic-release bot :package::rocket:


Upgrade to Python 3.11

@backwardspy would you kindly mind giving this a quick test locally? Running this on M1 is unhappy because of some limitation in libpq5 which psycopg2 has patched for amd64 but not arm64 for whatever reason. I'll open a PR for psycopg 3.x and sqlalchemy 2.0 once it's released to fix this. But for now I just wana get this upgrade in.

i would like to continue supporting a couple of other python versions so we don't restrict users to the cutting edge.
with that in mind, would the following satisfy our needs:

run CI on pythons 3.9, 3.10, and 3.11
build docker on the python 3.11 image
keep pyproject compatible version on 3.9

that way we have our own deployment running 3.11 but don't drop support for older versions straight away. ideally we'd include 3.7 and 3.8 support too, but we haven't had that before so i suspect it'd require some changes.


Finding peers of correct chain before genesis

We generally rely upon the eth2 field in the ENR to find peers on a particular chain.  The ForkDigest within this field utilizes genesis_validators_root and fork_version to isolate the chain from others, but because genesis_validators_root is not previously know, the eth2 field cannot properly be used prior to genesis.
There is also some strangeness in wrt gossip topics because they use the fork_digest in the topic name. This would prevent any subscriptions being valid prior to knowing the genesis state. This isn't a huge deal because genesis is delayed for at least MIN_GENESIS_DELAY (1 day) during which gossip subscriptions can be made.
Some potential solutions:

A simple solution is to set genesis_validators_root to 0x00 prior to genesis, but then you might find peers of other (not yet to genesis) chains. Probably not too bad because only so many chains will be queued to start at any given time. Still, not optimal.
Could also use DEPOSIT_CONTRACT_ADDRESS as a temporary stub for genesis_validators_root to form a "pre-genesis" fork_digest. This would be useful in finding peers, but would not solve the gossip topic problem (which is probably okay). One downside is that this is an eth1-centric view of how to start an eth2 chain. A non-eth1 genesis chain might already know fork_digest in advance, or could use some other agreed upon bytes to fill genesis_validators_root before it is knwn.
Simply do not find peers until genesis state is known. This is at least 24 hours of lead time on mainnet. Is there actually any downside to this method? Do we gain much by peering 24+ hours in advance? Does it break anything fundamental in client work flows?

The above list is probably not exhaustive. Open to input here. I currently favor (3) for simplicity unless it is not in fact simple to implement. Otherwise, I think (2) should be fine.

cc: @nisdas @AgeManning @arnetheduck @mkalinin

We already do 3. So this is my vote, because no further work is required from our end :)

I like 3) too as it is straightforward to implement, we avoid the situation of 2 potential fork-digests where you have a different fork digest pre-genesis and post-genesis. I think 24 hours should be ok to search and discover the appropriate peers, although I would be interested to know if there are any downsides to having peer discovery restricted to only 24 hours before chainstart.

(3) makes most sense because you can only check for valid genesis validators root after that genesis event took place. if you want to be fancy, you could populate a temporary record of potential peers that share the same fork id and then check that list after genesis for the correct root before adding them to the local node records. that way you could start a preliminary peer discovery before the genesis delay period.

if there are any downsides to having peer discovery restricted to only 24 hours before chainstart

My gut says that it should be sufficiently enough for peers to form a stable backbone. @zilm13 is about to figure out whether 27 to 54 hours would be enough to jump from one subnet to the other. I think this particular case around genesis could also be simulated. Thus, I'd suggest to stick with 3) for now and get back to this question once we have a proof of this option doesn't work well.

@mkalinin 3) doesn't require jump and has another benefits, I'd bet for 3. It's one-time.

Thanks for the input everyone! (3) it is. PR coming right up

closing in favor of #1708


Confirmation messages should be displayed before performing any update.

A confirmation message is missing when submitting a new thread or branch tread.
(But, when clicked "delete" button, a confirmation message pops up)


fix: golang lint ci failed

Signed-off-by: Daniel Hu<EMAIL_ADDRESS>Summary
fix: golang lint ci failed
Description
Just now I found out that one of the contributor's pr(#385 ) failed in ci workflow:
https://github.com/devstream-io/devstream/runs/5814780108?check_suite_focus=true
This problem is not introduced by this pr, but: https://github.com/golangci/golangci-lint-action/issues/434
So the solution here should be:

set up skip-go-installation: true in v2
upgrade golangci-lint-action to v3 - (I choose this)

/cc @devstream-io/pmc
In order not to block the contributors from run the ci workflows, and not to disturb everyone's vacation, I merged this pr first while ensuring that the test passed. Of course, if a new problem is caused, I will fix it ASAP.


feat(scan): introduce a client to manage scans via REST API

closes #44

@ostridm make sure that husky is working in your case, otherwise, manually format files before pushing. Make sure that you utilize LF instead of CRLF https://github.com/NeuraLegion/sectester-net/pull/58/commits/67cb3da2a34aa9c09ed28bcaa5a7186451ef2113


delete all code currently in this repo, make a very simple http server (see boilerplate module)

done


SQF should have it's own preprecesssor definition

relying on the one from C++ caused unpredictable results
depending on which language you would parse first because
the pre-processor regexs would either be compiled case
insensative (SQF) or case-sensative (C++), depending on
which language you highlighted first

Do I need to rebase this onto master?

Do we not care about "merge branch 'master' into whatever" commits polluting the master branch?  I really don't mind rebasing if that would help.

Nope, we use squash merge for PRs, so we never get merge commits in history.

Well that's useful to know, I guess now I can worry less about the exact sequencing of tiny commits for a larger PR if they are never going to see master anyways.

Done with it. Thanks!

Thanks!


Add AutoCompleteTextView - android only

Have you used this library before? Looks like it has low engagement

Thanks @jimmylee  for looking into it. I'm struggling to install it automatically. I tried to help the author but I'm not a native dev. It's a very important component used in many Android apps. I'm trying to get this name out there to attract some PRs some motivation/help to the main author.
The engagement on this autocomplete module is about same engagement on my polished module here - https://github.com/Noitidart/react-native-buttonex - it would be awesome if you could allow this in. This auto complete module is much better off then those outdated modules that are still in the list.

@jimmylee we are putting in major work on this. It's almost polished up and ready to go. We just need 24 more hours please. :) It would be aweomse if you could premptively merge. You can see our progress in the issues and pr sections:
https://github.com/rajsuvariya/autocompletetextview/issues
https://github.com/rajsuvariya/autocompletetextview/pulls

Author is on vacation till 15th and will merge from dev to master then

Okay @Noitidart thanks for the updates.

He hasn't merged from dev to master yet. Will update you as soon as he does. :)

@Noitidart I'll close this for now, feel free to re-open when you have an update for us :)


Browser lags if seekTo called on multiple videos

Hi
I am using react-player to play two videos and to keep them sync. I have refs to both players in an array and I call this function for seek
 onSeekMouseUp(e) {
        var value = parseFloat(e.target.value);
        this.setState({ seeking: false })
        this.players.map(function (player) {
            player.seekTo(value);
        })
    }

with requestAnimationFrame :
onSeekMouseUp(e) {
       var value = parseFloat(e.target.value);
       this.setState({ seeking: false })
       this.players.map(function (player) {
           requestAnimationFrame(() => player.seekTo(value));
       })
   }

The problem is after I seek, the browser (this webpage) becomes unresponsive for few seconds until the videos have seeked and their onseek function is called. After that it becomes normal. Any solution to this?  Can seekTo function be called asynchronously or with combination of requestAnimationFrame etc.?  Any solution to this?

What URLs are you trying to play/seek? I've written a very simple jsFiddle to try and reproduce the issue but I'm seeing no lag at all when calling seekTo on several videos at once: https://jsfiddle.net/6ebqr9m1/

I don't know why but the loop was causing the problem. I was iterating over players object. I removed the array and its working fine now. Thanks a lot :). This is my code now
onSeekMouseUp(e) {
        var value = parseFloat(e.target.value);
        this.setState({ seeking: false })
        this.players[0].seekTo(value);
        this.players[1].seekTo(value);
    }

Not sure why the loop would cause a problem, but glad you sorted it!


Ugly es.plot()?

Ugly es.plot()
Bug/Feature Request Description
In 0.12.0, es.plot() shows result like this:

What's \l between feature names?

Can you post the rest of the code so we can try to reproduce this?

What version of the graphviz library are you using?

Does this issue occur for any entityset you call plot on or only specific ones?
I cannot replicate this in my own environment.  Can you post a conda list or pip freeze of the packages that are installed?

@rwedge  I upgrade graphviz to graphviz==0.13.2 and it solves the problem. Thanks!


redirect will cause loop serState when version is big than 4.3.1

Version
Please replace this sentence with the React Router version that you are using.
4.3.1 is right
4.4.0 and 5.1.0 is wrong
Test Case
it`s a comany project, so i just show the code
// validPaths and menu are an array; only pathname in validpath can render the right component, or it will redirect to home component;
    <Router history={history}>
      <div className="content">
        {menu.map(({ path, component }) => (
          <Route exact key={path} path={path} component={Pages[component]} />
        ))}
        {!validPaths.includes(pathname) && <Redirect from={pathname} to="/home" />}
      </div>
    </Router>

Steps to reproduce
when i input an url are not in validPath, the page will crash
Expected Behavior
it render right
Actual Behavior

the setState repeat call until the page crash

It is difficult to say without a working demo, but I believe that if you wrap your routes & redirect in a Switch, the issue will go away.
If you take a look at the Redirect from documentation, you will see that it only works in a Switch. Outside of a Switch, the Redirect will attempt to redirect every time it renders.

It is difficult to say without a working demo, but I believe that if you wrap your routes & redirect in a Switch, the issue will go away.
If you take a look at the Redirect from documentation, you will see that it only works in a Switch. Outside of a Switch, the Redirect will attempt to redirect every time it renders.

I know Switch. i do not use it because some lib incompatible switch model, so i just ues route and use Redirect with condition. why in version 4.3.1, It works well. Is there other way to fix it


Ignore links with mailto hrefs

Describe the bug
Currently our link parsing and reformatting code attemots to reformat mailto links. We can see this in Algolia:

Expected behavior
Ignore / don't format links with mailto hrefs

@joekrill do you need additional information to work on this bug?


Minor update text changes.

This pull request is designated for my changes to the text blobs that will appear throughout the website. Note that this is forked from a long time ago and can't automatically merge.

merged with most recent patch


More examples

Can you add some examples how to play a position from Favourites?

Did you found sollution for this problem ? I also search it....


gtklock-playerctl-module: 2.0.1 -> 3.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/jovanlanik/gtklock-playerctl-module/releases.
meta.description for gtklock-playerctl-module is: Gtklock module adding power controls to the lockscreen
meta.homepage for gtklock-playerctl-module is: https://github.com/jovanlanik/gtklock-powerbar-module
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.0.0 in filename of file in /nix/store/54ckdpw7iggsq2pmvs3rba99ncqznj9a-gtklock-playerctl-module-3.0.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
gtklock-playerctl-module

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/54ckdpw7iggsq2pmvs3rba99ncqznj9a-gtklock-playerctl-module-3.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gtklock-playerctl-module https://github.com/r-ryantm/nixpkgs/archive/3e93684dee8f32416def5bddaf6f6c8df9ad1f33.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/3e93684dee8f32416def5bddaf6f6c8df9ad1f33#gtklock-playerctl-module

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/54ckdpw7iggsq2pmvs3rba99ncqznj9a-gtklock-playerctl-module-3.0.0
ls -la /nix/store/54ckdpw7iggsq2pmvs3rba99ncqznj9a-gtklock-playerctl-module-3.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

gtklock-playerctl-module

Maintainer pings
cc @Aleksanaa for testing.

DONT MERGE


New: nodepath option for the path

This what i am thinking for nodepath config option. This works as i have tried it.
Its getting difficult to test since when you run npm test to run the unit test. NPM already adds the ./node_modules/.bin to the $PATH.
I will work on the tests but I wanted to know whether I am heading in the right direction.

Let's add a test in exec() and in which()

@nfischer All the work has been done. Some of things to note:

Apparently PATH is not same across. I use windows 10 and when I use windows default cmd then its called Path but if I run using git bash then its called PATH. Thats why I see test fail on windows.
I have added sinon so that we can fake process.env.PATH for testing purposes.
I think we should soon move to using some kind of testing framework since its unit test are not well managed.

@gyandeeps

See my comment in-line
sinon is fine
Please see #512. I'll try to rebase off master sometime this week. There's still quite a bit of work to do, however. If you're interested in helping, feel free to make a PR against that branch.

Thanks @nfischer . I think PR is ready. Let me know if you have any suggestions.

@gyandeeps I'll take a look later today. If you can, please chime in on nodejs/node#9157, since that just added got merged into official node documentation, and it disagrees with your observations on process.env case-sensitivity. It would be bad if the documentation was incorrect but got merged anyway.

@gyandeeps Sorry for the late reply. I got a bit distracted with #512
Here's my thoughts on this PR:
shell.env (links to process.env) is already part of our API, so I'm concerned about moving away from that to a custom function. It feels a little clunky to use, especially with common.PATH_IDENTIFIER. I wanted to get your feedback on a slightly different approach.
Instead of having code to get process.env.PATH (regardless of how PATH is capitalized), what if we just use process.env.PATH = process.env.PATH || process.env.Path || process.env.path? Then we don't need a function or PATH_IDENTIFIER, we can just use process.env.PATH.
We can write a setter for config.nodepath to add (or remove) node_modules/.bin to the PATH.
Let me know what your thoughts are for this approach. The downside is that this modifies a global, but the option is likely not going to be used often, and I can't think of a use for this option where modifying the PATH that way would be dangerous.
Although admittedly, that approach wouldn't be anything the users wouldn't be able to do themselves, so perhaps it's best to leave the code as-is.

My thoughts:

We can definitely change the PATH approach and do what ever you said.
Why I create a copy of path is because I dont want to change the path inside the whole nodejs process. Since its single process, me changing the path would/might impact other things in the environment. That was my thought process when designing this.

@gyandeeps sorry for taking so long to get back. Let's hold off on this, since I'm not completely sure what the best approach is, or if this is something we should delegate to ShellJS users instead.
I'm marking this as something to look into once we get closer to v0.8.
@freitagbr feel free to chime in with your thoughts on this feature.

After some thought, this is probably the wrong approach to solve this problem. I think it's better to leave this to users, since it can easily be solved outside of ShellJS.


Confused about variable declared but not used in DataArray documentation

The documentation for xr.DataArray includes this precipitation variable but it doesnt actually seem to be used anywhere? Was it intended to showcase some functionality or is it superfluous?
If its not needed can it be removed? Whatever the fix is I'm happy to make a PR (if not im not mistaken!)
http://xarray.pydata.org/en/stable/generated/xarray.DataArray.html#xarray.DataArray
Edit
I see it is used in Dataset documentation so now get the intent. I still suggest removing it from xr.DataArray as its not used there.
http://xarray.pydata.org/en/stable/user-guide/data-structures.html

Agree it's unnecessary — please feel free to remove it


WIP: Beer Lambert Law

What does this implement/fix?
This PR adds the ability to convert NIRS optical density data (see #6827) to changes in oxy- and deoxy- haemoglobin concentration.
Notes

Need to add tests

@larsoner I need to include some tabulated data to complete this function. What is the best way to include data in MNE?
The data I will include comes from here https://omlc.org/spectra/hemoglobin/summary.html
Homer has manually written the data in a script (link) and nirs-toolbox includes a .mat file (link). I was thinking to add the data to the repo as a csv. Is there a better data format?

I would choose the format that leads to the smallest file.

spectra.mat | 16.79 KB

This appears to be usable with scipy.io.loadmat. I would just use that file (if we have permission) or generate our own using scipy.io.savemat(fname, dict, use_compression=True) (if we don't have permission).
I tried saving values with mne.externals.h5io.write_hdf5 and they ended up being ~39 kB instead of ~17 kB. Load-save round-trip with loadmat/savemat ended up staying at ~17 kB.

Thank you both. I will generate a compressed mat file from the original source as I have not got permission from the other projects.

I am trying to wrap my head around the units that data should be used in MNE.
The units listed for hbo and hbr in defaults are currently uM (which is how fNIRS is usually reported). https://github.com/mne-tools/mne-python/blob/master/mne/defaults.py#L17
Does that mean the raw data should be in this uM? Or should the data be stored in M and the scalings is used to put the plots in to uM? In this case should the scaling be 1e-6 (not 1e6)?

The units listed for hbo and hbr in defaults are currently uM (which is how fNIRS is usually reported). https://github.com/mne-tools/mne-python/blob/master/mne/defaults.py#L17

Data should be stored in SI units, so M. And the scaling is basically inverted, i.e. what you'd need to multiply the original values (M) by to get to the ones desired for plotting (uM).
In MEG (magnetometer/mag) data are stored in T, plotted in fT, so the scale is 1e15. Similarly EEG is in V, plotted in uV, so the scale is 1e6.
Make sense?

Make sense?

Yes makes perfect sense, thanks for explaining.

When I am back in the lab I will finish that dataset I keep talking about. But in the meantime here as a quick demo of fNIRS analysis based on this PR.... https://github.com/rob-luke/mne-fnirs-demo/blob/master/Tapping.ipynb

looks great :)

There is some difference in scaling between the MATLAB converted data and the MNE converted data. I did some investigation and the difference mainly comes from how the distance between sensors is calculated, we calculate the distance in three dimensions, matlab calculates the distance from a 2d projection. So I think the difference is acceptable.
Some figures showing the converted data from both MNE and MATLAB can be seen here... https://github.com/rob-luke/mne-fnirs-demo/blob/master/BeerLambert_Validation.ipynb the last section down the bottom is the exact data used in this PR

Any idea why they do the projection? It seems like an unnecessary step, unless they store locations in the projected 2D space.

Any idea why they do the projection? It seems like an unnecessary step, unless they store locations in the projected 2D space.

That's exactly why they do it :smile: . The NIRStar software saves a .mat file and that contains separately the 2d and 3d positions. We are using the 3d positions, the other software takes the 2d positions. i think the 3d positions were only added since version 15 of the software.
The scaling of signals varies very differently between the different toolboxes, and the parameters used for conversion always have to be reported in your manuscript. The main difference is usually the assumed partial pathlength factor which is meant to take in to account things like skull thickness, optical properties of the skin etc etc (it is 0.1 in nirstoolbox, and 6 in homer). All these things vary with age and the wavelength of the light used (see  General equation for the differential pathlength factor of the frontal human head depending on wavelength and age). In the future I would like to implement the equation from that paper and have the ppf adjusted based on the age stored in the mne info structure, but thats not done in any tools that i have seen before.

Also the reason I have made the matlab comparison to the 15.0 test data was because that has a nice one-one mapping of the source detector pairs, whereas the other test data montages are more complicated and the order in which MNE stores the data doesnt one-to-one match with MATLAB, so it would have been messier with reindexing to match them. In hindsight I probably should have made the other montages simpler.

@larsoner merge if you're happy

Thanks @rob-luke !


Issue with Contributors links on uploaded project landing page

Login to production instance.
Go to landing page for 'upload' pilot project: https://dmphub.uc3prd.cdlib.net/dmps/10.48321/D14F38aa13
Under 'Contributors to this project' the following links are broken:
a. 'University of Colorado Boulder' which goes to (https://ror.org/https://ror.org/02ttsq026)
b. ORCID '0000-0002-6917-5365' which goes to (https://dmphub.uc3prd.cdlib.net/dmps/10.48321/0000-0002-6917-5365)

All other links on the landing page work as expected.

this has been fixed and deployed to prod


Error with Xcode 15 and cocoapods 1.12.1

Troubleshooting

[ ] I've searched discuss.bitrise.io for possible solutions.
Which version of the step is effected? 2.4.0
Is the issue reproducible with the latest version? YES
Does the issue happen sporadically, or every time? EVERY TIME
Is the issue reproducible locally by following our local debug guide? NO

Useful information

FAQ

Issue description
The cocoapods install step completes correctly but when using cocoapods version 1.12.1 and the new Xcode 15 an error occurs when trying to archive the ipa. This error is fixed in the latest version of cocoapods 1.13 as indicated in its new release, and I have checked it by performing the archive locally with the new version of cocoapods.
Bitrise info

Log:

 ❌  error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead (in target 'FirebaseAnalytics' from project 'Pods')

Thanks you

Same issue.

I also have the same problem, please Bitrise team update virtual machines with new version of cocoapods 1.13.0

I have fixed this by adding a specific version of cocoapods to the Gemfile to force it to use this version.
Add this in code Gemfile
gem 'cocoapods', '~> 1.13'
and run bundle install to generate Gemfile.lock


Aztecnr timestamp lib

Please read contributing guidelines and remove this line.

Benchmark results
Metrics with a significant change:

note_successful_decrypting_time_in_ms (32): 528 (-26%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 06d2786b and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,668
18,820
36,356

l1_rollup_calldata_gas
66,352
239,056
469,640

l1_rollup_execution_gas
647,450
929,414
1,305,820

l2_block_processing_time_in_ms
1,307 (+2%)
4,703 (-2%)
9,248 (+1%)

note_successful_decrypting_time_in_ms
175 (-8%)
:warning: 528 (-26%)
954 (+1%)

note_trial_decrypting_time_in_ms
81.9 (-15%)
47.7 (+40%)
86.8 (+8%)

l2_block_building_time_in_ms
18,025
68,418
135,785

l2_block_rollup_simulation_time_in_ms
8,043
28,521 (-1%)
56,171

l2_block_public_tx_process_time_in_ms
9,961 (-1%)
39,841
79,518

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,562 (-5%)
26,102 (-3%)

note_history_successful_decrypting_time_in_ms
1,186 (+1%)
2,379 (-2%)

note_history_trial_decrypting_time_in_ms
55.3 (-8%)
114 (-2%)

node_database_size_in_bytes
18,665,552
35,033,168

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
274 (-1%)
44,366
28,244

private-kernel-ordering
211
52,868
14,326

base-parity
1,768 (-1%)
128
311

base-rollup
700 (-1%)
165,787
925

root-parity
1,501 (-2%)
1,244
311

root-rollup
50.5 (-1%)
4,487
725

private-kernel-inner
631 (-2%)
73,771
28,244

public-kernel-app-logic
437 (-1%)
35,260
28,215

public-kernel-tail
170 (-1%)
40,926
28,215

merge-rollup
8.17 (-1%)
2,696
925

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
9.90 (-1%)
15.6 (-2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.577
0.482 (-2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
44.7 (-2%)
70.6 (-2%)
230
429 (-2%)
865 (-1%)
1,722
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.459 (-2%)
0.436 (-2%)
0.420
0.402 (-2%)
0.412 (-1%)
0.413
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
52.5 (-3%)
105 (-2%)
334 (-1%)
636 (-2%)
1,315
2,605
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
104
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.468 (-3%)
0.473 (-2%)
0.456 (-1%)
0.438 (-2%)
0.455
0.454
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
59.7 (-1%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.522 (-1%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes

tx_size_in_bytes
22,012

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
3,179 (-1%)
1,713 (-1%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
12.0 (-6%)
1,218 (-1%)

Is this a feature you want to pursue? Or should this inactive PR be closed? :)


Protein features missing from pap1 page

https://www.pombase.org/gene/SPAC1783.07c
from the console:
ReferenceError: displayColour is not defined

That's fixed in the code now and the main site will be updated soon.


[release/1.7] CRI: An empty DNSConfig != unspecified

If we find that DNSConfig is provided and empty (not nil), we should not replace it with the host's resolv.conf.
Also adds tests.

There's a cherry pick label for 1.7.x but missing from release/1.7 branch...

This failure looks relevant:
=== Failed
=== FAIL: pkg/cri/server TestSetupSandboxFiles/should_create_empty_/etc/resolv.conf_if_DNSOptions_is_empty (0.00s)
    sandbox_run_linux_test.go:676:
        	Error Trace:	/home/runner/work/containerd/containerd/pkg/cri/server/sandbox_run_linux_test.go:676
        	Error:      	Not equal:
        	            	expected: testing.CalledDetail{Name:"WriteFile", Arguments:[]interface {}{"/test/root/sandboxes/test-id/resolv.conf", []uint8{}, 0x1a4}}
        	            	actual  : testing.CalledDetail{Name:"CopyFile", Arguments:[]interface {}{"/etc/resolv.conf", "/test/root/sandboxes/test-id/resolv.conf", 0x1a4}}

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,7 +1,6 @@
        	            	 (testing.CalledDetail) {
        	            	- Name: (string) (len=9) "WriteFile",
        	            	+ Name: (string) (len=8) "CopyFile",
        	            	  Arguments: ([]interface {}) (len=3) {
        	            	+  (string) (len=16) "/etc/resolv.conf",
        	            	   (string) (len=40) "/test/root/sandboxes/test-id/resolv.conf",
        	            	-  ([]uint8) {
        	            	-  },
        	            	   (fs.FileMode) 420
        	Test:       	TestSetupSandboxFiles/should_create_empty_/etc/resolv.conf_if_DNSOptions_is_empty

=== FAIL: pkg/cri/server TestSetupSandboxFiles (0.00s)

DONE 1750 tests, 37 skipped, 2 failures in 105.838s
make: *** [Makefile:209: test] Error 1
Error: Process completed with exit code 2.

@estesp yep! fixing


broken with ActiveSupport error

.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/xml_mini.rb:184:in `current_thread_backend': uninitialized constant ActiveSupport::XmlMini::IsolatedExecutionState (NameError)

Thank you for this issue. Looks like we depend on a gem that's broken because of updates in AS. There's an umerged PR https://github.com/carmen-ruby/carmen/pull/298 for this. I'm thinking of looking of alternatives or forking that gem. A PR will be very welcome. 😊

I commented on the pull request for carmen.  Hopefully it spurs some action.  That simple require change does indeed make Kovid work locally.
I haven't looked at how carmen is used in Kovid yet, though.

@Jberczel maybe you can help with this? Is there a chance you could help us find an alternative to Carmen or maybe fork and publish the fix mentioned in https://github.com/carmen-ruby/carmen/pull/298?

@siaw23 - It looks like carmen is only used to lookup state codes for USA.  I think we can just remove it and use a ruby hash to look those up?  I think when I originally added the carmen dependency, I expected us to be able to use it for other country and province lookups.
Let me know if you're okay with that approach, and I can submit a PR.

I'm OK with that approach. I think we only look up states for USA so we might not need Carmen after all. Please submit a PR if you can. @Jberczel

We have a fix for this thanks to @Jberczel. @apotheon you can upgrade to see if this works as should. 😀

The code looks functional and the fix works well so far.  Thanks!


Proper cleanup of thread-specific error data relies on particular sequence of key creation

I have a test binary that started complaining about memory leaks upon upgrading 1.1.0g to 1.1.0h:
Direct leak of 5256 byte(s) in 9 object(s) allocated from:
    #0 0x4f000c in __interceptor_malloc /x/eng/toolchain/prod/llvm_release_50/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:67:3
    #1 0x2b296ad3ae2e in CRYPTO_malloc (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libcrypto.so.1.1+0x1d5e2e)
    #2 0x2b296ad3ae9f in CRYPTO_zalloc (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libcrypto.so.1.1+0x1d5e9f)
    #3 0x2b296ad028f1 in ERR_get_state (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libcrypto.so.1.1+0x19d8f1)
    #4 0x2b296ad029b9 in ERR_clear_error (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libcrypto.so.1.1+0x19d9b9)
    #5 0x2b296af0ed10  (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libssl.so.1.1+0x5dd10)
    #6 0x2b296af0f386 in ossl_statem_accept (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libssl.so.1.1+0x5e386)
    #7 0x2b296aefd50e in SSL_do_handshake (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libssl.so.1.1+0x4c50e)
    #8 0x2b296aefd369 in SSL_accept (/x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/bedrock/internal/linux64.debug.asan/utest-l/lib/libssl.so.1.1+0x4c369)
    #9 0x55285a in ListenerTestSuite::serverSslHandshake(int) /x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/./src/tests/syslog_fwd.ut:569:23
    #10 0x552163 in ListenerTestSuite::listenerThread(void*) /x/eng/bbrtp/users/jwalch/update_11_4820913_1804031335/apps/lib/libmsg_fwd/./src/tests/syslog_fwd.ut:591:35
    #11 0x2b296b5b6e0f in start_thread /u/hiralo/TGB/git/depot.prod.rats.tools.ustools_llvm/epi/build/x86_64-redhat-rhel6/glibc-2.12.1/nptl/pthread_create.c:301

SUMMARY: AddressSanitizer: 5256 byte(s) leaked in 9 allocation(s).

I ran under GDB and encountered a snippet that had me scratching my head for some time:
(gdb) b pthread_setspecific if $rdi == 1
Breakpoint 1 at 0x434ce0
(gdb) b err_delete_thread_state
Function "err_delete_thread_state" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (err_delete_thread_state) pending.
(gdb) run
[...]
[New LWP 5975]
[Switching to LWP 5975]

Breakpoint 1, __pthread_setspecific (key=1, value=0x7fff98000a20) at pthread_setspecific.c:29
29      in pthread_setspecific.c
(gdb) bt
#0  __pthread_setspecific (key=1, value=0x7fff98000a20) at pthread_setspecific.c:29
#1  0x00007ffff78960bc in CRYPTO_THREAD_set_local (key=0x7ffff798d654 <err_thread_local>, val=0x7fff98000a20) at crypto/threads_pthread.c:127
[...]
#10 0x00007ffff6fd5e10 in start_thread (arg=0x7fffa225c710) at pthread_create.c:301
#11 0x00007ffff6376b7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb) fin
Run till exit from #0  __pthread_setspecific (key=1, value=0x7fff98000a20) at pthread_setspecific.c:29
0x00007ffff78960bc in CRYPTO_THREAD_set_local (key=0x7ffff798d654 <err_thread_local>, val=0x7fff98000a20) at crypto/threads_pthread.c:127
127         if (pthread_setspecific(*key, val) != 0)
Value returned is $1 = 0
(gdb) c
Continuing.

Breakpoint 2, err_delete_thread_state () at crypto/err/err.c:639
639         ERR_STATE *state = CRYPTO_THREAD_get_local(&err_thread_local);
(gdb) bt
#0  err_delete_thread_state () at crypto/err/err.c:639
[...]
#3  0x00007ffff6fd5bd2 in __nptl_deallocate_tsd () at pthread_create.c:154
#4  0x00007ffff6fd5e1e in start_thread (arg=0x7fffa225c710) at pthread_create.c:308
#5  0x00007ffff6376b7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb) s
CRYPTO_THREAD_get_local (key=0x7ffff798d654 <err_thread_local>) at crypto/threads_pthread.c:122
122         return pthread_getspecific(*key);
(gdb) p *key
$2 = 1
(gdb) fin
Run till exit from #0  CRYPTO_THREAD_get_local (key=0x7ffff798d654 <err_thread_local>) at crypto/threads_pthread.c:122
0x00007ffff77e4a61 in err_delete_thread_state () at crypto/err/err.c:639
639         ERR_STATE *state = CRYPTO_THREAD_get_local(&err_thread_local);
Value returned is $3 = (void *) 0x0

The set succeeded, but the get returns NULL? Didn't make any sense.
Then I realized that err_delete_thread_state was being called as a consequence of the handler of the key=2 data (ossl_init_thread_stop). Since it's in order, the key=1 thread-specific data was long gone.
Basically, in order for the data associated with err_thread_local to be properly cleaned up, that key has to be registered (via CRYPTO_THREAD_init_local & then pthread_key_create) AFTER threadstopkey (which registers the handler). I believe that was always the case prior to https://github.com/openssl/openssl/commit/aef84bb4efbddfd95d042f3f5f1d362ed7d4faeb,
but is not necessarily the case afterward.
To avoid this sort of issue, the registration of err_thread_local should have its own accompanying cleanup handler. I modified the code to do this (basically just calling ERR_STATE_free on the pointer passed to the callback), and it resolved the leak (at least according to ASAN, in this application).

What happens if you call OPENSSL_init_crypto(0, NULL);
in the main thread?

I mean before any other thread is stared.

I'm not too concerned with what application code changes my resolve the issue. Ideally an application should be able to link against a new security release without any code changes and not see a new perceived memory leak.
The other side of it is that a selling point of 1.1.x over 1.0.2 is that explicit initialization / de-initialization of the library is no longer necessary. It's even mentioned in the man page:

As of version 1.1.0 OpenSSL will automatically allocate all resources that it needs so no explicit initialisation is required. Similarly it will also automatically deinitialise as required.

If the documentation didn't make such promises about the library handling its own resource management, having expectations on the client would more reasonable. (Say, for example, this type of issue had been introduced in a 1.0.2 security release.)
I'm surprised you see the issue in 1.1.0g. My test application does NOT report the leak against that version.
I should note that I don't believe https://github.com/openssl/openssl/commit/aef84bb4efbddfd95d042f3f5f1d362ed7d4faeb is fundamentally buggy. I understand the leak it addresses (and to which you refer). This seems to me to be one of those pernicious issues that arise when undocumented dependencies exist in code; "good" changes expose existing bugs by modifying a behavior that was never guaranteed (but which the "bad" code relied upon for correct operation).
IMO the real bug here is that the memory in question is associated with a different "key" than the one it is cleaned up with.

I think this was always a latent bug, apparently something changed between 1.1.0g and 1.1.0h
that made your thread invoke ERR_get_error before OPENSSL_init_crypto.
While it previously was the other way round.
I am a bit concerned about this comment in crypto/init.c:
DEFINE_RUN_ONCE_STATIC(ossl_init_base)
{
#ifdef OPENSSL_INIT_DEBUG
    fprintf(stderr, "OPENSSL_INIT: ossl_init_base: Setting up stop handlers\n");
#endif
    /*
     * We use a dummy thread local key here. We use the destructor to detect
     * when the thread is going to stop (where that feature is available)
     */
    CRYPTO_THREAD_init_local(&threadstopkey, ossl_init_thread_stop_wrap);
#ifndef OPENSSL_SYS_UEFI
    atexit(OPENSSL_cleanup);
#endif
    if ((init_lock = CRYPTO_THREAD_lock_new()) == NULL)
        return 0;
    OPENSSL_cpuid_setup();

    /*
     * BIG FAT WARNING!
     * Everything needed to be ini
DEFINE_RUN_ONCE_STATIC(ossl_init_base)
{
#ifdef OPENSSL_INIT_DEBUG
    fprintf(stderr, "OPENSSL_INIT: ossl_init_base: Setting up stop handlers\n");
#endif
    /*
     * We use a dummy thread local key here. We use the destructor to detect
     * when the thread is going to stop (where that feature is available)
     */
    CRYPTO_THREAD_init_local(&threadstopkey, ossl_init_thread_stop_wrap);
#ifndef OPENSSL_SYS_UEFI
    atexit(OPENSSL_cleanup);
#endif
    if ((init_lock = CRYPTO_THREAD_lock_new()) == NULL)
        return 0;
    OPENSSL_cpuid_setup();

    /*
     * BIG FAT WARNING!
     * Everything needed to be initialized in this function before threads
     * come along MUST happen before base_inited is set to 1, or we will
     * see race conditions.
     */
    base_inited = 1;
tialized in this function before threads
     * come along MUST happen before base_inited is set to 1, or we will
     * see race conditions.
     */
    base_inited = 1;

Because what this bug exposes is exactly a race between two threads initializing
OPENSSL_init_crypto.  Thread sanitizer reports a race here.


Exclude malformed swagger file

I have to exclude this file from readme, because this swagger is malformed and causes problems in go SDK.
To be specific, it has a "discriminator" on line 450, and the discriminator-value on line 484 and line 500 collide with each other, causing ambiguity by saying there are two different models but both have value of LogicApp

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

/openapi sdkautomation

/azp run automation - sdk

/azp run automation - sdk

/openapi sdkautomation

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@ArcturusZhang  Does this change have affect for other SDK?

After elaborating with my colleagues, we cannot just remove the automations.json from all tags.
A new PR has been created that should fix the issue:
https://github.com/Azure/azure-rest-api-specs/pull/7895

In honor of #7895 , closing this pr.
@mikreite just FYI, the most recent go SDK major version release will rule out this swagger file.

thank you


Add proposal: Prefix * Varargs Splat Operator for Arrays

This is a revised version of the 'pass arrays as varargs proposal' to address core team & community feedback.
Pitch thread: here
Original implementation: here
If this new version looks like it might move forward, I can update the implementation to reflect the revised proposal.

closing out old PRs


modifies #first and #last to accept a count as a second parameter

Greetings!
A small change to your gem; allows #first and #last to take a second parameter number, so you can see when the next 5 (or last 5) occurrences of a cron will take place.
cron_parser = CronParser.new('0,30 * * * *')
=> #<CronParser:0x007fb6abe7d3d0 @source="0,30 * * * *", @time_source=Time>
next_comming_time = cron_parser.next(Time.now)
=> 2014-06-14 21:30:00 -0400
next_comming_time = cron_parser.next(Time.now, 4)
=> [2014-06-14 21:30:00 -0400, 2014-06-14 22:00:00 -0400, 2014-06-14 22:30:00 -0400, 2014-06-14 23:00:00 -0400]
next_comming_time = cron_parser.last(Time.now, 4)
=> [2014-06-14 21:00:00 -0400, 2014-06-14 20:30:00 -0400, 2014-06-14 20:00:00 -0400, 2014-06-14 19:30:00 -0400]

added some coverage to verify functionality

looks like this feature never got published. Could you do a release with this please?


How to use generated client with authorization bearer token?

Problem statement
I'm not sure how to use the generated client with an authorization bearer token header.  I've generated the client from this swagger.json:
swagger generate client -f ./swagger.json

It generated many clients, the one I'm trying to use is in client/vehicle_stats/vehicle_stats_client.go:
package vehicle_stats

import (
	"github.com/go-openapi/runtime"
	"github.com/go-openapi/strfmt"
)

// New creates a new vehicle stats API client.
func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService {
	return &Client{transport: transport, formats: formats}
}

// Client for vehicle stats API
type Client struct {
	transport runtime.ClientTransport
	formats   strfmt.Registry
}

// ClientService is the interface for Client methods
type ClientService interface {
	GetVehicleStats(params *GetVehicleStatsParams) (*GetVehicleStatsOK, error)
	GetVehicleStatsFeed(params *GetVehicleStatsFeedParams) (*GetVehicleStatsFeedOK, error)
	GetVehicleStatsHistory(params *GetVehicleStatsHistoryParams) (*GetVehicleStatsHistoryOK, error)
	SetTransport(transport runtime.ClientTransport)
}

func (a *Client) GetVehicleStats(params *GetVehicleStatsParams) (*GetVehicleStatsOK, error) {
       // ...
}

I have seen the document from https://goswagger.io/generate/client.html#authentication.  However, that seem out-of-date since I don't see anything like client.Operations.All.
Any idea how to use GetVehicleStats with an authorization header and bearer token?
Swagger specification
https://raw.githubusercontent.com/samsarahq/api-docs/master/swagger.json
Environment
swagger version: 2.0
go version: 1.15.3 darwin/amd64
OS:  macOS Big Sur version 11.2.1 (20D74)

See examples provided with #2243 and #1972

@ejstembler Did you manage to resolve this by the way? I'm running into a similar issue myself.

@ejstembler Did you manage to resolve this by the way? I'm running into a similar issue myself.

@michaeldabbott No, I eventually gave up and decided against using it...

@ejstembler Did you manage to resolve this by the way? I'm running into a similar issue myself.

@michaeldabbott No, I eventually gave up and decided against using it...

Ironically I'm about to strip it out for gRPC instead

@ejstembler Actually found the solution. Running go mod vendor and flattening the dependency tree fixed the issue for me. Just incase you ever wanted to re-vist it.

You have to define the authorization header in your spec, and generate your client with the principal flag to get the authwriter stuff.

@casualjim  Think the outstanding issue was this following error - cannot use newTransport() (type *customTransport) as type "github.com/go-openapi/runtime".ClientTransport in argument to "fleet_map/client".New:
*customTransport does not implement "github.com/go-openapi/runtime".ClientTransport (missing Submit method)

That sounds like a code versioning issue. Have you tried to upgrade your dependencies?

For anybody coming here later:
to get the example above to work, it needs to be something like:
import (
    "github.com/your/package/generated-client/client"
    httptransport "github.com/go-openapi/runtime/client"
)

type customTransport struct {}

func (c *customTransport) RoundTrip(r *http.Request) (*http.Response, error) {
	....
}

func doSetupClient() {
	cfg := client.DefaultTransportConfig()
	cliTransport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes)
	cliTransport.Transport = customTransport{}
	cli := client.New(cliTransport, nil)
	....
}


[Quit Applications] ...

Extension
https://www.raycast.com/mackopes/quit-applications
Description
The Icon of the application, inline before the name.
Who will benefit from this feature?
I imagine the majority, it would help with quicker ID of any apps to quit.
Anything else?
No response

Just for visibility: this is a duplicate of the Issue 4007.
I will look into this in the upcoming weeks when I'll have some spare time

@mattie-g I merged a PR adding this functionality. feel free to check it out and close this task if you feel like this issue has been resolved :)


Non migrable volumes

this branch tested following PRs:

haproxy: update to version 1.8.12
update to consul 1.2.1
 consul/handler: add non migrable label volume support
Refactor, handler as python package + do no self called while launcing unittest
here are the logs:

$ run-contexts -s -v tests/
When deploying a service that bind a relative path
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: bind_relative_path with following payload: '{"branch": "bind_relative_path", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": null}'
INFO:integration_testing.tests.cluster:Event deploy takes 18s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 4 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
  PASS: service should return HTTP code 200
  PASS: bind directory should be availaible in container
  PASS: bind file should be availaible in container
  PASS: service should be clone in the expected directory
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: bind_relative_path with following payload: '{"branch": "bind_relative_path", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 7s to consume
When deploying service with a new master
Clonage dans '/tmp/tmpkvzmxnox'...
remote: Counting objects: 178, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 178 (delta 9), reused 15 (delta 5), pack-reused 158
Réception d'objets: 100% (178/178), 26.40 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (93/93), fait.
Décompte des objets: 1, fait.
Écriture des objets: 100% (1/1), 171 bytes | 0 bytes/s, fait.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:mlfmonde/cluster_lab_test_service
 + 724edb7...809dd24 test_remove_volume -> test_remove_volume (forced update)
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: test_remove_volume with following payload: '{"branch": "test_remove_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core4", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 351s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 5 s)
Clonage dans '/tmp/tmp5yi8y_hv'...
remote: Counting objects: 178, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 178 (delta 9), reused 15 (delta 5), pack-reused 158
Réception d'objets: 100% (178/178), 26.40 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (93/93), fait.
Décompte des objets: 1, fait.
Écriture des objets: 100% (1/1), 170 bytes | 0 bytes/s, fait.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:mlfmonde/cluster_lab_test_service
 + 809dd24...e4bfd78 test_remove_volume -> test_remove_volume (forced update)
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: test_remove_volume with following payload: '{"branch": "test_remove_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 30s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 9 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 4 s)
  PASS: replicate anyblok volume should not be scheduled
  PASS: consul service should be registered on the master node
  PASS: cache volume must exists on master
  PASS: btrfs pg volume should exists only on master
  PASS: service should be clone in the expected directory
  PASS: test service containers should run
  PASS: kv must know 1 btrfs volumes
  PASS: master salve should be correct in kv store
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: btrfs anyblok volume should not exists on master anymore
  PASS: service should return freshly created db record
  PASS: anyblok fsdata should not be there
  PASS: non btrfs volume should not get schedule
  PASS: purge pg volume must be scheduled
  PASS: purge anyblok volume should not be scheduled
  PASS: a key must be in the kv store
  PASS: replicate pg volume must be scheduled
  PASS: anyblok cache directory should not have the file
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: test_remove_volume with following payload: '{"branch": "test_remove_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
When deploying service with a new master
Clonage dans '/tmp/tmplon7ulsa'...
remote: Counting objects: 178, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 178 (delta 10), reused 14 (delta 5), pack-reused 158
Réception d'objets: 100% (178/178), 26.32 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (94/94), fait.
Décompte des objets: 1, fait.
Écriture des objets: 100% (1/1), 168 bytes | 0 bytes/s, fait.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:mlfmonde/cluster_lab_test_service
 + 641b07c...bdbed9f test_add_volume -> test_add_volume (forced update)
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: test_add_volume with following payload: '{"branch": "test_add_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core4", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 16s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 9 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 4 s)
Clonage dans '/tmp/tmpe5uza9kk'...
remote: Counting objects: 178, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 178 (delta 10), reused 14 (delta 5), pack-reused 158
Réception d'objets: 100% (178/178), 26.32 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (94/94), fait.
Décompte des objets: 1, fait.
Écriture des objets: 100% (1/1), 169 bytes | 0 bytes/s, fait.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:mlfmonde/cluster_lab_test_service
 + bdbed9f...f88d7c7 test_add_volume -> test_add_volume (forced update)
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: test_add_volume with following payload: '{"branch": "test_add_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core4", "slave": "core1"}'
INFO:integration_testing.tests.cluster:Event deploy takes 21s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 5 s)
  PASS: consul service should be registered on the master node
  PASS: service should be clone in the expected directory
  PASS: a key must be in the kv store
  PASS: test service containers should run
  PASS: anyblok fsdata should not be there
  PASS: cache volume must exists on master
  PASS: non btrfs volume should not get schedule
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: replicate pg volume must be scheduled
  PASS: btrfs anyblok volume should exists on master
  PASS: purge pg volume must be scheduled
  PASS: kv must know 2 btrfs volumes
  PASS: master salve should be correct in kv store
  PASS: btrfs pg volume should exists only on master
  PASS: service should return freshly created db record
  PASS: purge anyblok volume must be scheduled
  PASS: replicate anyblok volume must be scheduled
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: test_add_volume with following payload: '{"branch": "test_add_volume", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
When deploying a service that copy symlink while building image
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: build_copy_symlink with following payload: '{"branch": "build_copy_symlink", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": null}'
INFO:integration_testing.tests.cluster:Event deploy takes 16s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 4 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
  PASS: service should be clone in the expected directory
  PASS: service should return HTTP code 200
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: build_copy_symlink with following payload: '{"branch": "build_copy_symlink", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
When switch to maintenance hapx config is disabled
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core2", "slave": "core1"}'
INFO:integration_testing.tests.cluster:Event deploy takes 334s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
ssh: connect to host service.cluster.lab port 2244: Connection refused
  PASS: anyblok ssh should be inaccessible
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 7s to consume
When deploying service master slave becomes slave master
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core3", "slave": "core4"}'
INFO:integration_testing.tests.cluster:Event deploy takes 17s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 9 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core4", "slave": "core3"}'
INFO:integration_testing.tests.cluster:Event deploy takes 21s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
  PASS: btrfs pg volume should exists only on master
  PASS: service should return freshly created db record
  PASS: replicate pg volume must be scheduled
  PASS: consul service should be registered on the master node
  PASS: btrfs anyblok volume should exists on master
  PASS: replicate anyblok volume must be scheduled
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: non btrfs volume should not get schedule
  PASS: purge anyblok volume must be scheduled
  PASS: test service containers should run
  PASS: cache volume must exists on master
  PASS: service should be clone in the expected directory
  PASS: anyblok fsdata should be there
  PASS: kv must know 2 btrfs volumes
  PASS: a key must be in the kv store
  PASS: master salve should be correct in kv store
  PASS: purge pg volume must be scheduled
  PASS: anyblok cache directory should not have the file
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
When migrate data between services
INFO:root:start cleanup applications
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: without_caddyfile with following payload: '{"branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core3", "slave": "core4"}'
INFO:integration_testing.tests.cluster:Event deploy takes 18s to consume
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: qualif with following payload: '{"branch": "qualif", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 15s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 0 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 0 s)
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.qualif.cluster.lab gets expected http code 200 (in 5 s)
INFO:integration_testing.tests.cluster:Emit migrate event for ref/branch: qualif with following payload: '{"target": {"branch": "qualif", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}, "branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event migrate takes 12s to consume
INFO:root:uri http://service.qualif.cluster.lab gets expected http code 200 (in 16 s)
  PASS: qualif fsdata using non migrable volume should return qualif content
  PASS: qualif cache directory should return qualif content
  PASS: qualif fsdata should return migrate content
  PASS: qualif service should not return qualif db record
  PASS: prod cache directory should return prod content
  PASS: prod fsdata should not return qualif content
  PASS: prod service should return created prod db record
  PASS: prod cache directory should not return qualif content
  PASS: qualif cache directory should not return prod content
  PASS: test qualif containers should run
  PASS: qualif fsdata should not return prod content
  PASS: prod fsdata should return prod content
  PASS: qualif service should return created prod db record
  PASS: prod fsdata should not return migrate content
  PASS: prod service should not return qualif db record
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: without_caddyfile with following payload: '{"branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 7s to consume
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: qualif with following payload: '{"branch": "qualif", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 5s to consume
When deploying service master slave using new nodes as slave master using haproxy
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: without_caddyfile with following payload: '{"branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": "core4"}'
INFO:integration_testing.tests.cluster:Event deploy takes 19s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 5 s)
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: without_caddyfile with following payload: '{"branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core3", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 21s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 5 s)
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: replicate pg volume must be scheduled
  PASS: a key must be in the kv store
  PASS: cache volume must exists on master
  PASS: master salve should be correct in kv store
  PASS: anyblok cache directory should not have the file
  PASS: btrfs anyblok volume should exists on master
  PASS: anyblok fsdata should be there
  PASS: service should be clone in the expected directory
  PASS: kv must know 2 btrfs volumes
  PASS: btrfs pg volume should exists only on master
  PASS: purge pg volume must be scheduled
  PASS: purge anyblok volume must be scheduled
  PASS: non btrfs volume should not get schedule
  PASS: replicate anyblok volume must be scheduled
  PASS: service should return freshly created db record
  PASS: test service containers should run
  PASS: consul service should be registered on the master node
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: without_caddyfile with following payload: '{"branch": "without_caddyfile", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
When deploying a new service master slave
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core1", "slave": "core2"}'
INFO:integration_testing.tests.cluster:Event deploy takes 19s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
  PASS: service should return HTTP code 200
  PASS: test service containers should run
  PASS: btrfs pg volume should exists only on master
  PASS: a key must be in the kv store
  PASS: purge anyblok volume must be scheduled
  PASS: consul service should be registered on the master node
  PASS: master salve should be correct in kv store
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: kv must know 2 btrfs volumes
  PASS: cache volume must exists on master
  PASS: replicate pg volume must be scheduled
  PASS: purge pg volume must be scheduled
  PASS: non btrfs volume should not get schedule
  PASS: service should be clone in the expected directory
  PASS: replicate anyblok volume must be scheduled
  PASS: btrfs anyblok volume should exists on master
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 7s to consume
When deploying service with same slave master
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core2", "slave": "core3"}'
INFO:integration_testing.tests.cluster:Event deploy takes 18s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
INFO:integration_testing.tests.cluster:Emit deploy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service", "master": "core2", "slave": "core3"}'
INFO:integration_testing.tests.cluster:Event deploy takes 23s to consume
INFO:root:--wsgi-host <IP_ADDRESS> where found in line b'anyblok_pyramid -c app.dev.cfg --wsgi-host <IP_ADDRESS>\n' (in 8 s)
INFO:root:uri http://service.cluster.lab gets expected http code 200 (in 1 s)
  PASS: btrfs anyblok volume should exists on master
  PASS: master salve should be correct in kv store
  PASS: test service containers should run
Warning: Permanently added '[service.cluster.lab]:2244,[<IP_ADDRESS>]:2244' (ECDSA) to the list of known hosts.
  PASS: anyblok ssh should be accessible
  PASS: replicate pg volume must be scheduled
  PASS: purge pg volume must be scheduled
  PASS: non btrfs volume should not get schedule
  PASS: purge anyblok volume must be scheduled
  PASS: replicate anyblok volume must be scheduled
  PASS: kv must know 2 btrfs volumes
  PASS: service should be clone in the expected directory
  PASS: consul service should be registered on the master node
  PASS: anyblok fsdata should be there
  PASS: cache volume must exists on master
  PASS: a key must be in the kv store
  PASS: btrfs pg volume should exists only on master
  PASS: service should return freshly created db record
INFO:root:start cleanup applications
INFO:integration_testing.tests.cluster:Emit destroy event for ref/branch: master with following payload: '{"branch": "master", "repo": "https://github.com/mlfmonde/cluster_lab_test_service"}'
INFO:integration_testing.tests.cluster:Event destroy takes 6s to consume
----------------------------------------------------------------------
PASSED!
10 contexts, 126 assertions
(1524.8 seconds)


[GSSoC'23] ML project to detect Spam Email's

Describe the project you want to add with tech stack
The project aims to develop a machine learning-based system for detecting spam emails. The goal is to build a robust model that can accurately classify incoming emails as either spam or non-spam (ham) based on their content and characteristics.
Tech Stack: Python,Scikit-learn, NLTK, Pandas
Expected behavior
This is a reliable spam email detection ML project that can accurately classify all the incoming e-mails as a spam or non-spam mails and gives them seperately.

Please assign me this issue.

Hey @ManasaKaza , is it possible that we work this out together, I was planning for a simple Streamlit GUI for the same.
Refer to Issue #1275
Reply if feasible.

Sure @pooranjoyb let's do it.

Let's get assigned then we can start. @ManasaKaza @pranjay-poddar 😄


Jesse: Watch cbainfotech.com

Jesse requests the watch of the watch_keyword cbainfotech\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

cbainfotech\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


api call bug:

Discussed in https://github.com/jaredhendrickson13/pfsense-api/discussions/531

Originally posted by ouyoung33 August  5, 2024
api call bug: When I manually create dnat,Nat will default "filter rule association" to "rule nat" to implement forwarding and connect to my internal machine; But when I create a dnat rule using the api, the "filter rule association" is "pass" but no forwarding is actually implemented, and I can't connect to my internal machine through dnat

Hi
this question has been asked and its in this issues https://github.com/jaredhendrickson13/pfsense-api/issues/275
its has been implemented in the branch minor_patch
you can follow the issues  above
thanks

Hello, the scenario we are using now is as follows: using zerotrust to give the user portal access to the server, the api will be called before accessing the server to create a rule with a validity period; Our implementation is based on v1. At present, more users rely on this scheme. During operation and maintenance, there is no way to manually change the port-forward rule through the GUI
Therefore, I would like to ask if this requirement /Bug can be modified in v1, and when will the version be released? Or whether other command lines can be used to change the port forward

Hello, the scenario we are using now is as follows: using zerotrust to give the user portal access to the server, the api will be called before accessing the server to create a rule with a validity period; Our implementation is based on v1. At present, more users rely on this scheme. During operation and maintenance, there is no way to manually change the port-forward rule through the GUI Therefore, I would like to ask if this requirement /Bug can be modified in v1, and when will the version be released? Or whether other command lines can be used to change the port forward

Hi thanks for the reply
But the version we talking about that support create rule with port forward will not be release soon
You need to fork your own version of pfsense api implement its then install its on a freebsd vps
There is a doc for install your own version of pfsense api
https://pfrest.org/CONTRIBUTING/#building-the-package-from-source
Best regards.

In which branch can we provide the code to fix this function? Is it v1 or v2

Just so I know we're on the same page here, for the filter rule association there are 3 types that behave slightly differently:

Associated: Creates a new firewall rule objects automatically based off the criteria defined in the port forward rule to pass matching traffic. As @lechuhuuha mentioned, the ability to add an associated firewall rule is implemented in the next_minor branch and will be available in v2.1.0 which should be released later this month. This only applies to v2 however.
Unassociated (none): Traffic matching the port forward is not automatically passed and you must create the firewall rule to pass the traffic yourself. This is already present in v2, but not v1.
Pass: Traffic matching the port forward is automatically passed without the need for a separate firewall rule. This is available in v2 and is the only supported option for v1. This should be sufficient in most cases unless you have a multi-WAN setup.

For v1, the associated rule feature will not be implemented as v1 is missing the object relation mechanisms necessary and would require a good amount of custom logic to implement properly. However, I am open to allowing v1 to use an unassociated rule for multi-WAN setups if that is sufficient for you.

Thank you for your reply. We have another situation:when the rule is first set, the default is pass, which is not connected to our server at that time, and wait for a night and the next day it can take effect and connect to our server

Are you making a POST request to /api/v1/firewall/apply after your rules/port forwards are set? They aren't applied on the backend immediately by default to prevent restarting services multiple times.
You can also double check that your rule has been applied afterwards by running cat /tmp/rules.debug from the command line. The port forwards utilizing pass will appear starting with rdr pass, you should see one matching the criteria set in your port forward.


[Bug]: train_batch_size for EfficientAd should be 1.

Describe the bug
Thank you very much for your contribution. I got an error when using EfficientAd: ValueError: train_batch_size for EfficientAd should be 1. So I referred to src\anomalib\models\image\efficient_ad\README.md and used the following command: anomalib train --model EfficientAd --data anomalib.data.MVTec --data.category  --data.train_batch_size 1, but still got the following error:

Can you help me solve it?
Dataset
N/A
Model
N/A
Steps to reproduce the behavior
anomalib train --model EfficientAd --data anomalib.data.MVTec --data.category  --data.train_batch_size 1
OS information
OS information:

OS: win10
Python version:3.10.0
Anomalib version: newest
PyTorch version: 2.3.1
CUDA/cuDNN version: 12.5
GPU models and configuration: GeForce RTX 3090
I'm using a custom dataset

Expected behavior
start train EfficientAd
Screenshots
No response
Pip/GitHub
pip
What version/branch did you use?
No response
Configuration YAML
model:
  class_path: anomalib.models.EfficientAd
  init_args:
    teacher_out_channels: 384
    model_size: S
    lr: 0.0001
    weight_decay: 1.0e-05
    padding: false
    pad_maps: true

metrics:
  pixel:
    - AUROC
    - F1Score
    - AUPRO
  image:
    - AUROC
    - F1Score

trainer:
  max_epochs: 1000
  max_steps: 70000

Logs
no

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, please double-check your configuration files, especially miniLED.yaml. I have tried this code below, and it works:
anomalib train --model EfficientAd --data anomalib.data.MVTec --data.category bottle --data.train_batch_size 1

I agree with @blaz-r and @abc-125. From the error, it looks like you have batch size argument in your trainer config.
I've also tried the following command and it works.
anomalib train --model EfficientAd --data anomalib.data.MVTec --data.category transistor --data.train_batch_size 1

I would check the trainer config, from which I could remove train_batch_size
I'm closing this since I believe it is not a bug. Feel free to comment here and re-open if needed. Cheers

Would anyone know why excatly the batchsize has to be 1?


llm_prompt returns boolean instead of pydantic model

hello,
Thank you for building this!!
I am having the issue that on many occasions, even if my function outputs a pydantic model, the llm_prompt decorated function returns boolean (true/false). When I look at the logs even if it prints the proper json object at the end, but it returns true, so I am asuming it's a bug. I solved it with a retry for now. Any ideas why this would be?
Mihai

So partly yes... I've noticed that if the json could not be parsed, it returns false..
I believe that this was an intent in the early days to allow you test
if not llm_output:
   # do something

Ive ran into this on several occasions and didnt like it because the resulting error is often something like None has not Key or some other misleading error...
but since the other option is to raise an exception anyway, i didnt look into that yet.
Can you compare the original JSON and the retried one? I assume that there will be a difference, which could mean that your prompt could be improved.
If you can share prompt template, outputs and llm you're using i might be able to give you a hint

pls can you provide an example input / call ?
also can you pls provide the Raw LLM output during successful and not successful calls? If you cant provide the data, pls let me know if they are the same?
two things that come to my mind...
First is that you should probably add some instruction that the {FORMAT_INSTRUCTIONS} are instrucitons:
for example:
Always reply with in this format:
{FORMAT_INSTRUCTIONS}

The other could be also LLM temperature ... seeing that you have defined your own llm, are you sure you have set temperature = 0?

Thank you @ju-bezdek !
Your suggestions helped, the rate at which I need to retry reduced drastically.


Add support for multiple languages in the UI

Add support for multiple languages to the web client

@santiagolizardo
I could translate in french if you want.

That would be great @psyray . There is some info on how to translate the UI here: https://docs.reconmap.com/development/translations.html
Let me know if you need any help with that. I can create the empty French files if you wish. Thanks!

I want to start the translation but it seems there isn't so much strings to translate, is it normal ?

Most strings have now been translated. (https://github.com/reconmap/web-client/blob/master/packages/app/src/translations/fr/application.json) Thanks anyway, @psyray !


Ab#58252

Superseded by #4. Hotfix will not be created. Customers should upgrade to 1.1.0 or higher


feat: upgrade dependencies to use Java 17 and jakarta

I upgraded some Dependencies to be able to build and run this Application with Java 17 and Jakarta Classes.

As a heavy user of the validator, we embed the jar as a dependency. As the infrastructure partly runs on a java 11 stack, these code changes would make it impossible to ship it the current way. It would be great to have multiple target runtimes with that switch the jakarta/javax dependencies and different target java versions instead of replacing the current one.

Are you using Version 1.5.0 normaly?

Sorry, I was totally confused by all the components of eforms. We are not using it, no issue with that!


Fix bookkeeping overflow

Fixes #199.
Bookkeeping figures overflow due to the lack of checks.
Let's impose a reasonable limit ($999, 999, 999) onto Bookkeeping figures. Revenue or costs above the limit will not be considered. This allows us to perform overflow checks.

Codecov Report

Merging #202 (4deaced) into master (8212590) will decrease coverage by 0.06%.
The diff coverage is 95.83%.

@@             Coverage Diff              @@
##             master     #202      +/-   ##
============================================
- Coverage     77.32%   77.25%   -0.07%
+ Complexity      808      807       -1
============================================
  Files            99       99
  Lines          2187     2181       -6
  Branches        311      310       -1
============================================
- Hits           1691     1685       -6
- Misses          382      383       +1
+ Partials        114      113       -1

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...main/java/seedu/address/model/TransactionList.java
100.00% <ø> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
12.50% <0.00%> (ø)

.../java/seedu/address/logic/commands/AddCommand.java
83.87% <100.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
89.58% <100.00%> (ø)

src/main/java/seedu/address/model/BookKeeping.java
87.09% <100.00%> (+2.24%)
:arrow_up:

...rc/main/java/seedu/address/model/ModelManager.java
91.36% <100.00%> (-0.13%)
:arrow_down:

...u/address/storage/JsonSerializableBookKeeping.java
100.00% <100.00%> (ø)

src/main/java/seedu/address/model/UserPrefs.java
94.87% <0.00%> (-2.57%)
:arrow_down:

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 8212590...4deaced. Read the comment docs.


mail sending error .

how can i see the error logs of unsuccessful mail requests? mails are going thru smoothly when i am using mailtrap, but not working when i am using my websites smtp settings.

You can use telescope to find whats going inside your laravel application


Saving Account un-hide

I created 2 Savings Account
Changed the name of all the accounts including the Checking Account
Hide all the three accounts
Not able to unhide them

Then I also hid the Donations and Swan account. Not able to unhide them either.
Restored the wallet on another device, still not able to see any account.

Verifiy this issue on staging app v2.0.6(384)


WIP: support closures for all arguments in lax.root

For discussion in https://github.com/google/jax/issues/1448
Currently this PR presents two APIs for the same core functionality, but we probably only want one of them:

lax.custom_root(f, initial_guess, solve, tangent_solve)
lax.define_implicit_gradient(f, x, tangent_solve)

Closing in favor of https://github.com/google/jax/pull/1570


Don't coerce nil for collection attributes when required is false

Without this fix, collection attributes can never be set to nil when
coercion is enabled (because the coercer coerces nil to an empty array).
This should fix #334.
I originally suggested a change in a more central location, see this comment, but looking at the specs it seemed more appropriate to make this change only for collection attributes.

:+1:


fixed itemToString warning issue

What:
https://github.com/paypal/downshift/issues/342

Why:
Don't want to have warning message displayed when there are no issues

How:
Not allowing item to be set to an empty object

Checklist:

[ ] Documentation N/A
[ ] Tests N/A
[x] Ready to be merged

[x] Added myself to contributors table

Codecov Report

Merging #344 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #344   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         327    327
  Branches       84     83    -1
=====================================
  Hits          327    327

Impacted Files
Coverage Δ

src/downshift.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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