travis builds

@armaneshaghi - looks like we need several different options for travis builds

i'd like to be able to automate releases from travis

would also like to see RMD check results ( has to be done separately from above )

coverage numbers would be nice - but this seems to time out

seems that , b/c of limited travis time, we can't do all at once ...
any ideas about how to approach this?

Brian,
I'm working on coverage numbers, there is still an issue I have opened on covr package, still waiting for their response.
To speed up travis build and find time for R CMD checks  we need to separate ITK from ANTsR. I have been thinking about this and it is possible, if we automatically build ITK repo and upload it somewhere  (independent of ANTsR). This could be automated to minimise maintenance.
We can automate releases from travis, we can deploy Amazon's S3, for example. But let's postpone this when we have resolved the above issues, which I think are more essential now.
I'm now working on coverage numbers + writing test codes.

https://github.com/jimhester/covr/issues/55

good to know - @jeffduda  was also thinking about an itkR package which would also help ... such packages dont need to be very complex and may be low maintenance as well.

This is a fairly minimal combo of ITK and R. Works on OSX but working on
some linking issues in linux.
https://github.com/jeffduda/itkBSplineR
On Tue, Feb 10, 2015 at 7:43 AM, stnava<EMAIL_ADDRESS>wrote:

good to know - @jeffduda https://github.com/jeffduda was also thinking
about an itkR package which would also help ... such packages dont need to
be very complex and may be low maintenance as well.
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73693131.

thanks this is something we need to do after getting a proper build with travis and coveralls, do you have the make file that could work with this inside ANTs(R)?

main thing that needs to be done is the libraries get packaged / shipped with the installed R package ... then we link to them via something along the lines of  what's done here:
https://github.com/stnava/ANTsR/blob/master/configure#L4-L7
so this itkr package would have to store / return whatever header / library files are needed for compilation.

similarly here:
https://github.com/stnava/ANTsR/blob/master/src/Makevars#L4-L12

Right, my configure and Makevars are basically the same as in ANTsR. If I
point the Makevars to the ANTsR compiled ITK libraries, then it works fine.
So the issue seems to be getting ITK compiled with the correct
settings/flags.
On Tue, Feb 10, 2015 at 11:44 AM, stnava<EMAIL_ADDRESS>wrote:

similarly here:
https://github.com/stnava/ANTsR/blob/master/src/Makevars#L4-L12
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73734370.

From Travis docs, it sounds like there is no time limit for builds, only
for test suites:
http://docs.travis-ci.com/user/build-configuration/#Job-Timeouts  Is that
information incorrect or misleading?
I'd like to avoid splitting ANTsR into a different RITK package if
possible--just one more thing to maintain and keep track of.
On 10 February 2015 at 11:49, Jeffrey Duda<EMAIL_ADDRESS>wrote:

Right, my configure and Makevars are basically the same as in ANTsR. If I
point the Makevars to the ANTsR compiled ITK libraries, then it works fine.
So the issue seems to be getting ITK compiled with the correct
settings/flags.
On Tue, Feb 10, 2015 at 11:44 AM, stnava<EMAIL_ADDRESS>wrote:

similarly here:
https://github.com/stnava/ANTsR/blob/master/src/Makevars#L4-L12
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73734370.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73735428.

it may be a bit more complicated ... i.e. figuring out how to get the built and installed itkR package to properly keep the itk library/header files w/o violating CRAN policies .... then these functions (akin to Rcpp::: ) would just return these locations  ....  if the package is not on cran, then it's not going to be all that useful ...

@bkandel  ultimately we might just keep the same structure we have, assuming we can get over these last 2 hurdles  ... https://github.com/stnava/ANTsR/issues/8#issuecomment-73693477 ...  but i think jeff's itkr package would still be useful if implemented to completion.

Right, the package would definitely have to be on cran or we won't be able
to use it at all.  The only way I see this could help things is if 1) we
get the RITK package on cran 2) installing that via binary package install
from cran is faster than building it from source in antsr 3) The package
exports everything we need so that we can use the necessary functions
without anything illegal, like ':::' calls.  So that's why I'm skeptical
that it's worth the effort.
On 10 February 2015 at 11:53, stnava<EMAIL_ADDRESS>wrote:

it may be a bit more complicated ... i.e. figuring out how to get the built
and installed itkR package to properly keep the itk library/header files
w/o violating CRAN policies .... then these functions (akin to Rcpp::: )
would just return these locations .... if the package is not on cran, then
it's not going to be all that useful ...
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73736105.

Great that you chaps are moving to an itkr style package - should be good for eg travis builds.
I'm not sure if you've seen, but Rcpp has a mechanism for getting the path to libraries distributed by another Rcpp-based package. If you can't find the place in the rcpp docs I'll see if I can dig it out. Best, Greg.

Reply to this email directly or view it on GitHub.

greg - that Rcpp pointer would be helpful ...   our travis builds are progressing w/help from @armaneshaghi ... was able to successfully deploy binaries from travis though i've not tested the linux one yet:   https://github.com/stnava/ANTsR/releases

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git files.
I wonder if there is something in the configuration of the package build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds are
progressing w/help from @armaneshaghi https://github.com/armaneshaghi
... was able to successfully deploy binaries from travis though i've not
tested the linux one yet: https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271.

yes - possible that there is some unright about the configuration / clean /
ignore setup  ... maybe a "truly clean" build would yield different results
too e.g.
git clone ANTsR
R CMD build ANTsR #  to create a package
R CMD check ANTsR.tar.gz #  to check a package
R CMD INSTALL ANTsR.tar.gz #  to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git files.
I wonder if there is something in the configuration of the package build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds are
progressing w/help from @armaneshaghi https://github.com/armaneshaghi
... was able to successfully deploy binaries from travis though i've not
tested the linux one yet: https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807.

I'm still mystified by this.  When I build using R CMD INSTALL ANTsR
--clean, these files go away, but when I do R CMD CHECK, I still get the
same errors.
Also, just as a note for testing, we need to use R-devel:
http://cran.r-project.org/web/packages/policies.html#Submission
On 10 February 2015 at 12:35, stnava<EMAIL_ADDRESS>wrote:

yes - possible that there is some unright about the configuration / clean /
ignore setup ... maybe a "truly clean" build would yield different results
too e.g.
git clone ANTsR
R CMD build ANTsR # to create a package
R CMD check ANTsR.tar.gz # to check a package
R CMD INSTALL ANTsR.tar.gz # to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git
files.
I wonder if there is something in the configuration of the package build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds are
progressing w/help from @armaneshaghi <https://github.com/armaneshaghi

... was able to successfully deploy binaries from travis though i've
not
tested the linux one yet: https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73744542.

good point re: R-devel .... am not sure about the damn git files either ...
we can (if need be) make a cran branch and do some brute force rm w/in code
in that branch alone if need be
brian
On Tue, Feb 10, 2015 at 4:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I'm still mystified by this. When I build using R CMD INSTALL ANTsR
--clean, these files go away, but when I do R CMD CHECK, I still get the
same errors.
Also, just as a note for testing, we need to use R-devel:
http://cran.r-project.org/web/packages/policies.html#Submission
On 10 February 2015 at 12:35, stnava<EMAIL_ADDRESS>wrote:

yes - possible that there is some unright about the configuration /
clean /
ignore setup ... maybe a "truly clean" build would yield different
results
too e.g.
git clone ANTsR
R CMD build ANTsR # to create a package
R CMD check ANTsR.tar.gz # to check a package
R CMD INSTALL ANTsR.tar.gz # to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git
files.
I wonder if there is something in the configuration of the package
build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds are
progressing w/help from @armaneshaghi <
https://github.com/armaneshaghi

... was able to successfully deploy binaries from travis though i've
not
tested the linux one yet: https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73744542.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73785304.

I couldn't tell easily--are the rest of the files to be deleted (*.so etc.)
being deleted correctly?
On 10 February 2015 at 16:23, stnava<EMAIL_ADDRESS>wrote:

good point re: R-devel .... am not sure about the damn git files either ...
we can (if need be) make a cran branch and do some brute force rm w/in code
in that branch alone if need be
brian
On Tue, Feb 10, 2015 at 4:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I'm still mystified by this. When I build using R CMD INSTALL ANTsR
--clean, these files go away, but when I do R CMD CHECK, I still get the
same errors.
Also, just as a note for testing, we need to use R-devel:
http://cran.r-project.org/web/packages/policies.html#Submission
On 10 February 2015 at 12:35, stnava<EMAIL_ADDRESS>wrote:

yes - possible that there is some unright about the configuration /
clean /
ignore setup ... maybe a "truly clean" build would yield different
results
too e.g.
git clone ANTsR
R CMD build ANTsR # to create a package
R CMD check ANTsR.tar.gz # to check a package
R CMD INSTALL ANTsR.tar.gz # to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git
files.
I wonder if there is something in the configuration of the package
build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds are
progressing w/help from @armaneshaghi <
https://github.com/armaneshaghi

... was able to successfully deploy binaries from travis though
i've
not
tested the linux one yet: https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73744542.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73785304.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73786436.

I spent quite a while on finding a way to include coverage testing.It seems that at some point the coverage testing package calls devtools::load_all() that wants to compile package, that for now fails for ANTsR (not sure why, perhaps because of some Rcpp conventions we're not following). It would be almost impossible to build the package only once during one travis session, because we need to run the compiler without optimization, after building ANTsR, so that we can count the number of lines being tested, which is going to take a long time for travis (50 minutes limit).

yes - i think so ... or being ignored
i believe the process is:
R CMD build => just packs up the source
R CMD check => unpacks, builds anew does checking etc ...
so the build directory will ignore stuff that's in the source that we dont
want to be "packed up"
then the check creates new "junk" (during compilation process) that should
( i thought ) be deleted by cleanup - but the cleanup seems to somehow miss
these files ( or rbuildignore is erroneously missing them )
we could investigate this by explicitly looking at what's in the tar.gz ...
brian
On Tue, Feb 10, 2015 at 4:29 PM, bkandel<EMAIL_ADDRESS>wrote:

I couldn't tell easily--are the rest of the files to be deleted (*.so etc.)
being deleted correctly?
On 10 February 2015 at 16:23, stnava<EMAIL_ADDRESS>wrote:

good point re: R-devel .... am not sure about the damn git files either
...
we can (if need be) make a cran branch and do some brute force rm w/in
code
in that branch alone if need be
brian
On Tue, Feb 10, 2015 at 4:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I'm still mystified by this. When I build using R CMD INSTALL ANTsR
--clean, these files go away, but when I do R CMD CHECK, I still get
the
same errors.
Also, just as a note for testing, we need to use R-devel:
http://cran.r-project.org/web/packages/policies.html#Submission
On 10 February 2015 at 12:35, stnava<EMAIL_ADDRESS>wrote:

yes - possible that there is some unright about the configuration /
clean /
ignore setup ... maybe a "truly clean" build would yield different
results
too e.g.
git clone ANTsR
R CMD build ANTsR # to create a package
R CMD check ANTsR.tar.gz # to check a package
R CMD INSTALL ANTsR.tar.gz # to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those .git
files.
I wonder if there is something in the configuration of the package
build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds
are
progressing w/help from @armaneshaghi <
https://github.com/armaneshaghi

... was able to successfully deploy binaries from travis though
i've
not
tested the linux one yet:
https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
<https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271
.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73744542.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73785304.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73786436.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73787710.

Answer may be here:
https://stat.ethz.ch/pipermail/r-devel/2007-March/044987.html
.Rbuildignore is not ".Rcheckignore", and checks do not pay attention to
it.
Not sure how "cleanup" fits into all of this (if it's called and when
etc.).
On 10 February 2015 at 16:47, stnava<EMAIL_ADDRESS>wrote:

yes - i think so ... or being ignored
i believe the process is:
R CMD build => just packs up the source
R CMD check => unpacks, builds anew does checking etc ...
so the build directory will ignore stuff that's in the source that we dont
want to be "packed up"
then the check creates new "junk" (during compilation process) that should
( i thought ) be deleted by cleanup - but the cleanup seems to somehow miss
these files ( or rbuildignore is erroneously missing them )
we could investigate this by explicitly looking at what's in the tar.gz ...
brian
On Tue, Feb 10, 2015 at 4:29 PM, bkandel<EMAIL_ADDRESS>wrote:

I couldn't tell easily--are the rest of the files to be deleted (*.so
etc.)
being deleted correctly?
On 10 February 2015 at 16:23, stnava<EMAIL_ADDRESS>wrote:

good point re: R-devel .... am not sure about the damn git files either
...
we can (if need be) make a cran branch and do some brute force rm w/in
code
in that branch alone if need be
brian
On Tue, Feb 10, 2015 at 4:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I'm still mystified by this. When I build using R CMD INSTALL ANTsR
--clean, these files go away, but when I do R CMD CHECK, I still get
the
same errors.
Also, just as a note for testing, we need to use R-devel:
http://cran.r-project.org/web/packages/policies.html#Submission
On 10 February 2015 at 12:35, stnava<EMAIL_ADDRESS>wrote:

yes - possible that there is some unright about the configuration /
clean /
ignore setup ... maybe a "truly clean" build would yield different
results
too e.g.
git clone ANTsR
R CMD build ANTsR # to create a package
R CMD check ANTsR.tar.gz # to check a package
R CMD INSTALL ANTsR.tar.gz # to install a (source) package
brian
On Tue, Feb 10, 2015 at 12:26 PM, bkandel <
<EMAIL_ADDRESS>wrote:

When I run R CMD INSTALL ANTsR --clean, it takes care of those
.git
files.
I wonder if there is something in the configuration of the
package
build
that is skipping the clean step.
On 10 February 2015 at 12:13, stnava<EMAIL_ADDRESS>wrote:

greg - that Rcpp pointer would be helpful ... our travis builds
are
progressing w/help from @armaneshaghi <
https://github.com/armaneshaghi

... was able to successfully deploy binaries from travis though
i've
not
tested the linux one yet:
https://github.com/stnava/ANTsR/releases
—
Reply to this email directly or view it on GitHub
<
https://github.com/stnava/ANTsR/issues/10#issuecomment-73740271
.

—
Reply to this email directly or view it on GitHub
<https://github.com/stnava/ANTsR/issues/10#issuecomment-73742807
.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73744542.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73785304.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73786436.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73787710.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-73790952.

First, a disclaimer, I am no expert although I have several packages on CRAN including one based on Rcpp.
Anyway, re your configure/clean setup, my understanding is that:

configure should not call make.
It should set things up so that everything is ready for the package build process, which will then call make.
see e.g. http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Configure-and-cleanup

If anything removes your Makefile, it should be cleanup

AFAICS this is why devtools::load_all() currently fails to build ANTsR. Commenting out the last two lines gives me successful devtools::load_all().
Best,
Greg.

thanks for the comment @jefferis  this is great, have been scratching my head with load_all() for a day or two :-)

https://github.com/cran/RODBC/blob/master/configure

@bkandel suggested that we push to a 2nd antsr repo ( a decoy ) that would be used just to travis run R CMD check in a timely fashion .... we may try this.

nice, a new level of maintenance with a new repo, but I guess there is no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to a 2nd
antsr repo ( a decoy ) that would be used just to travis run R CMD check in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236.

Should not add any additional maintenance.  We'd have hooks that do all
this automatically.  I.e. if we forget about this we just ignore it and it
runs happily for eternity.
2015-03-12 13:24 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
nice, a new level of maintenance with a new repo, but I guess there is no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to a 2nd
antsr repo ( a decoy ) that would be used just to travis run R CMD check
in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78536586.

do you know how this can be done? I like ITK's kwrobot that automatically
pushes to github, but I guess we are not going to assign a server to do
this.
On Thu, Mar 12, 2015 at 8:59 PM, bkandel<EMAIL_ADDRESS>wrote:

Should not add any additional maintenance. We'd have hooks that do all
this automatically. I.e. if we forget about this we just ignore it and it
runs happily for eternity.
2015-03-12 13:24 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
nice, a new level of maintenance with a new repo, but I guess there is no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to a 2nd
antsr repo ( a decoy ) that would be used just to travis run R CMD
check
in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78536586.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78538390.

I thought that you can put hooks on your github repo that whenever the repo
gets a push, it pushes the change to a different repo.  That requires no
manual intervention.  We can alternatively add a remote repository and then
automatically push there.
2015-03-12 13:39 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
do you know how this can be done? I like ITK's kwrobot that automatically
pushes to github, but I guess we are not going to assign a server to do
this.
On Thu, Mar 12, 2015 at 8:59 PM, bkandel<EMAIL_ADDRESS>wrote:

Should not add any additional maintenance. We'd have hooks that do all
this automatically. I.e. if we forget about this we just ignore it and it
runs happily for eternity.
2015-03-12 13:24 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
nice, a new level of maintenance with a new repo, but I guess there is
no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to a
2nd
antsr repo ( a decoy ) that would be used just to travis run R CMD
check
in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78536586.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78538390.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78541990.

yes, seems that git already has done this
http://stackoverflow.com/questions/3669636/git-automatically-keep-a-secondary-repo-in-sync-with-a-primary-repo
On Thu, Mar 12, 2015 at 9:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I thought that you can put hooks on your github repo that whenever the repo
gets a push, it pushes the change to a different repo. That requires no
manual intervention. We can alternatively add a remote repository and then
automatically push there.
2015-03-12 13:39 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
do you know how this can be done? I like ITK's kwrobot that automatically
pushes to github, but I guess we are not going to assign a server to do
this.
On Thu, Mar 12, 2015 at 8:59 PM, bkandel<EMAIL_ADDRESS>wrote:

Should not add any additional maintenance. We'd have hooks that do all
this automatically. I.e. if we forget about this we just ignore it and
it
runs happily for eternity.
2015-03-12 13:24 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
nice, a new level of maintenance with a new repo, but I guess there
is
no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to a
2nd
antsr repo ( a decoy ) that would be used just to travis run R CMD
check
in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78536586.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78538390.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78541990.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78544433.

I'd avoid a cron job running on our own server if at all possible.
2015-03-12 13:48 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
yes, seems that git already has done this
http://stackoverflow.com/questions/3669636/git-automatically-keep-a-secondary-repo-in-sync-with-a-primary-repo
On Thu, Mar 12, 2015 at 9:16 PM, bkandel<EMAIL_ADDRESS>wrote:

I thought that you can put hooks on your github repo that whenever the
repo
gets a push, it pushes the change to a different repo. That requires no
manual intervention. We can alternatively add a remote repository and
then
automatically push there.
2015-03-12 13:39 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
do you know how this can be done? I like ITK's kwrobot that
automatically
pushes to github, but I guess we are not going to assign a server to do
this.
On Thu, Mar 12, 2015 at 8:59 PM, bkandel<EMAIL_ADDRESS>wrote:

Should not add any additional maintenance. We'd have hooks that do
all
this automatically. I.e. if we forget about this we just ignore it
and
it
runs happily for eternity.
2015-03-12 13:24 GMT-04:00 Arman Eshaghi<EMAIL_ADDRESS>
nice, a new level of maintenance with a new repo, but I guess there
is
no
other option for now.
On Thu, Mar 12, 2015 at 4:42 PM, stnava<EMAIL_ADDRESS>wrote:

@bkandel https://github.com/bkandel suggested that we push to
a
2nd
antsr repo ( a decoy ) that would be used just to travis run R
CMD
check
in
a timely fashion .... we may try this.
--
Reply to this email directly or view it on GitHub
<https://github.com/stnava/ANTsR/issues/10#issuecomment-78476236
.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78536586.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78538390.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78541990.

--
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78544433.

—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/10#issuecomment-78545222.

just to be clear: this will not require additional maintenance.  and it will be "opt-in" for developers.  but recommended for anyone contributing regularly.  will basically amount to:
git add remote antsrCranCheck ... push
and not much more.

this issue superseded by a new one


Update documentation to show using DI

Can you add an example in the documentation showing how to call the service via Dependency Injection, that than through the container?
That's Symfony's best practice recommendations now.
Thanks.

yay, + one. We need this for symfony 4.3+.


GPU Assignment for XGBoost Spark on YARN and Standalone mode

Currently if you are running XGBoost on Spark 2.x on YARN 2.x or in spark standalone mode, there is no support for GPU assignment or isolation.  You only option is to run on a single GPU node or to set CUDA_VISIBLE_DEVICES before launching. This is very difficult to do especially running multi-tenant cluster.  We are adding GPU scheduling to Spark 3.x but that currently isn't available and for it to work on YARN you need YARN 3.1.x+.
It would be nice if XGBoost could handle this situation where there is no isolation and have each Worker choose a different GPU on the node when there are multiple GPUs on a node.   This ideally would work across multiple applications as well since most of these systems are multi-tenant.
One approach we can take to do this for NVIDIA GPUs is to put the GPU in process exclusive mode and then modify the XGBoost code to acquire a GPU (by running or allocating/freeing memory). Once that GPU is acquired by a process then no others will be allowed to access it.  We can pass the GPU id it acquired down into the necessary part of XGBoost GPU support.

Note I have a version of the above working, it is likely dependent upon https://github.com/dmlc/xgboost/pull/3997.  We will plan on contributing that back.


Add integer tests

This is based on https://github.com/ocaml-community/ocaml-mariadb/pull/60
I've added some tests in this PR related to integer encoding, to demonstrate the range of values supported, and to start a discussion on how to support 64-bit integer encoding.
As you can see from the tests, the current maximun supported value is Int32.max_int. Trying to insert e.g a Unsigned.UInt32.max_int value to an integer unsigned column or a Int.max_int to a bigint column fails.
I ran the same tests (in this branch) where I included https://github.com/ocaml-community/ocaml-mariadb/pull/54. In this case, the maximum value is Int.max_int and both examples above works fine. It still doesn't support 64 bits integer though.
So I finally tested it against https://github.com/ocaml-community/ocaml-mariadb/pull/43. I was able to insert (and read back) both Int64.max_int and Unsigned.UInt64.max_int (see commit). Unfortunately, it breaks two other tests:
test_txn
((2024-10-29 16:15:29.793594000+01:00)
 ("unhandled exception"
  ((monitor.ml.Error
    (Failure "field 'CAST(sum(i) AS integer)' is not an integer")
    ("Raised at Stdlib.failwith in file \"stdlib.ml\", line 29, characters 17-33"
     "Called from Nonblocking_testsuite.Make.test_txn.(fun) in file \"tests/nonblocking/nonblocking_testsuite.ml\", line 199, characters 36-55"
     "Called from Async_kernel__Deferred0.bind.(fun) in file \"src/deferred0.ml\", line 54, characters 64-69"
     "Called from Async_kernel__Job_queue.run_jobs in file \"src/job_queue.ml\", line 180, characters 6-47"
     "Caught by monitor main"))

test_many_select
Parameter (609520357 : int) came back as (609520357 : int64).

I don't know much about the low level C code, but from an end user perspective I'd say that:

https://github.com/ocaml-community/ocaml-mariadb/pull/54 is needed if we want to support integer unsigned columns
If we manage to fix the regressions, https://github.com/ocaml-community/ocaml-mariadb/pull/43 seems a good addition to support int64

I agree, and the additional tests will be very useful.


Ability to open images from Collective page

Who is your user?
Anyone trying to gather assets
What are they trying to achieve?
Trying to obtain logos, graphic for marketing reasons, have to rely on Google having indexed the page in order to obtain the images, would be great if I could open the logos/background images directly from Open Collective
_When doing marketing activities, I want to gather collective logos so that I can communicate visually  _
How are they currently doing this?
Trying to find the logos via google, websites etc

Triage Template (core team only)
This template is for members of the team to triage for prioritisation. For more guidance see https://www.loom.com/share/369ab467fbc64dec848085d38ff57ca0:
P1 high frequency, high impact
P2 low frequency, high impact
P3 high frequency, low impact
P4 low frequency, low impact
Examples of high impact - a problem affects users during an essential process (expenses and payments > onboarding and registration > contributing) with no workaround.
High frequency - >10% of users affected (measured as a proportion of total potential users for this case).

I can't right click and open image

You can right-click > Inspect and get the link from there. I don't think we want to change how we're linking the image here as the technic we're using has a few benefits that we don't really want to lose.

Closing as it is not an issue with Open Collective itself. I'm happy to provide more assistance if the solution proposed above is not working for you.

Thank you! Can use this solution :)


[examples] Fix missing props for BaseComponent

In the examples/create-react-app project:
When using something like React Router to render BaseComponent (through WithRoot component) and its children (sub routes), the props isn't passed down by WithRoot component, making the
this.props.children "undefined" in BaseComponent.
This change make sure the props is getting spread in it.

@aislanmaia Thank you :)

@aislanmaia Is there an example of react-router included, in this demo example, would you put the react router in pages/index.js ?

@kavink not yet. And regard putting the routes in pages/index that is up to you, it works just fine with react-router v4. Since the react-router v4 the routes can be spread between various components in your component tree. In my opinion, it is good to organize a little bit the routes. In my case I'm using redux as well, so my approach was:

A Root component that gets the store (redux store) and instanciates a main layout:

import { BrowserRouter as Router }  from 'react-router-dom';
/* another imports right here */

const Root = ({ store }) => {
  return (
    <Provider store={store}>

        <Router>

	     <MainLayout />

	</Router>

    </Provider>
  );
}

The main layout is responsible to render the rest of routes (routes are just plain React components). This layout receives another component that contains our actual routes:

  /* section of imports on top */
import Routes from "components/Routes";

/* wrapping the body of render's return function I put a Router just like in Root component.

<Router>
   /* some code for layout above and in somewhere I put the routes */

        <Routes childProps={{currentUser}}

  /* ...rest of the component code */

</Router>

Routes file where resides my group of main routes:

/* some imports */

export default ({ childProps }) =>
    <Switch>
        <AppliedRoute exact path="/login" component={ UserIsNotAuthenticated( LoginArea ) } />
	<DashboardsRoute exact path="/" components={[AdministrativeArea, PedagogicArea]} props={childProps}/>
	<AppliedRoute path="/administrative/subjects" component={ UserIsAdmin( SubjectsArea ) } />
    </Switch>;

Thats is simplified and keep in mind that despite I'm putting various of my routes in components/Routes.js like above, some of your routes can be placed wherever you need them.
I recommend you take a look in the official React Router docs and that excellent beginner tutorial about the version 4 that helped me a lot.


[SPARK-44495][INFRA][K8S] Use the latest minikube in K8s IT

What changes were proposed in this pull request?
This PR aims to recover GitHub Action K8s IT to use the latest Minikube and to make it sure that Apache Spark K8s module are tested with all Minikubes without any issues.
BEFORE

Minikube: v1.30.1
K8s: v1.26.3

AFTER

Minikube: v1.32.0
K8s: v1.28.3

Why are the changes needed?

Previously, it was pinned due to the failure.
After this PR, we will track the latest Minikube and K8s version always.

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.

All tests passed.
cc @LuciferYang since this issue is filed by him

Merged into master for Spark 4.0. Thanks @dongjoon-hyun ~

Thank you, @LuciferYang !


Not stopping at breakpoint ( IIS + VSCode)

VSCode Version: Code 1.15.0 (8b95971d8cccd3afd86b35d4a0e098c189294ff2, 2017-08-09T20:16:18.034Z)
OS Version: Windows_NT x64 10.0.15063
Extensions:

Extension
Author (truncated)
Version

vscode-eclipse-keybindings
alp
0.9.6

net-core-starters-pack
bla
0.3.0

bracket-pair-colorizer
Coe
0.10.8

gitlens
eam
4.3.3

EditorConfig
Edi
0.9.4

git-project-manager
fel
1.3.2

csharpextensions
jch
1.3.0

csharpfixformat
Leo
0.0.31

csharp
ms-
1.12.0

mono-debug
ms-
0.15.7

resharper9-keybindings
ms-
1.1.0

material-icon-theme
PKi
2.1.0

aspnet-helper
sch
0.6.3

autoimport
ste
1.2.2

gitblame
wad
2.0.2

highlight-trailing-white-spaces
yba
0.0.2

(1 theme extensions excluded)

Steps to Reproduce:

Run a .NET web application on IIS
Attach vs code to an existing process
Try to debug using breakpoints

Reproduces without extensions: Yes/No

VS Code has no builtin C#/.net debugger. Moving.

This issue was moved to OmniSharp/omnisharp-vscode#1706


Iss270 strategy exposure improvements

This is for https://github.com/liampauling/flumine/issues/270

Coverage increased (+0.003%) to 93.712% when pulling 2033962f6df615296e1301d1a0682458187e5305 on jsphon:iss270-strategy-improvements into 3728274bce91cf3d56f42da67b43d116bc2f860e on liampauling:master.

This seems to include the changes I released yesterday?

This seems to include the changes I released yesterday?

Yes. I had to rebase master onto my branch, otherwise the checks (3.7, 3.7 and 3.8 tests) failed.

This seems to include the changes I released yesterday?

Yes. I had to rebase master onto my branch, otherwise the checks (3.7, 3.7 and 3.8 tests) failed.

I think you need to rebase with the current master due to the two releases yesterday

This seems to include the changes I released yesterday?

Yes. I had to rebase master onto my branch, otherwise the checks (3.7, 3.7 and 3.8 tests) failed.

I think you need to rebase with the current master due to the two releases yesterday

This shows that the PR shows that the release history contains yesterday's releases: https://github.com/liampauling/flumine/pull/279/files
How can I view the diff of this PR vs the latest master?

Not sure what is going on here, can you try creating a new PR to see if that fixes it?

Closed due to strange behaviour.


property manager version out of sync

I updated the property-manager to the latest version (0.7.1 as of writing), however if I search for it using "akamai search" the CLI tells me the latest version is 0.5.1 (see output below). This seems to be because the property-manager developer is not updating the information inside https://developer.akamai.com/cli/package-list.json.
As far as I know, akamai CLI developers need to file a pull request on https://github.com/akamai/cli/blob/master/assets/package-list.json to have the master manifest updated each time they push a new release of their CLI package (FYI @mvanhornakamai)
$ akamai property-manager --version
0.7.1-RELEASE
$ akamai search property-manager
Results Found: 1

Package: Property Manager 2.0 [property-manager]
  Command: snippets (aliases: pm, property-manager)
  Version: **0.5.1**
  Description: Property Manager CLI for DevOps

Install using "akamai install [package]".

This issue has been resolved.


XmlBytes.java:31-35: Refactor {@link XmlBytes} class. We...

The puzzle 715-21a493cf from #715 has to be resolved:
https://github.com/objectionary/jeo-maven-plugin/blob/99f9dc034ee18890093cc32e96ba806afb21d2a9/src/main/java/org/eolang/jeo/representation/xmir/XmlBytes.java#L31-L35
The puzzle was created by volodya-lombrozo on 23-Sep-24.
Estimate: 60 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 715-21a493cf has disappeared from the source code, that's why I closed this issue.


When did Time enter the Product?

The doc needs to state the version of SQL that had this feature to begin with.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3ca577f7-34cc-52c9-a960-d81efdc9c46e
Version Independent ID: eed233e6-4695-b583-2e95-12f77866ff6f
Content: time (Transact-SQL) - SQL Server
Content Source: docs/t-sql/data-types/time-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

@MinionWare -- thank you for your question.
@MikeRayMSFT -- please look into this issue.

Just FYI, we're looking at a systemic doc update. For content that was updated in SQL Server 2008 it's in all supported editions.
At this time there is no planned doc update for this file.


Works on Dell U2412M

It works... but my rMBP's display makes the brightness range of this monitor look terrible. :P

You can adjust display brightness in system status bar. Later the app will update brightness with different factor.


A way to mark study chapters as "Done"

People practice or study something and they want to mark their chapters as done when they are finished. Take into consideration studies as broadcasts and practice.
An expiration time for the Done mark and maybe different statuses, not just Done, would be nice.

Also note that this will (and should) interact with the Extended Interactive Lessons tool with the Sequential/Spaced Repetition flows


Reuse hasher

@grudzinski please notice that the build failed

@grudzinski this breaks the api, any chance you can un-break it?


[WIP] npgsql upgrade to 2.0

Removes netstandard1.3 support (npgsql targets netstandard2.0 now)
Updated TypeMapping to use the new GlobalTypeMapper.

Please steal this code 😄 to move forward as I may not be able to get back to it for a week or so, but I wanted to know what was blowing up.
I was not able to get plv8 working properly in my docker instance, so that still needs to be tested (in the event CI fails here).

Looking at the errors further it seems that the new GlobalTypeMapper may not be behaving exactly like it's predecessor.  I'm afraid I don't have enough knowledge to take this much further 😞

@david-driscoll I'll get this tomorrow or this weekend (hopefully). If you ever come back to the Marten codebase, it might be easier to just use a Docker image for development and there are several that come w/ PLV8 baked in so you don't have to fiddle with that

After looking further I don't think it was the docker container I was using, it looks like the actual bson stuff was doing something funny.

I've submitted pr to npgsql repo https://github.com/npgsql/npgsql/pull/1999  that should fix errors like Npgsql.PostgresException : XX000: unsupported jsonb version number 123 .
Apart from that, other breaking changes in npgsql need to be supported in Marten. I'll try to fix them and maybe create a new pr to marten based on this one.

@david-driscoll Hey, thanks for getting the ball rolling and sorry I've dragged my feet so long. I'm going to use the work from @jacobpovar & @oskardudycz that does this for a Marten 3.0-alpha-1 release in the next couple weeks


Feature request: Ability to exclude a row from table-sort

I have icons in my table, which uses table-sort-js. I then noticed that you can sort by icon, which I didn't want. I read the documentation and there is no feature to exclude a row. That's why I requested this feature

Correct there is no feature for this.
You want to freeze certain table rows in place?, or just specific <td> in the row. Or disallow sorting on specific columns?
I should probably implement all three options. Do you have a screenshot you could share?
Thanks for opening the issue.

Yes, me too I need the bottow row which contains 'Total' and blanks  to be excluded from the sort.

@nyenius Sorry for late reply :sweat_smile: I think the idiomatic way to do that would be to put the total column in a <tfoot> tag. Implement freezing row at some point : /


Address bar contents gets lost when I type in a new route parameter

In the DevTools hummingbird build,  I can add in an address parameter:
http://app_is_running_on:5000/#/?theme=dark
The page reloads and Flutter receives and loads the new route, but the address bar resets:
http://app_is_running_on:5000/#/

The Flutter navigation model currently doesn't have built-in support for query parameters. But it's totally possible for you to implement your own logic for handling query parameters. Here's a minimal app demonstrating how to do it: https://github.com/mdebbar/flutter_query_params
cc @goderbauer @chunhtai in case they have ideas on how to make this possible with Navigator 2.0.

We will provide a new router widget that has a build in url parser, and user can customizing the parser or we might provide this functionality by default. Either way, it will be easier to parse query parameter with Navigator 2.0

@DaveShuckerow can this issue be considered resolved?

The Flutter navigation model currently doesn't have built-in support for query parameters. But it's totally possible for you to implement your own logic for handling query parameters. Here's a minimal app demonstrating how to do it: https://github.com/mdebbar/flutter_query_params

We already do this.  My problem is that the content in the address bar is getting lost.
For example, if I go to the address in this first screenshot, I can tell DevTools to load dark mode:

However, if I refresh the page, I get this:

The Flutter route appears to be unchanged (hence the app still loading the dark mode page instead of the light mode page), but the address bar content is lost.

Ah I see. We have an issue for that already (https://github.com/flutter/flutter/issues/50027). It's being fixed in https://github.com/flutter/flutter/pull/50495.


Add more info on the main page

This should include a "what is this thing" paragraph to help people who've got limited experience with j and matrix.

This sort of thing could probably live in the README to be honest. Or, if this project becomes popular enough, an informational website.


WorkingHours query

Empire Version
1.6.0
OS Information (Linux flavor, Python version)
Kali 2.0 , python 2.7.12+
Expected behavior and description of the error, including any actions taken immediately prior to the error. The more detail the better.
From my understanding, Workinghours in my listener settings will determine if the agent should poll back to my listener or generate any traffic. What I observe is that the agent remain active even when the working_hours is over (deliberately set it to 5 min for testing). So I have some question for the developers.

Is this is the intended behavior?
It seems that no matter what workinghours i define, once the client reboots and starts to beacon, it neglect the workhours setting. For example I define it as 23:00-23:05. If the client restart at 08:00 and connect back, it will continue to interact with the listener and bypass my setting.
What will happen if I set the agent's workinghour while the client is active. Will it persist or everything will initialize when it reboot.

Please advise thank you.
Screenshot of error, embedded text output, or Pastebin link to the error

Any additional information

Ill take a look at this, thanks!

@Xurse Fixed in master and dev. Thanks!


docs: add us-west-2 region to the "aws ecr get-login-password" command in curated packages docs

Description of changes:
Following the example on how to login to ECR with docker does not work:
# aws ecr get-login-password

You must specify a region. You can also configure your region by running "aws configure".

It is also important to use the proper region:
# aws ecr get-login-password --region eu-central-1 |docker login --username AWS --password-stdin<PHONE_NUMBER>00.dkr.ecr.us-west-2.amazonaws.com
Error response from daemon: login attempt to https://783794618700.dkr.ecr.us-west-2.amazonaws.com/v2/ failed with status: 400 Bad Request

The solution is to use the same region where the registry resides:
# aws ecr get-login-password --region us-west-2 |docker login --username AWS --password-stdin<PHONE_NUMBER>00.dkr.ecr.us-west-2.amazonaws.com
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

The proposed PR adds this to the documentation.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.12

@TerryHowe I've found two more issues on the same page which is coming from the fact that eks anywhere v0.12.0 does not have some flags anymore:
# eksctl anywhere list packages --source registry --kube-version 1.23
Error: unknown flag: --source
# eksctl anywhere generate package harbor --kube-version 1.23 > packages.yaml
Error: required flag(s) "cluster" not set

I've already figured out the correct commands so I could include the fix into this PR... Or do you want me to create a separate PR for these?

sorry, they'll have to go in a new PR


Errors with Ansible 2.9

Ansible 2.9x does not recognize the changed filter, causing a failure here.
Fatal: [default]: FAILED! => {"msg": "The conditional check 'motomo_sql_dump_create | changed' failed. The error was: template error while templating string: no filter named 'changed'.

applied to ansible 2.10 as well. Fix in #10 works.

Oops. Committed to master instead of main.


warden: IntrospectToken always throws an error on Hydra logs

I did some digging and it seems following lines are dead code that need to be removed.
https://github.com/ory-am/hydra/blob/0baa04ebbbc62446b21824ecda7490864642ce68/warden/warden_http.go#L63-L66
Either that or it needs to be application/x-www-form-urlencoded with "token" because the other side is expecting that. Now there is a second request with an empty token which triggers the error.

This looks like a bug, not sure why tests aren't catching that. I'll dig into it.

still not sure why tests didn't catch it but it should work now

ah, the code was actually written in a way that it didn't throw an error...copy and paste errors, as usual


Cannot specify that a helper doesn't have mandatory positional parameters

This commit in my reproduction repo.
As you see, I've specified PositionalArgs: [string | undefined] which should mean that a positional argument is not mandatory. But glint complains:
app/components/test-component.hbs:1:1 - error TS2554: Expected 2 arguments, but got 1.

1 {{test-helper-1 foo="bar"}}
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

I've specified PositionalArgs: [string | undefined] which should mean that a positional argument is not mandatory

That's not what that means 🙂
If you take a look at this playground, specifying your args that way (for a regular function, not just for Glint) requires that a parameter be passed.
type MyArgs = [string | undefined];
declare function myFunction(...args: MyArgs): void;

myFunction('hello');   // ✅
myFunction(undefined); // ✅
myFunction();          // 💥

You probably want PositionalArgs: [string?] or PositionalArgs: [string] | [] instead, depending on whether you want to allow explicitly passing undefined or not.

@dfreeman - you're absolutely right, of course. [string?] must be new because when I wrote that code it wasn't. :smile: But [string] | [] does work always, I should have thought. Thanks!


Upgrade protobuf to 1.6 and make eraftpb.rs be auto-generated.

Upgrade protobuf to 1.6 and make eraftpb.rs be auto-generated.

I don't think it's a good idea. This will require protoc on the build machine and also update source directly at compile time. The proto file barely changes, it doesn't have to be rebuild again and again.

LGTM

PTAL @BusyJay

@hicqu This looks ok but I'd also like to see some instruction how to regenerate the proto if needed.

any update?

PTAL @Hoverbear .


fix(Menu): Keyboard navigation fix for menus with multiple sections

IMPORTANT
Currently, this project is closed to any external contributions. Any pull request made against this project from external sources will likely be closed. If you would like to make changes to this project, please fork this project.
Guide
This "Help" section can be deleted before submitting this pull request.
Update the name of this pull request to reflect the following shape:
{type}/{scope?}/{message}

type - A conventional commit type REQUIRED
scope - The kabab-case scope of the changes in this request
message - A short, kebab-case statement describing the changes REQUIRED

Provide a general summary of the scope of the changes in this pull request.

Updated Menu to no longer use hook. Using the same navigation strategy as Lists doesn't quite work for Menus since useMenu handles specific logic for us like skipping disabled items and section headers when we use arrow keys
Updated sub components back to original state since we no longer need the hook to navigate

Readme
Getting Started Guide
Contributing Guide

Description
The full description of the changes made in this request.
Links
Links to relevent resources.

I have a feeling this is the revert PR??

Can we please use the revert feature and then create a new PR with the actual fix? @johnsoter13

Sorry but I do not understand what issue you try to fix on the menu navigation.
Next time please add the issue link and the fill the description section of the PR.

Before using the kb-navigation hook in menus, a menu was able to have sections inside that were navigated using arrow keys (across sections).

I have a feeling this is the revert PR??

it is the revert pr, but we want to keep things from that pr in master, which is why this new pr was made

Sorry for the confusion @torgeadelin and @maxinteger . @nataliadelmar  and I discussed that reverting the old PR and pushing a new one was not the direction we wanted to go, but I didn't communicate that when I made this PR.
But as Natalia said, we wanted to keep the old PR in master. This work isn't a full revert, just an adjustment to support kb navigation across sections while also supporting orientation prop for Menus


document ssh+socks5

export BOSH_ALL_PROXY=ssh+socks5://jumpbox@<IP_ADDRESS>.19:5000?private-key=/path

cc @Amit-PivotalLabs

Closing - documented by #544.


Print a better message about a lack of iOS 16 support

What's the cause? Is this because of idb not supporting iOS 16 yet?

It turns out latest idb does in fact support iOS 16, so this no longer applies


chore: Update 2023/11

Issue #, if available:
Description of changes:

Update from Lambda upstream 2023/11
Upgrade to Go 1.20 in go.mod and Makefile

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Are all the TODOs for us to do later? Are we tracking them in some way?

They're part of the original Lambda package. They will be solved at one point by the corresponding Lambda team


Improved simple address generator

Improved default implementation of AddressGenerator. Now the predictable address is constructed using creator address and salt.
Please note, that this default simplistic implementation does not simulate the real blockchain address generator.
Please consult this article to learn about other possibilities.
closes #122

It's worth that the multi-test API would simulate the real chain's behavior. When it comes to predictible address, there's a method in cosmwasm-std that produces the address based on:
    checksum: &[u8],
    creator: &CanonicalAddr,
    salt: &[u8],

It means that we should not depend on instance counter to produce the predictable address. Other than that we should allow to produce conflicting addresses if the contract feeds the method with the identical input twice. Perhaps the solution to avoid conflicting addresses would be to encourage users to use random salt in contracts implementations..

Based this simple predictable address generator on creator address and salt.


Add custom sparse matrix format

Hi. I am interested in adding custom sparse matrix format. Is there a tutorial on adding new formats to help me get started quickly?
BTW, when I ran make in the examples/ folder, I got the following error. I wondered if my inappropriate c++ version led to these errors.
g++ -std=c++20 -O3 -I../include -o mdspan_example mdspan_example.cpp
mdspan_example.cpp: In function ‘int main(int, char**)’:
mdspan_example.cpp:13:8: error: ‘std::experimental’ has not been declared
   13 |   std::experimental::mdspan b_span(data.data(), b.shape()[0], b.shape()[1]);
      |        ^~~~~~~~~~~~
mdspan_example.cpp:15:31: error: ‘b_span’ was not declared in this scope
   15 |   auto view = grb::views::all(b_span);
      |                               ^~~~~~
mdspan_example.cpp:27:19: error: ‘grb::matrix<float, int>::backend_type grb::matrix<float, int>::backend_’ is private within this context
   27 |   auto values = a.backend_.values_.data();
      |                   ^~~~~~~~
In file included from ../include/grb/util/printing.hpp:6,
                 from ../include/grb/util/util.hpp:5,
                 from ../include/grb/grb.hpp:4,
                 from mdspan_example.cpp:1:
../include/grb/containers/matrix.hpp:171:16: note: declared private here
  171 |   backend_type backend_;
      |                ^~~~~~~~
mdspan_example.cpp:27:28: error: ‘grb::csr_matrix<float, int, std::allocator<float> >::vector_type<float, std::allocator<float> > grb::csr_matrix<float, int, std::allocator<float> >::values_’ is private within this context
   27 |   auto values = a.backend_.values_.data();
      |                            ^~~~~~~
In file included from ../include/grb/containers/matrix.hpp:4:
../include/grb/containers/backend/csr_matrix.hpp:180:34: note: declared private here
  180 |   vector_type<T, allocator_type> values_ = vector_type<T, allocator_type>(allocator_);
      |                                  ^~~~~~~
mdspan_example.cpp:28:19: error: ‘grb::matrix<float, int>::backend_type grb::matrix<float, int>::backend_’ is private within this context
   28 |   auto rowptr = a.backend_.rowptr_.data();
      |                   ^~~~~~~~
../include/grb/containers/matrix.hpp:171:16: note: declared private here
  171 |   backend_type backend_;
      |                ^~~~~~~~
mdspan_example.cpp:28:28: error: ‘grb::csr_matrix<float, int, std::allocator<float> >::vector_type<int, std::allocator<int> > grb::csr_matrix<float, int, std::allocator<float> >::rowptr_’ is private within this context
   28 |   auto rowptr = a.backend_.rowptr_.data();
      |                            ^~~~~~~
../include/grb/containers/backend/csr_matrix.hpp:178:49: note: declared private here
  178 |   vector_type<index_type, index_allocator_type> rowptr_ = vector_type<index_type, index_allocator_type>({0}, allocator_);
      |                                                 ^~~~~~~
mdspan_example.cpp:29:19: error: ‘grb::matrix<float, int>::backend_type grb::matrix<float, int>::backend_’ is private within this context
   29 |   auto colind = a.backend_.colind_.data();
      |                   ^~~~~~~~
../include/grb/containers/matrix.hpp:171:16: note: declared private here
  171 |   backend_type backend_;
      |                ^~~~~~~~
mdspan_example.cpp:29:28: error: ‘grb::csr_matrix<float, int, std::allocator<float> >::vector_type<int, std::allocator<int> > grb::csr_matrix<float, int, std::allocator<float> >::colind_’ is private within this context
   29 |   auto colind = a.backend_.colind_.data();
      |                            ^~~~~~~
../include/grb/containers/backend/csr_matrix.hpp:179:49: note: declared private here
  179 |   vector_type<index_type, index_allocator_type> colind_ = vector_type<index_type, index_allocator_type>(allocator_);
      |                                                 ^~~~~~~
make: *** [Makefile:14: mdspan_example] Error 1

My c++ version are as follows
$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 12.3.0-1ubuntu1~23.04' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-DAPbBt/gcc-12-12.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-DAPbBt/gcc-12-12.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.3.0 (Ubuntu 12.3.0-1ubuntu1~23.04)

Thank you in advance!

The mdspan_example in particular expects mdspan.  The other examples will likely compile just fine without it, but that one will require mdspan.  One option is to install it from here, or you could just try compiling other specific examples (e.g. make basic_ewise).

As for implementing a custom sparse matrix format, what did you have in mind?

Thanks for your reply. I was trying to implement sparse matrix format considering hardware features like CISR format in https://arxiv.org/pdf/1810.07517.pdf.
I have found that the underlying sparse matrix format of class grb::matrix cannot be directly changed by user input. It seems I need to change the format used in pick_backend_type.
template <>
struct pick_backend_type<sparse> {
	template <typename... Args>
	using type = grb::csr_matrix<Args...>;
};

As for new format, I think I need to create corresponding file in the containers/backend and create its iterator.


ENHANCEMENT: Add BrowserSync/ Live Reload for development

An excellent npm module I've been using within the Polymer CLI is the
generator-polymer-init-element-scaffold
It uses Yeoman to scaffold out either a bower element or internal element and adds BrowserSync along with a few other great additions. It would be awesome for some of these features to be included in your wordpress polymer-theme as well.

Repo: https://github.com/photoshelter/generator-polymer-init-element-scaffold
Installation: npm install -g generator-polymer-init-element-scaffold

Hi @oneezy ! I will take it into consideration.
Thank you!


Update version script to remove bump2version dependency

Refactor update-version.sh to not depend on bump2version utility.

@gigony, looks like you've got some merge conflicts. can you pull the latest from branch-21.06?

We've been seeing some installation conflicts (also in CI currently). Initially suspected these were related to version discrepancies between cuCIM and the rest of RAPIDS. Maybe that is still true and we are just missing something here? Though maybe we are missing something else that is going on?

rerun tests

We've been seeing some installation conflicts (also in CI currently). Unfortunately CI stops short of showing the conflict.
Initially suspected these were related to version discrepancies between cuCIM and the rest of RAPIDS. Maybe that is still true and we are just missing something here? Though maybe we are missing something else that is going on?

Can't say I have any ideas about this. I just reran CI, so let's see if we run into the issue again.

@gigony, any reason you used the breaking label for this PR? does this PR have any functional changes that would break things for cucim consumers? if not, you can switch the label to non-breaking.

Yeah it's still failing. Unfortunately the builds are being terminated before we get the conflict report. Would it be possible to extend the build time so we could get this information?

Yeah it's still failing. Unfortunately the builds are being terminated before we get the conflict report. Would it be possible to extend the build time so we could get this information?

sure. I just bumped it to 2 hours.
rerun tests

@gigony, any reason you used the breaking label for this PR? does this PR have any functional changes that would break things for cucim consumers? if not, you can switch the label to non-breaking.

Ah, I thought the 'breaking' label needs to be added if we touch some code but looks like we add it if it breaks things for 'user'?
In either case, it doesn't touch internal code and I removed the label.

@jakirkham @ajschmidt8 Do you have any idea on the following build error messages?
https://gpuci.gpuopenanalytics.com/job/rapidsai/job/gpuci-v0.20/job/cucim/job/prb/job/cucim-cpu-python-build/CUDA=11.2,PYTHON=3.7/62/console
14:19:07 # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
14:19:07

14:19:07     Traceback (most recent call last):
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 251, in _load
14:19:07         raise UnavailableInvalidChannel(self.url_w_repodata_fn, 404)
14:19:07     conda.exceptions.UnavailableInvalidChannel: The channel is not accessible or is invalid.
14:19:07       channel name: rapidsai-nightly
14:19:07       channel url: https://conda.anaconda.org/rapidsai-nightly
14:19:07       error code: 404
14:19:07
14:19:07     You will need to adjust your conda configuration to proceed.
14:19:07     Use `conda config --show channels` to view your configuration's current state,
14:19:07     and use `conda config --show-sources` to view config file locations.
14:19:07
14:19:07
14:19:07     During handling of the above exception, another exception occurred:
14:19:07
14:19:07     Traceback (most recent call last):
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/exceptions.py", line 1079, in __call__
14:19:07         return func(*args, **kwargs)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/cli/main.py", line 84, in _main
14:19:07         exit_code = do_call(args, p)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 82, in do_call
14:19:07         return getattr(module, func_name)(args, parser)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/cli/main_install.py", line 20, in execute
14:19:07         install(args, parser, 'install')
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/cli/install.py", line 261, in install
14:19:07         unlink_link_transaction = solver.solve_for_transaction(
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction
14:19:07         unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff
14:19:07         final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 262, in solve_final_state
14:19:07         ssc = self._collect_all_metadata(ssc)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated
14:19:07         return f(*args, **kwds)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 415, in _collect_all_metadata
14:19:07         index, r = self._prepare(prepared_specs)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 1010, in _prepare
14:19:07         reduced_index = get_reduced_index(self.prefix, self.channels,
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/index.py", line 227, in get_reduced_index
14:19:07         new_records = SubdirData.query_all(spec, channels=channels, subdirs=subdirs,
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 105, in query_all
14:19:07         result = tuple(concat(executor.map(subdir_query, channel_urls)))
14:19:07       File "/opt/conda/lib/python3.8/concurrent/futures/_base.py", line 611, in result_iterator
14:19:07         yield fs.pop().result()
14:19:07       File "/opt/conda/lib/python3.8/concurrent/futures/_base.py", line 432, in result
14:19:07         return self.__get_result()
14:19:07       File "/opt/conda/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
14:19:07         raise self._exception
14:19:07       File "/opt/conda/lib/python3.8/concurrent/futures/thread.py", line 57, in run
14:19:07         result = self.fn(*self.args, **self.kwargs)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 97, in <lambda>
14:19:07         subdir_query = lambda url: tuple(SubdirData(Channel(url), repodata_fn=repodata_fn).query(
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 110, in query
14:19:07         self.load()
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 174, in load
14:19:07         _internal_state = self._load()
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 255, in _load
14:19:07         return self._load()
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 276, in _load
14:19:07         _internal_state = self._process_raw_repodata_str(raw_repodata_str)
14:19:07       File "/opt/conda/lib/python3.8/site-packages/conda/core/subdir_data.py", line 349, in _process_raw_repodata_str
14:19:07         json_obj = json.loads(raw_repodata_str or '{}')
14:19:07       File "/opt/conda/lib/python3.8/json/__init__.py", line 357, in loads
14:19:07         return _default_decoder.decode(s)
14:19:07       File "/opt/conda/lib/python3.8/json/decoder.py", line 337, in decode
14:19:07         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
14:19:07       File "/opt/conda/lib/python3.8/json/decoder.py", line 353, in raw_decode
14:19:07         obj, end = self.scan_once(s, idx)
14:19:07     json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 917721 column 78 (char 26270959)
14:19:07

14:19:07 `$ /opt/conda/bin/conda install -c conda-forge conda-build`
14:19:07

14:19:07   environment variables:
14:19:07                  CIO_TEST=<not set>
14:19:07                 CLASSPATH=
14:19:07             CONDA_BLD_DIR=/workspace/.conda-bld
14:19:07                 CONDA_DIR=/opt/conda
14:19:07                 CONDA_EXE=/opt/conda/bin/conda
14:19:07          CONDA_PYTHON_EXE=/opt/conda/bin/python
14:19:07                CONDA_ROOT=/opt/conda
14:19:07               CONDA_SHLVL=0
14:19:07            CONDA_USERNAME=
14:19:07           LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/u
14:19:07                           sr/local/lib
14:19:07              LIBRARY_PATH=/usr/local/cuda/lib64/stubs
14:19:07                      PATH=/opt/conda/bin:/opt/conda/condabin:/opt/conda/bin:/usr/local/cuda/bin:
14:19:07                           /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/game
14:19:07                           s:/usr/local/games:/snap/bin
14:19:07                    PYTHON=3.7
14:19:07                PYTHON_VER=3.7
14:19:07        REQUESTS_CA_BUNDLE=<not set>
14:19:07             SSL_CERT_FILE=<not set>
14:19:07

14:19:07      active environment : None
14:19:07             shell level : 0
14:19:07        user config file : /workspace/.condarc
14:19:07  populated config files : /opt/conda/.condarc
14:19:07           conda version : 4.8.3
14:19:07     conda-build version : not installed
14:19:07          python version : 3.8.3.final.0
14:19:07        virtual packages : __glibc=2.23
14:19:07        base environment : /opt/conda  (writable)
14:19:07            channel URLs : https://conda.anaconda.org/conda-forge/linux-64
14:19:07                           https://conda.anaconda.org/conda-forge/noarch
14:19:07                           https://conda.anaconda.org/gpuci/linux-64
14:19:07                           https://conda.anaconda.org/gpuci/noarch
14:19:07                           https://conda.anaconda.org/rapidsai-nightly/linux-64
14:19:07                           https://conda.anaconda.org/rapidsai-nightly/noarch
14:19:07                           https://conda.anaconda.org/rapidsai/linux-64
14:19:07                           https://conda.anaconda.org/rapidsai/noarch
14:19:07                           https://conda.anaconda.org/nvidia/linux-64
14:19:07                           https://conda.anaconda.org/nvidia/noarch
14:19:07                           https://conda.anaconda.org/pytorch/linux-64
14:19:07                           https://conda.anaconda.org/pytorch/noarch
14:19:07           package cache : /opt/conda/pkgs
14:19:07                           /workspace/.conda/pkgs
14:19:07        envs directories : /opt/conda/envs
14:19:07                           /workspace/.conda/envs
14:19:07                platform : linux-64
14:19:07              user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Linux/5.4.0-1038-aws ubuntu/16.04.7 glibc/2.23
14:19:07                 UID:GID : 1000:1000
14:19:07              netrc file : None
14:19:07            offline mode : False
14:19:07

14:19:07

14:19:07 An unexpected error has occurred. Conda has prepared the above report.
14:19:07

14:19:08 Build step 'Execute shell' marked build as failure
14:19:14 [Set GitHub commit status (universal)] ERROR on repos [GHRepository@362b03d2[nodeId=MDEwOlJlcG9zaXRvcnkzNTYzNTYzMzY=,description=<null>,homepage=,name=cucim,fork=false,archived=false,size=18229,milestones={},language=Jupyter Notebook,commits={},source=<null>,parent=<null>,isTemplate=<null>,url=https://api.github.com/repos/rapidsai/cucim,id=356356336,nodeId=<null>,createdAt=2021-04-09T17:54:18Z,updatedAt=2021-05-24T13:13:32Z]] (sha:46ca77b) with context:gpuCI/cucim/build/python/3.7/cuda/11.2

And
https://gpuci.gpuopenanalytics.com/job/rapidsai/job/gpuci-v0.20/job/cucim/job/prb/job/cucim-gpu-test/CUDA=11.0,GPU_LABEL=gpu,OS=ubuntu16.04,PYTHON=3.7/62/console
shows bunch of conflicts.

@gigony, I think the first error log you posted was a conda server error. the real issue here is likely with the conflicts in the second log you posted.

from quickly looking at the logs, I noticed this discrepancy in Python versions. this might warrant further investigation.


Vue CLI Typescript Starter is not debuggable

Version
Reproduction link
https://github.com/jawil003/WillhubFrontendVue.git
Steps to reproduce

Install Vue CLI 3
Create new Project with Typescript, Eslint and Babel
Launch Example App.
Open Firefox Debugger
Go to Webpack->src and Search for a Component
See that it is weird and not equals your ts File.

What is expected?
I can debug my Components under Webpack->src etc.
What is actually happening?
All I get is weird exports in a single line.

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

You probably need to activate a source map option but it might also be a problem of the scaffolding coming out of the cli (https://github.com/vuejs/vue-cli)


Removed hardcoded portable=true

portable was hardcoded to true in case placement is none which resulted in portable=true even if in the storageCluster CR it was specified false
Signed-off-by: rohan47<EMAIL_ADDRESS>

/cc @jarrpa

An improved commit message, but there is a typo and could use a bit of rewording. Something like:
The OCP console used to require us to hardcode portable=true. Now it explicitly
sets portable=true so there is no longer need to hardcode it in the operator
code. Removing the hardcoded value from the operator code also makes it possible
to set the value of portable without setting a placement as a workaround.

/retest

@rohan47 You need to run make gen-latest-csv. Seems like it is not accepted by CI.
Also, tests might need to be fixed.

/ok-to-test

@umangachapagain looks lik even after make gen-latest-csv its not accepted by CI

@rohan47  wrote:

looks like even after make gen-latest-csv it's not accepted by CI

Did you also commit the hack/latest-csv-checksum.md5 file (or so) and force-push to this pr's branch?

@rohan47 wrote:

looks like even after make gen-latest-csv it's not accepted by CI

Did you also commit the hack/latest-csv-checksum.md5 file (or so) and force-push to this pr's branch?

Yes

Functional test failing here: https://github.com/openshift/ocs-operator/pull/480/files#diff-3ab4add16e230d7d70aa431f83ce9551R491

Did you also commit the hack/latest-csv-checksum.md5 file (or so) and force-push to this pr's branch?

Yes

Strange... I get a diff when i run make gen-latest-csv locally and  the error to run ocs-operator-ci goes away once I commit it.

Did you also commit the hack/latest-csv-checksum.md5 file (or so) and force-push to this pr's branch?

Yes

Strange... I get a diff when i run make gen-latest-csv locally and the error to run ocs-operator-ci goes away once I commit it.

Its the timestamp in  deploy/olm-catalog/ocs-operator/4.5.0/ocs-operator.v4.5.0.clusterserviceversion.yaml and hack/latest-csv-checksum.md5 files. Not sure what is wrong here.

@rohan47 FYI I just updated the PR with my results of running make gen-latest-csv (squashed into your patch) to see if that fixes the issue. It passes make ocs-operator-ci locally for me.
I had a similar issue with another PR recently, and IIRC, the problem went away after I had run git clean -xdf... Let's see how this goes.


gRPC/JSON transcoding using reflection

In https://github.com/lyft/envoy/pull/1079 @lizan has implemented transcoding that requires the proto definitions to be available to envoy and up to date. This is a great start, but as discussed, the real killer feature here IMO is to do it transparently using reflection. Theoretically this should be possible.
cc @louiscryan

great work +1
what happen if different upstream instances have different versions of the same protocol ? or even complete different service due to misconfigure.
currently the protobuf descriptor is shared for all request for the same listener, right?

While figuring out #6608, adding OPTIONS method reflection might be something to consider for the transcoder, since either with reflection or possibly the descriptor, the transcoder is in a unique position to determine the availability of http methods on an endpoint.

Are there any updates now ? I am very interested in this.

I'm interested in that, too !

I'm also very interested in this!

In a Kubernetes and Istio context we have built the Kubernetes Operator transflect to automate gRPC/JSON transcoding updates via the gRPC server reflection API. For annotated deployments transflect creates Istio EnvoyFilter resources, which update the gRPC JSON transcoder filter configuration with the new FileDescriptorSet and service list.

I'm interested in possibly working on this, if nobody else has already started work on it.
However, I haven't yet read the contribution guidelines, so it'll take me a bit of time to get up to speed on procedures.

@hq6  you can start to work on it.  I can help to review the change.  But I like to hear your design first.
the key is to build this descriptor_pool_ by calling backend grpc server reflection.
I assume you will do that in the main thread when JsonTranscoderConfig is constructing, since there are multiple async calls, you may need to register with init_manager to wait for them.
Thanks

@qiwzhang Thanks for offering to review my design! I've outlined my proposed design below.
Yes, my plan is to add another case to the switch on descriptor_set_case.
Specifically, I intend to add a proto_descriptor_channel_uri which corresponds to the URI passed to grpc::CreateChannel.
To keep the design simple, I intend to use grpc::InsecureChannelCredentials() rather than dealing with SSL or other channel authentication in the initial implementation. This will make reflection work when Envoy is deployed as a sidecar and terminates SSL, and so can talk to its upstream over plaintext.
With respect to waiting for multiple async calls with init_manager, that is a part of Envoy I am less familiar with, so I had been planning to make the Reflection Rpc synchronously. Again, assuming the sidecar model, the latency to the upstream should be on the order of microseconds or single digit milliseconds. Moreover, if this code only runs at initialization, it should be one-time cost
If you have a strong preference for me to do async calls, please let me know. In this case, I'd also appreciate a pointer to example code or documentation that uses init_manager for async calls.
With respect to actual implementation, I had intended to mostly wholesale copy in this class from the gRPC source and wrap the pool around it.
This needs to be copied in because the gRPC maintainers are currently unwilling to make the code part of their library, and it seems like a waste of effort to rewrite it.
They seem to use the same open source license as Envoy, so I believe the licenses are compatible.
Please let me know if the proposed design seems reasonable to you!
I am very much interested in feedback on both the proposed design and the clarity of exposition, since this is my first attempt at an upstream contribution to Envoy.

Another area where guidance would be greatly appreciated is whether there is prior art for and a requirement to write automated E2E tests involving a real gRPC service.
I will certainly run manual tests, ensure that existing unit tests pass, and attempt to write new unit tests by mocking out the reflection service, but not yet sure where to write the code or script to spin up a real service.
With enough spelunking, I'll probably find it, but if you already have a pointer, that would be convenient. :)

@qiwzhang I have a working prototype of the design above (no unit tests, and  not importing the correct way).
Would it be helpful to see that in a Draft PR (not sure if Envoy community does that) as part of the design review, or do you prefer to offer comments first based on my description above, and then I can polish more before putting up a PR?

Envoy is all about async calls.  I believe Envoy is strongly against blocking calls, even it is on the init phase. Envoy supports two ways to make async gRPC calls.

envoy grpc_call:  async_client_impl.  It is not calling any grpc c++ library,  it is using http2 with grpc frame.   You have to define a envoy cluster config for the grpc server.

use google grpc_call, google_async_client_impl.  It is calling grpc c++ library. you don't need to define a cluster config for it.

For using init_manager,  here is an example code you can follow

There are some extension codes using these async grpc calls.  e.g. rate_limiting, and ext_authz.    Please take a look.
Still prefer to use async call if it is possible.

Excellent, thanks for the pointers!
I'll look into how hard it is to use async calls for this usage, although my current suspicion is that it might require rewriting substantial portions of code I had intended to copy from gRPC.

Also, is there a specific reason for Envoy to be against blocking calls during initialization?
I totally get why we don't want to consume limited threads while actually serving requests, but the reasoning for avoiding blocking calls during initialization is less clear to me. It's particularly puzzling because code that is written in a blocking style is usually easier to read, and a few ms of extra loading time doesn't seem super high compared to the  total cost of deploying a service.
If there's a philosophy doc somewhere, I'd appreciate a link as well.

Hi @htuch @mattklein123
what is your take on using blocking calls in the main thread when building up a listener?
Agreed that the task will be much easier, and the code is easier to read.

what is your take on using blocking calls in the main thread when building up a listener?

Not a good idea. Blocking the main thread will have follow on consequences for metrics output, admin requests, etc. We really can't block so anything like this would need to be async and then use completions as already suggested.

Just want to be clear, the question is not around blocking the main thread
during Envoy's actual execution, only during initialization of the config
which should happen exactly once when Envoy loads, and not on a recurring
basis.
That is, I know the listener is constructed for every request, but the
factory is constructed only once, as far as I can tell.
Do those consequences still apply in this case?
Thanks!
On Tue, Jan 25, 2022, 10:24 AM Matt Klein @.***> wrote:

what is your take on using blocking calls in the main thread when building
up a listener?
Not a good idea. Blocking the main thread will have follow on consequences
for metrics output, admin requests, etc. We really can't block so anything
like this would need to be async and then use completions as already
suggested.
—
Reply to this email directly, view it on GitHub
https://github.com/envoyproxy/envoy/issues/1182#issuecomment-1021481124,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEG5IG4TME22EWMMFKOM3TUX3TFTANCNFSM4DRAL66Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Do those consequences still apply in this case?

Yes, as this can happen when the server is already operating due to an xDS update, etc. Even during initialization this can block health checking and other important things.

Thanks for the clarification about the xDS updates, that makes sense!

@qiwzhang I have examined the provided example code and links. Here's a new, non-blocking design proposal.

New logic flow for JsonTranscoderConfig constructor

The logic after the switch() statement gets extracted into a function
called processDescriptorPool.
If services are empty, then we return immediately as before.
If we are not using reflection, then just read the files, call
processDescriptorPool directly, and return from the constructor.
Otherwise (we are using reflection), set JsonTranscoderConfig._disabled
to true, and register a target with the InitManager that will use
Envoy::Grpc::AsyncClient to kick off ServerReflection Rpcs for each
service listed in config.services() serially. After all the Rpcs have
completed successfully, do the following:

Call processDescriptorPool
Set JsonTranscoderConfig._disabled to false
Call target.ready()

If any of the Rpcs fail or timeout, throw an EnvoyException.

Mechanism for serializing Rpc handling.

Create an std::vector<ServerReflectionRequest> reflection_rpc_requests and
populate it with one request for each service in config.services().
Create a size_t current_rpc_Index, initialized to 0.
Launch the first Rpc.
In the callback for onSuccess:

Put the parsed FileDescriptorProtos into a FileDescriptorSet
Increment current_rpc_Index.

Otherwise, assume we have finished all the reflection we need.

In the callback for onFailure, throw an EnvoyException.

Please let me know when you've had a chance to review. Thanks!

The first point I agree with.
The second point I believe might cause problems, if the servers that are hit have a mixture of builds, as described in the gRPC reflection doc.
According to that doc, the only reason why the ServerReflection Rpc is structured as a streaming Rpc is to ensure that all requests go to the same backend, so that we do not get a mixture of builds. If we run multiple requests in parallel by creating multiple async clients, we will allow hitting multiple different backends in the same cluster, which defeats the purpose of the Rpc being streaming.
One potential issue with naive reverse proxies is that, while any individual server will have a consistent and valid picture of the proto DB which is sufficient to handle incoming requests, incompatibilities will arise if the backend servers have a mix of builds. For example, if a given message is moved from foo.proto to bar.proto, and the client requests foo.proto from an old server and bar.proto from a new server, the resulting database will have a double definition.

To solve this problem, the protocol is structured as a bidirectional stream, ensuring all related requests go to a single server. This has the additional benefit that overlapping recursive requests don’t require sending a lot of redundant information, because there is a single stream to maintain context between queries.

Thus, I think we need to go with my currently proposed serial Rpc design.
Does this concern make sense? Or do you think this concern does not apply to Envoy for some reason?

There is not concern for Envoy.   Most likely,  these multiple requests will share the same TCP connection.
I assume you will not use google_grpc_async_client,  you will use envoy grpc_async_client: which is not calling c++ grpc client library, you will use envoy upstream code to talk to grpc server.  You need to create a envoy cluster config for your grpc server.  Even for this case, envoy will use the same Http2 connection for the multiple requests.

Yes, I plan to use the the Envoy version of the client, not the Google version.
The concern is that if someone tries to use this filter when Envoy is not a sidecar, could there be more than one backend in the specified cluster?

I believe envoy will try to re-use same connection for http2.  It should be fine.

@qiwzhang
As of yesterday, I got the non-blocking variation working E2E; there's still a fair bit of cleanup, as well as making it comply with Envoy style guides and updating and adding unit tests.
Given that this is my first nontrivial change to open source Envoy, and my knowledge of the norms are incomplete, are you open to offering early feedback  (not a full review) on this change before it's entirely polished?
By default, I intend to fully polish it to the best of my knowledge before putting it up, but I think we might be able to course correct and ultimately finish this sooner with feedback before full polish.
Please let me know what you prefer. Thanks!

Sure,  I can help to review your pr.  I suggest you just send a preliminary pr to solicit feedback even it did not pass compiling. You can prefix the pr title as [WIP], so other reviewers will not jump in.

Hi @qiwzhang, I'm put up a preliminary PR, but it seems that I lack permissions to add you as a reviewer and Lizhan was added by default.
https://github.com/envoyproxy/envoy/pull/20053

Hello! Are there any updates on this? I'm very interested in the reflection feature

@thejerrybao Thanks for asking!
The restructuring that Wayne requested to decouple descriptor pool building from the main config effectively requires rewriting or at least modifying many of the existing unit test in the filter as well as adding new unit tests.
I am still slowly working my way through the unit tests.
This is a personal project for me, rather than something I'm doing for my employer, so there's no real timeline, but I am making continuous if plodding progress.

@qiwzhang I have just put up a candidate PR and look forward to your review.
I will update as needed for test coverage based on the results of CI, but the core code, documentation and existing tests are ready for review.


chore(release): v1.0.0 🎉

:robot: I have created a release beep boop
1.0.0 (2023-09-16)
Features

docs: add all docs and update readme with full info (36689b9)
init: initialize based on simple-jwt-auth (48c53d0)
request: add frontend auth request uri logic (31e7b01)
response: add logic for parsing and exchanging response for tokens (53b4305)

Bug Fixes

practs: bump to latest best practs (4abe85f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/whodisio/simple-oidc-auth/releases/tag/v1.0.0 :sunflower:


fix: can't unselect SelectedOption in FluentListBox

🐛 Bug Report
I'm not sure if this is supposed to work, but setting the bound SelectedOption variable to null so as to unset the selection does not unset the selection.
💻 Repro or Code Sample
@page "/weather"

<FluentButton @onclick="HandleClear">Clear</FluentButton>

<FluentListbox Items="@_items" @bind-SelectedOption:get="_selectedOption" @bind-SelectedOption:set="SetSelected" Multiple="false" />

Selected option: @_selectedOption

@code {
	List<string> _items = [
	"one",
	"two",
	"three"
	];

	string? _selectedOption;

	private void HandleClear()
	{
		_selectedOption = null;
	}

	private void SetSelected(string? str)
	{
		Console.WriteLine($"option being set {str}");
		_selectedOption = str;
	}

}

🤔 Expected Behavior
_selectedOption should be set to null, ListBox's SelectedOption bound to it, and therefore unset in the UI.
😯 Current Behavior
The console shows expected writeline statements when selecting different items in list, and the selected option reflects correctly in UI.
(click one)
>option being set one
(click two)
>option being set two
(click three)
>option being set three

But when Clear button is pressed, the console prints:
(click clear)
option being set
option being set three

_selectedOption is set to null, then immediately it is set back to the previous value. The UI stays selected.
💁 Possible Solution
null is an invalid value to set the SelectedOption to? Somewhere is there a comparison of current value and new value, if new value is null then it is reverting to current value perhaps, and this should be changed.
🔦 Context
When loading new items into the list I'm resetting _selectedOption to null. I have a view model maintaining these values so I can maintain state when navigating between pages. So it works in the normal case. But sometimes I want to reload the current list and reset the selection to unselected. When "refreshing" the same list of items, and setting selected to null, it stays selected.
🌍 Your Environment

OS & Device: Windows 11
Browser: Microsoft Edge and FireFox
.NET: 8.0.2 and Fluent UI Blazor library Version: 4.10

Hi,
There was a bug in the underlying base component where the Value was not reset if the SelectedOption got reset. I'm creating a PR (see link below) that fixes this. It will be in the next release.


Saved Search Widget

Created a basic widget that saves the current search results page to the current_user.properties in Zookeeper. We could remove this item if that functionality was added to the core product.

Sorry, first pull request. I forgot to add the actual widget file. Can I update the pull request or do a submit a new one?

I added committed the file. Looks like it's in the request now.

Please add a note saying that Widget needs to be in no-async mode to save search url correctly. If async is on, ajax-call url will be saved into zookeeper.

Submitted pull request to address that issue.