Logging emitter is active when noop is set

Hey,
if I set druid.emitter to nopp I can still see logging emitter logs :
com.metamx.emitter.core.LoggingEmitter ...

~/imply-1.2.1# cat conf/druid/_common/common.runtime.properties | grep emitter
druid.emitter=noop
druid.emitter.logging.logLevel=warn
druid.emitter.graphite.hostname=?????
druid.emitter.graphite.port=2004
druid.emitter.graphite.alertEmitters=["noop"]
druid.emitter.graphite.eventConverter={"type":"whiteList", "namespacePrefix": "druid", "ignoreHostname":false, "ignoreServiceName":false, "mapPath": "dist/druid/extensions/graphite-emitter/defaultWhiteListMap.json"}
druid.extensions.loadList=["druid-histogram", "druid-datasketches", "druid-s3-extensions", "graphite-emitter"]

I'm using the 1.2.1 implydata distribution. I use graphite in production but I want to disable emitter for testing and development ...

What service are you seeing the emitter logs on, and what version of druid is your imply distribution running?

0.9.0

Cany ou post your full common.runtime.properties? FWIW this post should be in the user groups https://groups.google.com/forum/#!forum/druid-user until we confirm it is an actual Druid issue

@l15k4 You might be running against the quickstart config in conf-quickstart rather than the clustered config in conf, could you double-check that?

Ou my, sorry guys. After triple checking everything, it turns out that I really supplied quickstart conf instead of the modified one, sorry !!!


eduke32@20201029-9273-3df9e02a6: decompress error

It seems that eduke32 downloads links are wrong

@PhotonNite Is this fixed now?

@PhotonNite Is this fixed now?

Yes it works fine now


Fix AttributeError when using multiple dataloaders

See #3994

What does this PR do?
In LoggerConnector._log_on_evaluation_epoch_end_metrics, there's a step that renames results keys by data loader index if there are multiple data loaders. It takes a Result, but if there are multiple data loaders, it returns a plain old dict. When this dict comes back, it tries to call .get_epoch_log_metrics() and .get_epoch_pbar_metrics(), which are Results  methods.
Fixes #3994
Before submitting
I did none of these things:

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Weeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!

Hey there!
I do not think the code now solves the issue, since the key meta is accessed in step_result and should not be renamed, however, the keys within it should be updated for the metrics that are logged.
This means that the metrics will show with their news names on the logger, ie. loss/dataloader_idx_0 and if they are used for early stopping for instance, they should be called with their dataloader, ie. val_loss/dataloader_idx_0 instead of val_loss.
I have "fixed" it so that it behaves as mentioned, although I am not sure if this is what is intended. I will leave a comment with my code, feel free to change it or if you want you can give me rights as collaborator to the branch and I can add them.

Fixed by #4480. Closing this one.


I have an issue with QRCODE Class

setLogoSize(), setRoundBlockSize(), setValidateResult(), setWriterOptions();
CALL TO UNDEFINED METHOD ENDROID\QRCODE\QRCODE::

Sorry I can not reproduce the message, do you have any code example and screenshot of the error? And what version are you using?


Status bar color scheme not set for some filetypes (.go, vimscript, etc.).

environment

vim: 7.4.1689
vim-airline: 55a9721
OS: Ubuntu 16.04
Have you reproduced with a minimal vimrc: no
What is your airline configuration:

let g:airline_powerline_fonts=1

if you are using terminal:

terminal: gnome-terminal 3.18.3
$TERM variable: xterm-256color
color configuration (:set t_Co?): 256

actual behavior
When opening a file, some filetypes produce an un-colorschemed status bar (particularly .go, and vim script files).  As soon as the terminal is resized horizontally, the status bar color scheme is set.
expected behavior
It seems reasonable to expect the status bar color scheme to be set initially.

I've tracked this down to this change: https://github.com/vim-airline/vim-airline/commit/9e3fcc4cdb5244361939e8e6410263366f0295cd
When the conditional (if !s:init) is removed, the status bar color scheme is correctly displayed.  Alternately, let g:airline#extensions#tagbar#enabled = 0 has been my current workaround.  If I have some free time soon, I may remember to look into this and provide a minimal vimrc.  However, it appears that this has something to do with some filetypes being loaded late, and I'm hoping that that is enough to spur a solution.

I am not sure, how the tagbar extension could influence how the statusbar is colored. Please reproduce with a minimal vimrc file.

ping

no feedback, closing.


v1.5 Endgame

Release Coordinator: @berndverst
Release Buddy: @halspang
Code freeze: 11/04/2021
Endgame starts: 11/04/2021
Release date: 11/11/2021
Release Tasks:

[x] No P0 issues before code freeze.
[x] Code freeze at 12:00 pm 11/04.
[x] E2E and perf tests are passing. (Known perf test failures, deemed not a blocker. Known E2E failure not a blocker). (@artursouza )
[x] Update components-contrib certification tests go.mods with latest dapr/dapr commit hash (@pkedy )
[x] Cut release-1.5 branch for component-contrib (@berndverst)
[x] Create 1.5.0-rc.1 release for component-contrib (@berndverst) (IN THIS RELEASE WAS 1.5.0-rc1)
[x] Update dapr/component-contrib pkg to 1.5.0-rc.1 in dapr/dapr master branch (@pkedy / @artursouza) (IN THIS RELEASE WAS 1.5.0-rc1)
[x] Cut release-1.5 branch for Dapr runtime (@berndverst)
[x] Create release-1.5 branch for CLI (@berndverst )
[x] Update helm chart and cut the 1.5.0-rc.2 release for Dapr runtime  (@berndverst )
[x] Update dapr/dapr pkg to 1.5.0-rc.1 in dapr/cli release-1.5 branch (@berndverst)
[x] Cut the 1.5.0-rc.1 release for CLI (@berndverst)
[x] Validate the upgrade path from the previous release -- CRDs updated, no deletion of components/configs etc. (@pkedy ).(This can partially be accomplished by updating the CLI upgrade_test.go)
[x] ~Update proto and cut the rc release for Java SDK (@artursouza / @halspang)~
[x] Update proto and cut the rc release for Python SDK (@berndverst)
[x] Update proto and cut the rc release for Go SDK (@yaron2 )
[x] Update proto and cut the preview/rc release for .Net SDK (@halspang )
[x] Send dapr runtime/cli to vscode dev containers team (Phil Hoff, @mukundansundar / @greenie-msft)
[x] Update longhaul tests dotnet SDK version (@halspang)
[x] Update longhaul tests Dapr runtime version (@halspang)
[x] Update quickstart automated validation and check it works - covers Linux Standalone/ K8s / Darwin MacOS (@wcs1only)
[x] ~Validate middleware quickstart in K8s (@halspang)~
[x] Test and validate quickstarts in Linux ARM64 k8s and self-hosted (@artursouza ) (kafka docker-compose does not work for bindings)
[x] Test and validate quickstarts in Windows (@amulyavarote)
[x] Update proto and cut the rc release for cpp-sdk (@berndverst)
[x] Update proto and cut the rc release for js-sdk (@pkedy)
[x] Update proto and cut the rc release for rust-sdk (@pkedy)
[x] ~Release and test azure-function-extensions (@vinayada1  )~
[x] Validate Longhaul metrics (@wcs1only)
[x] Test and validate the .NET SDK - run through samples (@amulyavarote )
[x] ~Test and validate the .Java SDK  - run through integration tests and samples (@artursouza, @halspang)~
[x] Test and validate the python SDK release - local smoke tests (@berndverst )
[x] Test and validate the Go SDK release  - run through samples (@tanvigour)
[x] Create release notes - CLI, Dapr, .NET SDK, Java SDK, Python SDK, Go SDK. Check them in release branch before cutting the RC release. (@berndverst )
[x] Edit and complete release-notes on HackMD (everyone)
[x] Verify no breaking changes section in release notes (@berndverst / @halspang)
[x] Merge release notes into release branch (@berndverst)
[x] Update helm chart to 1.5.0 and release runtime (@berndverst)
[x] Create release-1.5 branch for quickstarts, update version tag in the images, create v1.5.0 tag and update the readme in master (@berndverst)

11/11/2021

[x] Release cpp-sdk (@berndverst )
[x] ~Release js-sdk (@pkedy)~
[x] Release rust-sdk (@pkedy)
[x] Release Go SDK and docs (@yaron2)
[x] ~Release Java SDK and docs (@artursouza / @halspang)~
[x] ~Release PHP SDK and docs (@withinboredom)~
[x] Release dotnet SDK and release nuget packages (@rynowak )
[x] Release python SDK (@berndverst )
[x] Release CLI 1.5 (@yaron2 @mukundansundar )
[x] Make sure the release notes are copied into the GitHub release description at https://github.com/dapr/dapr/releases (@berndverst )
[x] In the dapr/dapr release branch, update DEV_CONTAINER_VERSION_TAG in docker/docker.mk to the next release increment. Update the DEV_CONTAINER_CLI_TAG to the latest CLI release. In the same PR also update .devcontainer/devcontainer.json to refer to the new Dev Container version. (@berndverst)
[x] Manually trigger the dapr-dev-container workflow on the release branch to publish the new dev container (daprio/dapr-dev). (@berndverst)
[x] In the dapr/components-contrib release branch, update dapr/components-contrib/.devcontainer/Dockerfile to reference the updated dapr-dev image tag for the new release. (@berndverst)
[x] Update certification tests in components-contrib release branch (prior to merge back into master) to use latest runtime and Go SDK releases. See this example PR
[x] ~Generate new Java docs based on the release version of the Java SDK (@artursouza / @halspang)~
[x] Update supported versions table in docs (@willtsai  )
[x] Release blog (@willtsai )
[x] Tweet release announcement (@orizohar )
[x] Discord release announcement (@orizohar )
[x] Update dapr.io banner (@orizohar)
[x] Update versions in the E2E tests in CLI to the latest runtime and dashboard versions (@berndverst).
[x] Merge (NOT SQUASH MERGE/AUTO MERGE) back release-1.5 branch into master for required repos (@berndverst)
[x] Celebrate 🎈

RELEASE NOTE: NOT APPLICABLE

For future:
Pre-code freeze checklist (1 week prior):

[ ] Can any preview features be made stable?
[ ] Can alpha APIs be made stable?
[ ] For any new runtime feature are there tracking issues in all SDKs for implementation?

Checklist complete :)


Select All

Hello how we can add Select All option?

You can go through all the options and manually select them using Multiselect's select API method.


support Exoplayer 1.5.5

Update framework to work with Exoplayer jar v1.5.5
Add DASH Google glass stream

Hi Gilad,
Please sign our Contributor License Agreement (CLA) before sending pull requests. For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise!
We have a simple click-through form.
Thanks!

done

Hi
I'v already signed
I work at Katura LTD<EMAIL_ADDRESS>github: is giladna

Sorry about the spam there, Gilad, I'd enabled the bot to auto-check and replied when it didn't seem to be retroactively working, but of course that caused it to work :-). Thanks again for the pull request, I'll look it over.

I've moved the ExoPlayer JAR out of the repo, could you flatten your commits and submit another pull request without the JAR, including ExoPlayer 1.5.5 from jCenter? Thanks.

@ypavlotsky I've sent a PR #88 with ExoPlayer 1.5.6

H

I never subscribed to this


Add script to generate manifest

Feel like we should have a separate repo for these kind of scripts.


Buildable or publishable.. that is the question...

Not a bug in the plugin but I have been trying to the answer for some time now :P
Looking at the docs here.. https://nx.dev/l/r/structure/buildable-and-publishable-libraries
It's not clear when the libs should be buildable or not.. or should they ALWAYS be either buildable or publishable?
If not.. then when should a lib be NOT buildable/publishable?

Not a bug in the plugin but I have been trying to the answer for some time now :P
Looking at the docs here.. https://nx.dev/l/r/structure/buildable-and-publishable-libraries It's not clear when the libs should be buildable or not.. or should they ALWAYS be either buildable or publishable?
If not.. then when should a lib be NOT buildable/publishable?

Hey! Sorry I haven't been active maintaining this recently but I am back! Typically they should be buildable so you can leverage incremental compilation with Nx. Publishable is for when you are publishing to npm.


Support for writing float and double little endian

Expected behavior
be able to do ByteBuf.writeFloatLE(float value) and ByteBuf.writeDoubleLE(double value)
Actual behavior
those methods are missing, what I do for current workaround is:
out.writeBytes(ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putFloat(value).array());

These were added a while back to the 4.1 branch... Please update your netty version.

sorry, I was using 4.14 and it didn't have it. my bad


Verify libs and licenses - duplicated binaries

Added some entries to "ignored-overlaps"

javacc-3.2 (used at compile time in db.sql.visualeditor)
commons-lang-2.6 (used by maven.embedder and o.apache.commons.lang,
both functionally different).

Great, thanks.


Magisk not detected when building from source

Hey,
I downloaded APK file from releases: v1.1.0(12). It detects Magisk - all is good. Then I tried building from source (tried downloading code from the same release, also via git from branches - new and master) to see which check detected Magisk. Build was successful but resulting app didn't detect Magisk. Do you know what could be the reason?

Nevermind - this is the problem with https://github.com/Dr-TSNG/ApplistDetector which you are using.


external: dont call telemetry if the cluster is external

closes: https://github.com/rook/rook/issues/11470
Signed-off-by: parth-gr<EMAIL_ADDRESS>(cherry picked from commit a52e2f17940661ebe7739155fba86c3ca0115971)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide).
[ ] Skip Tests for Docs: If this is only a documentation change, add the label skip-ci on the PR.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

For any downstream backport we need a BZ that is approved by PM/QE for merge. In this case, since the errors will just be seen in the operator log and can be ignored, customer impact is low so I don't think a backport is needed.

Okay thanks for the feedback, closing


Test PRs targeting branches other than master

In context of https://github.com/pulumi/pulumi-aws/pull/3025 it would be great to be able to maintain multiple "main" branches, such as "v5" branch in AWS, and have tests qualify this branch and PRs targeting it. This change specifically enables testing PRs that target feature-* or v* branches.

Merging to expedite shipping aws v5 patches.


Protect brute-force attemps on BO users

I may have missed it, but there doesn't seem to be any lockout mechanism to prevent brute-force checking passwords for BO users:

CurrentUser always calls super with all lockout flags as default
CurrentUserDetailsServiceImpl always returns needed information as well

Should we add basic rules, such as:

no more than 5 failures per IP per account per 24 hours
no more than 15 failures per IP across all accounts per 24 hours

Numbers can obviously be tweaked (configurable?)

We could use a specific AuthenticationProvider which stores a number of failures for a given IP and account and then evict them periodically.

Done with a default 10 login attemps, then the tuple idenfier/ip is locked for 24 hours.
A new admin interface is available in the "System -> Sessions" menu.


Investigate duplication of S0 nonces in Thermofloor Z-TRM3 thermostat

Version
Build/Run method

[X] Docker
[ ] PKG
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.2.1
zwavejs version: 6.4.0
Home Assistant Core (in Docker) 2021.2.3
Thermofloor Z-TRM3 thermostat firmware version 4.0.33 (config/devices/0x019b/z-trm3.json)
Describe the bug
My Z-TRM3 thermostat (climate entity) is no longer visible in Home Assistant. It was visible and working with version 1.1.1. The device that should have the climate entity is available, but all of the temperature sensors are shown as unavailable.
To Reproduce
Steps to reproduce the behavior:

Go to 'Thermostat device in Home Assistant'
Click on 'Climate' entity (it was loaded from cache)
See error message about the device being unavailable.

Expected behavior
The climate entity should be detected and it should have the correct current setpoint and current temperature of the specified temperature sensor (based on the [10-112-0-2] Sensor mode).
This last thing about the correct temperature sensor being used has never worked, even in previous versions. It would always use the sensor [10-49-2-Air temperature] (which is the first in the list).
Additional context
When I start up zwavejs2mqtt 1.2.1 I get this message twice (I have two Z-TRM3 thermostats):
Unable to discover climate device, there is no valid temperature valueId
This seems to be related to https://github.com/zwave-js/node-zwave-js/issues/1184 which added compat values for CC 0x31 to the definition of z-trm3.json.
If I removed all of those compat additions to z-trm3.json from that issue, then all of the temperature sensors show up in Home Assistant, and the error message mentioned above is no longer shown, but the climate entity is still not detected.
I even went as far as fully re-interviewing the node, removing the device and all the entities (manually) in Home Assistant to ensure it was fully detected again. I also stopped HA and zwavejs2mqtt, let zwavejs2mqtt start up fully before I restarted HA, but still no dice.
My only solution to get the climate entity back to working was to downgrade zwavejs2mqtt to version 1.1.1.
I didn't see anything in the release notes between 1.1.1 and 1.2.1 that indicates that work was done on anything thermostat-related, so this might be related to something else causing action at a distance.
One last note of relevance; if I keep the compat changes (0x31 CC) made to z-trm3.json mentioned above, but only downgrade to 1.1.1, the climate entity shows up in HA, but the current temperature value is unavailable. This seems to indicate that here might be two (or potentially three, if we count the wrong temperature sensor being used) inter-related issues at play here.

I'm experiencing exactly same issue. I got 3 Heatit Z-TRM3 thermostats and after upgrading zwavejs2mqtt from v1.1.0 to v1.2.3 yesterday (Home Assistant was at same version 2021.2.3 before and after upgrade) the thermostat entity for all 3 devices is in Unavailable status in Home Assistant and I cant control thermostats anymore. All three thermostats worked as expected in zwavejs2mqtt v1.1.0. I tried to remove and add one of the thermostats, but that did not help.

@ismarslomic node-zwave-js 6.3+ is incompatible with the current HA release. Downgrade zwavejs2mqtt or wait for the next beta (probably tomorrow).

Tnx for quick reply! I will wait for tomorrow then, not a big issue! Just wanted to help out with confirming the issue. Please let me know if you need support on digging more into details and logs from my side!

Side question, ZWave To Mqtt UI display the Product code for my HeatIt Z-TRM3 devices as TF016. Is this correct?

I think that is a different device - at least the configuration parameters are completely different. See https://devices.zwave-js.io/
If you're sure, please open a separate issue, so we can track that.

I need to demount my devices from the wall to verify. It shows that they are labeled with "TF 021". I sent an email to HeatIt and they informed that "TF 021" and "TF 016" are the same product, just differently labeled. So it means that this issue is also relevant for TF016 and not only Z-TRM3.

And TF 021 is the same as Z-TRM3?

I don´t think they are identical. Both are thermostats, but different versions/models. HeatIt sent me Installers Manual for my product and it is not labeled Z-TRM3 but Firmware 1.8. I'm quite confused myself, because it is not possible to find any products on their web site labeled with TF 021 nor TF 016. However, I think that mapping to TF 016 in zwavejs should work fine.

Oh wow, that is confusing. Just let us know if your device isn't detected correctly and/or has wrong config parameters, so we can update the files to match.

@robinsmidsrod I've had contact with the HeatIt support. They can't reproduce with the PC controller. Unfortunately I don't have the device. Maybe you could try to reproduce with that and generate a log?
Requesting the heating setpoint would be a start.

@AlCalzone Not sure I know which software you're referring to when you say PC controller. Can you provide a link?

@AlCalzone If you're referring to this one, https://aeotec.freshdesk.com/support/solutions/articles/6000226205-z-wave-command-class-configuration-tool-download- , should I download version 5 or is it enough with the older v4 at the bottom of the page?

@robinsmidsrod It is part of Simplicity Studio, which you'll find under https://www.silabs.com/developers/z-wave -> downloads.
I've also tried to contact you on the HA discord, are you still active there?

@AlCalzone Not so active on Discord, but I found your communication there. Will follow up there and report back here when something of significance shows up.

I can confirm that this issue has been resolved in zwavejs2mqtt:1.4.0 and ha 2021.3.0b1

@robertsLando The issue with the first temperature sensor always being using for the climate entity in HA, instead of the one specified in [10-112-0-2] Sensor mode, is that a Home Assistant issue, or is there something zwavejs or zwavejs2mqtt can do about that? (See the expected behavior paragraph in the bug description for details)

Hass issue if you are using zwavejs integration. BTW you could use MQTT to discover that climate and manually fix it

@robertsLando I'm using the zwavejs HA integration, so I'll create an issue on the HA side referencing this one. Thanks for the clarification.

Reopening so we have something to track the investigation.

@AlCalzone I saw this text in the 6.6.1 release notes: "Fixed the length validation in sequenced Security S0 Message Encapsulation commands" Should it have any impact on this issue?

No - that was purely about the payload length, not invalid nonces.

Hi,
Any news on this? I've tried to solve this matter with ThermoFloor for the 2020 version of the Heat-IT ZDim devices. Their flooding the network with Nonce's (I'll call them nonesenses :stuck_out_tongue_winking_eye:) and Meter CC reports. The Meter CC reports is sent often, even though there's no changes in the values - and particularly when they're turned off.  I also have one 2019 version that is silent as a grave whenever it's off or no changes in values.
Today they wrote me that they had in co-operation with the lead developer of Z-Wave JS @AlCalzone found out that it's not possible to reproduce the problem regards to the «nonesenses» and that both the devices and the driver works correctly. :thinking:

They were in fact not able to reproduce this issue with the PC controller - I've seen the logs. But one of their support staff agreed to send me a Z-TRM3 so I can investigate with zwave-js. Will let you know when I know more. Good to know that the ZDim could also be affected.

That's great that they will. I guess they use the same logic across their devices. Could it be an idea to actually ask Silabs how they deal with it in PC controller? If they actually invalidate nonces as the specs say they should.

I don´t think they are identical. Both are thermostats, but different versions/models. HeatIt sent me Installers Manual for my product and it is not labeled Z-TRM3 but Firmware 1.8. I'm quite confused myself, because it is not possible to find any products on their web site labeled with TF 021 nor TF 016. However, I think that mapping to TF 016 in zwavejs should work fine.

Hi, I have one unmounted Z-TRM3. It's written TF 058 on the back of it.

Could it be an idea to actually ask Silabs how they deal with it in PC controller?

My information is that the PC controller itself is a dev tool. It does some things that would not be okay in a certified controller. But I've seen the Zniffer traces - there were no duplicate nonces in the lab environment they tested.

In release 7.5.2 this is mentioned in the bugfixes section: A failed transmission of a NonceReport is no longer retried and no longer has an influence on the device status
Does this in any way have anything to do with this issue?

This fix is for the opposite direction. If the device requested a nonce from us and sending that failed, we won't try again.
Do I understand correctly that the original problem is still happening for you guys? If so, could you try re-interviewing and healing the network in the latest version? Now that the SUC return route is being assigned and the healing strategy was improved, maybe things got better.

@AlCalzone I do have to admit that the issue has been seen less lately. I've seen it 4 times in today's log, and only for a single device (not both of my Z-TRM3s). I also have to confirm that the original bug reported now matches the expected behavior (no issues), also because of additional fixes on the Home Assistant side of things.
Do you want to keep this open for further investigation, or should we close it? Have you heard anything more from Heatit/Thermofloor on this issue?

Have you heard anything more from Heatit/Thermofloor on this issue?

No, but I don't think it is terribly helpful to try and reproduce this on my own. The logs I've seen from Heatit seemed clean, which makes me think I won't be able to reproduce in a test network. If you got your hands on a Zniffer though, that could give us something to investigate further.


Fix update animation frame duration in every selected tile

The bug 1
When multiple tiles are selected in the TileSet editor, frame length changes are only applied to the first tile.

How to reproduce:

Create a tileset;
Add an atlas texture containing the animation of a group of tiles;
Remove all tiles from this animation in the tileset, except for the first group of tiles;
Select the first group of tiles;
Set the number of animation columns and separation. This will successfully applied to the entire group of tiles;
Add some frames in the list below. They will also be successfully added for each tile from the group.
Change the duration of one of the frames. This will only applied to the first tile in the group, although it must be applied to every tile in the group.

This leads to the fact that to set the frame duration, you have to select each tile separately and specify the duration of the frame.
The reason for this bug is a misplaced return statement that I moved in the right place in this commit.
The (not a bug but the problem) 2
If you select multiple tiles, only the properties of the first tile will be displayed. If you change any of the properties, it will not be applied for each tile if the new value is equal to what is already in the input field.
This leads to the fact that if there are tiles in a group with different values of this property, then in order to update it for all the tiles, you must first set some other value, and then return the previous one.
How to fix it in future:
Do not display any property value in the input field if multiple objects with different values for this property are selected. You can even display the placeholder in this field and highlight it in a different color to make it clear that there are different values for this property in the object group.

Please make sure to amend your commit message as well, it should be a sentence, just like this PR's title.

Aside from @YuriSizov 's comment, it looks good to me. Thanks for contributing!

Thank you, @YuriSizov and @groud, I just corrected the commit message)

For the record, your commit seems not to be linked to your GitHub account. See: Why are my commits linked to the wrong user? for more info.
This isn't critical and shouldn't prevent merging.

Thanks!


Check number of arguments in ttnctl

Resolves #447

Coverage remained the same at 73.7% when pulling 6df670c6b753bfed9591c2fd2ddb4aebe456cb4e on issue/447-ttnctl-arguments into 21c530dcd46c1464d38e474bd5640a4107d2c77d on develop.


make getrandom optional

I don't have getrandom, so I'd like to provide my own ephemeral key for the HandshakeState
I hide useage of getrandom (i.e. DH::genkey()) behind the "use_getrandom" feature.
Patters that require an ephemeral key then return Err() when E was not  provided in HandshakeState::new

I'm not sure whether this should be feature gated in noise-protocol. What if you just call panic! or unimplemented! in genkey? Or maybe you should use some fallback mechanism for getrandom?

Or maybe you should use some fallback mechanism for getrandom?

 This works for me.

I'm not sure whether this should be feature gated in noise-protocol. What if you just call panic! or unimplemented! in genkey?

It seems, I don't need this feature anymore. But if someone only has non-static RNGs it could still be useful. You're right it would probably be enough to just panic in genkey.

Closing in favor of #57.


Add raffle contract

This adds a basic raffle example with following features:

Implemented the token interface, so it should be able to transfer funds in a real environment.
It can work with any token that accomplishes the token interface.
The number of winners is customizable.
The cost per ticket is customizable.
Admin should introduce random seed when playing the raffle, that will be combined with ledger unix time.
It calculates the balances before transfering ticket amount.
Only admin can play the raffle, so triggering the funds spread among the winners.
Prevents playing a raffle with no participants.

@mariopil nomenclature problem was fixed at 511ee87f471bb92b296ad5d79c1c8e7de34d4fb2

Hello @geofmureithi . Some changes here:

Added the rust doc comments to this contract.
Added some extra security checkings (see commits from today).
Eliminated all "Lottery" nomenclature, as we were mixing raffle and lottery. The difference is in raffle there is always winner, which is our current case.
I also updated the Raffle contract, but not the docs, as that breaks JS.  In a future, i think we should look how to directly read contracts from repo in the wizard and solve everything in one shoot : )

Requesting final review !


how to treat uniform buffer?

I read code in Vulkan-Sample, There are seperated BufferPool in every frame. When update to uniform, The buffer pool object in current render frame will be obtain, then the data is uploaded. But I found in your example, there is only one uniform buffer. Should I concern about this problem?
I think directly modifying the buffer data will cause the previous data to be overwritten before being used by the GPU.

My samples do a wait idle after each frame. That's why they work fine with a single buffer.
It's not optimal, and you should use multiple buffer instead.
I'm working on changing that, but that'll take time.


Added testcase :Share and remove backup location

What this PR does / why we need it:
Which issue(s) this PR fixes (optional)
Closes #
https://portworx.atlassian.net/browse/PA-330
testcase : Share and remove backup location
Added method ShareBackupWithMultipleUsers
Special notes for your reviewer:
Aetos link: http://aetos.pwx.purestorage.com/resultSet/testSetID/81099

I think your test is not as per the steps in testrail. Testrail steps are as follows:
1. Take a set of backups and share it with multiple users.
2. Remove the backup location after sharing it with all users.
3. Add it back to the cluster and check from other users if they show up.
4. Reshare backups and see if they are successful or not.

But in your automated test steps 3 and 4 are missing. You are taking the backup again which is not needed. We have to delete the backup location and add it again. Then re-share it with all users and check the access levels.

Steps are discussed with @kshithijiyer-px and then automated. Will have to change/add  in the testrail also as per what is automated

@kshithijiyer-px Please check the steps and validation. Waiting for your approval.

The steps are correct we have just added one more step of taking a new backup instead of waiting for sync to happen. LGTM


Add local image support for authors, currently we are fetching author image from github

Create a folder in content/assets folder for author images, then need to mention the image name for the respective author in content/author.yaml
And that author image will be displayed at the blog listing/blog detail and author page.

Hello @puneetsingh24 . I would like to take this up

Assigned you @Ruchika30. Thanks for contributing!
LoginRadius is also giving swags to people who will be contributing, so please make sure to read our blog and submit your info to get free goodies.
https://www.loginradius.com/engineering/page/hacktoberfest2020

@puneetsingh24  How do I run those graphql queries

Hey @Ruchika30 ,
Once you setup the project in the local you can try the graphql queries in the localhost:8000/__graphql playground provided by gatsby.
Also, gatsby provides a playground where you can try those queries without setting up the project. Checkout here.
I hope it's clear now, feel free to ask any more questions if you have.

@mohammed786 When I try to raise PR of my branch(addImageFolder) against dev, it says there is nothing to compare. And hence I am unable to do raise the Pr. Kindly help

Hello @mohammed786 . Required changes done ..Kindly review
8c766cc4761914c05fdc8b419ab4ca464d861d5d

Hello @mohammed786 . Though I raised the PR I cannot see any update regarding it in my hacktoberfest profile. Is there something thats needs to be done from your side. Like adding hacktoberfest-accepted  label or something llike that.
Would u pls help


Jest + react-test-renderer snapshot testing fails with ButtonBase

Hi - I just upgraded to v4 and those test failures are really puzzling me.
It seems they all related with react-test-renderer, and most of them is caused by ButtonBase I believe. For some reason some tests are passing while similar tests are constantly failing.
It seems some tests are only failing only when disabled is set to true. However I have some other tests that does not involve using disabled which might be a different issue elsewhere.
I have the latest version of react, jest, and react-test-renderer. I'm not sure which package is actually causing the issue but since the error message comes from MUI I'm reporting it here.
Error message:
    Error: Uncaught [Error: Material-UI: expected an Element but found null. Please check your console for additional warnings and try fixing those. If the error persists please file an issue.]

The exact same code works perfectly fine in the browser without reporting any errors or warnings in the console.

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔
Tests should pass.
Current Behavior 😯
Tests fail but the component works perfectly fine without any warnings in the browser.
Steps to Reproduce 🕹
Link to test repo: https://github.com/pallymore/mui-v4-test
Codesandbox.io reports a different error - I think it's either their environment or I didn't set this up correctly, but the code (in the test file) is very similar to what I have in the repo above.
https://codesandbox.io/s/trusting-shaw-1h9mt
Steps:

write snapshot tests with MUI v4's ButtonBase component and set disabled to true.

it('renders ButtonBase without crashing', () => {
  const tree = renderer.create(<ButtonBase>ButtonBase</ButtonBase>).toJSON();
  expect(tree).toMatchSnapshot();
});

run tests, see error message:

    Error: Uncaught [Error: Material-UI: expected an Element but found null. Please check your console for additional warnings and try fixing those. If the error persists please file an issue.]

same component usage is perfectly fine in a browser.

Context 🔦
Trying to make my tests pass.
Your Environment 🌎

Tech
Version

Material-UI
v4.0.0

React
v16.8.6

react-test-renderer
v16.8.6

react-scripts
v3.0.1

Workaround explained in https://github.com/mui-org/material-ui/issues/15598#issuecomment-490963667. I'll leave this open because I might have an idea how to improve this situation.

@pallymore You can reproduce the same problem with:
import React from 'react';
import renderer from 'react-test-renderer';
import { ButtonBase } from '@material-ui/core';

it('1', () => {
  const tree = renderer.create(<ButtonBase>ButtonBase</ButtonBase>);
  expect(tree).toMatchSnapshot();
});

it('2', () => {
  const tree = renderer.create(<ButtonBase>ButtonBase</ButtonBase>);
  expect(tree).toMatchSnapshot();
});

I don't think that the disabled prop is involved in the problem.

Thanks @oliviertassinari - I see - indeed, I thought it was related to the props somehow, thanks!
Thanks for the work around (and the fix) @eps1lon - I was refactoring the tests to use enzyme's mount and enzyme-to-json. I'm glad this is resolved. 🎉


Update create_deployment notebook

/retest

@sebgoa, I have added RollingUpdate and RollBack to the deployment notebook, as seen in https://kubernetes.io/docs/concepts/workloads/controllers/deployment/. Please let me know what you think.

@djkonro there is no rolling update or rollback, I think you forgot to push the commit.

@sebgoa  Thanks for noticing the omission, sorry I did not realize the commit did not contain rolling update or rollback.

/lgtm
@mbohlool


Build(deps-dev): Bump @typescript-eslint/parser from 5.48.0 to 5.54.0 (#4698)

Pull request opened by the merge tool on behalf of #4698

Merged in 8952fd3681dbbc9ba462f07a2bf689d7879661ce


Fix the rm error message when a container is restarting/paused

- What I did
Running the rm command on a paused/restarting container
will give an error message saying the container is running
which is incorrect.
To fix that, the error message will have the correct
container state and a procedure to remove it accordingly.
related to #30842
- How I did it

Read the container state using container.StateString()
If the state is "paused" then set the procedure to be Unpause and stop the container before attempting removal. Otherwise, set it to Stop the container before attempting removal or use -f.

- How to verify it
Run the following tests:

TESTFLAGS='-check.f DockerSuite.TestRmRestarting*' hack/make.sh test-integration-cli
TESTFLAGS='-check.f DockerSuite.TestRmPause*' hack/make.sh test-integration-cli
TESTFLAGS='-check.f DockerSuite.TestRmContainerRun*' hack/make.sh test-integration-cli

Failed due to docker-py integration tests:
E   AssertionError: 'You cannot remove a running container' not found in
u'You cannot remove a restarting container
  6e77b983c2ccfb62756aa8621b574a48be3afbc673c41a784ff0f7c937729601.
  Stop the container before attempting removal or use -f\n'

/cc @thaJeztah @cpuguy83 @vieux

BTW, I just noticed to this "FIXME" message today in container/state.go:19

// FIXME: Why do we have both paused and running if a
// container cannot be paused and running at the same time?

In addition, in func (s *State) StateString() string it seems like even though the container's state is "paused" it doesn't mean it's not running.

w.r.t.
// FIXME: Why do we have both paused and running if a
// container cannot be paused and running at the same time?

IIRC, a "running" container can be "paused" (i.e., it's processes frozen), unpausing the container would then restore the previous state, so for that reason they are not mutually exclusive

Thanks you all,
I will update this patch in the following days.

Design looks good to me. ping @thaJeztah
Also, I dunno what's with docker-py

@LK4D4 I need to change one of its tests -- the assert looks for "running container" even though the container is restarting.
https://github.com/docker/docker/pull/30870#issuecomment-278642640

@ripcurld0 Can you submit a PR to docker/docker-py for that test change? Just make it so it checks for both the old and the new messaging. Once the change is merged in master you'll be able to update the git hash here

@shin- I am working on this now.
Thanks a lot for the help guys!

You can now bump the DOCKERPY_COMMIT env in Dockerfile and Dockerfile.aarch64 to 4a08d04aef0595322e1b5ac7c52f28a931da85a5 :)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix_msg_rm" git@github.com:ripcurld0/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842355075688
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

@shin- 🥇  thanks a lot!
@thaJeztah 🍺

@ripcurld0 can you update the commit message of that last commit, and change Update Dockerfile and Dockerfile.aarch64 to pass CI so something like bump docker-py to 4a08d04aef0595322e1b5ac7c52f28a931da85a5 ? We usually have something like "bump" in the title, so that makes it easier to understand what the commit does

I think I will have to update the Dockerfiles to pip install docker-pycreds. I will test this and update the last commit accordingly.
Thanks and sorry for this mess. 😜

@ripcurld0 where all other dependencies?

@LK4D4 all the other Python dependencies are installed in /usr/lib/pythonX.Y/dist-packages.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix_msg_rm" git@github.com:ripcurld0/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354416248
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

looks like this needs a rebase @ripcurld0 :cry:

@thaJeztah no worries I am a level 10 git-rebase wizard ✨ 🌟 ✨

"PowerPC" and "Z" CI is still being worked on, ignoring for now


How to use Meteor.loginWithGoogle.

I have used the Meteor.loginWithGoogle and it opens webView for login of google and it prompts allow or deny and in log it shows
'There was no JSON here'
So how to pass JSON and get the login done.
Please tell me the proper way to  use google authentication for IOS 8.0.
I have installed pod "SwiftDDP", "~> 0.2.0"
And it's working fine But it requires minimum version of 9.0.
For platform :ios, '8.0'
is their be any way to do the same.

You don't have to manually pass any JSON. Have you set up Google login on the server? When you set it up, did you select redirect?

I have create app on console.developer.google.com.
Given an app Authorised JavaScript origins
Also Authorised redirect URIs.
Now my app opens one page for login and prompts for allow or deny. If I pressed allow then also nothing is happening and in my Log file shows "There was no json here".
So please tell me how to deal with this problem.
Thank you.


Can't find TSP100iii BI in portDiscovery

Hi, I'm trying to connect to a TSP100iii BT by Bluetooth, but the plugin can't find it.  I know the printer is successfully paired and useable because the StarIO SDK app in the Google Play Store successfully finds and can print to it (on the same phone).
I've already added the android.permission.BLUETOOTH and android.permission.BLUETOOTH_ADMIN permissions in AndroidManifest.xml, is there something else I need to do?
The code I'm using to search for the printer is
window.plugins.starPrinter.portDiscovery('Bluetooth', function(error, result) {/* do something */});
My callback gets called with no error, but result is a 0-length array.

So the StarIO3.1.jar included in this repo is out of date.  Things work using the jar in this archive http://www.starmicronics.com/support/ZipFile.aspx?sat2=195&id=195&type=4&referrer=http://www.starmicronics.com/support/sdkdocumentation.aspx&tabText


New DS core component: Autocomplete

Description
Shortcut: https://app.shortcut.com/cartoteam/story/333187/core-autocomplete
[sc-333187]
Styles for the autocomplete component in carto-theme and documentation in storybook.

Type of change

Feature

Approach LGTM @vmilan  I played with Storybook and the only thing I found was this (Medium > Error, but I think it's a generic issue)

If the text is too long, it 'jumps' into a 2nd line, and it's not visually appealing to me. Is spec like that?

Approach LGTM @vmilan I played with Storybook and the only thing I found was this (Medium > Error, but I think it's a generic issue)

If the text is too long, it 'jumps' into a 2nd line, and it's not visually appealing to me. Is spec like that?

Good catch, there are no specs for this use case, I'll talk to Jose to find a solution. Thanks!

Fix LGTM, thx for the effort here Vero!


Remove IsConditionalFailed from NoSQL

What changed?

Remove IsConditionalFailed from NoSQL
Also add some minor improvement for shardStore to be consistent for the error message

Why?
As a follow-up of a comment in previous PR, we want to remove the IsConditionFailed error interface to be consistent with Golang standard

How did you test it?
existing test

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build fcb5660f-366f-49b5-9119-8f6f4737480b

27 of 100 (27.0%)  changed or added relevant lines in 9 files are covered.
34 unchanged lines in 11 files lost coverage.
Overall coverage increased (+0.02%) to 60.186%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

common/persistence/cassandra/cassandraQueue.go
0
2
0.0%

common/persistence/nosql/nosqlplugin/cassandra/domain.go
2
4
50.0%

common/persistence/nosql/nosqlplugin/cassandra/queue.go
0
2
0.0%

common/persistence/nosql/nosqlplugin/errors.go
0
12
0.0%

common/persistence/cassandra/cassandraShardPersistence.go
2
15
13.33%

common/persistence/cassandra/cassandraTaskPersistence.go
5
18
27.78%

common/persistence/nosql/nosqlplugin/cassandra/shard.go
4
17
23.53%

common/persistence/nosql/nosqlplugin/cassandra/tasks.go
10
26
38.46%

Files with Coverage Reduction
New Missed Lines
%

common/persistence/nosql/nosqlplugin/cassandra/shard.go
1
82.98%

client/history/client.go
2
44.35%

client/history/metricClient.go
2
49.43%

common/task/fifoTaskScheduler.go
2
87.63%

common/task/parallelTaskProcessor.go
2
92.48%

common/task/weightedRoundRobinTaskScheduler.go
2
89.12%

service/history/handler.go
2
46.67%

service/matching/matcher.go
2
91.46%

service/frontend/workflowHandler.go
4
58.48%

service/history/execution/context.go
6
68.39%

Totals

Change from base Build 60b59472-1dae-4c2b-bc35-275ee62aac27:
0.02%

Covered Lines:
89916

Relevant Lines:
149396

💛  - Coveralls


Execution on normal ".py" file type

Hi there,
Thank you for the amazing library! I am currently trying to test the library on the Jetson Xavier NX, but the script in the live_demo.ipynb script's following code seems to only be meant for jupyter ipynb, which I am trying to avoid using currently:
import ipywidgets
from IPython.display import display
image_w = ipywidgets.Image(format='jpeg')
display(image_w)
I have tried to use opencv as an alternative, with limited success (running and displaying but not drawing):
cap = cv2.VideoCapture(0)
while true:
    ret, frame = cap.read()
    execute({'new' : frame})
    cv2.imshow('Pose Estimation', frame)
    if cv2.waitKey(1) & 0xFF ==ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
I was wondering if anyone else has gotten this running with just a normal .py script. Any library recommendations or something i'm missing?

Hi! I'm wondering the exact same thing, although it seems like you've gotten way further than me, I've identified ipywidgets as the issue to resolve for using and displaying the live camera stream but don't know how to do it. Any help would be greatly appreciated!

Hello, I'm encountering the same problem, although I've made it to display opencv inside of jupyter using follwing steps:
replace
from jetcam.usb_camera import USBCamera
# from jetcam.csi_camera import CSICamera
from jetcam.utils import bgr8_to_jpeg

camera = USBCamera(caputre_device=1)
# camera = CSICamera(width=WIDTH, height=HEIGHT, capture_fps=30)

camera.running = True

with:
cap1 = cv2.VideoCapture(0)
replace execute method section with:
from jetcam.utils import bgr8_to_jpeg

def execute(image):
    data = preprocess(image)
    cmap, paf = model_trt(data)
    cmap, paf = cmap.detach().cpu(), paf.detach().cpu()
    counts, objects, peaks = parse_objects(cmap, paf)#, cmap_threshold=0.15, link_threshold=0.15)
    draw_objects(image, counts, objects, peaks)
    image_w.value = bgr8_to_jpeg(image[:, ::-1, :])

finally replace execute({'new': camera.value}) with:
while True:
     ret,frame = cap.read()
     execute(frame)

cap.release()
cv2.destroyAllWindows()

but I only get the cam image without any addition, when I print counts  inside of execute method I get:
tensor([0], dtype=torch.int32)
it's not finding anything? probably there's something wrong with the image from preprocess(image), meaning the image is not compatible with preprocess method.
but I'm not sure anyway

Hello, just resize the image to 224x224 before passing it to the execute method and it should work, by the way you can open live_demo in jupyter and save a copy as .py version then you can run it as normal python (python live_demo.py)
check how I fixed it( change format to ipynb before):
https://github.com/NVIDIA-AI-IOT/trt_pose/files/5289383/live_demo.txt

Hi there,
Thank you for the amazing library! I am currently trying to test the library on the Jetson Xavier NX, but the script in the live_demo.ipynb script's following code seems to only be meant for jupyter ipynb, which I am trying to avoid using currently:
import ipywidgets
from IPython.display import display
image_w = ipywidgets.Image(format='jpeg')
display(image_w)
I have tried to use opencv as an alternative, with limited success (running and displaying but not drawing):
cap = cv2.VideoCapture(0)
while true:
 ret, frame = cap.read()
 execute({'new' : frame})
 cv2.imshow('Pose Estimation', frame)
 if cv2.waitKey(1) & 0xFF ==ord('q'):
 break
cap.release()
cv2.destroyAllWindows()
I was wondering if anyone else has gotten this running with just a normal .py script. Any library recommendations or something i'm missing?

Have you been able to fix it? Hasankanso's solution doesn't seem to work for jetson devices.

Just put a cv2.imshow("Skeleton",image) at the end of the execute function created by Hasankanso. In my case it worked on Jetson NX.

This may help.


FR: Make merge = true the default on setData()

setData is so destructive, one would think that merge = true should be the default. It's horrifying to see your entire document wiped out because you forget to set merge = true or worse, you didn't even know that parameter exists. I was lucky enough to be monitoring my firebase database while the operation ran so I could see my data get destroyed. Others probably won't find out until they are in production mistakenly deleting their user's data.
Expected results
 try await db.collection(CollectionKey.users.rawValue)
                .document(currentUser.id)
                .setData(["favouriteBook": "Harry Potter" ,
                          "createdAt": FieldValue.serverTimestamp()], merge: true)

 // Make merge = true the default or don't set a default value so that developer knows to manually enter this.

Feature proposal
Even better, make the parameter more explicit with an enum so developer knows the consequences (Do not set a default value but if you must, make it merge) e.g:
enum SetDataPolicy {
  case merge // Adds it to the existing document
  case overwrite // Completely destroys existing document and replaces with new data.
}

 try await db.collection(CollectionKey.users.rawValue)
                .document(currentUser.id)
                .setData(["favouriteBook": "Harry Potter" ,
                          "createdAt": FieldValue.serverTimestamp()], policy: .merge)

I will bring this up for discussion internally. I am curious what other people think is the least surprising behaviour.
However, this is a breaking change for people who currently depend on this behaviour. So I think implementation is unlikely.


Feature/83 action binding

Description
Introduce the UserAction integration.
Introduce a new ActionBinding struct. It represents a link between an action id and a physical input (mouse, keyboard, gamepad...)
Close #83
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Since this issue doesn't require action detection or distribution, only tests about the binding types have been written.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Codecov Report

Merging #88 (dd5058e) into main (a695e41) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #88   +/-   ##
=======================================
  Coverage   80.43%   80.43%
=======================================
  Files          41       41
  Lines         736      736
  Branches      225      225
=======================================
  Hits          592      592
  Misses         21       21
  Partials      123      123

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


fix sdk compatibility issues

tested on Ubuntu 20.04 , with CUDA 11.1 and SDK 3.4.2
master is otherwise not working with SDK <= 3.5

@PhilippPolterauer thank you for the PR. Well done. I'm going to merge it after a few verifications in the next few hours.
Maybe that other checks are required for older versions of the SDK

is there something missing, that keeps this changes from being merged? @Myzhar


Set SHM size for selenium container

close #1670 by setting the shared memory to 2Go.

@rnorth I left a couple of comments about the tests, good to go once fixed :)


HDDS-7207. Fixed typo "layload" in om-echo command description as payload

What changes were proposed in this pull request?
Fixed typo "layload" in om-echo command description as payload
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7207
How was this patch tested?

Thanks @selectbook for the fix, @aswinshakil, @errose28 for the review.


LESSPlugin doesn't find relative imports from .less files

node fuse.js reports that it is unable to find files that are imported from less files.
I've created a repro here: nspaeth/fuse-box-less

I also found this bug when I bundle my react-app with antd .
antd uses less-importer to import its styles.
So @import './index.less' caught errors.

@nchanged did we fix the paths for this ?

Will check it soon

Thanks to @CantGetRight82<EMAIL_ADDRESS>

we will close this, for now, feel free to open it otherwise


Spelling mistake

"At the same time, we've kept the Standard User Analyzer tool, which helps you test your apps and to monitor API calls for potential compatibility issues, and the Compatiblility Administrator, which helps you to resolve potential compatibility issues."
Compatiblility -> Compatibility

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

ID: bd3bbc4c-2f86-d5a9-336c-93695ace49f2
Version Independent ID: a7c51e81-2cb2-5ad0-a9b5-7fb89921a0be
Content: Application Compatibility Toolkit (ACT) Technical Reference (Windows 10)
Content Source: windows/deployment/planning/act-technical-reference.md
Product: w10
GitHub Login: @eross-msft
Microsoft Alias: greglin

@officedocsbot assign @mypil

@AnthonyBe - From our understanding the issue has been resolved. If you feel it hasn't been resolved please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Insert() always returns 1

Hi,
I really think this is a bug: Whenever I am adding a new object to my DB the insert method returns 1 while the ID member of the object is properly updated. For example:
int iDBId = App.DB.Insert(i);
returns 1 while - in this case -
i.DBId; // my PK member
returns 76 (which is the correct value).
Any ideas? Am I doing something wrong here? Thanks in advance, cheers, Fred.

I updated the docs so hopefully this won't trick anyone else.


Feature add linux gstreamer support

If you like, you can pull my attempt of adding mp3, m4a, alac and wma support on linux platform by using gstreamer framework. I didn't manage to have all tests green, though. For example, the 'interlaced_by_67_frames'-tests are off by 1 sample, which I - so far - couldn't find a reason for.
Most likely other people won't notice my fork. I hope, if you pull it into the base fork, we have a higher chance that anyone can help fixing.

Is this still being worked on? I would be quite interested in using the library with these features for xtensor-io...

We'd need to resolve the following issues before we can merge:

Rerun the travis build to verify the build is passing
Fix the failing tests that Henry mentioned earlier. These failing tests mean that sample accurate seeking is not working as expected. We should investigate whether this is a bug ni-media or gstreamer and fix it.

Henry was kindly asking for people who can help out with fixing 2). I already had a look into it a few weeks ago but got caught up with other work unfortunately. @wolfv maybe you would like to have a look?

I ran the tests locally on Fedora 27 and I got the following output:
Running tests...
Test project /home/wolfv/Programs/ni-media/build
    Start 1: pcm_test_run
1/2 Test #1: pcm_test_run .....................   Passed  910.07 sec
    Start 2: audiostream_test_run
2/2 Test #2: audiostream_test_run .............***Exception: Child aborted  0.40 sec

50% tests passed, 1 tests failed out of 2

Total Test time (real) = 910.48 sec

The following tests FAILED:
	  2 - audiostream_test_run (Child aborted)
Errors while running CTest
make: *** [Makefile:84: test] Error 8

So I guess the test is really failing. Can you give me some more insights where to look? I really don't know much about any of the components, so I am not sure I can do it...

ok, the failing test was related to not having checked out the Git LFS files.

Yes, the git lfs files need to be pulled manually before running the test. We ran into github lfs bandwidth limitations so we disabled the automatic lfs pull.

Btw, the tests are currently disabled on travis and appveyor because of the mentioned lfs bandwidth limitation we ran into. We have more bandwidth now so i am currently trying to reenable the tests on the ci but am currently facing some other compile errors with newer boost version. I hope i can make a PR soon to reenable the tests.

ok, got it now (also copied reference_files to fuzz_files as there was no fuzz_files folder).
I am seeing some issues with ifstream_test read_beginning_of_stream_twice etc.
maybe i can look into it, but it would definitly be faster if someone with more experience does it :)

ah the fuzz files are missing. that probably happened during one of my upstream merges and went unnoticed because the tests are disabled. i will upload them. thanks for the feedback

Good to know.
Well I tried to debug a bit further, and I get "gstreamer_file_source: pipeline doesn't preroll into paused state" for m4a files, and "gstreamer_file_source: could not query duration from gstreamer" for MP3 files (WAV works fine, but doesn't seem to use gstreamer).
I am not sure if I am not linking correctly against gstreamer -- on the command line the following:
gst-launch filesrc location=.../sin440.1.44100.44100.cbr192.mp3 ! mad ! audioconvert ! audioresample ! alsasink

appears to work fine though.

I updated the master branch to include the missing fuzz files and reenabled the tests on the ci. I didn't have time so far to look any further into the failing tests. I hope i can find a few hours next week.

That would be very cool. We'd be more than happy to package ni-media for
anaconda when this feature is in!
Le 18 mars 2018 09:49, "Marc Boucek"<EMAIL_ADDRESS>a écrit :

I updated the master branch to include the missing fuzz files and
reenabled the tests on the ci. I didn't have time so far to look any
further into the failing tests. I hope i can find a few hours next week.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NativeInstruments/ni-media/pull/11#issuecomment-373982046,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2BPtwqedLy-HE5hajOGS5yFC-Zo9nfks5tfh-GgaJpZM4RUlgW
.

I fixed the "gstreamer_file_source: could not query duration from gstreamer" exception, and now most tests pass. I will try to fix the remaining tests later today. I pushed to my fork https://github.com/marcrambo/ni-media/tree/feature-add-linux-gstreamer-support in case someone wants to have a look.

cool!

So i digged deeper into the failing tests and i see two remaining issues:

There seems to be a race condition in wait_for_async_operation() which is called in preroll_pipeline(). I randomly get a"gstreamer_file_source: pipeline doesn't preroll into paused state" exception on stream construction. This is independent of whether the source is mp3 or mp4.

Some read_interlaced tests fail as the gstream seek opration seems to sometimes be 1 frame off. This happens for both mp3s and mp4s ( alac as well as aac encoded ). This points to a bug in gstreamer and not in the decoder itself as otherwise the behaviour would differ for mp3s and mp4s.

I believe 1) should be fairly easy to fix and is mandatory before merging this PR.
I guess 2) might take quite a while to fix. I am not even sure if we can find a workaround on the client side or if this has to be fixed upstream in gstreamer.  We had similar seeking issues using media_foundation on windows and it was quite painful to find a workaround.  I guess people interested in having mp3 / mp4 support in ni-media on linux might not care so much about the potential 1 frame offset on seek so it would be an option to merge this PR nonetheless. We can disable the failing tests and mark the gstreamer support as experimental documenting the 1 frame offset bug.

Yesterday, I told gstreamer core developer "slomo" about the 'one sample off'-problem and he told me, he will have a look.
Beside from this, he told me that running the GMainLoop manually for pre-rolling the pipeline is not necessary, so I will remove g_main_loop_iterate if I find the time. Same for bus messages - there are other ways to receive messages from the bus - no need to drive a GMainLoop.
Also, I found a bug: the mime type of the stream is not detected properly and nailed to 'mp3' instead.

@hhoegelo Can you explain the easiest way to reproduce the 1-sample-off problem and what information you gathered so far?
If I understand correctly, this happens on specific files (WMA? Or everything? All WMA files or a specific one?) and if you decode from the beginning vs. you seek to a position, you would end up one sample off? Is it always absolutely one sample, or would it sometimes be more or less, or would every seek make it one more sample off?
Re main loop: this is not required, correct. You have multiple options, but first of all: why do you care? You want to block until error or reading samples is possible? And then blocking-read the samples?

Blocking retrieval of messages from the GStreamer bus to know when pre-rolling has happened. This does not help you much here because you also block on reading samples and you want to continue getting bus message to know when an error happened
Integration of the GStreamer bus into whatever event loop you're using here. Details depend on how that event loop work
Synchronously getting messages from the bus and handling them from there. You could use that to get notified about errors once pre-rolling has happened in 1) for example. Note that you must call things like setting pipeline states from a different thread then the sync message handler.

From what I saw in the code so far I would suggest a combination of 1) and 3). You block until error or the sink is ready (you received the ASYNC_DONE message on the bus), by calling gst_bus_timed_pop_filtered(bus, whatever_timeout_you_want_in_ns, GST_MESSAGE_ERROR | GST_MESSAGE_EOS | GST_MESSAGE_ASYNC_DONE). In addition you add a sync bus handler (gst_bus_set_sync_handler) that ignores all messages until ASYNC_DONE is received. Once ASYNC_DONE is returned from gst_bus_timed_pop_filtered you are pre-rolled and can start. If instead ERROR or EOS is received you know that nothing will ever work here. You then start pulling from the appsink, but if the sync bus handler notifies you about ERROR, you asynchronously report that somehow and shut down the pipeline (gst_element_call_async might be useful for the latter).

Sorry if some comments appeared twice, GitHub had some kind of hickup while I was doing the review and returned a few server errors

thanks for the thorough look @sdroege really appreciate seeing this level of collab

@hhoegelo can you please pull in my branch https://github.com/marcrambo/ni-media/tree/feature-add-linux-gstreamer-support? I reenabled the tests and commited a fix for all the tests failing due to an exception thrown while retrieving the track length. Also I improved the logging so we have a better overview of which tests are still failing.

@sdroege  Thanks a lot for your help which is really greatly appreciated! I was wondering if it was possible to run gstreamer in "synchronous" mode i.e. without having to do "preroll pipeline" and so on. Calls to gestream_source::read don't need to be realtime capable i.e. non blocking. Actually all the other backend sources are synchronous (except itunes_source which also does some sort of asynchronous prerolling / caching as in gstreamer )


Using GitInfo in a WPF app causes build failure

Installing GitInfo in a WPF app causes the build to fail, with the error message that ThisAssembly.GitInfo.g.cs was specified more than once in the Sources parameter to the Csc task.
Running using the MSBuild Structured Log Viewer confirms that the value is indeed in there twice! What appears to be happening is that the project generated by MSBuild for compilation of the solution already has the file (because it's been added to the outer compilation), but then the target is re-run and the file is added again to the inner compilation.
You can see this in the attached build log (using Structured Log Viewer's binary format)--I'm using version 1.1.66, installed from NuGet about...30 minutes ago. The project is open source--the branch to look at is https://github.com/bojanrajkovic/Reedy/tree/gitinfo.
 Any ideas on how to avoid it though? I could only come up with de-duplication before compile, or detecting that @(Compile) contains the .g.cs file. Neither of which is quite satisfactory :(.
Maybe I could remove before adding to Compile?

Remove before adding to Compile seems like a reasonable approach--it's not perfect, but it's more straightforward than either of the other approaches IMO.

Should be fixed in 1.1.67


Build task running VS2017RC does not find UnitTestFramework

local agent - VS2017RC installed - Build task does not find UnitTestFramework and therefore all *.test.dlls are not built. building the solution within VS2017RC on same machine succeeds.

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64\Microsoft.Common.CurrentVersion.targets(1909,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.QualityTools.UnitTestFramework". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

2016-12-21T23:57:38.7723245Z CoreCompile:
2016-12-21T23:57:38.7723245Z   C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64\vbc.exe /noconfig /imports:System,System.Collections,System.Collections.Generic,System.Diagnostics,System.Linq,System.Xml.Linq,Microsoft.VisualBasic,Microsoft.VisualStudio.TestTools.UnitTesting /optioncompare:Binary /optionexplicit+ /optionstrict+ /optioninfer+ /nostdlib /platform:AnyCPU /rootnamespace:AIX_io_lunpath_details.Console.Tests /sdkpath:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2" /highentropyva+ /doc:obj\Debug\AIX_io_lunpath_details.Console.Tests.xml /define:"CONFIG="Debug",DEBUG=-1,TRACE=-1,_MyType="Windows",PLATFORM="AnyCPU"" /reference:C:\TfsBuildAgents_work\1\s\bin\Debug\AIX_io_lunpath_details.Console.exe,C:\TfsBuildAgents_work\1\s\bin\Debug\AIX_io_lunpath_details.Service.dll,C:\TfsBuildAgents_work\1\s\packages\CommandLineParser.2.1.1-beta\lib\net45\CommandLine.dll,C:\TfsBuildAgents_work\1\s\packages\NLog.4.3.11\lib\net45\NLog.dll,"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Core.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Xml.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /out:obj\Debug\AIX_io_lunpath_details.Console.Tests.dll /ruleset:..\TOP10+MS_Managed_Minimum.ruleset /subsystemversion:6.00 /target:library /utf8output CmdLineOptionsParserTests.vb "My Project\AssemblyInfo.vb" "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp.NETFramework,Version=v4.5.2.AssemblyAttributes.vb" /warnaserror+:41999,42016,42017,42018,42019,42020,42021,42022,42032,42036
2016-12-21T23:57:38.7723245Z   Using shared compilation with compiler from directory: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
2016-12-21T23:57:38.8504505Z ##[warning]vbc(0,0): Warning BC40057: Namespace or type specified in the project-level Imports 'Microsoft.VisualStudio.TestTools.UnitTesting' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.
2016-12-21T23:57:38.8504505Z ##[debug]Processed: ##vso[task.logissue type=Warning;sourcepath=vbc;linenumber=0;columnnumber=0;code=BC40057;]Namespace or type specified in the project-level Imports 'Microsoft.VisualStudio.TestTools.UnitTesting' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.
2016-12-21T23:57:38.8504505Z vbc : warning BC40057: Namespace or type specified in the project-level Imports 'Microsoft.VisualStudio.TestTools.UnitTesting' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. [C:\TfsBuildAgents_work\1\s\AIX_io_lunpath_details.Console.Tests\AIX_io_lunpath_details.Console.Tests.vbproj]

Which task are you using: MSBuild/VSBuild ?
What option are you selecting for VS version /MSBuild version in the drop down?

@kaadhina Visual Studio Build

@Pitterling : Can we use msbuild x86 instead? That is what Visual Studio uses to build the project in Dev15.
MSbuild x64 does not seem to be resolving assemblies from Public Assemblies. This is however working in Dev14 and the x86 msbuild from Dev15 where the UnitTest Framework dll is being picked up from PublicAssemblies. @Microsoft/msbuild-maintainers, any idea why this resolution is not happening with msbuild x64?

Filed https://github.com/Microsoft/msbuild/issues/1549 to investigate why there's an x64/x86 difference.
@Pitterling I also recommend using the default x86 MSBuild as a workaround.

@AbhitejJohn @rainersigwald Thanks for the update. I changed to x86 but also updated the VS2015RC version. Now VS15 is not found any longer :( ... therefore I cannot confirm if this changes the issue.

@Pitterling are you on VSTS (the service) or an on-premises install of TFS?

@ericsciple TF2017 - agent/vs2017rc running on same node - recently updated VS2017RC to 15.0.26020.0. With former VS15 version agent detected my VS2017RC installation.

can you add the variable system.debug to your definition and set the value to true, run a build, and download the build logs zip and send to ersciple? (at microsoft com)

i can't repro the issue with build 26020. are you sure the installation succeeded? can you open visual studio on the box?

@ericsciple yes, installation succeeded, i can open vs on the box.
Agent.Version = 2.111.1 - Capabilities tab does not list "VisualStudio_15.0"

ok, the task finding VS and the agent finding VS are two different things. the agent scans on startup. so you may just need to restart the agent.

@ericsciple I restarted several times, I also reverted back the agent to 2.109.2 ... VS15 is not found.

When you launch the visual studio installer, does it know where your instance of VS 2017 is located? When you click modify on the instance, is the "Location" text box filled in corrected (bottom of workloads window)

The only other thing I can think of, if the agent is running as a service account, does the service account have access to the VS installation directory? For example, if you run the agent as Network Service, then it wouldn't be able to read files under your user profile directory.

@ericsciple yep, Installer knows the correct location and i tried both user/service - no luck.
Is there any way to trace the "scanning capabilities" phase during agent startup?

Let me pull together a small script to help diagnose. We may need someone from VS to help investigate.

Ok here's as small as I could reduce it. Log on the box with VS 2017 installed, add the below code into a script Test-VS2017.ps1, and then CD to that directory and run .\Test-VS2017.ps1
It sounds like it will output 0 instances for you. VS 2017 doesn't have registry values to locate where it's installed, so we query the COM API instead. You could also try running it elevated and see if that makes a difference.
param([switch]$Nested)

if (!$Nested)
{
    & powershell.exe $PSCommandPath -Nested
    return
}

Import-Module -Name 'Microsoft.PowerShell.Management'
Import-Module -Name 'Microsoft.PowerShell.Utility'
$ErrorActionPreference = 'Stop'

if (!(Test-Path -LiteralPath 'REGISTRY::HKEY_CLASSES_ROOT\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}')) {
    Write-Host "Not found: HKCR\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}"
    return
}

Write-Host "Found: HKCR\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}"
Write-Host "Adding Visual Studio setup helpers."
Add-Type -Debug:$false -TypeDefinition @'
namespace CapabilityHelpers.VisualStudio.Setup
{
    using System;
    using System.Collections.Generic;
    using CapabilityHelpers.VisualStudio.Setup.Com;

    public sealed class Instance
    {
        public string Description { get; set; }

        public string DisplayName { get; set; }

        public string Id { get; set; }

        public System.Runtime.InteropServices.ComTypes.FILETIME InstallDate { get; set; }

        public string Name { get; set; }

        public string Path { get; set; }

        public Version Version
        {
            get
            {
                try
                {
                    return new Version(VersionString);
                }
                catch (Exception)
                {
                    return new Version(0, 0);
                }
            }
        }

        public string VersionString { get; set; }

        public static List<Instance> GetInstances()
        {
            List<Instance> list = new List<Instance>();
            ISetupConfiguration config = new SetupConfiguration() as ISetupConfiguration;
            IEnumSetupInstances enumInstances = config.EnumInstances();
            ISetupInstance[] instances = new ISetupInstance[1];
            int fetched = 0;
            enumInstances.Next(1, instances, out fetched);
            while (fetched > 0)
            {
                ISetupInstance instance = instances[0];
                list.Add(new Instance()
                {
                    Description = instance.GetDescription(),
                    DisplayName = instance.GetDisplayName(),
                    Id = instance.GetInstanceId(),
                    InstallDate = instance.GetInstallDate(),
                    Name = instance.GetInstallationName(),
                    Path = instance.GetInstallationPath(),
                    VersionString = instance.GetInstallationVersion(),
                });
                enumInstances.Next(1, instances, out fetched);
            }

            return list;
        }
    }
}

namespace CapabilityHelpers.VisualStudio.Setup.Com
{
    using System;
    using System.Runtime.InteropServices;

    [ComImport]
    [Guid("6380BCFF-41D3-4B2E-8B2E-BF8A6810C848")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IEnumSetupInstances
    {
        void Next(
            [In, MarshalAs(UnmanagedType.U4)] int celt,
            [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Interface)] ISetupInstance[] rgelt,
            [Out, MarshalAs(UnmanagedType.U4)] out int pceltFetched);

        void Skip([In, MarshalAs(UnmanagedType.U4)] int celt);

        void Reset();

        [return: MarshalAs(UnmanagedType.Interface)]
        IEnumSetupInstances Clone();
    }

    [ComImport]
    [Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupConfiguration
    {
        [return: MarshalAs(UnmanagedType.Interface)]
        IEnumSetupInstances EnumInstances();
    }

    [ComImport]
    [Guid("B41463C3-8866-43B5-BC33-2B0676F7F42E")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupInstance
    {
        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstanceId();

        [return: MarshalAs(UnmanagedType.Struct)]
        System.Runtime.InteropServices.ComTypes.FILETIME GetInstallDate();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationName();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationPath();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationVersion();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetDisplayName([In, MarshalAs(UnmanagedType.U4)] int lcid = default(int));

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetDescription([In, MarshalAs(UnmanagedType.U4)] int lcid = default(int));
    }

    [ComImport]
    [Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
    [CoClass(typeof(SetupConfigurationClass))]
    [TypeLibImportClass(typeof(SetupConfigurationClass))]
    public interface SetupConfiguration : ISetupConfiguration
    {
    }

    [ComImport]
    [Guid("177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D")]
    [ClassInterface(ClassInterfaceType.None)]
    public class SetupConfigurationClass
    {
    }
}
'@
Write-Host "Getting Visual Studio setup instances."
$instances = @( [CapabilityHelpers.VisualStudio.Setup.Instance]::GetInstances() )
Write-Host "Found $($instances.Count) instances."
Write-Host ($instances | Format-List * | Out-String)

here is the output

PS C:\Users\Administrator\Downloads> C:\Users\Administrator\Downloads\Test-VS2017.ps1
Found: HKCR\CLSID{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}
Adding Visual Studio setup helpers.
Getting Visual Studio setup instances.
Found 0 instances.

Thanks... I'll try and track down someone from VS who can help troubleshoot why the COM API isn't returning any instances, yet the VS installer is able to resolve the location.

Depending on the state of the instance, ISetupConfiguration::EnumInstances may not enumerate them (I only enumerate valid instances). You can use ISetupConfiguration2::EnumInstances instead to enumerate them all. Starting with RC.3 ISetupConfiguration::GetInstanceForPath will also return an instance for an installation directory (or subdirectory) even if the state is incomplete.

@Pitterling have you tried rebooting the machine?

@Pitterling also can you try this script, it will list more info about the state of the install
param([switch]$Nested)

if (!$Nested)
{
    & powershell.exe $PSCommandPath -Nested
    return
}

Import-Module -Name 'Microsoft.PowerShell.Management'
Import-Module -Name 'Microsoft.PowerShell.Utility'
$ErrorActionPreference = 'Stop'

if (!(Test-Path -LiteralPath 'REGISTRY::HKEY_CLASSES_ROOT\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}')) {
    Write-Host "Not found: HKCR\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}"
    return
}

Write-Host "Found: HKCR\CLSID\{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}"
Write-Host "Adding Visual Studio setup helpers."
Add-Type -Debug:$false -TypeDefinition @'
namespace CapabilityHelpers.VisualStudio.Setup
{
    using System;
    using System.Collections.Generic;
    using CapabilityHelpers.VisualStudio.Setup.Com;

    public sealed class Instance
    {
        public string Description { get; set; }

        public string DisplayName { get; set; }

        public string Id { get; set; }

        public System.Runtime.InteropServices.ComTypes.FILETIME InstallDate { get; set; }

        public string Name { get; set; }

        public string Path { get; set; }

        public InstanceState State { get; set; }

        public Version Version
        {
            get
            {
                try
                {
                    return new Version(VersionString);
                }
                catch (Exception)
                {
                    return new Version(0, 0);
                }
            }
        }

        public string VersionString { get; set; }

        public static List<Instance> GetInstances()
        {
            List<Instance> list = new List<Instance>();
            ISetupConfiguration2 config = new SetupConfiguration() as ISetupConfiguration2;
            IEnumSetupInstances enumInstances = config.EnumAllInstances();
            ISetupInstance[] instances = new ISetupInstance[1];
            int fetched = 0;
            enumInstances.Next(1, instances, out fetched);
            while (fetched > 0)
            {
                ISetupInstance2 instance = instances[0] as ISetupInstance2;
                list.Add(new Instance()
                {
                    Description = instance.GetDescription(),
                    DisplayName = instance.GetDisplayName(),
                    Id = instance.GetInstanceId(),
                    InstallDate = instance.GetInstallDate(),
                    Name = instance.GetInstallationName(),
                    Path = instance.GetInstallationPath(),
                    State = instance.GetState(),
                    VersionString = instance.GetInstallationVersion(),
                });
                enumInstances.Next(1, instances, out fetched);
            }

            return list;
        }
    }
}

namespace CapabilityHelpers.VisualStudio.Setup.Com
{
    using System;
    using System.Runtime.InteropServices;

    [ComImport]
    [Guid("6380BCFF-41D3-4B2E-8B2E-BF8A6810C848")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IEnumSetupInstances
    {
        void Next(
            [In, MarshalAs(UnmanagedType.U4)] int celt,
            [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Interface)] ISetupInstance[] rgelt,
            [Out, MarshalAs(UnmanagedType.U4)] out int pceltFetched);

        void Skip([In, MarshalAs(UnmanagedType.U4)] int celt);

        void Reset();

        [return: MarshalAs(UnmanagedType.Interface)]
        IEnumSetupInstances Clone();
    }

    [ComImport]
    [Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupConfiguration
    {
        [return: MarshalAs(UnmanagedType.Interface)]
        IEnumSetupInstances EnumInstances();
    }

    [ComImport]
    [Guid("B41463C3-8866-43B5-BC33-2B0676F7F42E")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupInstance
    {
        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstanceId();

        [return: MarshalAs(UnmanagedType.Struct)]
        System.Runtime.InteropServices.ComTypes.FILETIME GetInstallDate();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationName();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationPath();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetInstallationVersion();

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetDisplayName([In, MarshalAs(UnmanagedType.U4)] int lcid = default(int));

        [return: MarshalAs(UnmanagedType.BStr)]
        string GetDescription([In, MarshalAs(UnmanagedType.U4)] int lcid = default(int));
    }

    [ComImport]
    [Guid("42843719-DB4C-46C2-8E7C-64F1816EFD5B")]
    [CoClass(typeof(SetupConfigurationClass))]
    [TypeLibImportClass(typeof(SetupConfigurationClass))]
    public interface SetupConfiguration : ISetupConfiguration, ISetupConfiguration2
    {
    }

    [ComImport]
    [Guid("177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D")]
    [ClassInterface(ClassInterfaceType.None)]
    public class SetupConfigurationClass
    {
    }

    [Flags]
    public enum InstanceState : uint
    {
        None = 0u,
        Local = 1u,
        Registered = 2u,
        NoRebootRequired = 4u,
        Complete =<PHONE_NUMBER>u
    }

    [ComImport]
    [Guid("89143C9A-05AF-49B0-B717-72E218A2185C")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupInstance2 : ISetupInstance
    {
        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetInstanceId();

        [return: MarshalAs(UnmanagedType.Struct)]
        new System.Runtime.InteropServices.ComTypes.FILETIME GetInstallDate();

        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetInstallationName();

        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetInstallationPath();

        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetInstallationVersion();

        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetDisplayName([MarshalAs(UnmanagedType.U4)] [In] int lcid = 0);

        [return: MarshalAs(UnmanagedType.BStr)]
        new string GetDescription([MarshalAs(UnmanagedType.U4)] [In] int lcid = 0);

        [return: MarshalAs(UnmanagedType.BStr)]
        string ResolvePath([MarshalAs(UnmanagedType.LPWStr)] [In] string pwszRelativePath = null);

        [return: MarshalAs(UnmanagedType.U4)]
        InstanceState GetState();
    }

    [ComImport]
    [Guid("26AAB78C-4A60-49D6-AF3B-3C35BC93365D")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ISetupConfiguration2
    {
        [return: MarshalAs(UnmanagedType.Interface)]
        IEnumSetupInstances EnumAllInstances();
    }
}
'@
Write-Host "Getting Visual Studio setup instances."
$instances = @( [CapabilityHelpers.VisualStudio.Setup.Instance]::GetInstances() )
Write-Host "Found $($instances.Count) instances."
Write-Host ($instances | Format-List * | Out-String)

@ericsciple i don't see any difference in the output of both scripts. I also rebooted the system.

PS C:\Users\Administrator\Downloads> C:\Users\Administrator\Downloads\Test-VS2017-2.ps1
Found: HKCR\CLSID{177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D}
Adding Visual Studio setup helpers.
Getting Visual Studio setup instances.
Found 0 instances.

@heaths ISetupConfiguration2.EnumAllInstances is also returning zero instances. Thoughts?

Please run http://aka.ms/vscollect.exe and share %TEMP%\vslogs.zip after it completes.

@heaths file is about 20MB .. any preferred place to upload?

OneDrive, Dropbox, wherever. Just make sure I can access it. I can let you know once I've downloaded if you want to delete it afterward.

@heaths vslogs contains 2 files

TF-agent - the one of interest
laptop --> my laptop, powershell script does not detect VS15 either

Thanks. I've got them and am taking a look now.

I don't see anything wrong other than some errors, which newer versions of the API (like that shipped with RC2) should still enumerate as some errors still allow the product to be launchable. Depending on which version of the DLLs the original code (from your OP) called, this could be the problem. But trying the script with your state yielded the same results you got (even though my official powershell cmdlets I hope to release soon work), which points to the problem that the script @ericsciple posted is not correct. The methods have to be in the correct VTBL order and are not. In fact, ISetupConfiguration2 doesn't contain (and can't simply do it through interface inheritance) ISetupConfiguration's methods, which it must or the script is basically calling the wrong method.
In the "laptop" files, some packages related to Azure failed and related packages were skipped. In the "TestAgent" files, web tools failed and related packages were skipped. Newer versions of the API should work correctly.
RC3 is coming out soon if you can wait; otherwise, you can open the Visual Studio Installer and try to repair the issues which should get the original code working.
As for the test script, if you can wait I should be releasing our official supported cmdlets soon; otherwise, I can fix the script in this post but it will only enumerate instances. It won't fix the problem.

Thanks @heaths! To add more context, the task in VSTS uses ISetupConfiguration to locate msbuild and detect the version of VS on the box. Right now we are close to shipping TFS 2015 Update 1. I think if we switch over to ISetupConfiguration2, we still need to fallback to ISetupConfiguration for older VS installs (otherwise break existing consumers).
Aside from a longer-term solution for the task, troubleshooting is my more immediate concern. Thank you for the pointers. I think I understand the required change for the above troubleshooting script now.
@Pitterling if repair doesn't work. I can produce a private copy of the task. Otherwise, switching to the MSBuild task and specifying the location of msbuild.exe will unblock. The main difference between the two tasks at this point is that VSBuild passes the /p:VisualStudioVersion=15.0 (or whichever version)

@ericsciple you should be using the Microsoft.VisualStudio.Setup.Configuration.Interop NuGet package (embeddable types) instead of rolling your own. If you're using this in script form (i.e. what you're using above) you still need to declare the interfaces correctly. ISetupConfiguration2 inherits from ISetupConfiguration, which means its VTBL contains all the methods of inherited interfaces as well as its own. I will email your internal address a pointer to our source and you can basically copy/paste that.
As for backcompat, you certainly can still use ISetupConfiguration, but the IsLaunchable that we use for VS is only available on ISetupConfiguration2, following COM rules of not changing shipped interfaces (though, I admit, with ISetupConfiguration2 and other v2 interfaces I have been adding methods until we ship RTW because nothing is breaking since we don't support anyone implementing these interfaces (in that there's no supported scenarios) apart from unit tests).

@heaths Thanks! Yes I understand the ordering problem now (just affects troubleshooting script i pasted above, doesn't affect the logic used by the task).
I think updating to use the DLLs from NuGet is a good path forward. At this point we're late in the release cycle so I think after we branch for TFS 2017 Update 1. The current code used by the tasks pre-dates the NuGet package.  I think at that time, I'll also need to investigate attempting to use ISetupConfiguration2 and falling back to ISetupConfiguration for clients with older installs. It sounds like at the same time we should leverage ISetupConfiguration2's IsLaunchable.

The newer query API DLLs actually use IsLaunchable by default when calling ISetupConfiguration::EnumInstances, so that may not be necessary if you're just enumerating launchable instances (which can have errors, but are otherwise installed with no reboots pending).

BTW, I published our official cmdlets that expose the query API this weekend. See https://github.com/Microsoft/vssetup.powershell. Basically, with PowerShellGet installed (default in WMF 5.0), run: install-module vssetup -scope currentuser

Installing Visual Studio 2017 or newer by design does not define a VSINSTALLDIR environment variable because of multi-instancing. So unless that file is processed by an application that already knows where it's associated instance is located and defines that environment variable in the process scope, that wouldn't work.


Adding desktop notifications

This adds little popup notifications on buy and sell actions for your OS

Holding off on this one since we will probably have a larger scale notifications system in the near future ✖


MCO-993: MachineOSImage API

machineOSBuild and Image are meant to represent the two components of an on cluster build, making this commit the user-facing API for on cluster builds. MOSBuilds comprise of the actual processes of kicking off an monitoring a build. A build also contains user options like the push/pull spec for reg> is the result of a build. the Image objects are intended to be trackable and easily related to an MCP. The goal here is to remove much of the split state reporting for on cluster builds and consolidate where the user sets config options.
a MOSImage is the result of a build. the Image objects are intended to be trackable and easily related to an MCP. The goal here is to remove much of the split state reporting for on cluster builds and consolidate where the user sets config options. These images have status conditions as well related to their Age and their Rollout to the nodes on a pool. The valid conditions are "RollingOut", "RolledOut", "RolloutFailed". There is also an "Age" printer column detailing the age of the image.

/cc @hexfusion


AngularJS v1.2 and v1.3 have security vulnerabilities

Required Information

[ ] AEM Version, including Service Packs, Cumulative Fix Packs, etc: _______
[ ] ACS AEM Commons Version: _____
[ ] Reproducible on Latest? yes/no

Expected Behavior
Please describe briefly the expected behavior, i.e. when I do X, Y should happen.
Actual Behavior
Please describe briefly the actual behavior, i.e. when I do X, Z happens.
Steps to Reproduce
Starting from a vanilla instance of AEM at the above version, describe in explicit steps how to reproduce. Link to
any supporting assets, e.g. content packages, below
Links
Links to related assets, e.g. content packages containing test components

Updated AngularJS to latest (1.8.2)

hi, any plan to upgrade Angular JS to latest 1.8.3?

@han-dsa  can you link to where 1.8.2 is available? I dont see it on the AngularJS site anywhere (1.8.2 seems to be latest).
https://angularjs.org/ and https://code.angularjs.org/

@han-dsa can you link to where 1.8.3 is available? I dont see it on the AngularJS site anywhere (1.8.2 seems to be latest).
https://angularjs.org/ and https://code.angularjs.org/

hi David,
https://www.reddit.com/r/angularjs/comments/v6na5f/angularjs_183_download/


Support scaled index in 68020+ addressing modes

Currently missing support for 68020+ addressing modes including scaled indexes as reported in grahambates/m68k-lsp/issues/7, as well as base and outer displacements.

Make this issue specific to scaled indexes. Will create issues for other addressing modes.


🐛 ttf-jetbrains-mono-nerd-3.1.0-1 breaks config

branch
testing
Architecture
x86_64
Description
ttf-jetbrains-mono-nerd-3.1.0-1 seems to have renamed JetBrainsMono Nerd Font to JetBrainsMono NF, and now the config references a font that cannot be found.
Reproduction steps
1. upgrade to `ttf-jetbrains-mono-nerd-3.1.0-1`
2. open foot
   => warning: DejaVu Sans: font does not appear to be monospace; check your config, or disable this warning by setting [tweak].font-monospace-warn=no
3. reload sway config

Screenshots
No response
Logs
No response

Yeah, a PR would be welcome!

Seems currently releases are broken due to an issue in our repo setup during build.

finally un-broke the release process. please check if everything works as expected. on a first glance it does on my machine.


Support for TypeOf types

Adds support for Clang's TypeOfExprType and TypeOfType to VAST.

Adds the types TypeOfExprType and TypeOfTypeto HighLevelTypes.td. These types keep track of their desugared types (i.e., the type inside the call to typeof()), but do not yet track type qualifiers.
Adds visit methods to the CodeGenTypeVisitorMixin for these new types.
Add a single small test to VAST's test suite to verify that typeof types are lowered correctly.

I've committed and pushed changes to this branch addressing @pgoodman's comments, but for some reason they are not yet appearing in this PR