Normalization Failed Error

I'm bringing my own data into MetaboShiny and can't seem to normalize it. I receive the error "Error in [.data.table(metshiCSV, , ..condition) :column(s) not found: NA"
Do you know what is causing this error to be thrown up?

Hi! It seems like a metadata problem, can you give an idea of what your metadata looks like?

My metadata contains presence/absence data for microbial treatments as well as plant physiological responses, so a mix of both numerical and non-numerical data. These are in addition to the sample and individual columns that are required.

Hi there! I kind of need a dummy (maybe a scrambled?) version of your metadata to estimate what the problem is - the error is at a point where it looks for a 'default' experimental variable to use (at least 2 groups, but as few as possible) so i expect the problem is in that possibly the metadata is in a (slightly) wrong format.

I've emailed you a dummy matrix. Apologies if that's inconvenient, but I couldn't think of a better way to get it to you. Thanks!

That's perfect, thank you! To test the fix, are you working on the Docker
ver. or on your own R version?
Op di 29 dec. 2020 om 19:08 schreef xjallen<EMAIL_ADDRESS>
I've emailed you a dummy matrix. Apologies if that's inconvenient, but I
couldn't think of a better way to get it to you. Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-752187959,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZIYEHCVX74IEOGL6TTSXILKBANCNFSM4VEOV3LQ
.

I am working on the R version.

Alright, great. Would you mind trying out the dev branch to see if it fixes your problem? I do ask for your patience, I was working on rolling it out to master branch soon so there might be some bugs (but hopefully not the one you mention here :) )

I'm trying to install the dev branch, but hit an error stating "Error : (converted from warning) unable to re-encode 'oxy-wrapper_functions.R' line 1568"

Hmm, I tried a fix, would you mind trying again? Thanks :)
Op wo 30 dec. 2020 om 00:53 schreef xjallen<EMAIL_ADDRESS>
I'm trying to install the dev branch, but hit an error stating "Error :
(converted from warning) unable to re-encode 'oxy-wrapper_functions.R' line
1568"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-752279485,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZKEJTK5AIEFASMRARLSXJTXFANCNFSM4VEOV3LQ
.

I've got the dev branch installed, however it fails on startup. The error reads:
Warning: Error in list.files: invalid 'path' argument
46: list.files
45:  [reactive/patientdbs.R#8]
2: shiny::runApp
1: MetaboShiny::start_metshi

Cannot reproduce this one, but I tried a fix, please give it a try!
Are you working on Windows? Might continue debugging on my Windows PC if so.
Op do 31 dec. 2020 om 00:13 schreef xjallen<EMAIL_ADDRESS>
I've got the dev branch installed, however it fails on startup. The error
reads:
Warning: Error in list.files: invalid 'path' argument
46: list.files
45: [reactive/patientdbs.R#8]
2: shiny::runApp
1: MetaboShiny::start_metshi
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-752785838,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZILB7DO2WEQOKA4DHLSXOXX7ANCNFSM4VEOV3LQ
.

I am working on Windows. I'm getting a combination of errors now:
Warning: Error in [[: subscript out of bounds
45:  [D:\xvsal\R\win-library\4.0\MetaboShiny/server.R#296]
2: shiny::runApp
1: MetaboShiny::start_metshi
Warning: Error in dir.exists: invalid filename argument
46: dir.exists
45:  [reactive/patientdbs.R#8]
2: shiny::runApp
1: MetaboShiny::start_metshi

Alright, thank you again! I switched to Windows and got it running properly
on that PC. Please try the dev branch again once you have time!
Op do 31 dec. 2020 om 19:35 schreef xjallen<EMAIL_ADDRESS>
I am working on Windows. I'm getting a combination of errors now:
Warning: Error in [[: subscript out of bounds
45: [D:\xvsal\R\win-library\4.0\MetaboShiny/server.R#296]
2: shiny::runApp
1: MetaboShiny::start_metshi
Warning: Error in dir.exists: invalid filename argument
46: dir.exists
45: [reactive/patientdbs.R#8]
2: shiny::runApp
1: MetaboShiny::start_metshi
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753023416,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZIWD6ZL5EHKPWPOYE3SXS76NANCNFSM4VEOV3LQ
.

Alright, thank you again! I switched to Windows and got it running properly
on that PC. Please try the dev branch again once you have time!
Op do 31 dec. 2020 om 19:35 schreef xjallen<EMAIL_ADDRESS>
I am working on Windows. I'm getting a combination of errors now:
Warning: Error in [[: subscript out of bounds
45: [D:\xvsal\R\win-library\4.0\MetaboShiny/server.R#296]
2: shiny::runApp
1: MetaboShiny::start_metshi
Warning: Error in dir.exists: invalid filename argument
46: dir.exists
45: [reactive/patientdbs.R#8]
2: shiny::runApp
1: MetaboShiny::start_metshi
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753023416,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZIWD6ZL5EHKPWPOYE3SXS76NANCNFSM4VEOV3LQ
.

Ok! I've got the dev branch installed and working. Unfortunately I'm hitting errors when ingesting the data. The error reads:
[1] "Importing neg mode peaks!"
Error in peaklists[[which(isNonEmpty)]] :
attempt to select less than one element in get1index.
The example data included with MetaboShiny doesn't cause this error, so I'm guessing that something is wrong with my peak data...

Ok! I've got the dev branch installed and working. Unfortunately I'm hitting errors when ingesting the data. The error reads:
[1] "Importing neg mode peaks!"
Error in peaklists[[which(isNonEmpty)]] :
attempt to select less than one element in get1index.
The example data included with MetaboShiny doesn't cause this error, so I'm guessing that something is wrong with my peak data...

I fear so yes :( in which ways does your format differ from the example?
Again dummy input data would be great for me to help, if you have it :)
On Fri, Jan 1, 2021, 8:15 PM xjallen<EMAIL_ADDRESS>wrote:

Ok! I've got the dev branch installed and working. Unfortunately I'm
hitting errors when ingesting the data. The error reads:
[1] "Importing neg mode peaks!"
Error in peaklists[[which(isNonEmpty)]] :
attempt to select less than one element in get1index.
The example data included with MetaboShiny doesn't cause this error, so
I'm guessing that something is wrong with my peak data...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753370097,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZPQYF7Z37NT6MNFMODSXYNNPANCNFSM4VEOV3LQ
.

I fear so yes :( in which ways does your format differ from the example?
Again dummy input data would be great for me to help, if you have it :)
On Fri, Jan 1, 2021, 8:15 PM xjallen<EMAIL_ADDRESS>wrote:

Ok! I've got the dev branch installed and working. Unfortunately I'm
hitting errors when ingesting the data. The error reads:
[1] "Importing neg mode peaks!"
Error in peaklists[[which(isNonEmpty)]] :
attempt to select less than one element in get1index.
The example data included with MetaboShiny doesn't cause this error, so
I'm guessing that something is wrong with my peak data...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753370097,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZPQYF7Z37NT6MNFMODSXYNNPANCNFSM4VEOV3LQ
.

I don't notice any obvious differences in the format, but I could easily be wrong. I've emailed you a dummy datasheet. Thanks for all the help!

I don't notice any obvious differences in the format, but I could easily be wrong. I've emailed you a dummy datasheet. Thanks for all the help!

Thanks! I imported your data OK now. Can you try dev again? :)
Op za 2 jan. 2021 om 18:53 schreef xjallen<EMAIL_ADDRESS>
I don't notice any obvious differences in the format, but I could easily
be wrong. I've emailed you a dummy datasheet. Thanks for all the help!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753507991,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZLCRSN63ZWN4NSPQK3SX5MQFANCNFSM4VEOV3LQ
.

Thanks! I imported your data OK now. Can you try dev again? :)
Op za 2 jan. 2021 om 18:53 schreef xjallen<EMAIL_ADDRESS>
I don't notice any obvious differences in the format, but I could easily
be wrong. I've emailed you a dummy datasheet. Thanks for all the help!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-753507991,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZLCRSN63ZWN4NSPQK3SX5MQFANCNFSM4VEOV3LQ
.

I've finally gotten around to trying it out and the data are imported without errors! Normalization however does not work with my data nor the example data the error reads:
Error in colSums(mSet$dataSet$missing) :
'x' must be an array of at least two dimensions

I've finally gotten around to trying it out and the data are imported without errors! Normalization however does not work with my data nor the example data the error reads:
Error in colSums(mSet$dataSet$missing) :
'x' must be an array of at least two dimensions

Found the cause - my MetaboanalystR version was one behind the newest. Will
start forcing specific version soon, haha! Please take a look and let me
know.
Op do 7 jan. 2021 om 06:19 schreef xjallen<EMAIL_ADDRESS>
I've finally gotten around to trying it out and the data are imported
without errors! Normalization however does not work with my data nor the
example data the error reads:
Error in colSums(mSet$dataSet$missing) :
'x' must be an array of at least two dimensions
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-755890658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZKP2SUYGIK75PNTTCDSYU76TANCNFSM4VEOV3LQ
.

Found the cause - my MetaboanalystR version was one behind the newest. Will
start forcing specific version soon, haha! Please take a look and let me
know.
Op do 7 jan. 2021 om 06:19 schreef xjallen<EMAIL_ADDRESS>
I've finally gotten around to trying it out and the data are imported
without errors! Normalization however does not work with my data nor the
example data the error reads:
Error in colSums(mSet$dataSet$missing) :
'x' must be an array of at least two dimensions
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/joannawolthuis/MetaboShiny/issues/51#issuecomment-755890658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAG4ZKP2SUYGIK75PNTTCDSYU76TANCNFSM4VEOV3LQ
.

I believe you've addressed all of my issues! All of my data are being imported properly, normalized, and analyzed! Thanks a lot!

I believe you've addressed all of my issues! All of my data are being imported properly, normalized, and analyzed! Thanks a lot!


Fix distcp from CLI hang

@ibuenros
bin/gobblin run distcp foo bar was hanging on exit whenever any file was actually copied. The root cause was that FSAwareInputDataStreamWriter overrode close() without calling the superclass method -- this caused the metric updater thread from InstrumentedDataWriterBase to hang around forever because it was never shutdown.
This fix is correct, but I'm not sure if we should also be started the metric writer thread as a daemon thread vs one that can hang the process -- thoughts?

Remove shadowed closer variable since the superclass defines one already
Remove overridden close() method - it wasn't calling super.close()
which was causing bugs, and is now irrelevant since the parent close
will close resources properly

I think it is a good idea to make the thread daemon as well.


Android: expected dynamic type string', but had type int64'

Hi and thanks for this amazing package!
I have no trouble sending a file from storage but when I try to send a base64 image I have a mysterious error. It works like a charm on iOS but not on Android. Here is the function I use to send the base64 data:
static async sendBase64File(method, path, base64Data, fieldName, additionalData) {
    let token = await Storage.getUserProperty("token");

    let headers = {
        "Authorization": `Token ${token}`,
        "Content-Type": "multipart/form-data",
        "Cache-Control": "no-store",
    };

    let formData = [{
        name: fieldName,
        filename: fieldName + ".png",
        data: base64Data.replace("data:image/png;base64,", "")
    }];

    for (let key in additionalData) {
        formData.push({name: key, data: additionalData[key]});
    }

    this.onLoadChange(true);
    return RNFetchBlob.fetch(method, "https://[...]", headers, formData)
        .then((response) => {
            // Goes here but no data was sent
        }, (error) => {
            // Not called
        });
}

As a result, the call to the server is indeed made, without any data passed by. Again, this is working 100% fine on iOS. I receive two warnings with the call :
RNFetchBlob failed to create request multipart body :TypeError: expected dynamic type `string', but had type `int64'

and
Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference

So this looks like there is a bug on the Java side.
If anyone could look through this it would be very helpful!
react-native : 0.34
react-native-fetch-blob : 0.9.6
Thanks,
Arthur

Hi @aouaki , thanks for reporting this issue. According to the error message I assume one of the form field is a number instead of string, could you please check if there's any number in these lines ?
for (let key in additionalData) {
       // if the `data` is a number it would likely cause this error
       formData.push({name: key, data: additionalData[key]});
}

Please feel free leave any comment, thank you 😄

Hi @wkh237 it now works, after changing the code you mentioned to
for (let key in additionalData) {
       // if the `data` is a number it would likely cause this error
       formData.push({name: key, data: String(additionalData[key])});
}

So I guess the native code is waiting for a string, while it should be waiting for any type of JSON object...
Thanks!

I just wanted to add that also the headers keys must all be of type string. Hopefully this will save time to people in the future.


gha: Clean-up Ingress/GatewayAPI Conformance tests

Please refer to individual commit for more details
Fixes: #23960

Full CI is not required, the related jobs are running successfully
https://github.com/cilium/cilium/actions/runs/4323133130/jobs/7546371097
https://github.com/cilium/cilium/actions/runs/4323133142/jobs/7546371443

Full CI is not required, as the changes are only related to GHA.
Marking this ready to merge.

Nominate this PR for 1.13 backport, as this will help to improve the test stability and coverage.


Don't call SetDeclineByDefault inside a DB transaction

This service looks at the database to see if there are any offers before
proceeding. If the transaction hasn't committed yet, the offer in
progress will be missing.

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Fair challenge @mnacos! And accepted

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Fair challenge @mnacos! And accepted

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Oops, I guess this depends on the isolation level Rails uses: https://alxibra.medium.com/isolation-level-in-rails-847edc9e347d
I guess we could get rid of the transaction, like Tijmen says.

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Oops, I guess this depends on the isolation level Rails uses: https://alxibra.medium.com/isolation-level-in-rails-847edc9e347d
I guess we could get rid of the transaction, like Tijmen says.

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Oops, I guess this depends on the isolation level Rails uses: https://alxibra.medium.com/isolation-level-in-rails-847edc9e347d
I guess we could get rid of the transaction, like Tijmen says.

"Read committed is the default isolation level in PostgreSQL" — I think this means no dirty reads. It says a dirty read is "Dirty read happens when transaction reads other uncommited transaction". But what about the same uncommitted transaction? Might do an experiment

Yet the tests pass... The idea behind the transaction is to roll back the state transition if DBD cannot be set. In theory, if all statements go via the same postgres db connection/session, pending changes should be visible to other statements within the same transaction. Could we try to reproduce the suspected behaviour in a test?

Oops, I guess this depends on the isolation level Rails uses: https://alxibra.medium.com/isolation-level-in-rails-847edc9e347d
I guess we could get rid of the transaction, like Tijmen says.

"Read committed is the default isolation level in PostgreSQL" — I think this means no dirty reads. It says a dirty read is "Dirty read happens when transaction reads other uncommited transaction". But what about the same uncommitted transaction? Might do an experiment

I'm going to merge this as it's not going to make things worse, then come back to work on suggestions

I'm going to merge this as it's not going to make things worse, then come back to work on suggestions


Ensure SPI uses same version of resteasy as the keycloak wildfly and …

…quarkus variants do
Closes #34

@ioemat thank you, the fix works and I am able to create realms against KC-16.0.0 and KC-17.0.0-SNAPSHOT versioned keycloak standalone server installations on my local.
cc: @pedroigor


Head Rotation assembly

soo this library is very nice soo I thought to contribute to this project and fix the Head Rotation situation.
This is a work in progress**
Video of the work

Looking good! If you create a PR, I could probably be of some help. I've made such an assembly in the past.

Where is the development? ;)

Added in latest release.


How thread safe are promises?

After reading through the source for some time I do not see any use of locks (like the imported and ignored from threading import RLock) to protect one thread adding a callback to a promise instance from another thread that is resolving/rejecting that promise...
So is such use of a promise invalid or does it work because of the GIL? ... or something else?
Thanks for the awesome code!

Would really appreciate even a couple words of wisdom on this...

Is this the proper place to ask questions?

@PepperTeasdale It sounds like your issue is related to https://github.com/syrusakbary/promise/issues/57

The PR #81 has been merged. Promises should be now thread-safe in Promise 2.3.0


Upload Code Scanning Sarif results to GitHub

Add a method to upload Code Scanning Sarif results to GitHub

@gmlewis Thanks for all the review comments! I think I addressed all of them and tested. Please let me know if anything else needs to be changed.

addressed the remaining comments.

@wesleimp @gmlewis
gentle bump on the PR 🙏

Thank you, @ganeshkumarsv ! LGTM.
Awaiting second LGTM (from any other go-github contributor) before merging.

LGTM!

Thank you, @viveknathani !
Merging.

@gmlewis can we have a new release for go-github? 🙇♂

@gmlewis can we have a new release for go-github? 🙇♂

Yes, I'll work on that today.

Thank you! 😊 🙇♂

@ganeshkumarsv - this has been released into v40: https://github.com/google/go-github/releases/tag/v40.0.0


ModuleRunner enhancements

Move the launcher property modules to ModuleLauncherProperties

This will make the ModuleRunner to be Component bean only; Also, it only needs to enable the configuration properties of ModuleLauncherProperties

Rebased to pull the recent changes around module launcher/resolver properties.

Taking this over, as I need this as a base to an ever further generalization for args passing, for which I'll issue a PR shortly.
Ilaya's changes are sound by themselves, so merging as a first commit.

Merged as 7663372


cannot get my balance out of layer 2

Hi
I deposited 3 ETH twice into layer 2, for a total of 6 ETH.  I used 3 ETH to buy LPR.  After the transaction to buy LPR, I decide to withdraw from layer 2 both my remaining 3 ETH and the LPR bought.
The account shows that I have 0 ETH and 0 LPR on layer two, but I have yet to see them on my layer one.  This been close to an hour.
Please help.
Thanks & regards
Michael

I got the amount back, thanks.

I got the amount back, thanks.


Consult artifact repository in artifact check

Artifacts may be downloaded in the start task from repository A, but should be uploaded to repository B in the finish task. In this case, Contains erroneously returned true before this change. Contains should only return true if the artifacts were downloaded from the same repository earlier. When the repositories differ, the task must fetch a manifest from the target repository before checking the manifest.
Tasks:

[ ] Updated design documents in docs/design directory or not applicable
[ ] Updated user-facing documentation in docs directory or not applicable
[ ] Ran tests (e.g. make test) or not applicable
[ ] Updated changelog or not applicable

I do not see true issues, but it feels a bit too subtle to me to have the artifactsDir being the empty string be interpreted in that way. Nonetheless could be merged as is so I am approving.

I do agree that the empty string feels wrong. I briefly tried a solution that would just return a manifest and one could pass a function what to do with each artifact but I did not like how it turned out. So I took the shortest path :)
Long-term, my current thinking is that there should be a way to just get the manifest, and then have a separate function that allows to download the files connected to a manifest. How does that sound to you? If you agree, we can create a refactoring issue to track this.


Errors thrown in nextHandler passed to subscribe should not tear down observable

This is coming from the TC39 proposal (cc @jhusain)
Basically, to match the behavior of EventTarget, an error in the handler shouldn't cause the source to stop emitting values. In other words:
Observable.interval(1000)
  .subscribe({
    next(x) {
      if (x === 1) throw new Error('bad');
      console.log(x);
    }
  });

// 0
// ERROR: bad [callstack vomit here]
// 1
// 2
// 3
// ...

@blesh as far as I remember, it stops emitting, but doesn't tear down the Observable, so not quite what you have there.  @jhusain am I correct here?

Keeps emitting, doesn't tear down Observable. The forEach method however
continues to work the way subscribe works today.
On Thu, Dec 1, 2016 at 7:58 PM, Matthew Podwysocki<EMAIL_ADDRESS>
wrote:

@blesh https://github.com/blesh as far as I remember, it stops
emitting, but doesn't tear down the Observable, so not quite what you have
there. @jhusain https://github.com/jhusain am I correct here?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ReactiveX/rxjs/issues/2167#issuecomment-264367902,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcfr_U6HXExbNmlw_FMSOZv9WbWGDcnks5rD5dfgaJpZM4LCATi
.

I think we're going to have to target this for v7. It's an important change, but it will incur a lot of breakage in the community I think.


Extend MemoryFile and ZipMemoryFile

This PR extends the functionality of MemoryFile and ZipMemoryFile:

Append support for MemoryFile
Write support for ZipMemoryFile
fiona.listdir() to list files in a directory
ZipMemoryFile.listdir() and ZipMemoryFile.listlayers() to list files and layers in a ZipMemoryFile

Not all drivers seem to support MemoryFiles. The tests are extended to use all drivers available on the CI. A mechanism similar to drvsupport.driver_mode_mingdal is introduced to guard not supported drivers and modes.
Issues:

MemoryFileBase.exists() seems to have issues for some drivers when the memory files are created without the proper extension (e.g. the Shapefile driver)
It would be preferable to use fiona.listdir() and fiona.listlayers() instead of ZipMemoryFile.listdir(), ZipMemoryFile.listlayers(), however, it is not that straightforward to create the path required as argument.

Relevant issues: https://github.com/Toblerity/Fiona/issues/830 https://github.com/Toblerity/Fiona/issues/754
This PR is probably best suited for Fiona 1.9. I created it against 1.8, as this branch includes a more complete drvsupport list. Once 1.9 catches up it should be possible to change the PR to 1.9.

Coverage increased (+0.6%) to 83.51% when pulling 74295d2cc002be94c0102117996459acce42cb67 on rbuffat:extend_memoryfile_support into 9c8ad2e018faf8ddbf427838616a5d20ea8f30ba on Toblerity:maint-1.8.

@rbuffat yesterday I finished a refactor of rasterio's MemoryFile after it was reported that its seek method was broken, preventing unordered multipart writes: https://github.com/mapbox/rasterio/pull/1935/files. I'd like to do the same for fiona's MemoryFile. After which, let's try to overlay this PR on top, and then I'll see able copying the directory support to rasterio :)

@sgillies I will update this PR once you merge these changes.
I had a look at MemoryFileBase.exists().  It looks as CPLCheckForFile does more reliably detect the existence of a dataset when a name without extension is used. However, there are still a few issues:

CPLCheckForFile returns True also for none dataset files. As long we control the filenames this should be not an issue.
GMT driver for GDAL 1.x requires an extension despite using CPLCheckForFile. With a .gmt extentions it works. (I did not yet test OGR_GMT)
GPKG driver needs a file extension for GDAL 2.0 when appending. Otherwise GDAL uses the SQLite driver instead.

A solution would be to set the appropriate extension in the initializationMemoryFile. However, this is a bit tricky because at this point it is unknown which driver will be used (or even written with write()).

@sgillies I merged the new MemoryFile and tried to extend the test coverage using as many drivers as possible. This revealed some bugs and segfaults I need to look at (see TODOs in tests/test_memoryfile.py).
The most common issue is that drivers have problems opening filenames without the proper extension. The extensions of a driver can be accessed using GDALGetMetadataItem(cogr_driver, DMD_EXTENSION, NULL) if the driver is known. GDALGetMetadataItem should be available for > GDAL 2.0.
I would suggest refactoring MemoryFile to use the proper extension for the filenames when possible (= the driver is known).

Thank you! That's super useful. Fiona should certainly respect the GDAL/OGR driver capability API.

FWIW, ZipMemoryFile.listdir() and ZipMemoryFile.listlayers()  would be really helpful, I came here to raise an issue but it looks like its already in processes? these methods would be helpful for me :)


azure-pipelines.yml

Node.js
Build a general Node.js project with npm.
Add steps that analyze code, save build artifacts, deploy, and more:
https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:

master

pool:
vmImage: 'ubuntu-latest'
steps:

task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'

script: |
npm install
npm run build
displayName: 'npm install and build'

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: alkuwara sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


[Documentation question] Would it be more precise to specify p in [0,1] for probability distributions?

Hi all,
I was looking at a few of the discrete distributions (Geometric: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.geom.html, Binomial: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binom.html) and noticed that they don't specify 0 < p < 1 though these are included in the argcheck (obviously, since probabilities are only between 0 and 1).
class binom_gen(rv_discrete):
    r"""A binomial discrete random variable.
    %(before_notes)s
    Notes
    -----
    The probability mass function for `binom` is:
    .. math::
       f(k) = \binom{n}{k} p^k (1-p)^{n-k}
    for ``k`` in ``{0, 1,..., n}``.
    `binom` takes ``n`` and ``p`` as shape parameters.
    %(after_notes)s
    %(example)s
    """
    def _rvs(self, n, p, size=None, random_state=None):
        return random_state.binomial(n, p, size)

    def _argcheck(self, n, p):
        return (n >= 0) & (p >= 0) & (p <= 1)

Would this be a desired contribution to the docstring? For example:
class binom_gen(rv_discrete):
    r"""A binomial discrete random variable.
    %(before_notes)s
    Notes
    -----
    The probability mass function for `binom` is:
    .. math::
       f(k) = \binom{n}{k} p^k (1-p)^{n-k}
    for ``k`` in ``{0, 1,..., n}``.
    `binom` takes ``n`` and ``p`` as shape parameters,
     where 0<p<1 is the probability of success and
     1-p is the probability of failure.
    %(after_notes)s
    %(example)s
    """

Yes, that would be great, a pull request would be welcome.  Just be sure that the range includes the endpoints, i.e. 0 <= p <= 1.

Yes, that would be great, a pull request would be welcome. Just be sure that the range includes the endpoints, i.e. 0 <= p <= 1.

Ah, of course. Looks like the text book I was referencing had that mistake as well. I'll work on a PR - if I'm modifying the string of multiple discrete distributions, should those be multiple PRs or just one since they'd be similar enough?

For several small and similar changes such as this, one pull request is fine.


Introduce SetStream Refaster rule

I think this is a candidate for "combinations of operators that don't make sense".
I tried to extend the rule with rules like
  static final class SetStreamFilter<T> {
    @BeforeTemplate
    Stream<?> before(Set<T> set, Predicate<T> predicate) {
      return set.stream().filter(predicate).distinct();
    }

    @AfterTemplate
    Stream<?> after(Set<T> set, Predicate<T> predicate) {
      return set.stream().filter(predicate);
    }
  }

But the number of permutations of different operators before using #distinct is a lot.
Suggested commit message
Rely on Set's property to preserve distinct elements when streaming

@hpnog Any additions from your side :)?

Discussed offline: We can proceed without @hpnog 's input.


Limit Tribute Tokens on Become Partner Form

https://bison-narwhal.vercel.app/#/molochv3/0x64/0x8577c1a3caedd9a6bfa431176a9b94474cdffd9c/new-proposal?formLego=BECOME_PARTNER
Replace Token Address field:

With select similar to:

Limit tribute tokens DAI, USDC, SPORK

@earth2travis Can you grab these token addresses on polygon?
and select 3 for us to use on gnosis chain?

@skuhlmann
Polygon

DAI: 0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063
USDC: 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
SPORK: 0x9CA6a77C8B38159fd2dA9Bd25bc3E259C33F5E39

Gnosis Chain

WXDAI: 0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d
USDC: 0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83
SPICE: 0x65e1738344EB68c7e2f4279aD9E1f7c253A09911

@earth2travis
pr here:
https://github.com/0xBootleggers/bufficorn/pull/53
we will configure the token list in the targetDao.ts file like this:
export const TARGET_DAO: {
  [key: string]: {
    ADDRESS: string;
    SAFE_ADDRESS: string;
    CHAIN_ID: ValidNetwork;
    TRIBUTE_TOKENS: OptionType[];
  };
} = {
  "0x8577c1a3caedd9a6bfa431176a9b94474cdffd9c": {
    ADDRESS: "0x8577c1a3caedd9a6bfa431176a9b94474cdffd9c",
    SAFE_ADDRESS: "0xaaa9ffe13a324676a0ff899cf21f09f56e166c6b",
    CHAIN_ID: "0x64",
    TRIBUTE_TOKENS: [
      {
        name: "WXDAI",
        value: "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",
      },
      {
        name: "USDC",
        value: "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83",
      },
      {
        name: "SPICE",
        value: "0x65e1738344EB68c7e2f4279aD9E1f7c253A09911",
      },
    ],
  },
};

@skuhlmann tested all three tokens all the way to execution


Make OkHttpClient default HttpClient implementation

Hola buenas noches, que tal

@pdpi I can see the OKClient class is already implemented. Is there any reason of not using it instead of HttpClient?


Make sure Security.types.ps1xml gets signed in release build

PR Summary
Update signing to include 'Security.types.ps1xml'.

/backport to release/v7.3.0-rc.1


Sequence Not Accepting Normal Command Objects?

I tried to setup the following sequence as per the example:
"DefaultTabsInGroups": {
            "sequence": [
                {
                    "command": "workbench.action. focusFirstEditorGroup",
                },
                {
                    "command": "commands.openFolder",
                    "args": "O:\\main.md",
                },
            ],
        },

But when I run it, it does not execute anything.
The "simple" syntax without declaring the command object in your example does work though, though there is no way to enter arguments that way (and be able to open the file as in the 2nd step in my sequence above).
Is my formatting incorrect? Is comma-separation not required inside and outside the bracket? The example's image and text syntax did not match and had different syntaxes so it was confusing.

Console shows:

ERR command 'workbench.action. focusFirstEditorGroup' not found: Error: command 'workbench.action. focusFirstEditorGroup' not found

So you have extra space in the command name.
Still, it would be better if extension showed errors to the user when running command fails.


Duplicate heading in README files

Both tool-specific README files have the same heading although they are referring to different processing steps. Maybe a single README.md file would be more useful for the users?

README files have been updated in this commit 9a32b721c0b589d261452f4bc19a517729810efd.
For now, we have separate README for each of the processing steps, later we will have a single README for the entire LAYoutERkennung repo.


Report 13630/13631 "OIOUBL-Create Elec. Invoices"/"OIOUBL-Create Elec. Cr. Memos requested events still not in new version.

Describe the request
I can not see that this has been implemented in the major BC24 Microsoft_OIOUBL_24.0.16410.18040, could you let me know which build I can expect this to be in.
https://github.com/microsoft/ALAppExtensions/issues/25726
Additional context
Reference https://github.com/microsoft/ALAppExtensions/issues/25726
Internal work item: AB#527543

It did not make it into 24.0, it is in 24.1


// MARK: delimiter in gyb generated files to allow overview in Xcode minimap

💡 WIP needs to decide format before merge
Adding // MARK: delimiter on a different format (need to agree which format is best) for different curves within gyb generated files.
Motivation:
Some of over gyb generated files are very long, without any // MARK: delimiter, making it hard to get an overview in the Xcode minimap.
Modifications:
Just adding // MARK: in gyb files.
Result:
before
This is is ECDSA.swift before MARK change

after (simple)
Same file -  ECDSA.swift - after, with simple // MARK: - ${CURVE} + PrivateKey

after (decorated)
This is ECDH.swift with a more decorated variant.
TIL (today I learned): You cannot put multiple // MARK on subsequent lines, Xcode will not render them all. E.g. 3 lines of MARK will result in Xcode only displaying the first. The "workaround" this is to put comment (non // MARK lines) in between the 3 // MARK lines, which is what I've done in this decorated variant.  Thus, in the source, the MARK takes up 9 lines, but might be worth it, because the rendered MARK in the minimap is a much more vibrant delimiter:
Code
// MARK: *************************
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
// MARK: -~=*  Curve ${CURVE}   *=~-
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
// MARK: *************************

minimap

@Lukasa Please let me know:

If you think this is a good idea at all (but I have a feeling you'll like it)
(if so:) Which format you prefer

I definitely like this idea. I think I like it in its current form: the vivid delimiter is extremely vivid, and probably a bit excessive. The smaller marks, however, are very nice and likely to be helpful.

Hehe yes, definitely a bit excessive :D
Of the non-decorated marks, this is still ECDH.swift, which of these three versions do you like the best? Low, medium or high detail level? The only difference between medium and high is that medium omits repetition of Curve name, whereas high displays that again.
Low

Medium

High

I think low is fine: the structure of the code is sufficient to work out what's going on once you have the marks.

@Lukasa ready to be merged, I've changed to the low detail level as per your comment 👍

@swift-server-bot test this please


Can't read values from Custom Variable Template

We are using a lot of variable associated to Custom Template Variable. (Specifically to avoid dataLayer persistency we use dataLayer Picker by Simo Ahava)
Even if the value of the variable I associate to the Custom Tag Template is defined in the preview of variable from GTM, it doesn't return any values in the Tag.
Example :

UPDATE : I was mistaken, it doesn't solve our issue.
My issue is the Amplitude Template doesn't read the variable generated by a Variable Template Example :

Edit : It was due to Tag Sequencing, it's working as intended now ! Sorry for the noises 🙏


[P0] compreft.ipynb error = KeyError: 'subspaces'

When running the script it appears that result['subspaces'] has not been initialized meaning that it cannot be appended to in:
result["subspaces"].append(_subspaces)

On manually fixing that, it appears there's an issue permuting the subspaces:
subspaces=inputs["subspaces"].permute(1, 0, 2).tolist() if "subspaces" in inputs else None

because running the training results in:
     75 def compute_loss(
     76     self,
     77     intervenable: pv.IntervenableModel,
   (...)
     80 ):
     81     # run intervened forward pass
     82     _, cf_outputs = intervenable(
     83         {
     84             "input_ids": inputs["input_ids"],
     85             "attention_mask": inputs["attention_mask"]
     86         },
     87         unit_locations={"sources->base": (
     88             None,
     89             inputs["intervention_locations"].permute(1, 0, 2).tolist()
     90         )},
     91         labels=inputs["labels"],
---> 92         subspaces=inputs["subspaces"].permute(1, 0, 2).tolist() if "subspaces" in inputs else None
     93     )
     94     # return
     95     return (cf_outputs.loss, cf_outputs) if return_outputs else cf_outputs.loss

RuntimeError: permute(sparse_coo): number of dimensions in the tensor input does not match the length of the desired ordering of dimensions i.e. input.dim() = 2 is not equal to len(dims) = 3

@RonanKMcGovern thanks for the question.
Could you print the inputs["subspaces"] dimension, before passing into the call in line 82 above? it should be a 3d tensor.
Before permutation, the first shape should be the batch size, after permutation, the first shape should be 1 if you are doing a single intervention.

i will update the tutorial - it is currently incompatible with the new infra code.

@RonanKMcGovern i checked in the fix: https://github.com/stanfordnlp/pyreft/pull/75
(i haven't rerun the notebook to verify tho, but please let me know if it works for your examples.) If it works, feel free to close this issue! ty!

marking this issue as closed for now --- if the problem still exists, feel free to reopen or open a new issue.


How is octave_base_scale decided?

Hi, just a minor question...
In the nanodet-s the octave_base_scale is set to 5, for nanodet-g its set to 8. Where do these numbers come from?
Is it related to the DFL and reg_max? or the network structure itself?

Hi same question here too,
How the octave_base_scale is decided ?


Add INCLUDE statement?

Not sure if it's beyond the scope of this language given how its a bit tongue in cheek but it would be nice to have the ability to split a program up into components and then include them aka the COBOL INCLUDE statement.
Given a directory structure like so:
.
└── src
    ├── main.ldpl
    ├── member-name.ldpl
    └── another-member-name.ldpl

You could within the DATA division allow an INCLUDE statement with similar syntax to COBOL:
DATA:
    INCLUDE member-name.ldpl
    INCLUDE another-member-name.ldpl

Or maybe have an additional INCLUDE division?
In either case the include could act as a "copy-paste" merging the DATA and PROCEDURE divisions of the included source into the requesting file in the order in which they are included.
You could go one further and allow the INCLUDE statement in the PROCEDURE division to open the possibility of dynamic includes ;)

In adding includes it opens this language up to the entertaining possibility of libraries.

Yes! It's been planned. At the moment, in fact, you can do ldpl -i=file1.ldpl -i=file2.ldpl mysource.ldpl to include file1.ldpl and file2.ldpl into mysource.ldpl. I will add the include statement as soon as I can though!

Oh wow, I did not know that 👍
I had been trying to think of interesting things I could build with this language for the fun of doing so and was reminded of the 1991 web framework written in Forth. I'm not entirely sure it's possible to do in ldpl but it would be fun trying.


CS-NeuralFMUs have bad computational performance compared to ME-NeuralFMUs ...

... see testing scripts. The time for gradient determination seems to increase with every evaluation. This needs to be investigated.

closed in v0.10.1

closed with v0.10.1 #86


add azurerm_windows_computer_name for limitation

199
PR Checklist

[x ] I have read the CONTRIBUTING.MD instructions
[ x] I have changed the resourceDefinition.json
[ x] I have generated the resource model (there's a models_generated.go file in my PR)
[ x] I have updated the README.md#resource-status
[ x] I have checked to ensure there aren't other open Pull Requests for the same update/change?

Description

https://github.com/aztfmod/terraform-provider-azurecaf/pull/200 has broken the caf_name for computer name in favor of expanding the limit for the resource windows virtual machine.
this new resource introduces a way to limit the computer (host) name alone without affecting the resource name.
Does this introduce a breaking change

[ ] YES
[x ] NO

Testing

Closing as discussed.


pavan591-0

The Readme file is currently lengthy and complex, making it challenging for newcomers to comprehend how to contribute effectively to the project.
To enhance accessibility and clarity, I propose relocating the Contributing section to the beginning of the Readme file and streamlining its content where feasible.
I kindly request assistance from anyone willing to dedicate time to address this issue and improve the project's accessibility for all contributors. Thank you!

Hello, I'm Pavan. I'm currently pursuing a Master's degree in Computer Science at NAU. I have a keen interest in learning about open-source software and using Git/GitHub. I'm excited to deepen my knowledge and contribute to this repository by working on issues and more.

@caiton1 Could you please assist me in resolving this issue? Your expertise on this project would be incredibly helpful in finding a solution. Thank you for your assistance!

As per our discussion, the following changes have been implemented: the contribution section has been repositioned and the content has been streamlined. @caiton1 , thank you for your assistance in resolving this issue. Your help is greatly appreciated.


playbook cluster up fails to start the cluster

Scenario tested

Create Centos7 VM

../virtualbox/create-vm.sh -i ~/images -m 600
######### Poweroff machine if it runs
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
######### .............. Done
######### unregister vm CentOS-7 and delete it
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
######### Copy disk.vdi created
######### Create vboxnet0 network and set dhcp server : <IP_ADDRESS>/24
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interface 'vboxnet0' was successfully created
######### Create VM
Virtual machine 'CentOS-7' is created and registered.
UUID: fb6a014e-9e2f-4a3e-bcd6-f25f4ef440f7
Settings file: '/Users/dabou/VirtualBox VMs/CentOS-7/CentOS-7.vbox'
######### RAM       : 600
######### CPU       : 2
######### DISK SIZE : 25000
######### Define NIC adapters; NAT and vboxnet0
######### Customize vm; ram, cpu, ....
######### Resize VDI disk to 15GB
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
######### Create IDE Controller, attach vdi disk and iso dvd
######### start vm and configure SSH Port forward
Waiting for VM "CentOS-7" to power on...
VM "CentOS-7" has been successfully started.
######### Generating Ansible inventory file
 [WARNING]: Unable to parse /etc/ansible/hosts as an inventory source

 [WARNING]: No inventory was parsed, only implicit localhost is available

 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

PLAY [localhost] *****************************************************************************************************************************************************************************************************

TASK [generate_inventory : set_fact] *********************************************************************************************************************************************************************************
ok: [localhost]

TASK [generate_inventory : Create Ansible Host file] *****************************************************************************************************************************************************************
ok: [localhost]

TASK [generate_inventory : shell] ************************************************************************************************************************************************************************************
changed: [localhost]

TASK [generate_inventory : Show inventory file location] *************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "Inventory file created at : /Users/dabou/Code/snowdrop/openshift-infra/ansible/inventory/simple_host"
}

PLAY RECAP ***********************************************************************************************************************************************************************************************************
localhost                  : ok=4    changed=1    unreachable=0    failed=0

Generate inventory (we can maybe skip it)

ansible-playbook playbook/generate_inventory.yml -e ip_address=<IP_ADDRESS> -e type=simple

Launch up playbook

ansible-playbook -i inventory/simple_host playbook/cluster.yml --tags "up" -e enable="service-catalog,automation-service-broker"

PLAY [masters] *******************************************************************************************************************************************************************************************************

TASK [cluster : Wait till yum has finished to install/update packages] ***********************************************************************************************************************************************
The authenticity of host '<IP_ADDRESS> (<IP_ADDRESS>)' can't be established.
ECDSA key fingerprint is SHA256:YqB+U45N1Rq/Gm9giOD/3gnRs65vs8AhxJvF1jq9pYI.
Are you sure you want to continue connecting (yes/no)? yes
ok: [<IP_ADDRESS>]

TASK [cluster : Install python-rhsm-certificates package if not there to get Red Hat CA Certs required to doanload docker images] ************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Create daemon.json file to define extra docker parameters such as insecure-registries] ***************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Reload systemctl daemon and restart docker service] **************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Disable selinux] *************************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/selinux.yml for <IP_ADDRESS>

TASK [cluster : Disable selinux - required for persistent pod] *******************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Check if oc binary exists] ***************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Get the client assets] *******************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_client_assets.yml for <IP_ADDRESS>

TASK [cluster : Show the URL] ****************************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "msg": "Accessing release at https://api.github.com/repos/openshift/origin/releases/tags/v3.10.0"
}

TASK [cluster : Get the tagged release] ******************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Set release] *****************************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Show the URL] ****************************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Get the latest release] ******************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Set release] *****************************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Should have an assets_url] ***************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [cluster : debug] ***********************************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "assets_url": "https://api.github.com/repos/openshift/origin/releases/12236014/assets"
}

TASK [cluster : Get the list of assets] ******************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Install the oc binary client] ************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/install_oc_client.yml for <IP_ADDRESS>

TASK [cluster : Get the Mac asset] ***********************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_mac_asset.yml for <IP_ADDRESS>

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Mac asset] **********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Get the Linux asset] *********************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/get_linux_asset.yml for <IP_ADDRESS>

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Find the Linux asset] ********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Should have an asset_name] ***************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [cluster : Create a temp dir] ***********************************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Show temp dir] ***************************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "msg": "Temp dir - /tmp/ansible.tqom60kQWH"
}

TASK [cluster : Show the asset name] *********************************************************************************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "msg": "Asset name = openshift-origin-client-tools-v3.10.0-dd10d17-linux-64bit.tar.gz"
}

TASK [cluster : Download the asset] **********************************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Unzip the archive] ***********************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Untar the archive] ***********************************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Set path to the extracted folder for tar.gz archive] *************************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Set path to the extracted folder for zip archive] ****************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Check if 'oc' client exists within the extracted archive folder] *************************************************************************************************************************************
ok: [<IP_ADDRESS>]

TASK [cluster : Copy 'oc' to the requested directory if it exists within the extracted folder] ***********************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Remove the temp directory] ***************************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : Check if running] ************************************************************************************************************************************************************************************
included: /Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/roles/cluster/tasks/isrunning.yml for <IP_ADDRESS>

TASK [cluster : Check if cluster is running] *************************************************************************************************************************************************************************
changed: [<IP_ADDRESS>]

TASK [cluster : debug] ***********************************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Stop playbook, if running and not recreate] **********************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : debug] ***********************************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Recreate] ********************************************************************************************************************************************************************************************
skipping: [<IP_ADDRESS>]

TASK [cluster : Config to start the all in one Openshift cluster using command 'oc cluster up'] **********************************************************************************************************************
ok: [<IP_ADDRESS>] => {
    "msg": "Parameters :  --base-dir=/var/lib/origin/openshift.local.clusterup --write-config=true --public-hostname=<IP_ADDRESS> --routing-suffix=<IP_ADDRESS>.nip.io --server-loglevel=1 --write-config=False"
}

TASK [cluster : Configure cluster] ***********************************************************************************************************************************************************************************

Error
fatal: [<IP_ADDRESS>]: FAILED! =>
{
  "changed": true,
  "cmd": [
    "oc",
    "cluster",
    "up",
    "--base-dir=/var/lib/origin/openshift.local.clusterup",
    "--write-config=true",
    "--public-hostname=<IP_ADDRESS>",
    "--routing-suffix=<IP_ADDRESS>.nip.io",
    "--server-loglevel=1",
    "--write-config=False"
  ],
  "delta": "0:08:58.879267",
  "end": "2018-09-13 17:45:28.351865",
  "msg": "non-zero return code",
  "rc": 1,
  "start": "2018-09-13 17:36:29.472598",
  "stderr": "I0913 17:39:55.344497    3344 config.go:42] Running \"create-master-config\"\nI0913 17:39:59.243471    3344 config.go:46] Running \"create-node-config\"\nI0913 17:40:00.591785    3344 flags.go:30] Running \"create-kubelet-flags\"\nI0913 17:40:02.699043    3344 run_kubelet.go:48] Running \"start-kubelet\"\nI0913 17:40:03.123105    3344 run_self_hosted.go:172] Waiting for the kube-apiserver to be ready ...\nE0913 17:45:27.926322    3344 run_self_hosted.go:542] API server error: Get https://<IP_ADDRESS>:8443/healthz?timeout=32s: net/http: TLS handshake timeout ()\nError: timed out waiting for the condition",
  "stderr_lines": [
    "I0913 17:39:55.344497    3344 config.go:42] Running \"create-master-config\"",
    "I0913 17:39:59.243471    3344 config.go:46] Running \"create-node-config\"",
    "I0913 17:40:00.591785    3344 flags.go:30] Running \"create-kubelet-flags\"",
    "I0913 17:40:02.699043    3344 run_kubelet.go:48] Running \"start-kubelet\"",
    "I0913 17:40:03.123105    3344 run_self_hosted.go:172] Waiting for the kube-apiserver to be ready ...",
    "E0913 17:45:27.926322    3344 run_self_hosted.go:542] API server error: Get https://<IP_ADDRESS>:8443/healthz?timeout=32s: net/http: TLS handshake timeout ()",
    "Error: timed out waiting for the condition"
  ],
  "stdout": "Getting a Docker client ...\nChecking if image openshift/origin-control-plane:v3.10 is available ...\nPulling image openshift/origin-control-plane:v3.10\nPulled 1/5 layers, 21% complete\nPulled 2/5 layers, 46% complete\nPulled 3/5 layers, 72% complete\nPulled 4/5 layers, 91% complete\nPulled 5/5 layers, 100% complete\nExtracting\nImage pull complete\nPulling image openshift/origin-cli:v3.10\nPulled 1/4 layers, 26% complete\nPulled 2/4 layers, 63% complete\nPulled 3/4 layers, 82% complete\nPulled 4/4 layers, 100% complete\nExtracting\nImage pull complete\nPulling image openshift/origin-node:v3.10\nPulled 5/6 layers, 84% complete\nPulled 5/6 layers, 95% complete\nPulled 6/6 layers, 100% complete\nExtracting\nImage pull complete\nChecking type of volume mount ...\nDetermining server IP ...\nUsing public hostname IP <IP_ADDRESS> as the host IP\nChecking if OpenShift is already running ...\nChecking for supported Docker version (=>1.22) ...\nChecking if insecured registry is configured properly in Docker ...\nChecking if required ports are available ...\nChecking if OpenShift client is configured properly ...\nChecking if image openshift/origin-control-plane:v3.10 is available ...\nStarting OpenShift using openshift/origin-control-plane:v3.10 ...",
  "stdout_lines": [
    "Getting a Docker client ...",
    "Checking if image openshift/origin-control-plane:v3.10 is available ...",
    "Pulling image openshift/origin-control-plane:v3.10",
    "Pulled 1/5 layers, 21% complete",
    "Pulled 2/5 layers, 46% complete",
    "Pulled 3/5 layers, 72% complete",
    "Pulled 4/5 layers, 91% complete",
    "Pulled 5/5 layers, 100% complete",
    "Extracting",
    "Image pull complete",
    "Pulling image openshift/origin-cli:v3.10",
    "Pulled 1/4 layers, 26% complete",
    "Pulled 2/4 layers, 63% complete",
    "Pulled 3/4 layers, 82% complete",
    "Pulled 4/4 layers, 100% complete",
    "Extracting",
    "Image pull complete",
    "Pulling image openshift/origin-node:v3.10",
    "Pulled 5/6 layers, 84% complete",
    "Pulled 5/6 layers, 95% complete",
    "Pulled 6/6 layers, 100% complete",
    "Extracting",
    "Image pull complete",
    "Checking type of volume mount ...",
    "Determining server IP ...",
    "Using public hostname IP <IP_ADDRESS> as the host IP",
    "Checking if OpenShift is already running ...",
    "Checking for supported Docker version (=>1.22) ...",
    "Checking if insecured registry is configured properly in Docker ...",
    "Checking if required ports are available ...",
    "Checking if OpenShift client is configured properly ...",
    "Checking if image openshift/origin-control-plane:v3.10 is available ...",
    "Starting OpenShift using openshift/origin-control-plane:v3.10 ..."
  ]
}
	to retry, use: --limit @/Users/dabou/Code/snowdrop/openshift-infra/ansible/playbook/cluster.retry

PLAY RECAP ***********************************************************************************************************************************************************************************************************
<IP_ADDRESS>              : ok=42   changed=9    unreachable=0    failed=1

Docker processes and images

docker ps
CONTAINER ID        IMAGE                                                                                COMMAND                  CREATED             STATUS              PORTS               NAMES
c00d96607294        docker.io/openshift/origin-hypershift@sha256:4b815905b9abb19dab747c467e90b72b1ab8796c848e1ef36b86cbc98ec0f15b      "/bin/bash -c '#!/..."   8 minutes ago       Up 8 minutes                            k8s_api_master-api-localhost_kube-system_4b5e7b2a453fef606f38d44147b57f07_1
8b3f3eac7834        docker.io/openshift/origin-hyperkube@sha256:db5aa780eaf07c0aab98025fee444aeef4927a4cdaf23b6100f198bb1f4fa9fe       "hyperkube kube-co..."   8 minutes ago       Up 8 minutes                            k8s_controllers_kube-controller-manager-localhost_kube-system_e284381eca11d66f3c5f887d2de59a92_0
af9e97f7ad04        docker.io/openshift/origin-hyperkube@sha256:db5aa780eaf07c0aab98025fee444aeef4927a4cdaf23b6100f198bb1f4fa9fe       "hyperkube kube-sc..."   8 minutes ago       Up 8 minutes                            k8s_scheduler_kube-scheduler-localhost_kube-system_cb280e31ed1268f6809ec17938db44ff_0
3350aa2acd3c        docker.io/openshift/origin-control-plane@sha256:2da401a587fadbc0c029c9347d88a6c1e22e6cdd39f54ad41087a2380fd9dedc   "/bin/bash -c '#!/..."      10 minutes ago      Up 10 minutes                           origin

[root@cloud ~]# docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/openshift/origin-node            v3.10               b2e0cbf1c449        7 days ago          1.31 GB
docker.io/openshift/origin-control-plane   v3.10               57543ab622d1        7 days ago          820 MB
docker.io/openshift/origin-hypershift      v3.10               4d95bae07cf6        7 days ago          517 MB
docker.io/openshift/origin-hyperkube       v3.10               7c04889def49        7 days ago          495 MB
docker.io/openshift/origin-pod             v3.10               1611d858742d        7 days ago          223 MB
docker.io/openshift/origin-cli             v3.10               e89a66bd2957        4 months ago        360 MB

I don't really think there is something we can do here, you seem to have got a timeout: timed out waiting for the condition

I think that you might have been hit by a TLS issue again: net/http: TLS handshake timeout ()

I think this is my mistake as I created the VM with only 600 of RAM instead of 6000 ;-) Will retest

Sounds good :)

If, for any reason, the process to pick up the images is longer, then we get such timeout values. Installing oc locally becomes really a mess

Yeah... I can definitely imagine that happening quite often...
Are there any flags that you know of that could help us increase the timeout?

Do you think that we could stdout the progression of the command oc cluster to see where it blocks and maybe to be able to pass --v= with a verbosity value ?

@cmoulliard No, that is not currently possible with Ansible. You need to wait for the command to finish before displaying it's output

There is an error here ->     "msg": "Parameters :  --base-dir=/var/lib/origin/openshift.local.clusterup --write-config=true --public-hostname=<IP_ADDRESS> --routing-suffix=<IP_ADDRESS>.nip.io --server-loglevel=1 --write-config=False" as --write-config= appears twice with 2 different values ...
I will fix it

@cmoulliard Good catch!

I suggest that you do a clean before launching the up step again. This is the same thing as if you were running oc cluster up locally - some containers are probably running leading oc cluster up to fail

I'm fixing this issue and oc cluster up should work now ;-)

Still getting an error during OAB feature's  installation and due to the fact that it took too much time to wait (size of the image is about 1.3GB) even if the job to install it continues
{
  "changed": true,
  "cmd": [
    "oc",
    "cluster",
    "add",
    "--base-dir=/var/lib/origin/openshift.local.clusterup",
    "automation-service-broker"
  ],
  "delta": "0:05:02.366162",
  "end": "2018-09-13 18:35:32.057264",
  "item": "automation-service-broker",
  "msg": "non-zero return code",
  "rc": 1,
  "start": "2018-09-13 18:30:29.691102",
  "stderr": "I0913 18:30:29.871603   20831 interface.go:26] Installing \"automation-service-broker\" ...\nI0913 18:30:29.888923   20831 apply_template.go:83] Installing \"automation-service-broker\"\nE0913 18:35:32.052829   20831 interface.go:34] Failed to install \"automation-service-broker\": timed out waiting for the condition\nI0913 18:35:32.052858   20831 interface.go:41] Finished installing \"automation-service-broker\"\nError: timed out waiting for the condition\n\n\nUsage:\n  oc cluster add [flags]\n\nExamples:\n  # Add service catalog\n  oc cluster add service-catalog\n  \n  # Add template service broker to a different basedir\n  oc cluster add --base-dir=other/path template-service-broker\n\nOptions:\n      --base-dir='': Directory on Docker host for cluster up configuration\n      --image='openshift/origin-${component}:${version}': Specify the images to use for OpenShift\n      --server-loglevel=0: Log level for OpenShift server\n\nUse \"oc options\" for a list of global command-line options (applies to all commands).",
  "stderr_lines": [
    "I0913 18:30:29.871603   20831 interface.go:26] Installing \"automation-service-broker\" ...",
    "I0913 18:30:29.888923   20831 apply_template.go:83] Installing \"automation-service-broker\"",
    "E0913 18:35:32.052829   20831 interface.go:34] Failed to install \"automation-service-broker\": timed out waiting for the condition",
    "I0913 18:35:32.052858   20831 interface.go:41] Finished installing \"automation-service-broker\"",
    "Error: timed out waiting for the condition",
    "",
    "",
    "Usage:",
    "  oc cluster add [flags]",
    "",
    "Examples:",
    "  # Add service catalog",
    "  oc cluster add service-catalog",
    "  ",
    "  # Add template service broker to a different basedir",
    "  oc cluster add --base-dir=other/path template-service-broker",
    "",
    "Options:",
    "      --base-dir='': Directory on Docker host for cluster up configuration",
    "      --image='openshift/origin-${component}:${version}': Specify the images to use for OpenShift",
    "      --server-loglevel=0: Log level for OpenShift server",
    "",
    "Use \"oc options\" for a list of global command-line options (applies to all commands)."
  ],
  "stdout": "Adding automation-service-broker ...",
  "stdout_lines": [
    "Adding automation-service-broker ..."
  ]
}

That is sad indeed but I doubt we can do much about it unfortunately
On Thu, Sep 13, 2018, 19:39 Charles Moulliard<EMAIL_ADDRESS>wrote:

Still getting an error during OAB feature's installation and due to the
fact that it took too much time to wait (size of the image is about 1.3GB)
even if the job to install it continues
{
"changed": true,
"cmd": [
"oc",
"cluster",
"add",
"--base-dir=/var/lib/origin/openshift.local.clusterup",
"automation-service-broker"
],
"delta": "0:05:02.366162",
"end": "2018-09-13 18:35:32.057264",
"item": "automation-service-broker",
"msg": "non-zero return code",
"rc": 1,
"start": "2018-09-13 18:30:29.691102",
"stderr": "I0913 18:30:29.871603   20831 interface.go:26] Installing "automation-service-broker" ...\nI0913 18:30:29.888923   20831 apply_template.go:83] Installing "automation-service-broker"\nE0913 18:35:32.052829   20831 interface.go:34] Failed to install "automation-service-broker": timed out waiting for the condition\nI0913 18:35:32.052858   20831 interface.go:41] Finished installing "automation-service-broker"\nError: timed out waiting for the condition\n\n\nUsage:\n  oc cluster add [flags]\n\nExamples:\n  # Add service catalog\n  oc cluster add service-catalog\n  \n  # Add template service broker to a different basedir\n  oc cluster add --base-dir=other/path template-service-broker\n\nOptions:\n      --base-dir='': Directory on Docker host for cluster up configuration\n      --image='openshift/origin-${component}:${version}': Specify the images to use for OpenShift\n      --server-loglevel=0: Log level for OpenShift server\n\nUse "oc options" for a list of global command-line options (applies to all commands).",
"stderr_lines": [
"I0913 18:30:29.871603   20831 interface.go:26] Installing "automation-service-broker" ...",
"I0913 18:30:29.888923   20831 apply_template.go:83] Installing "automation-service-broker"",
"E0913 18:35:32.052829   20831 interface.go:34] Failed to install "automation-service-broker": timed out waiting for the condition",
"I0913 18:35:32.052858   20831 interface.go:41] Finished installing "automation-service-broker"",
"Error: timed out waiting for the condition",
"",
"",
"Usage:",
"  oc cluster add [flags]",
"",
"Examples:",
"  # Add service catalog",
"  oc cluster add service-catalog",
"  ",
"  # Add template service broker to a different basedir",
"  oc cluster add --base-dir=other/path template-service-broker",
"",
"Options:",
"      --base-dir='': Directory on Docker host for cluster up configuration",
"      --image='openshift/origin-${component}:${version}': Specify the images to use for OpenShift",
"      --server-loglevel=0: Log level for OpenShift server",
"",
"Use "oc options" for a list of global command-line options (applies to all commands)."
],
"stdout": "Adding automation-service-broker ...",
"stdout_lines": [
"Adding automation-service-broker ..."
]
}
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/snowdrop/openshift-infra/issues/110#issuecomment-421071752,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AELBv8uFDxpnure2y_1niXwuznX40VKXks5uaoojgaJpZM4WnjJO
.

Last commit is working and config is saved without the need to use option --write-config=true

Yes, I didn't  doubt that it would deploy the cluster without the flag.
My point is that we need write-config=true for the post installation
playbooks (unless there is something that I have completely missed).
In any case I will take another look tomorrow and promptly let you know
On Thu, Sep 13, 2018, 19:53 Charles Moulliard<EMAIL_ADDRESS>wrote:

Last commit is working and config is saved without the need to use option
--write-config=true
[image: screenshot 2018-09-13 18 52 25]
https://user-images.githubusercontent.com/463790/45503173-57b85900-b786-11e8-871b-deda6b802b39.png
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/snowdrop/openshift-infra/issues/110#issuecomment-421076515,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AELBv-JPR8r36dH3U09Dq3WaqgBUV_Ssks5uao2igaJpZM4WnjJO
.

config is saved during oc cluster upsince 3.10 and we don't have to do : stop/write/up

Executed some tasks successfully
https://gist.github.com/cmoulliard/f376d8bc062328fa0736bbb493f89c84


VGA log are displaying VAMP GATEWAY AGENT: katana string

needs to be the correct version, not hardcoded

closing this as it's fixed


Pulumi Challenge # 4 - Holiday Shopping

Is there a way that I can override the default hero banner and replace it with this?


[TASK][BETA 1.0] docker image

Is your feature request related to a problem? Please describe.
i want to run it on a headless server (that is already setup for containers)
Describe the solution you'd like
ideally github actions setup to automatically build and test a docker image on every release and preview(like beta release)
Describe alternatives you've considered
none
Additional context
how techidesk does it (.github/workflows/)

No idea how docker works but it's worth looking at it as Fukayo should be able to run in headless mode with useFork()
https://github.com/JiPaix/Fukayo/blob/92cff460aec56d2d032eaad91d23ec74992604e6/packages/api/src/index.ts#L13
https://github.com/JiPaix/Fukayo/blob/92cff460aec56d2d032eaad91d23ec74992604e6/packages/api/src/types/index.ts#L1-L59
The API relies on puppeteer, xvfb will be required:
Xvfb :100
export DISPLAY=:100.0
node ./script/that/use/useFork.js

xvfb-run might work too
xvfb-run node ./script/that/use/useFork.js

as long as ik how it can be run in headless i can make a dockerfile that i can build
but ideally it would be an image built by github actions on every release (and beta release) (idk github actions though)

closed by 47eaadb8e48079a8dcbe6e156fdbe561979b6bf4


Added support for site globals

Great addon! But missed the support for globals in my own projects.

This is great, thanks so much @makkinga!


install error with Poco

When I execute this command in the console:

PS > .\vcpkg.exe install poco

I got error message:

-- Build x86-windows-dbg
CMake Error at scripts/cmake/vcpkg_build_cmake.cmake:136 (message):
Command failed: C:/Program Files/CMake/bin/cmake.exe;--build;.;--config;Debug;--target;install;--;-v;-j1
Working Directory: D:/royiluo/vcpkg/buildtrees/zlib/x86-windows-dbg
See logs for more information:
D:\royiluo\vcpkg\buildtrees\zlib\install-x86-windows-dbg-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
ports/zlib/portfile.cmake:29 (vcpkg_install_cmake)
scripts/ports.cmake:72 (include)
Error: Building package zlib:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: zlib:x86-windows
Vcpkg version: 0.0.107-2018-03-28-10e77be9fa5a4d6bb132c8d56ee8426de36ab449
Additionally, attach any relevant sections from the log files above.

Hi gzuroy, could you please attach the log file

D:\royiluo\vcpkg\buildtrees\zlib\install-x86-windows-dbg-out.log

install-x86-windows-dbg-out.log
The log file has some Chinese characters, because I installed Chinese version of VS2015. Sorry for the language hope it could help you find out the error.


Background Overlay is not available

hi @nysamnang
We have a requirement where we need to add a background overlay for the bottom-sheet which at this point of time can only be done outside the component and not within the component. And further when bottom sheet opens, it should show the backgroundOverlay and upon tapping the backgroundOverlay, it should not close the bottom sheet, but rather disable/close the backgroundOverlay. I've update the code to get that working and its in my local. If you think, it would be useful, Pls let me know and grant me access, so i can raise a PR. And  you can take it accordingly

Brad

Right @Brad19, I am also feeling the requirement of it.

One solution I got is
customStyles={{
    wrapper: {
        backgroundColor: "rgba(0,0,0,0.6)",
        width: "100%",
        alignSelf: "center"
    },
}}


Cannot read property 'name' of undefined TypeError at no-array-index-key.js:146:25

This just started when I updated to:

<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
Here's the full error output:
Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
    at /Users/daniel/Projects/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js:146:25
    at Array.forEach (native)
    at EventEmitter.CallExpression (/Users/daniel/Projects/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js:145:28)
    at emitOne (events.js:101:20)
    at EventEmitter.emit (events.js:188:7)
    at NodeEventGenerator.enterNode (/Users/daniel/Projects/node_modules/eslint/lib/util/node-event-generator.js:39:22)
    at CodePathAnalyzer.enterNode (/Users/daniel/Projects/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:607:23)
    at CommentEventGenerator.enterNode (/Users/daniel/Projects/node_modules/eslint/lib/util/comment-event-generator.js:97:23)
    at Controller.enter (/Users/daniel/Projects/node_modules/eslint/lib/eslint.js:928:36)
    at Controller.__execute (/Users/daniel/Projects/node_modules/estraverse/estraverse.js:397:31)

I've tried disabling the no-array-index-key rule in my .eslintrc file but I still get the error.
Line 146 says:
if (prop.key.name !== 'key') {
  // { foo: bar }
  return;
}

@lencioni As for why prop wouldn't exist, i'm not sure. Is this the eslint-plugin-react code breaking? Or, is it my projects code somehow breaking the linter? Need more info?

If you modify the no-array-index-key.js file, so that it does console.log(context.getFileName()) right above the line that errors, does it print out the filename that it's breaking on?
If so, could you provide its source?

I figured out what code lead to error

{ [].map((child, index) => React.cloneElement(child, { ...child.props })) }

@ljharb yes, great idea, here is the source of that file.
btw, it's context.getFilename() with a lowercase "n".
import React, { PropTypes } from 'react';
import { connect } from 'react-redux';
import { get, omit, isEqual, omitBy, isNil } from 'lodash';
import Search from '../components/search-component';
import Loading from '../components/loading-component';
import ErrorComponent from '../components/error-component';
import { actions } from 'react-redux-form';
import history from '../history';

class Collection extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      page: props.page,
      state: 'loading',
      keywords: '',
      status: '',
      method: '',
      type: '',
      success: '',
    };
  }
  componentWillMount() {
    this.loadCollection(this.props);
  }

  componentWillReceiveProps(nextProps) {
    if (!isEqual(this.props.location.query, nextProps.location.query)) {
      this.loadCollection(nextProps);
    }
  }

  loadCollection(props) {
    const { location } = props;

    const {
      getAllAction,
      dispatch,
      onLoad,
      resourceType,
    } = this.props;

    const params = {
      page: get(location, 'query.page', 1),
      success: get(location, 'query.success'),
      status: get(location, 'query.status'),
      method: get(location, 'query.method'),
      type: get(location, 'query.type'),
      sort: get(location, 'query.sort'),
      order: get(location, 'query.order'),
      schedule_id: get(location, 'query.schedule_id'),
      customer_id: get(location, 'query.customer_id'),
      keywords: get(location, 'query.keywords'),
      startDate: get(location, 'query.startDate'),
      endDate: get(location, 'query.endDate'),
      resourceType,
    };

    this.setState({
      state: 'loading',
    });

    dispatch(getAllAction(
      omitBy(params, isNil),
      (collection) => {
        if (onLoad) onLoad(collection);
        this.setState({
          state: 'ready',
          collection,
        });
      }));
  }

  renderPagination() {
    const { collection } = this.props;
    const { page = 1 } = this.props.location.query;

    return (

          {collection.total} results - Page {collection.data.length
            ? collection.current_page
            : 0} of {collection.last_page}

        <button
          className="ui-button"
          disabled={+page === 1}
          onClick={() => history.push({
            pathname: this.props.location.pathname,
            query: { ...this.props.location.query, page: +page - 1 },
          })}
          title="Previous Page"
        >

          PREV
        </button>
        <button
          className="ui-button"
          disabled={+page === +collection.last_page}
          onClick={() => history.push({
            pathname: this.props.location.pathname,
            query: { ...this.props.location.query, page: +page + 1 },
          })}
          title="Next Page"
        >
          NEXT

        </button>

    );
  }

  render() {
    const {
      onSelect,
      name,
      itemComponent,
      collection,
      newItems = [],
      dateRange,
      showAdvancedSearch = true,
      dispatch,
      model,
      location,
      sort,
      filters,
      getFilterHandler,
    } = this.props;

    const empty = !get(collection, 'data.length', false);
    const { state } = this.state;

    const className = `ui-list -table ${empty ? '-empty' : ''}`;
    const allowedProps = omit(this.props, Object.keys(Collection.propTypes));

    const fullCollection = [...newItems, ...get(collection, 'data', [])];

    return (

        {this.props.children}
        <Search
          placeholder={`Search for ${name}...`}
          onSearch={params => history.push({
            pathname: this.props.location.pathname,
            query: { ...this.props.location.query, ...params },
          })}
          dateRange={dateRange}
          showAdvanced={showAdvancedSearch}
          location={location}
          sort={sort}
          filters={filters}
          getFilterHandler={getFilterHandler}
        />

          {state === 'loading'
            ?
              <Loading message={`Loading ${name}...`} />
            :
            fullCollection.map((item, index) =>
              React.createElement(
                itemComponent,
                {
                  data: item,
                  className: 'ui-item -entity -bar',
                  onClick: () => onSelect(item),
                  key: item.id,
                  index,
                  onUpdate: record =>
                    dispatch(actions.change(
                      `${model}.data[${index}]`, record)),
                  ...allowedProps,
                }),
              )
          }
          {!fullCollection.length && state === 'ready' && (
            <ErrorComponent message={`No ${name} Yet!`} />
          )}

        {state === 'ready' && this.renderPagination()}

    );
  }
}

Collection.propTypes = {
  onSelect: PropTypes.func.isRequired,
  name: PropTypes.string.isRequired,
  model: PropTypes.string.isRequired,
  itemComponent: PropTypes.func,
  getAllAction: PropTypes.func.isRequired,
  page: PropTypes.number,
  onChangeParams: PropTypes.func,
  newItems: PropTypes.array,
  dateRange: PropTypes.bool,
  location: PropTypes.object.isRequired,
};

Collection.defaultProps = {
  page: 1,
  itemComponent: 'div',
  dateRange: true,
};

const mapStateToProps = (store, props) => ({
  collection: store[props.model],
});

export default connect(mapStateToProps)(Collection);

@wKich yours fix allowed lint to run correctly. thanks! Weirdly, I had tried doing a similar fix two days ago and it ended up just leading to a different error.
my fix was:
if (prop.key && prop.key.name !== 'key') {```

which leads to: ```
Cannot read property 'type' of undefined
TypeError: Cannot read property 'type' of undefined
    at isArrayIndex (/Users/daniel/project/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js:41:18)

Weirdly, I had tried doing a similar fix two days ago and it ended up just leading to a different error.

Because  afterif statement goes checkPropValue(prop.value); and prop.value is undefined. So, yeah, you got that error.

@wKich can you give me more insight about this linting error?
shouldn't I be able to do this?
<tr key={`item${i}`}>

// and

<div key={`navitem${i}`}> // etc

everywhere I'm mapping, I don't have an id. I get that this check is to avoid duplicate keys, but I should still be able to make my own key with the index in it right?

No, the point of keys is to make react's array reordering more efficient. This isn't possible with indexes' you're supposed to use something unique to the item.
If you have this available, use it, and not the index at all. If not, you should use an eslint inline comment to disable the rule, to explicitly indicate that you can't do a better job and that you are aware of the code smell.
(Also note that keys only need to be unique within the same array, so prefixes add no value in that example unless you have both items and navItems in the same array)

ok, once the fix goes out to npm i'll reenable the rule and then disable it inline each place I can't do better. thanks for the help on this.

Fixed in 6.10.0


VIH-6321 : Replicate all admin web api calls

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/VIH-6321
Change description

Replicated all test api calls from admin web

Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No


Add creating multi-arch manifest

This PR will add another option --multi-arch <IMAGENAME> which will create a multi-arch manifest to combine same images for different architectures - example:

command:
docker run --rm --privileged -v /root/.docker:/root/.docker -v /var/run/docker.sock:/var/run/docker.sock mib85/homeassistant-builder:multiarch --all --multi-arch homeassistant --version synology-dsm_fix-camera-update --self-cache --generic synology-dsm_fix-camera-update --no-latest -r https://github.com/mib1185/homeassistant-core -b synology-dsm_fix-camera-update --docker-hub mib85 --docker-user ************ --docker-password ************

result:

If we do this, I think we should use buildx instead.
@pvizeli @frenck any thoughts?

If we do this, I think we should use buildx instead.
@pvizeli @frenck any thoughts?

Absolutely 😃

Absolutely 😃

This is anyway not fit for us. The builder has the benefit of splitting it into multiple agents. This change would make that not possible to work with multiple build process split on multiple machines.

This is anyway not fit for us. The builder has the benefit of splitting it into multiple agents. This change would make that not possible to work with multiple build process split on multiple machines.

Hi all,
are there any concerns or questions remaining regarding this PR? 😃

This PR is (hopefully) still valid 🤞

@ludeeus @pvizeli @frenck are there any concerns about this PR?

I don't think this is needed. For add-on it doesn't work like that. Our own base images are not using it either.
So, it sole use for adding this, would be custom build Home Assistant images? I don't think we should add or maintain code for that on our end.

Thanks anyway for your contribution and I hope you take that not personal


Unable to easily add a new field to API response

I have an existing API Specification being used by Specmatic for Contract Tests which use examples defined in the API Spec. I am looking to add a new field to the response of one of the endpoints, so my plan was the following:

Update the model schema in the API Spec with the new field:

        newField:
          type: string
          readOnly: true

Update Provider Service to return the new field
Update Consumers to consume the new field

After completing Step 1, the Contract Tests on the Provider Service continue to pass on master (good). However, on my feature branch where I am updating the Provider Service to return the new field, some of the Contract Tests fail with:
  	  >> RESPONSE.BODY.newField

  	     Value mismatch: key newField in value was unexpected

This seems to be because the example response defined in the API Spec does not contain newField. If I add newField to the example response, then the Contract Tests in my feature branch pass, but the tests on master fail with:
  	  >> RESPONSE.BODY.newField

  	     Value mismatch: key newfield was missing

Ideally I would like to be able to complete Steps 1 and 2 independently, but based on the above, it seems like I would have to update the API Specification and my Provider Service at the same time? Or alternatively create a new version of my API Specification, which doesn't feel right since this isn't a breaking change.
Am I missing something here? Thanks.
System Information:
OS & version: MacOS 14.5
Specmatic version: 1.3.39
JDK version: 21

Thanks for reporting this. We will get back to you shortly.

Hello @noelmccrory, this is resolved in release 2.0.7. Please check. Closing this for now, please feel free to re-open if you have any questions on this. Thanks.