How to get loading, error, data in useMutation

From the docs, I couldn't find a way to to get loading, error, data for mutation. In react-apollo I could use  something like
<Mutation mutation={RESEND_EMAIL}>
        {(resendEmail, { data }) => (
          <>
            {data && <Alert message="A new verification email has been sent" />}
            <Button onClick={resendEmail} size="large" type="primary">
              Resend verification email
            </Button>
          </>
        )}
      </Mutation>

Also, note that the success confirmation is shown from the jsx. Is it possible with react-apollo-hooks

See #93

Yes, WIP PR is in #93. A snippet which provides this feature for the current version: https://github.com/trojanowski/react-apollo-hooks/issues/20#issuecomment-459120477. I'm closing this issue because it sounds like a duplicate of #20.

Any estimate on when this pr will be merged?


Surface Github contritbutors

Motivation
In the new tier/collective pages, we want to add a Github Contributors filter:

MVP

[ ] Require https://github.com/opencollective/opencollective/issues/2102
[ ] In collective's contributors resolver, get the contributors usernames from collective.data.githubContributors and use that to build a list of ContributorType to be merged with the existing list.
[ ] Re-enable the frontend filters disabled in https://github.com/opencollective/opencollective-frontend/pull/1913

Long term solution
At some point we may want to store more info on the Github contributors when fetching them in https://github.com/opencollective/opencollective-api/blob/c4eec669f0633cccedc56173c223e927a1da81d2/cron/daily/update-contributions.js#L106:

The name
The picture (store it internally rather than directly using Github's URL)

The proper place for that would be in a separate table, not in collective's data

@Betree what is the motivation/purpose of this feature? Who is asking for it? Who have we tested it with? I'm just surprised this is being prioritized as I've not heard it requested through support or through Open Source Collective channels.

It's part of the design for the new collective page, the motivation is to surface any type of contributors (not only financial) on the contributors grid that is already implemented:

I'm not sure who proposed this initially, I'm just the one in charge to see how we can make it happen :slightly_smiling_face: The purpose and prioritization is a discussion to have with the rest of the team and design. @cuiki any pointer about this?
On my side this task in backlog, not TODO, which mean I'm not planning to work on it for the initial release of the new collective page.

@alanna this was part of the initial design of open collective and we removed it because it was too heavy. Collectives liked it. It's a way of showing the whole community behind a collective not just the admin or the core team.

OK that makes sense @piamancini @Betree. I agree it would be nice to have.
My thought process was like this....

Oh, this will mainly benefit OSC Collectives, maybe this should be paid from that budget
Hmmm considering the OSC's limited budget, I don't think this is the priority right now

If it's more of a backlog item, that's fine. I hope we have it someday; there are just other more urgent things now.

@betree are we putting this on the list for up coming versions? We have the design of the cards that for code contributors.

@piamancini It's in the backlog, I have no ETA for this one at the moment. It will have to be a project of its own, but that may be a good candidate for a bounty. I'll assign myself for now so I can do more research and write more precise specs.

great thanks - we used to have this in the past so lmk when you are ready and I can help with how we used to do it, how we changed and then dropped it

In collective's contributors resolver, get the contributors usernames from collective.data.githubContributors and use that to build a list of ContributorType to be merged with the existing list.

@Betree could you point me to the contributors resolver, if you are ok with MVP as of now I can take up this, or else if you like to go with Long term solution once for all, and not first with MVP and then ultimately long term, Will be fine with that too :)

@jeffin143 Queries for this data are all in https://github.com/opencollective/opencollective-api/blob/a9a2a2ff7834e69349dffbaa3ceb91c3cc4421c2/server/lib/contributors.js
MVP would be fine for now. You're welcome to jump on it if you want to, however keep in mind that:

We may decide to delay the feature if we're not satisfied with the result (for example if there's a negative performance impact)
You'll have to dig into the data (you'll need something like DBeaver or PGAdmin) and in the code that fetches the data from Github. I can't provide a lot of help on that because I don't really know the code myself

@Betree Thanks, I will take a look, but since you are also not aware of the code, it would be difficult to come up with something :)
Also I tried coming up with something but collective.data.githubContributors threw invalid property for the object, I should probably take a look into the data ( just like you said ).


show the current directory in the footer

I kept getting lost in interactive mode so thought it would be nice to display where the user currently is in the hierarchy
Not sure if this is the right place to add this change, but it seems to do something useful for me.

ah, just noticed that it's because it's because I'm using "light" theme, so it's effectively invisible for me:

not sure what to suggest, maybe using colors differently help fix this and #13?

Ah, that makes sense! Maybe you can change the color of the regular path to the one already used for paths elsewhere, that should make it visible and is the simplest solution I can think of.
What do you think?

just had a chance to play with this and a trivial change to colors looks good to me

(forced push because no point actually showing the path twice!)

thanks!  hopefully my use of du -s * | sort -rn | head will start to decrease now


problem with self signed cert with oidc

i haven't figured out whether this is the right module that handles the OpenID Connect code - it doesn't seem like so please let me know if I should go to another module instead. Since I can't get SAML to work, I am trying OIDC and I get a self-signed cert error when I use OIDC. I already put the CA cert in
config:
pemtrustedcas_filepath: /path/to/trusted_cas.pem
as well.
Error from the log:
,"tags":["error","openid"],"pid":XXXXX,"level":"error","error":{"message":"Client request error: self signed certificate","name":"Error","stack":"Error: self signed certificate\n    at TLSSocket. (_tls_wrap.js:1116:38)\n    at emitNone (events.js:106:13)\n    at TLSSocket.emit (events.js:208:7)\n    at TLSSocket._finishInit (_tls_wrap.js:643:8)\n    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38)","code":"DEPTH_ZERO_SELF_SIGNED_CERT"},"message":"Client request error: self signed certificate"

We are doing some "spring cleaning in the fall", and to make sure we focus our energies on the right issues and we get a better picture of the state of the repo, we are closing all issues that we are carrying over from the ODFE era (ODFE is no longer supported/maintained, see post here).
If you believe this issue should still be considered for current versions of OpenSearch, apologies! Please let us know by re-opening it.
Thanks!

Hi, I took me a while to figure out as well, this property is missing from any documentation, perhaps this could be added @davidlago ?
I was trying to find out how to add a root_ca, but couldn't find anything in any docs or google search, I found it by looking at the code:
opensearch_security.openid.root_ca: my_dir/root_ca.pem

Thanks for the follow-up! I've gone ahead and created https://github.com/opensearch-project/documentation-website/issues/1499 to add it to our docs!


Introduce StatsTracker for Traffic and Onboarding collectors.

Please note that validation of this PR requires the following PR to be merged (and the submodule SHA to be updated):
https://github.com/microsoft/CEDAR.Core.Collector/pull/8
Still putting here as a reference and so that people can review it in advance.

So, now you have to

wait for microsoft/CEDAR.Core.Collector#8 to be merged.
then update this PR
get this PR approved
merge this PR
rinse and repeat for internal code ;)

Anyways, :shipit: 👍

Fun, no? That being said, I don't think I need some of the steps.

get this PR approved

The way I setup the policy is that once a PR is approved, it stays approved. I realize that we cannot use this for truly external contributions, but I will see if there is a better setup. So, no additional approval is needed.

rinse and repeat for internal code

If what you mean is updating the internal PR once the Core PR is merged, yet. Otherwise, I don't have to (at least immediately) update the submodule SHA for GitHub.Collector for the internal code. Regardless, the internal code won't require an additional review for sure. At least not yet :(
As usual, thanks for the approval :)


Freq residency v3

Version 3 of frequency residency. Follows #130 and #87
Close #130
Close #87

Well done, it seems we reached a stable and feature complete version on this topic!
Let's brexi it!


Missing verification for names

As described in topic and service name mapping, there are rules for names like topics and nodes.
As far as I know, current implementation does not care about those rules.
How to implement this?
Fortunately, topic name validation check function is in validate_topic_name.h, rcl_validate_topic_name() ( I don't know this is included by including rcl.h though...).
However, there are no implementation for node name and namespace in rcl, although those exist in rmw implementation.
I think there are two ways to realize validation in ros2_rust.
Use rmw implementation
Although this causes more external dependencies, this is the most simplest way.
Implement validation function in Rust
Implementing functions according to rules.
I think this is not simpler than I think because this may needs lexer and parser, and regex is not enough.
Result value
Current Invalid argument error in RclReturnCode implementation is only the enum key.
However rcl_validate_topic_name returns not only RCL_RET_INVALID_ARGUMENT but also validation_result for detail.
I think adding other enum keys that contains validation result is good way(e.g. InvalidTopicName(TopicNameErrorDetail)).
I wrote a lot, but above is just only my opinion.
Please put your thought for more good implementation.

Sorry for not checking throughly about implementation.
After this issue posted, I checked again and I found that rcl_* functions checks name validity and returns error code.


Docstring NumPy style

@timonmerk
We should probably clean up all docstrings and complete them where they are missing. Should we use NumPy style as a standard for all docstrings?
Docstring template:
"""
This is the short description of a docstring.
This is the long description ....
Parameters
x : bool
Description of parameter x.
y : list of str
Description of parameter y (with type not specified).
Returns
err_code : int
Non-zero value indicates error code, or zero on success.
Examples
Example abcde
"""

That's a good point... I also realized that we have different docstring styles. I think I used the one provided by pylint in vs code. But in general I would vote for adressing the longer docstring version.
I guess this will also be determined by the sphynx usage lateron when creating the API.

Closed by current sphinx setup


Millisecond support for {elapsed}?

Would be nice to have optional sub-second precision here.

Would love to get a pull request for this. Seems like a sensible addition.

Sure, could do that. Unsure how it should be made optional though, any thoughts on that?

Current main (release tracked in #318) can have custom template keys that have access to the ProgressState.


Droid: suspend-resume cycle freezes Sharpnado or the entire app

We have encountered a problem on actual devices. Emulators are fine.
SHCV is in grid mode.
After the app is resumed (either through Android app switch or device lock-unlock), Sharpnado likes to freeze. It's dead, won't respond to scrolling. Rebinding it may throw a blank screen, or freeze the app entirely.
I have tried many things after the app is resumed, such as forcing a rebind through ItemsSource = null, then ItemsSource = something, resetting and restoring CurrentIndex, changing the layout to vertical and back to grid... There's either an app freeze (Android offers to wait or kill the app), or a Sharpnado freeze, where it won't respond to scrolling, after it takes 15 seconds to rebind to an actual ItemsSource (initial bind on app load is quick). Tried Device.BeginInvokeOnMainThread. Task.Delays. Etc. Nothing works. :(
Have you encountered anything like that, and what are we doing wrong?

Never heard of that....

Oh boy. :D
We'll see tomorrow if there's something silent thrown in the Output window...


Error importing VTU with <AppendedData encoding="raw"> block

The attached file fluid_1_91.vtu cannot be loaded using v0.6.0 or the release-0.7 branch and results in the errors:
XML error: Deserialization error: Xml(UnexpectedEof("</Err(Utf8Error { valid_up_to: 0, error_len: Some(1) })>"))
Deserialization error: Xml(UnexpectedEof("</Err(Utf8Error { valid_up_to: 0, error_len: Some(1) })>"))
Unexpected EOF during reading </Err(Utf8Error { valid_up_to: 0, error_len: Some(1) })>.
Unexpected EOF during reading </Err(Utf8Error { valid_up_to: 0, error_len: Some(1) })>.

while Paraview is able to load the file.
The file uses a <AppendedData encoding="raw">...</AppendedData> raw binary block for all the data arrays and I suspect it happens to contain characters or sequences that confuse the XML parser.
The file fluid_1_91_encoded.vtu can be read without problems after opening the original file in Paraview and re-exporting it to VTU with the option "Encode appended data" which I guess applies base64 encoding.
I don't know if it is possible to somehow use different options for the XML parser to support the raw binary block or whether this is actually not allowed by the XML format and would require manual parsing.
fluid_1_91.zip

Thank you for this issue! Indeed officially the XML format doesn't support binary data, and this is actually what is blocking the 0.7 release currently. The plan is to upstream a feature into quick-xml that allows one to implement a custom parser for the text in XML files. The example file you provided should be very helpful in addressing testing binary support.

Ah right. I missed that in the version 0.7 PR. I guess this is related to this quick-xml PR then: https://github.com/tafia/quick-xml/pull/555
Hope the sample file helps!

Yes exactly! Thanks for linking that issue.

Has https://github.com/tafia/quick-xml/pull/783 managed to resolve blockers on the new release? Or is there more work required to support <AppendedData encoding="raw">-containing vtk files?

Sadly not yet, because we use the serde API for dealing with XML files here, we also need to extend the serde API to support binary blobs in quick-xml. I started a PR here but don't have much time to finish it. Any help is appreciated of course! I am happy to help any efforts there.


Nightly torchaudio load_lib failure (windows, python 3.8, cuda 11.6 and 11.7)

🐛 Describe the bug
Reproduction steps:
conda install numpy pillow python=3.8
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch-nightly -c nvidia
python

import torch
import torchaudio

Traceback (most recent call last):

[1082](https://github.com/pytorch/builder/actions/runs/3144504415/jobs/5112884720#step:3:1085) File "./test/smoke_test/smoke_test.py", line 5, in <module>

FileNotFoundError: Could not find module 'C:\Miniconda\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd' (or one of its dependencies). Try using the full path with constructor syntax.

[1097](https://github.com/pytorch/builder/actions/runs/3144504415/jobs/5112884720#step:3:1100)Error: Process completed with exit code 1.

Observed in binary validation smoke test: https://github.com/pytorch/builder/actions/runs/3144504415/jobs/5112884720
Reproduced manually on CircleCI.
cc @weiwangmeta  @atalman @malfet
Versions
UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 10010). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at C:\cb\pytorch_1000000000000\work\c10\cuda\CUDAFunctions.cpp:109.)
  return torch._C._cuda_getDeviceCount() > 0
PyTorch version: 1.13.0.dev20220928
Is debug build: False
CUDA used to build PyTorch: 11.6
ROCM used to build PyTorch: N/A

OS: Microsoft Windows Server 2019 Datacenter
GCC version: Could not collect
Clang version: Could not collect
CMake version: version 3.22.1
Libc version: N/A

Python version: 3.8.13 (default, Mar 28 2022, 06:59:08) [MSC v.1916 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.17763-SP0
Is CUDA available: False
CUDA runtime version: 11.6.124
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\cudnn64_7.dll
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] numpy==1.23.1
[pip3] torch==1.13.0.dev20220928
[pip3] torchaudio==0.13.0.dev20220928
[pip3] torchvision==0.14.0.dev20220928
[conda] blas                      1.0                         mkl
[conda] mkl                       2021.4.0           haa95532_640
[conda] mkl-service               2.4.0            py38h2bbff1b_0
[conda] mkl_fft                   1.3.1            py38h277e83a_0
[conda] mkl_random                1.2.2            py38hf11a4ad_0
[conda] numpy                     1.23.1           py38h7a0a035_0
[conda] numpy-base                1.23.1           py38hca35cd5_0
[conda] pytorch                   1.13.0.dev20220928 py3.8_cuda11.6_cudnn8_0    pytorch-nightly
[conda] pytorch-cuda              11.6                 h867d48c_0    pytorch-nightly
[conda] pytorch-mutex             1.0                        cuda    pytorch-nightly
[conda] torchaudio                0.13.0.dev20220928          pypi_0    pypi
[conda] torchvision               0.14.0.dev20220928          pypi_0    pypi

This is the matrix we're evaluating:

https://gist.github.com/izaitsevfb/805e1485aebac52778d28a555fb6cda3
HUD link

The issue is specific to windows, python 3.8, cuda 11.6 and 11.7.

The issue was narrowed down to the broken cuda-nvtx (conda, windows) by @malfet.

Update: missing nvToolsExt64_1.dll affects all windows conda builds of pytorch (not torchaudio).
This torchaudio issue (FileNotFoundError: Could not find module 'C:\Miniconda\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd' (or one of its dependencies). Try using the full path with constructor syntax. ) seems to be caused/related to another missing DDL:  cudart.

Confirmed, adding cudart64_110.dll to conda env solves this issue. Should be fixed by pytorch/builder#1156

For the record, the "correct" way to fix (workaround) this is the following: https://github.com/pytorch/vision/pull/4893


scanPath Bug - Quote Full Path

I have multiple csproj files under a src path for our solution, but need to be specific about which csproj files need to be dependency checked. I see that the dependency-check tool supports multiple scan paths so this works fine to scan both the csproj for proj.web and proj.service:
dependency-check --project Project01 --scan /code/proj01/src/proj.web/*.csproj --scan /code/proj01/src/proj.service/*.csproj --out ./TestResults/dependency-check --format HTML --failOnCVSS 8 --log ./TestResults/dependency-check/log

However, I can't specify scanPath twice in my pipeline:
    steps:
      - task: dependency-check-build-task@6
        displayName: "OWASP Dependency Check"
        inputs:
          projectName: 'Project01'
          scanPath: '**/proj.web/*.csproj'
          scanPath: '**/proj.service/*.csproj'
          ...

Azure pipeline returns:
/azure-pipelines.yml (Line: 16, Col: 11): 'scanPath' is already defined
I want to run multiple scans to optimize dependency check time, rather than creating a task for each csproj.

The scanPath supports full ANT style paths, so you can use scanPath: '**/*.csproj to pick them all up.
Or, use the additionalArguments parameter to pass in an additional --scan argument.

Yes, the glob pattern works using the dependency-check client where I can quote the ANT style path. For example, this works with single quotes:
dependency-check --scan '/code/proj01/src/proj.*/**/*.csproj'
or double quotes:
dependency-check --scan "/code/proj01/src/proj.*/**/*.csproj"
but this won't work where the glob pattern is unquoted:
dependency-check --scan /code/proj01/src/proj.*/**/*.csproj
There is some discussion about this issue here https://github.com/jeremylong/DependencyCheck/issues/1812. I suppose this is an issue that would only appear using an Linux build agent.
I see that when I try to do the same using the extension:
scanPath: '"**/proj.*/*.csproj"'
the build agent local path is appended to the ANT style path and the scan becomes this:
--scan /home/vsts/work/1/s/"**/proj.*/*.csproj"
reversing the double and single quotes resulted in this:
--scan "/home/vsts/work/1/s/'**/proj.*/*.csproj'"
Your suggestion for using additionalArguments worked fine. However, I have more than two projects I need to scan and scanning the entire set of csproj files is fast so using a glob pattern is definitely the way to go.

Thanks for reporting this. @alaincroisetiere it sounds like we need to quote the full scan path before passing the argument into the shell script.
Work around for now - can you pass two separate --scan arguments in the additionalArguments field?

That's a great idea and something I tried, but dependency-check fails with the same error (showed at the end of this comment) when I include any more than one project in additional arguments. I tried using the multi-scan parameter syntax that worked when passing directly to dependency-check:
additionalArguments: '--scan "$(Build.SourcesDirectory)/**/proj01.service/*.csproj" --scan "$(Build.SourcesDirectory)/**/proj01.client/*.csproj"'
This variation with a single --scan parameter doesn't fail, but instead just ignores the additional --scan parameter:
 additionalArguments: '--scan "$(Build.SourcesDirectory)/**/proj01.service/*.csproj $(Build.SourcesDirectory)/**/proj01.client/*.csproj"'
I then hardcoding the path with just one argument in additionalArguments and that worked:
additionalArguments: '--scan $(Build.SourcesDirectory)/src/proj01.service/proj01.service.csproj'
log showing the resulting command line for the task:
/home/vsts/work/_tasks/dependency-check-build-task_{task_id}/6.0.2/dependency-check/bin/dependency-check.sh --project Proj01 --scan /home/vsts/work/1/s/src/proj01.web/proj01.web.csproj --out /home/vsts/work/1/TestResults/dependency-check --format HTML --failOnCVSS 8 --scan /home/vsts/work/1/s/src/proj01.service/proj01.service.csproj
but two arguments in additionalArguments does not work, as mentioned earlier. Here is the commandline from the log:
/home/vsts/work/_tasks/dependency-check-build-task_{task_id}/6.0.2/dependency-check/bin/dependency-check.sh --project Radiance --scan /home/vsts/work/1/s/src/proj01.web/proj01.web.csproj --out /home/vsts/work/1/TestResults/dependency-check --format HTML --failOnCVSS 8 --scan /home/vsts/work/1/s/src/proj01.service/proj01.service.csproj --scan /home/vsts/work/1/s/src/proj01.client/proj01.client.csproj
error:
##[error]The process '/home/vsts/work/_tasks/dependency-check-build-task_47ea1f4a-57ba-414a-b12e-c44f42765e72/6.0.2/dependency-check/bin/dependency-check.sh' failed with exit code 1
##[debug]Processed: ##vso[task.issue type=error;]The process '/home/vsts/work/_tasks/dependency-check-build-task_47ea1f4a-57ba-414a-b12e-c44f42765e72/6.0.2/dependency-check/bin/dependency-check.sh' failed with exit code 1
##[debug]task result: Failed
##[error]Unhandled error condition detected.

@ewilansky, i'm not able to reproduce the issue. Can you try with scanPath: '$(System.BuildSourcesDirectory)/**/proj.*/*.csproj' and send the complete log of the dependency-check-task@6 please.

Hi @alaincroisetiere,
I've attached the full log. As you'll see on line 148, the scan path is not enclosed in quotes so the dependency check engine is failing to expand the glob path properly. I believe this is related to this issue I mentioned in my first reply to @ejohn20.
owasp_dc_task.log

Sorry @ewilansky, I given to you the wrong predefined variable. Retry with scanPath: '$(Build.SourcesDirectory)/**/proj.*/*.csproj' please.

No problem, @alaincroisetiere. I think the glob path you provided works. Thanks! However, I've run into another issue where the OWASP Dependency Check engine throws a NullPointerException when processing a project that matches the glob pattern:
2021-03-25T14:05:28.7756223Z [ERROR]
2021-03-25T14:05:28.7756988Z java.lang.NullPointerException: null

This is unrelated to the scanPath issue and I'm working through the exception issue now. So, if you don't mind, can we leave this open just a bit longer until I've confirmed a successful run?

@alaincroisetiere, thanks for your patience. I have verified that the path you provided works perfectly to pick-up all of the projects in the solution. The java.lang.NullPointerException was caused by an outdated package in one of the project files. I'm not sure what library was outdated, but it was important to get them updated anyway. I'll close this and thanks again for your and @ejohn20's help!

Excellent! We should document this solution in the main extension docs. I'll follow up on that part.


Does not have 'ngModuleDef' property.

🐞 Bug report
Command (mark with an x)

- [ ] new
- [ ] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description
 After enabling Ivy and start project, browser console show error:  does not have 'ngModuleDef' property.
🌍 Your Environment

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.3
@angular-devkit/build-angular     0.800.3
@angular-devkit/build-optimizer   0.800.3
@angular-devkit/build-webpack     0.800.3
@angular-devkit/core              8.0.3
@angular-devkit/schematics        8.0.3
@angular/cdk                      7.3.7
@angular/cli                      8.0.3
@angular/material                 7.3.7
@ngtools/webpack                  8.0.3
@schematics/angular               8.0.3
@schematics/update                0.800.3
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.30.0

Hi, can you try using the latest version of Angular CLI and Build Angular? 8.0.4 and 0.800.4 respectively?
If the problem persists can you please provide which 3 rd party dependencies does your application depend on and also are you using a local workspace library?
Thanks

Hi,
I'm running into the same problem (Error: Type DxChartModule does not have 'ngModuleDef' property.) and I have:
Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.4
@angular-devkit/build-angular     0.800.4
@angular-devkit/build-optimizer   0.800.4
@angular-devkit/build-webpack     0.800.4
@angular-devkit/core              7.3.4
@angular-devkit/schematics        7.3.4
@angular/cdk                      8.0.1
@angular/cli                      8.0.4
@angular/http                     7.2.7
@angular/material                 8.0.1
@ngtools/webpack                  8.0.4
@schematics/angular               7.3.4
@schematics/update                0.800.4
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.30.0

This is how I activated ivy:
tsconfig.app.json:
  "angularCompilerOptions": {     "enableIvy": "ngtsc"   }
enableIvy: true did throw multiple "Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class" errors. After changing to "ngtsc" and disabling AOT (aot: false) the error disappeared.
I also added "postinstall": "ivy-ngcc" to my scripts in package.json.

Hi,@jasschul, "postinstall": "ivy-ngcc" is no longer needed and should be removed.
The reason why you might be having those errors might be that devextreme-angular is shipped not following the APF specs, which might cause the problem.
I am going to transfer this to the framework repo, as it seems to be an NGCC issue. However, I strongly recommend that you provide a minimal reproduction that we can take a look at.
Thanks


Add refinement and spritelang tests

Okay, this seems to work. See test outputs:

Before this PR: https://github.com/shingarov/MachineArithmetic/actions/runs/4758282691/jobs/8456131558
With this PR applied: https://github.com/shingarov/MachineArithmetic/actions/runs/4758385828/jobs/8456376974


Extending the "check" Command with the "--error-format" Parameter

Hi TimMikeladze,
I’ve extended the check function in the tsc-baseline repository by adding a new parameter to specify the error format.
By default, it shows the standard error message.
With the --error-format gitlab option, it outputs a GitLab-specific error format, which makes it easier to check in the pipeline.
More details about the GitLab error format can be found here: https://docs.gitlab.com/ee/ci/testing/code_quality.html#code-quality-report-format.
Let me know if you need anything else!

@erikOhlmeyerLeadity Thank you for the PR. All the code looks good to me, just one minor comment about the README. Let me know if I can merge and publish a new version!
@func0der Thank you for the review!

Thanks everyone. Released as 1.8.0.


Remove do_click and migrate to do_gesture

This addresses https://github.com/google/xi-editor/issues/591. I moved all the click gestures to do_gesture and removed do_click. I am not entirely sure if the way I did it is the best one.
This also fixes the issue in https://github.com/google/xi-editor/pull/604/files

Maybe instead of 6 gesture types we could have 3 plus a boolean that indicates whether you want to modify or replace the current selection (basically whether the cmd/ctrl key is pressed or not). Just a thought.

@eyelash I also thought about that. But I thought for the sake of simplicity it might be better to have different gesture types.

We could definitely do it either way, I don't have strong feelings. @scholtzan you have a conflict from a little change I made earlier in the week, should be a simple fix though.

I accidentally broke something on my first attempt to get your changes. However, it should be fixed now.


Per Feature Feature Flags

Feature request
TEP-033 proposed an enable-api-fields flag for features that require an API field. This allows us to group and enable/disable all "alpha"/"beta" features together.
An alternative approach is having a way to enable/disable each feature by via its own flag (such as the approach taken by Kubernetes feature gates)
This issue is for tracking experimentation for per feature feature gates.
Use case

A user would like to enable a specific alpha feature but not any other alpha features

One though I just had - per TEP-033, fields that are behind an alpha/beta flag can be gradually transitioned from alpha to beta to GA. For features that are not controlled by a field, TEP-033 says they should have their own flag. But I do not think it is possible to move them gradually from alpha to beta to GA and instead they must either be enabled or disabled within a particular API version

comment for tracking this issue

I encounter this issue when implementing trusted resources in https://github.com/tektoncd/pipeline/pull/5581
We have a feature flag ResourceVerificationMode to let users choose from skip, enforce and warn. So if it is set to skip the feature will not be enabled.
This is an alpha feature and it may not be ideal to let users enable 2 flags (ResourceVerificationMode and enable-api-fields).

@chuangw6 also mentioned the same thing for his ConfigSource status field proposal

We have a feature flag ResourceVerificationMode to let users choose from skip, enforce and warn. So if it is set to skip the feature will not be enabled.

Thanks @dibyom. This is a good idea.
https://github.com/tektoncd/pipeline/pull/5670 is the implementation that adds a dedicated feature flag to control the provenance field in taskrun/pipelinerun status.

To give extra background, the reason we decided to have a single flag instead of per-feature ones is the amount of testing that that would require, because while features are (often) clearly separated from one another at the API level, they may be more intertwined in the controller code - so enabling one feature out of 10 may behave differently from enabling all 10.
The alternative to feature flags (whether per feature or just one) would be to create v2alphaN APIs and v2betaN APIs.
Multiple features would be included in each alpha and beta version, similar to the way features are grouped under one flag today.
About k8s feature flags, I may be wrong but I think they mainly relate to back-end behaviour, even though there is no clear distinction documented like for Tekton.
If we decide to have feature-specific flags for all features, we shall document the test strategy. I believe each feature should then come with a dedicated set of e2e tests (like today) to be executed in an environment with only that feature enabled.
We could replace the current alpha test with an env where all features in alpha state are enabled.

To give extra background, the reason we decided to have a single flag instead of per-feature ones is the amount of testing that that would require, because while features are (often) clearly separated from one another at the API level, they may be more intertwined in the controller code - so enabling one feature out of 10 may behave differently from enabling all 10.

I agree, the testing story is complicated but I don't think that by itself should be why we should only have a single flag. The most common use case for alpha features is to try out a single alpha feature, not all of them altogether.
Feature flags implementations being intertwined is not great either - wherever possible a feature flag should only control the behavior of that specific feature and nothing else. I agree this can be tricky - K8s checks for this sort of thing in their Production Readiness Reviews - we could do something similar and have some guidelines to specifically check for this when adding a new feature gate.
From a testing standpoint I think a reasonable option is to test will all feature flags on and all of them off (like we do today). We can document this and users who turn on only a subset of the flags can be responsible for their own testing.

The alternative to feature flags (whether per feature or just one) would be to create v2alphaN APIs and v2betaN APIs.
Multiple features would be included in each alpha and beta version, similar to the way features are grouped under one flag today.

In theory yes, but I think the complexity involved in maintaining N active API versions is far greater than just having feature flags (e.g. there can only be one api version that is stored so that version has to be able to represent info from all N API versions)

About k8s feature flags, I may be wrong but I think they mainly relate to back-end behaviour, even though there is no clear distinction documented like for Tekton.

I think many of the feature gates are for backend features but there also user facing ones such as the PodSecurity one that gates the new PodSecurityAdmission feature which replaces PodSecurityPolicies

If we decide to have feature-specific flags for all features, we shall document the test strategy. I believe each feature should then come with a dedicated set of e2e tests (like today) to be executed in an environment with only that feature enabled.

💯 . I'm not sure if it is realistic to test every combination of flags but we can definitely clearly state what we test and users who use a different subset of flags can be responsible for their own testing. That being said, I do think we should do our best to make sure a feature gate is only scoped to that particular feature.

We could replace the current alpha test with an env where all features in alpha state are enabled.

Agreed!

I wanted to share this doc with some thoughts from a k8s maintainer on some of the issues they've run into w/ per-feature flags. A lot of it is related to rollbacks which I think we've been less concerned about than k8s has. To make rollbacks easier, they drop unsupported fields rather than rejecting CRDs containing them, as we do. I still think we should implement per-feature flags, but this doc could help us understand what issues we might run into.
The issues are basically:

adding version validation in implementation in addition to apiserver operations (this has caused problems for us as well with "enable-api-fields", see https://github.com/tektoncd/pipeline/issues/6616)
concerns about rolling back from a more stable implementation of a feature to a less stable implementation of a feature
different versions of k8s or values of feature flags between apiserver and node (not relevant for us)
minimal feedback on alpha features

/assign

Looks like we can also close this with the completion of https://github.com/tektoncd/pipeline/pull/7090 at v0.53.0 milestone.


App won't start - "A JavaScript error occurred in the main process"

Repro steps
Download .dmg from release, mount, drag AO to applications folder, open AO app
Error Message

Environment
macOS 10.13.2

Thank you for taking the time to report the issue : )


Feature: Countdown View

Create a fullscreen view which shows a live countdown to the end of one VorlesungsplanItem.
Prefered time resolution: 10ms.

(rxKotlin)[https://github.com/ReactiveX/RxKotlin] would be useful for this

Suggestion: Move the complete project to a reactive design pattern (with rxKotlin) before adding the countdown view?

See #41

Implemented in #41


Fix for isort v5.0.0

Codecov Report

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

@@           Coverage Diff           @@
##           master      #55   +/-   ##
=======================================
  Coverage   69.92%   69.92%
=======================================
  Files          13       13
  Lines        3195     3195
=======================================
  Hits         2234     2234
  Misses        961      961

Impacted Files
Coverage Δ

stix2slider/convert_stix.py
68.12% <ø> (ø)

Continue to review full report at Codecov.

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


Version conflict httpcore dependency

Hi,
I found into the webapp-runner-<IP_ADDRESS>.jar that org.apache.httpcomponents.httpcore version 4.3 is included, Is it right? I use aws-java-sdk which has httpcore 4.4.5 dependency and I have a version conflict.
How can I remove the org.apache.httpcomponents.httpcore version 4.3 from webapp-runner-<IP_ADDRESS>.jar?
Thanks

The Apache Http libs should be removed in <IP_ADDRESS>.
There is also this packaging, which excludes all memcached and redis dependencies:
<dependency>
    <groupId>com.github.jsimone</groupId>
    <artifactId>webapp-runner-main</artifactId>
    <version><IP_ADDRESS></version>
</dependency>

Thanks @jkutner for your quick answer.
I could see that webapp-runner <IP_ADDRESS> is already on mvnrepository.com but is not documented (README.md) yet in this github repository. Is it an stable version? can I use it for production? I'm using webapp-runner with Heroku.
Thanks in advance.

Yes, It's stable and ready for production. I haven't had a chance to document it though.

Thanks @jkutner !


Remove '$' from ReadMe commands

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (be5c1e5) 16.34% compared to head (f9e67b1) 16.34%.

:exclamation: Current head f9e67b1 differs from pull request most recent head 6664fd0. Consider uploading reports for the commit 6664fd0 to get more accurate results

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1083   +/-   ##
========================================
  Coverage    16.34%   16.34%
========================================
  Files           51       51
  Lines         6846     6846
========================================
  Hits          1119     1119
  Misses        5727     5727

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Theres a few more in the docs/ folder, would you be able to get those as well?


Update request: python3Packages.qiskit 0.41.1 → 0.44.1

Package name: python3Packages.qiskit
Latest released version: 0.44.1
Current version on the unstable channel: 0.41.1
Current version on the stable/release channel: 0.41.1
[x] Checked the nixpkgs pull requests

Notify maintainers
@drewrisinger @pandaman
Last updated by @mweinelt
Additional information
The installation of qiskit is currently failing because the dependency qiskit-terra is marked as broken.

Note for maintainers: Please tag this issue in your PR.

The segfault causing brokenness of qiskit-terra tests seems to be related to openblas conflict between scipy/numpy and symengine->flint. The latter seems to be building an own version and if this is loaded prior to the scipy call it ends up failing. Using something like
(symengine.override {
  symengine=pkgs.symengine.override{
    pkgs.flint.override{
      withBlas = false;
    };
  };
})

in qiskit-terra's buildInputs seems to fix the issue as a workaround, although I am not sure why the difference is there in the first place. @drewrisinger

Current version on the unstable channel: 0.45.1
Current version on the stable/release channel: 0.41.1

@raspher, thank you for highlighting that qiskit has been updated in nixpkgs. However, attempting to install qiskit still results in an error, because the dependency qiskit-aer is currently marked as broken.


parse_user_agent: Assert user agent is not None.

This commit asserts that parse_user_agent never returns None. The RegEx will match any string, so that match is never None.
This brings test coverage of lib/user_agent.py to 100%.
Changes were also made in test/test_decorators.py and views/compatibility.py to reflect that parse_user_agent cannot return None.
Improves: #7089.
Fixes: #8779.
Linting tests have passed, as have backend tests.

Could I have some help on finding out why the frontend tests failed? This should only have affected backend tests, but I guess I missed something.

@jckw those tests were failing in master, see f97cff54aa90f7e1b06c3b93d090279640fcf2ca

You should remove the Optional type annotation in parse_user_agent (Optional means can-return-None); otherwise lgtm!
See http://zulip.readthedocs.io/en/latest/contributing/mypy.html for more information.

Great, have updated the type so should be ready to go 😄

Nice, merged, thanks @jckw!


How can I pass arguments to a formcontrol?

Hello everyone
I have a question,
I am passing some arguments to be  edit a sqflite DB record from a Listile according to the user's selection.  I assign them to a ReactiveForms FormControl like this
 form.control('name').value = animal.name;
The problem is that the value is clear so I can't modify it and when I tap on the keyboard's done it eliminates the values that the user writes.  I think the build is redrawing it (assigning the same variable that it brings from the previous window). But I don't know how to remove the formcontrol from the build so that it doesn't constantly redraw
`class ReactiveForms2 extends StatefulWidget {
  @override
  State<ReactiveForms2> createState() => _ReactiveForms2State();
}

class _ReactiveForms2State extends State<ReactiveForms2> {
  final form = FormGroup({
    'especie': FormControl<String>(validators: [Validators.required]),
    'name': FormControl<String>(validators: [Validators.required]),

  });

  @override
  Widget build(BuildContext context) {
    Animal? animal = ModalRoute.of(context)?.settings.arguments as Animal;

    form.control('name').value = animal.name;
    form.control('especie').value = animal.especie;

    return Scaffold(
...
`

thanks so much
(sorry for my bad english)

Do your staff in initState or use this approach https://github.com/joanpablo/reactive_forms/blob/master/example/lib/samples/simple_sample.dart#L6

Thanks so much. I finally got it, using the inisState
thanks!


Add init command to bootstrap

Closes #236.

Add WorkspaceRoot() to Bazel interface
Implement bazel.Version struct to read and write.bazelversion files.
Add init command to bootstrap

This work is now obsolete. Going a different direction with bootstrap.


Icon size for all page elements

I have tested several sizes of icons and there is no any difference between a size. Any inline icon will fit to a line size. Here in the example there are two icons, the profile on is 20x20, the avatar is 48x48. And they are equal sizes.

Also any size of an icon does not affect on the space between lines in blocks or list bullets.

Superseded by https://github.com/status-im/help.status.im/issues/230.


example fails to build on linux

Hi there,
I have the leap sdk 2.1.5 on linux installed and tried to build your example. First I encountered an error:
https://gist.github.com/nylki/d7547061d2a5a1fa144e#file-errore-compiling-ofxleapmotion2-example-1
I figured I might update libs included in ofxLeapMotion with the most recent ones from the Leap SDK 2.1.5, now I get some other error instead:
https://gist.github.com/nylki/d7547061d2a5a1fa144e#file-errore-compiling-ofxleapmotion2-example-2
I would love to build the the example on Linux, would be glad if you can help me!

did you succeed? I have the same problem..


Rename theia-updater to @theia/electron-updater

After splitting the updater from the rpdocut branding (https://github.com/eclipse-theia/theia-blueprint/pull/43) we should consider renaming the updater extension. It is actually generic, so it could potentially be reused by any other application relying on the electron updater.

Should we not also move the updater to the Theia repo, @JonasHelming?

Yes, mid term this would probably make sense.

We are free to move code around within the project, so it's totally up-to us.

Should we not also move the updater to the Theia repo, @JonasHelming?

Before we think about moving, we should consider the following:

Adding a readme to properly describe this extension (like other extensions).
We should only add extensions if they can be easily tested when using example-electron (even manually). Does this extension provide any functionality that can be easily tested with example-electron or is it only useful for packaged electron applications?

From my initial newbie look at theia-updater one may want to consider breaking out the url/directory strings in theia-updater-impl.ts into something configurable.

From my initial newbie look at theia-updater one may want to consider breaking out the url/directory strings in theia-updater-impl.ts into something configurable.

This would make sense and we would accept a PR, currently we have no plans to make the updater more generic, therefore we put it in the Backlog milestone some time ago.


loss_mask the opposite of what I expected

I tried sampling from the data generator, using the following lines of code (mostly copied from train.py):
from data import utm_data_generator as utm_dg
from data import utms

utm = utms.BrainPhoqueUTM()
data_generator = utm_dg.UTMDataGenerator(
      batch_size=32,
      seq_length=256,
      rng=1,
      utm=utm,
      memory_size=10,
      maximum_steps=100,
      tokenizer=utm_dg.Tokenizer.ASCII,
      maximum_program_length=100,
  )
batch, log_dict = data_generator.sample()
loss_mask = log_dict['loss_mask']
print(loss_mask)

I obtain a  mask that has 0s at the beginning of each datapoint, and 1s at the end. This is consistent with the description of the mask  in _make_loss_fn. However, in the implementation, the mask is used like so:
    true_conditionals = jnp.multiply(mask, true_conditionals)
    marginals = jnp.sum(true_conditionals, axis=1)  # Shape (B,).

To me, this would make sense if the 1s in the mask denoted the conditionals we want to keep, but instead we have 1s in positions we want to ignore, as documented.
Is this a possible bug? Or please clarify if I misunderstood how the masks were used.

Yes, there seems to be a slight mismatch between our internal code and this. We will fix it as soon as we can. In essence, you just need to add mask = 1 - mask before masked_predictions, but I am going to check that there is nothing else going on. Thanks for flagging!

Indeed, we use jnp.where(mask, 0.0, true_conditionals) internally, instead of jnp.multiply(mask, true_conditionals). I sent a fix for review and will update the code here soon.
Thanks for flagging!


bug(instrumentor): Adding instrumentor bug e2e's

Variables that are defined as export const  a = () =>

 should not have a node name #2362
For some reason https:// as part of a string is instrumented into an unterminated string

@Garethp are you sure arrow functions that are exported should not have a name? It does have a name in es-modules in nodejs.
Example:
// a.mjs
export const a = () => {}

// b.mjs
import { a } from './a.mjs';

console.log(a.name);

Now node b.mjs prints: a 🤷♂

I've made a PR with an e2e test that should show the use case that I'm talking about. I don't fully understand it myself to be honest

I'm not sure. I know that in this specific instance the snapshot shows up without a name. I'll dig into it to see what's going on

Closed as discussed in Stryker community meeting.


Added some missing functions, structs and enums to winsvc.cs and tests

Added QueryServiceStatusEx SERVICE_STATUS_PROCESS and more and unittest.
Will work more on this but for the moment as there are some other missing but for the moment wanted to have some feedback if this follows your guidelines.

This looks great. Thanks for the work. Let me know when it's ready and I'll pull in and then include in the next release.

Hi yes I'm almost done. Or at least what I have can definitely be merged. I had an appveyor file to run the build there but I will remove it since a lot of unitests are failing there. I will wrap it up this evening and let you know when done. Thanks

Done. I added some more stuff, removed appveyor file that I used for testing and squashed all in one nice commit ready to merge!


Add method for estimating size ?

Hi,
I think this library is missing the method to estimate the on-disk size of a certain key range, that's in the leveldb library.
If I make a PR to implement that is there a chance to get it upstreamed?
Thanks for your library, it's very useful !

Sure, feel free to add one.

Sure, feel free to add one.


[ci:component:github.com/gardener/vpn2:0.9.0->0.10.0]

Release Notes:
Add missing sleep command to minimized container image.

Switched openvpn topology to subnet and ensured that the chosen cipher is always selected.

Closed in favour of #6400.
/close


Update to latest nodejs

Nodejs minor and patch version have been increment to the latest available

Thanks @msgeissler !


⚠ Panoramas has degraded performance

In 60dfeaa, Panoramas ($SITE_URL_PANORAMAS) experienced degraded performance:

HTTP code: 200
Response time: 4319 ms

Resolved: Panoramas performance has improved in d301df1 after 7 minutes.


build.sh libgit error

When I run build.sh, I get this error:
  fail: Microsoft.DotNet.Darc.Operations.Operation[0]
        Something failed while cloning.
  System.Exception: Something went wrong when cloning repo https://github.com/dotnet/arcade at <default branch> into /home/fosslinux/packages/source-build/bin/src/arcade ---> System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'git2-8e0b172' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libgit2-8e0b172: cannot open shared object file: No such file or directory
     at LibGit2Sharp.Core.NativeMethods.git_libgit2_init()
     at LibGit2Sharp.Core.NativeMethods.LoadNativeLibrary() in C:\projects\libgit2sharp\LibGit2Sharp\Core\NativeMethods.cs:line 47
     at LibGit2Sharp.Core.NativeMethods..cctor() in C:\projects\libgit2sharp\LibGit2Sharp\Core\NativeMethods.cs:line 37
     --- End of inner exception stack trace ---
     at LibGit2Sharp.Core.NativeMethods.git_clone(git_repository*& repo, String origin_url, FilePath workdir_path, GitCloneOptions& opts)
     at LibGit2Sharp.Core.Proxy.git_clone(String url, String workdir, GitCloneOptions& opts) in C:\projects\libgit2sharp\LibGit2Sharp\Core\Proxy.cs:line 354
     at LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, CloneOptions options) in C:\projects\libgit2sharp\LibGit2Sharp\Repository.cs:line 715
     at Microsoft.DotNet.DarcLib.RemoteRepoBase.Clone(String repoUri, String commit, String targetDirectory, ILogger _logger, String pat, String gitDirectory) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/DarcLib/RemoteRepoBase.cs:line 176
     --- End of inner exception stack trace ---
     at Microsoft.DotNet.DarcLib.RemoteRepoBase.Clone(String repoUri, String commit, String targetDirectory, ILogger _logger, String pat, String gitDirectory) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/DarcLib/RemoteRepoBase.cs:line 210
     at Microsoft.DotNet.DarcLib.GitHubClient.Clone(String repoUri, String commit, String targetDirectory, String gitDirectory) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/DarcLib/GitHubClient.cs:line 873
     at Microsoft.DotNet.Darc.Operations.CloneOperation.HandleMasterCopyAndCreateGitDir(RemoteFactory remoteFactory, String repoUrl, String masterGitRepoPath, String masterRepoGitDirPath, String gitDirRedirect, ILogger log) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/Darc/Operations/CloneOperation.cs:line 282
     at Microsoft.DotNet.Darc.Operations.CloneOperation.HandleMasterCopyWithGitDirPath(RemoteFactory remoteFactory, String repoUrl, String masterGitRepoPath, String masterRepoGitDirPath, ILogger log) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/Darc/Operations/CloneOperation.cs:line 270
     at Microsoft.DotNet.Darc.Operations.CloneOperation.HandleMasterCopy(RemoteFactory remoteFactory, String repoUrl, String masterGitRepoPath, String masterRepoGitDirPath, ILogger log) in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/Darc/Operations/CloneOperation.cs:line 225
     at Microsoft.DotNet.Darc.Operations.CloneOperation.ExecuteAsync() in /home/fosslinux/packages/source-build/tools-local/arcade-services/src/Microsoft.DotNet.Darc/src/Darc/Operations/CloneOperation.cs:line 102
  Segmentation fault (core dumped)
/home/fosslinux/packages/source-build/tools-local/init-build.proj(169,5): error MSB3073: The command "/home/fosslinux/packages/source-build/Tools/dotnetcli/dotnet /home/fosslinux/packages/source-build/tools-local/arcade-services/artifacts/bin/Microsoft.DotNet.Darc/Release/netcoreapp2.1/Microsoft.DotNet.Darc.dll clone --repos-folder /home/fosslinux/packages/source-build/bin/src/ --git-dir-folder /home/fosslinux/packages/source-build/.git/modules/src/ --include-toolset --ignore-repos ";https://dev.azure.com/dnceng/internal/_git/dotnet-optimization;https://dev.azure.com/devdiv/DevDiv/_git/DotNet-Trusted;https://devdiv.visualstudio.com/DevDiv/_git/DotNet-Trusted;https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization;https://dev.azure.com/dnceng/internal/_git/dotnet-core-setup" --azdev-pat bogus --github-pat bogus --depth 0 --debug" exited with code 139.

I think I have a missing dependency, but I have no idea what.

Should be fixed by http://github.com/dotnet/arcade-services/pull/473.  Feel free to re-open if you're still having problems.


Add Generation of UnbrandedTypeSpec project

Migrate this test project tsp and tspconfig over to new generator and start generating it with all new PRs.
https://github.com/Azure/autorest.csharp/tree/feature/v3/test/UnbrandedProjects/Unbranded-TypeSpec
At first none of the models or classes will be there but as we build out functionality we will see the project start to grow and become identical to what is autorest.csharp generation.

Duplicate of https://github.com/Azure/autorest.csharp/issues/4200


Display Messier catalog number and name if exists

https://github.com/jayhasyee/astroffers/commit/e1764707447883fd205ead13d1d4ba6a2f52a936


Map object to perform http requests GET/POST when clicked

Hello,
Would it be possible include a mapping to perform HTTP GET/POST, similar to the current link but performed via a json request instead?. This feature will make it possible to add a minimal control interface next to metric in the diagram and send a http request to an arbitrary url to actuate over the metric, for example to a node-red endpoint.
I have searched in this plugin issues, grafana plugins and also in draw.io functionality, but could not found a similar feature. A plugin for a standalone button with quite nice configuration options is provided by this grafana plugin https://grafana.com/grafana/plugins/cloudspout-button-panel/, but it is not possible to include that buttons over a draw.io diagram.
Great plugin and thanks!
Jacq

I second this, but adding PUT/PATCH would make it even more useful for use with many ReST interfaces.


Preserve token organization when authorizing

Currently, a user with a production token for any org can use the same token to access resources for a different organization. As long as a production token exists, the organization is overwritten with the organization from the path.
Tests to follow soon.

this is unfortunately by design where the token auth gives you access to any org that you are a member of. If you are NOT a member of the other org, auth fails.
Agree we should change - but need to think through how to verify what is going on in production to verify we do not disrupt service

@ericluria

If you are NOT a member of the other org, auth fails.

Did you not observe a different behavior?

and to confirm the paolo org exists:```organizationdb=> select id from organizations where id = 'paolo';
id
paolo```

ack - glad to know it's working as intended :)


Add plugin to official third-party plugin list

There is a document that lists third-party plugins for PT Run. It is linked from the PT Settings Ui.
File: https://github.com/microsoft/PowerToys/blob/main/doc%2FthirdPartyRunPlugins.md
I suggest to add your plugin on the list.

https://github.com/microsoft/PowerToys/pull/33830


Failing on both second jobs

I'm attempting to follow this recipe and running into errors with both of the concurrent second jobs in the "1 Initial - ECS Prefect agent" action. I set the AWS and Prefect secrets as described in the article, and I can see the container in AWS ECR got created successfully, but not sure about both of the errors shown in the images below:

I'm also not seeing any of the blocks show up in the Prefect UI, even though they say they registered and should be visible:

I know that the action fails before getting to the "Create Blocks and Upload to S3" step, but the message shown above in the "Python Dependencies" step led me to believe that I should see them in the Prefect UI.
I've run the delete action to try to wipe things out and start over, but no luck so far. Any help would be greatly appreciated!

interesting - looks like the login to Cloud didn't work because Secret wasn't passed properly - did you add PREFECT_API_KEY key and PREFECT_API_URL and do they look similar to this format?
PREFECT_API_URL = "https://api.prefect.cloud/api/accounts/xxxx/workspaces/xxxx"
PREFECT_API_KEY = "pnu_xxxx"

just making sure, did you create an S3 bucket and pass its name as input?

I ran it just now and this step seems to work

it looks like either API key expired or has not been properly added to secrets somehow, can you cross-check and try again? maybe create a new fresh API key just to be sure?
can you confirm that login into cloud from your local CLI works using that API key and workspace?

I added quotes around the PREFECT_API_URL and PREFECT_API_KEY values and that got me through the "Prefect Cloud login" step, but now I'm getting this:

That worked, thanks! I think I figured out what was causing the issue -> I originally ran prefect config view from my terminal to get the PREFECT_API_URL, and I copied and pasted that value directly into the github secrets - apparently there was a linefeed (\n) character in the middle of it that got url-encoded to %0a when github saved it. Copying and pasting from cat ~/.prefect/profiles.toml didn't have that issue.
Just FYI, when I tried authenticating through the browser, I got this:

I was able to authenticate successfully through the CLI by pasting my API key into the terminal.

nice work! and this screen is expected (apart from the Sorry message), I suspect hard refresh would fix it


improve integration tests verbose mode

Motivation:
Previously, the integration test's verbose mode would only shows the
output after the test has run, but a live view is better.
Modifications:
Made the integration test's verbose output live.
Result:
Easier to debug the integration tests.

lgtm as long as we run these serially


Delta function passes full set of experiment_data although it should only operate on conditions

The issue can be investigated here.
In the following script, a validation state is created to contain the validation data. However, it is problematic in the following sense: passing validation_experiment_data instead of validation_conditions to
    benchmark_state = random_sample_on_state(benchmark_state,
                                              all_conditions=validation_conditions.conditions,
                                              num_samples=num_conditions_per_cycle)

will result in the benchmark_state obtaining all experimental_data from validation_experiment_data which is undesired behavior. I assume this happens because of the Delta (the full set of experiment conditions in validation_experiment_data vs. no experiment condition in benchmark_state).
def run_simulation(num_cycles, num_conditions_per_cycle, num_initial_conditions, bms_epochs, experiment_runner, sim=0):

  # VALIDATION STATE
  # at every step of our discovery process, we will evaluate the performance
  # of the theorist against the ground truth. Here, we will define the ground
  # truth as a grid of data points sampled across the domain of the experimental
  # design space. We will store this validation set in a separate validation states

  # create AutoRA state for validation purposes
  validation_conditions = CustomState(variables=experiment_runner.variables)
  validation_experiment_data = CustomState(variables=experiment_runner.variables)

  # our validation set will be consist of a grid of experiment conditons
  # across the entire experimental design domain
  validation_conditions = grid_pool_on_state(validation_conditions)
  validation_experiment_data = grid_pool_on_state(validation_experiment_data)
  validation_experiment_data = run_experiment_on_state(validation_experiment_data, experiment_runner=experiment_runner)

  benchmark_MSE_log = list()
  working_MSE_log = list()

  # INITIAL STATE
  # We begin our discovery experiment with randomly sampled data set for 10
  # conditions. We will use the same state for each experimentalist method.

  # create initial AutoRA state which we will use for our discovery expeirments
  initial_state = CustomState(variables=experiment_runner.variables)

  # we will initiate our discovery process with 10 randomly sampled experiment conditions
  initial_state = random_pool_on_state(initial_state,
                                      num_samples=num_initial_conditions,
                                      random_state = sim)

  # we obtain the corresponding experiment data
  initial_state = run_experiment_on_state(initial_state, experiment_runner=experiment_runner)

  # initialize benchmark state for random experimentalist
  benchmark_state = CustomState(**initial_state.__dict__)

  # initialize working state for your custom experimentalist
  working_state = CustomState(**initial_state.__dict__)

  # for each discovery cycle
  for cycle in range(num_cycles):

    print("SIMULATION " + str(sim)  + " / DISCOVERY CYCLE " + str(cycle))

    # first, we fit a model to the data
    print("Fitting models on benchmark state...")
    benchmark_state = theorists_on_state(benchmark_state, bms_epochs=bms_epochs)
    print("Fitting models on working state...")
    working_state = theorists_on_state(working_state, bms_epochs=bms_epochs)

    # now we can determine how well the models do on the validation set
    benchmark_MSE = get_validation_MSE(validation_experiment_data, benchmark_state)
    benchmark_MSE_log.append(benchmark_MSE)

    working_MSE = get_validation_MSE(validation_experiment_data, working_state)
    working_MSE_log.append(working_MSE)

    # then we determine the next experiment condition
    print("Sampling new experiment conditions...")
    benchmark_state = random_sample_on_state(benchmark_state,
                                              all_conditions=validation_conditions.conditions,
                                              num_samples=num_conditions_per_cycle)
    working_state = custom_sample_on_state(working_state,
                                            all_conditions=validation_conditions.conditions,
                                          num_samples=num_conditions_per_cycle)

    print("Obtaining observations...")
    # we obtain the corresponding experiment data
    benchmark_state = run_experiment_on_state(benchmark_state, experiment_runner=experiment_runner)
    working_state = run_experiment_on_state(working_state, experiment_runner=experiment_runner)

  return benchmark_MSE_log, working_MSE_log, benchmark_state, working_state

The wrappers are blow...
# state wrapper for grid pooler experimentalist (generates a grid of experiment conditions)
@on_state()
def grid_pool_on_state(variables):
  return Delta(conditions=grid_pool(variables))

# state wrapper for random pooler experimentalist (generates a pool of experiment conditions)
@on_state()
def random_pool_on_state(variables, num_samples, random_state=None):
  return Delta(conditions=random_pool(variables, num_samples, random_state))

# state wrapper for random experimentalist (samples experiment conditions from a set of conditions)
@on_state()
def random_sample_on_state(conditions, all_conditions, num_samples, random_state=None):
  return Delta(conditions=random_sample(all_conditions, num_samples, random_state))

# **** STATE WRAPPER FOR YOUR EXPERIMENTALIST ***
@on_state()
def custom_sample_on_state(experiment_data,
                           models_bms,
                           models_lr,
                           models_polyr,
                           all_conditions,
                           num_samples=1,
                           random_state=None):

  # this is just an example where we integrate the model diagreement sampler
  # into the wrapper
  conditions = model_disagreement_sample(
          all_conditions,
          models = [models_bms[-1], models_lr[-1]],
          num_samples = num_samples
      )

  return Delta(conditions=conditions)

I can not reproduce this error. Could you show a minimal example? The following code works as intended: The experiment_data of benchmark_state_2 doesn't get altered and stays the same as the initial state:
experiment_runner = exp_learning()

validation_conditions = CustomState(variables=experiment_runner.variables)

validation_conditions = CustomState(variables=experiment_runner.variables)
validation_experiment_data = CustomState(variables=experiment_runner.variables)

  # our validation set will be consist of a grid of experiment conditons
  # across the entire experimental design domain
validation_conditions = grid_pool_on_state(validation_conditions)
validation_experiment_data = grid_pool_on_state(validation_experiment_data)
validation_experiment_data = run_experiment_on_state(validation_experiment_data, experiment_runner=experiment_runner)

  # INITIAL STATE
  # We begin our discovery experiment with randomly sampled data set for 10
  # conditions. We will use the same state for each experimentalist method.

  # create initial AutoRA state which we will use for our discovery expeirments
initial_state = CustomState(variables=experiment_runner.variables)

  # we will initiate our discovery process with 10 randomly sampled experiment conditions
initial_state = random_pool_on_state(initial_state,
                                      num_samples=1,
                                      random_state = 1)

  # we obtain the corresponding experiment data
initial_state = run_experiment_on_state(initial_state, experiment_runner=experiment_runner)

  # initialize benchmark state for random experimentalist
benchmark_state = CustomState(**initial_state.__dict__)
benchmark_state_2 = CustomState(**initial_state.__dict__)

print(initial_state.experiment_data)
print(benchmark_state.experiment_data)

working_state = CustomState(**initial_state.__dict__)

for _ in range(2):

  # benchmark_state = theorists_on_state(benchmark_state, bms_epochs=2)

  # working_state = theorists_on_state(working_state, bms_epochs=2)

  # working_state = custom_sample_on_state(working_state,
  #                                             all_conditions=validation_conditions.conditions,
  #                                           num_samples=1)
  benchmark_state = random_sample_on_state(benchmark_state,
                                                all_conditions=validation_condititions.conditions,
                                                num_samples=1)
  benchmark_state_2 = random_sample_on_state(benchmark_state_2,
                                                all_conditions=validation_experiment_data.conditions,
                                                num_samples=1)

  benchmark_state = run_experiment_on_state(benchmark_state, experiment_runner=experiment_runner)
  # working_state = run_experiment_on_state(working_state, experiment_runner=experiment_runner)

  # print(initial_state.experiment_data)
  print('***')
  print(benchmark_state.experiment_data)

  print(benchmark_state_2.experiment_data)


Fix examples/counter_isomorphic

As it says on the front page

NOTE: We're in the middle of merging changes and making fixes to support our upcoming 0.1.0 release. Some of the examples may be in a broken state.

I see examples/counter_isomorphic need some TLC
I am working on this.

It's working fine for me; are you seeing issues or do you mean the warnings?
The warnings are mostly coming from leptos_router and are basically there because there are a few features I haven't finished implementing.

When I run the example with cargo leptos serve it works, but I found that sometimes panic:
thread 'actix-rt|system:0|arbiter:3' panicked at 'Tried to access a Runtime that no longer exists.', /home/ubuntu/leptos/leptos_reactive/src/runtime.rs:47:22
The panic is here:
pub(crate) fn with_runtime<T>(id: RuntimeId, f: impl FnOnce(&Runtime) -> T) -> T {
    // in the browser, everything should exist under one runtime
    cfg_if! {
        if #[cfg(any(feature = "csr", feature = "hydrate"))] {
            _ = id;
            RUNTIME.with(|runtime| f(runtime))
        } else {
            RUNTIMES.with(|runtimes| {
                let runtimes = runtimes.borrow();
                let runtime = runtimes
                    .get(id)
                    .expect("Tried to access a Runtime that no longer exists."); // <- here
                f(runtime)
            })
        }
    }
}

This is produced when you refresh the page in the route /multi for SSE counter.
I was wondering if there is another approach that doesn't derive to a panic, maybe to handle the non-existing runtime?

Oh thanks I see exactly what's happening. Will fix and will add some docs to clarify for others. Appreciate you pointing it out.
(Basically, create_signal_from_stream, unlike create_resource, doesn't register with the suspense system so it doesn't cause the HTML stream to stay open. Even though the stream resolves on the first async tick the page has already finished rendering and the runtime used to render it has been disposed. In other words: I used the wrong API for the SSR part of the multi-user component when I wrote the example! Or rather... I closed a memory leak and didn't go back and notice this issue in the example. Either way, appreciated.)


Shift-F1 sends termion in endless loop

Start the keys example, then press Shift-F1.
Bytes sent:
'\u{1b}'
'['
'1'
';'
'2'
'P'

Closed by #69.


Microsoft.FluentUI.AspNetCore.Components does not have a strong name

🐛 Bug Report

Consume nuget package Microsoft.FluentUI.AspNetCore.Components 4.5.0 or 4.5.1-preview.24068.9 to blazor web assembly project and try to publish, the visual studio reports
"Referenced assembly 'Microsoft.FluentUI.AspNetCore.Components, Version=<IP_ADDRESS>68, Culture=neutral, PublicKeyToken=null' does not have a strong name."
and publish failed.
💻 Repro or Code Sample

🤔 Expected Behavior

Visual studio should publish the project with the dll, and the dll should have strong name.
😯 Current Behavior
Visual studio failed to publish the project with the dll because it does not have strong name.

💁 Possible Solution

🔦 Context

🌍 Your Environment

OS & Device: [e.g. MacOS, iOS, Windows, Linux] on [iPhone 7, PC]
Browser [e.g. Microsoft Edge, Google Chrome, Apple Safari, Mozilla FireFox]
.NET and Fluent UI Blazor library Version [e.g. 8.0.2 and 4.4.1]: Microsoft.FluentUI.AspNetCore.Components 4.5.0, Visual Studio 2022 17.9.2, .net 8.

Not sure what you mean with a strong name.
Only our 'normal' versions ( for example 4.5.0) are published assigned packages. Preview packages are just for preview, are not signed and are not meant to be used in published applications.

Hi @vnbaaij : the Microsoft.FluentUI.AspNetCore.Components.dll in 4.5.0 and earlier versions (I tried 4.3.0) aslo not signed. I use "sn -v" and it reports "Microsoft.FluentUI.AspNetCore.Components.dll does not represent a strongly named assembly" as well.

The packages are signed (with a valid certificate). Following the guidance in https://github.com/dotnet/runtime/blob/main/docs/project/strong-name-signing.md#1-microsoft-strong-names-their-assemblies-should-i we don't plan on signing/giving a strong name to the individual files.

The FAQ did say "Because of the viral nature of strong-naming, it is recommended that publicly published .NET libraries are strong-named.". Without strong name, any strong named project cannot consume it.

True, but as said it is a relic from the .NET Framework past. Following the link from the FAQ to https://learn.microsoft.com/en-us/dotnet/standard/library-guidance/strong-naming#create-strong-named-net-libraries, it says there

You should strong name your open-source .NET libraries if their targets include .NET Framework or .NET Standard. Strong naming is not required for libraries that target .NET Core/5+ only.

As a Microsoft project we are following that. As said, we are not planning on adding strong names to our project. In case a referencing project is using strong naming, I would say (following the guidance) to remove strong naming from that project as well.

Closing this as not planned


review

Version 2.0.0
Improvements
Introduced checking if the payload is decodable JSON when writing data from external app in IOLinkSMI app.
Bugfix
Removed wrong appname registration in line 1777 of the Controller
Following tasks were checked

[x] Module is coded and structured according to the "Developing guideline for modules" described within the CSK documentation
[x] All functions/events/parameters are documented within the manifest documentation
[x] The manifest description of the main CROWN includes main information about the purpose of the module and how to use it in general
[x] API docu based on the manifest was created and stored within the "docu"-folder of the repository
[x] Internal LUA code documentation exists for variables and non served functions
[x] All relevant infos are logged via the SharedLogger 'ModuleLogger'
[x] Module supports persistent data feature based on 'CSK_Module_PersistentData'
[x] Module supports user management based on 'CSK_Module_UserManagement'
[x] No open "ToDos" within the code or at least clearly explained comments why they exist...
[x] "Version" key in app manifest was updated following semantic versioning (and use '0.x.y' for test / experimental modules which are not yet ready to be officially released)
[x] Meaningful IDs used for UI elements
[x] Module was tested on an AppSpace device (at least on SICK AppEngine) with no error message
[x] README.md is up to date (incl. info of device + firmware the module was tested with)
[x] CHANGELOG.md is up to date

Thx for the review.
I will merge the content manually within the repository.


Proper token role configuration

kubernetes-vault expects a token generated from a token role with the following constraints:

must be renewable
must be periodic (with period > 0)
must not be an orphan

While the first two are totally logical, the third has me confused. Non-orphaned tokens are automatically revoked as soon as the parent expires/is revoked. This means that the kubernetes-vault token must be therefore associated with some other long-lived parent token. Since we are creating a "live forever" periodic token, that implies that the parent token is also either a "live forever" periodic token or a root token. Given that Hashicorp best practice is to never have an active root token post-initialization and I can't see any value in having a separate long-lived parent token that needs to be constantly refreshed, I'm a bit confused as to why there is a "no orphan" requirement: to me, creating an orphan is exactly what we want to do.
Can you explain the rationale here?

Thanks for bringing this to my attention. The requirement for non-orphan tokens must have been inadvertently carried over from Nomad's implementation when the project was first created. I've removed this requirement in #54 and tagged v0.4.7.


Net::SSH::AuthenticationFailed(VMs are getting created in Vsphere, but not able to SSH VMs. )

VMs are getting created in Vsphere, but not able to SSH VMs.
dtumkursreeni-mac:recipes dtumkursreeni$ chef-client -z vsphere_config.rb
[2015-07-14T10:02:02-07:00] INFO: Started chef-zero at chefzero://localhost:8889 with repository at /Users/dtumkursreeni/chef
One version per cookbook
[2015-07-14T10:02:02-07:00] INFO: Forking chef instance to converge...
Starting Chef Client, version 12.4.0.rc.0
[2015-07-14T10:02:02-07:00] INFO: *** Chef 12.4.0.rc.0 ***
[2015-07-14T10:02:02-07:00] INFO: Chef-client pid: 11299
[2015-07-14T10:02:04-07:00] INFO: Run List is []
[2015-07-14T10:02:04-07:00] INFO: Run List expands to []
[2015-07-14T10:02:04-07:00] INFO: Starting Chef Run for dtumkursreeni
[2015-07-14T10:02:04-07:00] INFO: Running start handlers
[2015-07-14T10:02:04-07:00] INFO: Start handlers complete.
[2015-07-14T10:02:04-07:00] INFO: HTTP Request Returned 404 Not Found: Object not found:
resolving cookbooks for run list: []
[2015-07-14T10:02:04-07:00] INFO: Loading cookbooks []
Synchronizing Cookbooks:
Compiling Cookbooks...
Recipe: @recipe_files::/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb

chef_gem[chef-provisioning-vsphere] action install[2015-07-14T10:02:04-07:00] INFO: Processing chef_gem[chef-provisioning-vsphere] action install (@recipe_files::/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb line 1)
(up to date)
[2015-07-14T10:02:50-07:00] WARN: Class Chef::Resource::Machine does not declare 'provides :machine'.
[2015-07-14T10:02:50-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:02:50-07:00] WARN: Chef::Resource::Machine is marked as providing DSL machine, but provides :machine was never called!
[2015-07-14T10:02:50-07:00] WARN: In Chef 13, this will break: you must call provides to mark the names you provide, even if you also override provides? yourself.
[2015-07-14T10:02:50-07:00] WARN: Class Chef::Resource::Machine does not declare 'provides :machine'.
[2015-07-14T10:02:50-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:02:50-07:00] WARN: Node dtumkursreeni has an empty run list.
Converging 2 resources

chef_gem[chef-provisioning-vsphere] action install[2015-07-14T10:02:50-07:00] INFO: Processing chef_gem[chef-provisioning-vsphere] action install (@recipe_files::/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb line 1)
(up to date)

machine[workspace] action converge[2015-07-14T10:02:50-07:00] INFO: Processing machine[workspace] action converge (@recipe_files::/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb line 77)
[2015-07-14T10:02:50-07:00] WARN: Class Chef::Provider::Machine does not declare 'provides :machine'.
[2015-07-14T10:02:50-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:02:50-07:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/nodes/workspace

creating machine workspace on vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true

use_linked_clone: true

num_cpus: 2

memory_mb: 4096

network_name: ["wdc-hw-vms"]

datacenter: "Horizon"

cluster: "Horizon Suite"

resource_pool: "Horizon Suite/darshan-rp"

template_folder: "Shared Templates/SaaS"

template_name: "ws-empty-vm_v3"

customization_spec: {:ipsettings=>{:dnsServerList=>["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"]}, :domain=>"hs.trcint.com"}

ssh: {:user=>"root", :password=>"root", :paranoid=>false}establishing connection to <IP_ADDRESS>
[2015-07-14T10:04:27-07:00] WARN: Using a VM Template, ignoring use_linked_clone.

network: wdc-hw-vms is a DistributedVirtualPortgroup

changing template nic for wdc-hw-vms

customizing workspace with /
dynamic IP and DNS: ["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"]

Machine - created - workspace (5020067a-20f7-9c70-194a-e59d8b64e7b2 on vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true)[2015-07-14T10:05:24-07:00] WARN: Class Chef::Resource::ChefNode does not declare 'provides :chef_node'.
[2015-07-14T10:05:24-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:05:24-07:00] WARN: Chef::Resource::ChefNode is marked as providing DSL chef_node, but provides :chef_node was never called!
[2015-07-14T10:05:24-07:00] WARN: In Chef 13, this will break: you must call provides to mark the names you provide, even if you also override provides? yourself.
[2015-07-14T10:05:24-07:00] WARN: Class Chef::Resource::ChefNode does not declare 'provides :chef_node'.
[2015-07-14T10:05:24-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:05:24-07:00] INFO: Processing chef_node[workspace] action create (basic_chef_client::block line 77)
[2015-07-14T10:05:24-07:00] WARN: Class Chef::Provider::ChefNode does not declare 'provides :chef_node'.
[2015-07-14T10:05:24-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:05:24-07:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/nodes/workspace

create node workspace at chefzero://localhost:8889

add normal.tags = nil

add normal.chef_provisioning = {"reference"=>{"driver_url"=>"vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true", "driver_version"=>"0.5.8", "server_id"=>"5020067a-20f7-9c70-194a-e59d8b64e7b2", "is_windows"=>false, "allocated_at"=>"2015-07-14 17:05:17 UTC", "ipaddress"=>nil}}

update run_list from [] to ["workspace_provisioning::default"]

Power on VM [vm/workspace]

waiting for workspace (5020067a-20f7-9c70-194a-e59d8b64e7b2 on vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true) to be ready ..............

workspace is now ready[2015-07-14T10:06:50-07:00] INFO: Executing pwd on<EMAIL_ADDRESS>

waiting up to 300 seconds for customization

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

IP addresses found: ["<IP_ADDRESS>", "fe80::250:56ff:fea0:801f"]

rebooting...

Shutdown guest OS and power off VM [vm/workspace]

Power on VM [vm/workspace]

restart machine workspace (vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true)

waiting up to 300 seconds for customization

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP addresses found: []

IP address obtained: <IP_ADDRESS>[2015-07-14T10:13:41-07:00] INFO: Executing pwd on<EMAIL_ADDRESS><EMAIL_ADDRESS>password:

waiting for workspace (5020067a-20f7-9c70-194a-e59d8b64e7b2 on vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true) to be connectable (transport up and running) ...[2015-07-14T10:20:48-07:00] INFO: Executing pwd on<EMAIL_ADDRESS><EMAIL_ADDRESS>password:
<EMAIL_ADDRESS>password:
.[2015-07-14T10:22:21-07:00] INFO: Executing pwd on<EMAIL_ADDRESS><EMAIL_ADDRESS>password:
<EMAIL_ADDRESS>password:
.

workspace is now connectable[2015-07-14T10:23:47-07:00] WARN: Class Chef::Resource::ChefNode does not declare 'provides :chef_node'.
[2015-07-14T10:23:47-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.
[2015-07-14T10:23:47-07:00] INFO: Processing chef_node[workspace] action create (basic_chef_client::block line 57)
[2015-07-14T10:23:47-07:00] WARN: Class Chef::Provider::ChefNode does not declare 'provides :chef_node'.
[2015-07-14T10:23:47-07:00] WARN: This will no longer work in Chef 13: you must use 'provides' to provide DSL.

update node workspace at chefzero://localhost:8889

update normal.chef_provisioning.reference.ipaddress from nil to "<IP_ADDRESS>"

add normal.chef_provisioning.reference.started_at = "2015-07-14 17:12:34 UTC"

update run_list from ["recipe[workspace_provisioning::default]"] to ["workspace_provisioning::default"]
<EMAIL_ADDRESS>password:
<EMAIL_ADDRESS>password:

================================================================================
Error executing action converge on resource 'machine[workspace]'
Net::SSH::AuthenticationFailed
Authentication failed for user<EMAIL_ADDRESS>Resource Declaration:
In /Users/dtumkursreeni/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/chef-12.4.0.rc.0/lib/chef/dsl/recipe.rb
77:           return send(method_symbol, *args, &block)
78:         end
Compiled Resource:
Declared in /Users/dtumkursreeni/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/chef-12.4.0.rc.0/lib/chef/dsl/recipe.rb:77:in `method_missing'
machine("workspace") do
action [:converge]
retries 0
retry_delay 2
default_guard_interpreter :default
chef_server {:chef_server_url=>"chefzero://localhost:8889", :options=>{:client_name=>"dtumkursreeni", :signing_key_filename=>"/Users/dtumkursreeni/.chef/dtumkursreeni.pem"}}
driver "vsphere://<IP_ADDRESS>/sdk?use_ssl=true&insecure=true"
machine_options {:bootstrap_options=>{:use_linked_clone=>true, :num_cpus=>2, :memory_mb=>4096, :network_name=>["wdc-hw-vms"], :datacenter=>"Hor", :cluster=>"Horizon Suite", :resource_pool=>"Horizon Suite/darshan-rp", :template_folder=>"S", :template_name=>"ws", :customization_spec=>{:ipsettings=>{:dnsServerList=>[""]}, :domain=>"hs.trcint.com"}, :ssh=>{:user=>"root", :password=>"root", :paranoid=>false}}}
declared_type :machine
cookbook_name "@recipe_files"
recipe_name "/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb"
run_list ["workspace_provisioning::default"]
end

[2015-07-14T10:24:16-07:00] INFO: Running queued delayed notifications before re-raising exception
Running handlers:
[2015-07-14T10:24:16-07:00] ERROR: Running exception handlers
Running handlers complete
[2015-07-14T10:24:16-07:00] ERROR: Exception handlers complete
[2015-07-14T10:24:16-07:00] FATAL: Stacktrace dumped to /Users/dtumkursreeni/.chef/local-mode-cache/cache/chef-stacktrace.out
Chef Client failed. 0 resources updated in 1334.279729 seconds
[2015-07-14T10:24:16-07:00] ERROR: machine[workspace] (@recipe_files::/Users/dtumkursreeni/chef/cookbooks/workspace_provisioning/recipes/vsphere_config.rb line 77) had an error: Net::SSH::AuthenticationFailed: Authentication failed for user<EMAIL_ADDRESS>

are you able to SSH to the box outside of the provisioning? with the same creds?

Yes, I could able to SSH outside the box.

sorry. I mean can you SSH to the box you are provisioning using SSH on the command line? I am trying to isolate if it is an SSH connectivity issue, authentication issue or chef provisioning issue?

In this case, No I could not SSH to the box over command line.
CHEF PROVISION:

It asks for password then it says authentication failed.
Command-line: I tried SSH over command line.

sounds like a base image problem. chef-provisioning definitely won't beable to converge the node if it cannot ssh to the box.

@mwrock  should  I change the template?

most likely thats the case. you should be able to SSH to any cloned vm of that template with the same credentials you are using for chef-provisioning.


Install latest runc 1.1.*

Description of changes:
Expands runc package selection to 1.1.*.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Oh nice, the doc linter did it's thing 👍 https://github.com/awslabs/amazon-eks-ami/actions/runs/5812932554/job/15759400309?pr=1384


Lack of PID uniqueness in container environments makes prometheus_multiproc difficult to use

In environments where each container is running in its own PID namespace, multiple instances of the same container will quickly result in (silently) conflicting file names as any  my-favorite-server.py process will likely have the same low, single or double digit PID in each of the multiple containers.  As a result, the different processes will attempt to mmap the same file in the shared multiprocess metric directory, and various scary errors that aren't always easy to understand the root cause will occur.
It would be beneficial if something in addition to the PID was used to help ensure uniqueness across the files in the PROMETHEUS_MULTIPROC_DIR, or if a string could be passed in at initialization time to be embedded in the file names, such as a container or pod name, or another value determined by the application.

Ideally the multiproc directory would not be shared across pods/containers. Likely the best solution would be possible to set PROMETHEUS_MULTIPROC_DIR to contain the pod name or container name in the path, this is certainly possible with Kubernetes.
Since the entire directory is supposed to be wiped before application startup lots of issues can crop up if the directory is shared across applications.

I have no issue wiping the directory, and yes, I would agree each distinctly different application should have its own directory.  In our case, its one application running multiple identical pods behind a load balancer.  We'd like to be able to report the metrics on the entire application, not 6 individual pods.  With a load balancer in front, we don't know which pod we might be reaching when we query for the metrics.

Ahh, that is an interesting use case that is not supported today. Multiproc is designed to be run by one instance, but you want to aggregate across multiple instances. Typically this is handled by collecting data from each instance separately and aggregating in Prometheus, is the amount of data too high to do that? It would also give you visibility if a single pod is having issues.


Add guideline for batch and bulk requests using 207

Fixes #127

👍

👍

@codekultur @ePaul What are your thoughts about this? Can we merge it?

:+1

👍