v1.0.0

First release.
Responsibilities

Provide a yarn plugin that generates CycloneDX SBOM for current workspace
Provide a CLI wrapper got said plugin

Capabilities

Supports yarn3 and yarn4
Can output in XML and JSON format, CycloneDX v1.2 - v1.6 spec
Can omit dev dependencies

:building_construction:  GOALS

[x] have the license situation clarified -- #104
[x] have all implementation done
see https://github.com/CycloneDX/cyclonedx-node-yarn/milestone/1
[x] have integration tests with real yarn setups
[x] have have CI/CT ready
[x] have dependabot working
[x] have release action in place
see #103
have a pre-release published to github, that

has the resulting package as an asset
has the resulting plugin-script as an asset
has the 3rd party notice as an asset

[x] have license headers in all files
[x] have docs finalized
[x] have scripts for build, lint, cs-fix, etc ...
[ ] squash/fixup all commits in this PR to one commit with a proper commit message that explains capabilities and responsibilities.
This will be done on merge - quash merge
:exclamation: after merge: https://github.com/CycloneDX/cyclonedx-node-yarn/issues/27

Ready for review.
All contributions and comments are welcome.

@AugustusKling @jayshindeinfor @jdalton @rart,
I want to inform you, that this tool/plugin is fresh out of beta. The current release candidate is planned to be released end of June.
In the meantime, public testing is appreciated.
An experience report, a code review, and any feedback is more than welcome.
If you want to give it a try, the installation instructions and usage descriptions are up-to-date in the README file.
Thank you all for your contribution.

re: https://github.com/CycloneDX/cyclonedx-node-yarn/pull/6#issuecomment-2179384678

Using the plugin using the YARN_PLUGINS environment variable should be mentioned in the readme because this allows to use the plugin without interfering with the project for which the SBOM is generated. It's an alternative to yarn dlx which works also in isolated environments.

The yarn dlx creates an isolated environment on the fly. That's why I've put it on the top of the lists — it is probably the least inversive method of running this plugin.
Advanced users of yarn know about the YARN_PLUGINS env var and how to use it; I'd rather not document it, so the new users are not confused, and so the usage is clear and simple.

The default of emitting the JSON SBOM to the standard output is not really useful in combination with yarn dlx as it also writes logs to the standard output. The readme should mention the invocation using yarn dlx --quiet.

Thank you so much for bringing this up. :+1:
Added this to the docs!

When attempting to generate the SBOM and a package.json contains for example "version": "1.0-dev" it now crashes in a function called Object.fixVersionField. This concerns me as I would not expect the SBOM generation to adjust version numbers and instead just take them verbatim.

Thanks for testing this. :+1:
Converted this remark to #133.

The SBOM files do no longer identify package instances by their locator hash but use pretty printed identifiers of package names and version numbers instead (value in the bom-ref fields). This is okay as long as the hash is appended for virtual packages. Since I'm pretty sure the hash is clipped to the first 5 characters you may see duplicated identifiers with really low probability.

Internally, the components are not identified per @, but by yarn's own descriptorHash.
The CycloneDX library asserts that bom-refs are unique per document, and makes them unique if needed.
So there is no need to add/append any hashes, or is there? If there was, i'd probably register and use a CyclieDX property to store yarn's locatorHash in the SBOM.
@AugustusKling, please advice.

re: #6 (comment)
[...]

The SBOM files do no longer identify package instances by their locator hash but use pretty printed identifiers of package names and version numbers instead (value in the bom-ref fields). This is okay as long as the hash is appended for virtual packages. Since I'm pretty sure the hash is clipped to the first 5 characters you may see duplicated identifiers with really low probability.

Internally, the components are not identified per @, but by yarn's own descriptorHash. The CycloneDX library asserts that bom-refs are unique per document, and makes them unique if needed. So there is no need to add/append any hashes, or is there? If there was, i'd probably register and use a CyclieDX property to store yarn's locatorHash in the SBOM. @AugustusKling, please advice.

Usually the "descriptor" is the package plus version range as found in a package.json. The "locator" is the package plus a fixed version as in after Yarn decided which version to pick given a version range.
I think the value in Package.locatorHash, not descriptorHash, is even unique when virtual packages are required (see https://yarnpkg.com/advanced/lexicon#virtual-package). Such package instances need to be created in certain cases when a package occurs multiple times in the dependency tree but would resolve its own dependencies to different versions for different instantiations. For example different peer dependencies are provided in the different branches of the transitive dependency tree.
If the Cyclone DX library ensures bom-ref properties are unique across all components we could be sure that all produced SBOM files are okay.
My original code created the CDX.Models.Component instances first and thereafter added the dependencies for each component. In case the current code still follows the same approach, then I don't understand how the Cyclone DX library could make the bom-ref unique while still retriving the correct dependencies by a descriptorHash. Doing the same with locatorHash  should be correct, though.
Sadly, I don't have the time these days to read your code in detail but it might be enough to simply get the dependencies by locatorHash instead of descriptorHash. There is no need to include the locatorHash in the SBOM file as it's just in implementation detail of Yarn. What you should guarantee is that each locatorHash value maps to exactly 1 bom-ref value but it does not matter which value is used for the bom-ref in the generated SBOM.

Such package instances need to be created in certain cases when a package occurs multiple times in the dependency tree but would resolve its own dependencies to different versions for different instantiations. For example different peer dependencies are provided in the different branches of the transitive dependency tree.

would you be able to craft a test bed for testing this?
I will try and might come back in a separate pull request.
Regarding locatorHash versus descriptorHash -- in all test beds I tried, I was able to reproducibly craft resulted based on descriptorHash, but not based on locatorHash. this is why ...
If all this only about a unique bom-ref, rest assured that the library takes care of it.
It uses a reversible discriminator mechanism right before normalizing/serializing the data models.


PDFs for HZZ high mass searches

I have added 4 files for high mass higgs search and 2 classes* files

Thank you for the PR @miranclara!
would be great if you could point us to the datacards or just a CADI-line (if they are already uploaded to gitlab) we could test this PR with.

Hello, I don't have cared available for now but I have to test preliminary cared these day so let you know when the cared for the test is ready.


Remove # doctest:

Codecov Report
Patch has no changes to coverable lines.

Files Changed
Coverage

src/objectory/abstract_factory.py
ø

src/objectory/registry.py
ø

src/objectory/utils/name_resolution.py
ø

src/objectory/utils/object_helpers.py
ø

:loudspeaker: Thoughts on this report? Let us know!.


Virtualenv execution mode does not cleanup venv after exception

If an exception is thrown while executing dbt in virtualenv mode, the venv directory isn't cleaned up.
Eventually the worker node fills the disk and fails.
See https://github.com/astronomer/astronomer-cosmos/blob/6ac1763057c44be5b76b9490224308bda09af1e8/cosmos/operators/virtualenv.py#L95-L98
There should be a finally block here.

Actually, I see the TemporaryDirectory automatically cleans up on garbage collection, so this is not an issue.
Closing.

Wouldn't it still be an improvement to place it in a try except block instead of waiting for GC?
I don't really see a downside I sometimes manage to kill a worker by exhausting its storage space


When completing on the status bar, sometimes characters are not displayed

Environment

OS: Windows11
version: nightly-1-g075a17b

https://github.com/akiyosi/goneovim/assets/1295639/4c2e80ca-f64c-4510-be4f-ca8dabc07b30
It seems that when you enter the tab key in the status bar, it is replaced with two spaces.

@shiena
Thanks for the issue report.
I don't have a clear cause, but I have fixed the code that seems to be relevant in e010a37d89, please let me know if you encounter the same problem again with the binary that corresponds to e010a37d89.

@akiyosi Thank you for fixing the bug. https://github.com/akiyosi/goneovim/actions/runs/5230805544 fixed the problem.


scripts: edtlib: do not inherit parent compatibles

Commit 0d4dca10b2ac156b598f96b4dadb44ac7001380b ("scripts: edtlib: child binding compatibles match parents") was a hack meant to keep the edtlib.Binding class in place without modifying some twister behavior that needed further changes to work properly with first-class binding objects.
This is a hack which was necessary due to the way the dt_compat_enabled_with_alias twister filter works. Avoid the need for it by updating the filter so it works by matching the alias node's parent compatible instead. This works for in-tree users, which are all buttons and LEDs. Deprecate the filter and add a replacement, dt_enabled_alias_with_parent_compat, that's clearer.
Now that the edtlib hack is no longer necessary, remove it. Child Binding objects now have None compatible properties unless the binding YAML explicitly sets a compatible.

Not sure what changed yet, but twister isn't complaining on this PR's CI. I think I should do a bit more digging into the issue that caused me to put this hack in originally before we should merge this, but this much is ready for review.

Not sure what changed yet, but twister isn't complaining on this PR's CI. I think I should do a bit more digging into the issue that caused me to put this hack in originally before we should merge this, but this much is ready for review.

I was curious about the twister comment, so yeah, agree we should dig into this a bit more.

agree we should dig into this a bit more.

I found the issue and added some prep work commits that should fix it before reverting the edtlib hack.

It means the child binding's Binding object has 'binding.compatible' set to None unless the YAML sets a compatible for the child nodes themselves.

See the tests for examples.

compatible for the child nodes themselves.

Which implies the child devicetree node has a compatible as well - correct?

Devicetree:
/ {
        aliases {
                led0 = &led0;
        };

        leds {
                compatible = "gpio-leds";
                led0: led_0 {
                        gpios = <...>;
                        label = "LED 0";
                };
        };
};

/leds: the edtlib.Node compatible is "gpio-leds"
/leds/led_0: compatible is None

@galak I edited the above comment a couple times, but I think it explains the different cases now.

I had a similar question; in tree invensense,mpu9150 has a child-binding with a compatible, and nxp,imx-flexspi-device.yaml is included as a child binding where its compatible seems (intended) to be associated with the child.

@galak can we merge this now?


MCDConnectedDevicesAccountAddedStatusErrorServiceFailed code after Sign in

We are getting "MCDConnectedDevicesAccountAddedStatusErrorServiceFailed" code in - (AnyPromise*)prepareAccountAsync:(ConnectedDevicesPlatformManager*)platformManager method after success sign in with Microsoft account.
From the documentation: https://docs.microsoft.com/en-us/windows/project-rome/objectivec-api/connecteddevices/mcdconnecteddevicesaccountaddedstatus
this means "The account operation failed since Rome was unable to contact web services.". How should we fix this in our app or in Microsoft Azure portal in application settings ?
Logs file:
CDPTraces.log

@cmknox Could you please help with this ?


Improve error message when adding null child to RenderBox

I was working on a RenderBox subclass that takes in 2 optional children into its constructor.  I forgot to check for null and therefore I was effectively calling addChild(null).  I received the following error which does not at all represent the issue. An error message should be provided that explains a null RenderBox cannot be added as a child.
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building Container(bg: BoxDecoration(color: Color(0xffffffff))):
flutter: A RenderObject cannot be inserted after itself.
flutter: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2835 pos 12: 'child != after'
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      __RenderCupertinoDialog&RenderBox&ContainerRenderObjectMixin.insert (package:flutter/src/rendering/object.dart)
flutter: #3      __RenderCupertinoDialog&RenderBox&ContainerRenderObjectMixin.add (package:flutter/src/rendering/object.dart:2844:5)
flutter: #4      new _RenderCupertinoDialog (package:flutter/src/cupertino/dialog.dart:318:7)
flutter: #5      _CupertinoDialogRenderWidget.createRenderObject (package:flutter/src/cupertino/dialog.dart:278:16)
flutter: #6      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4276:28)
flutter: #7      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4755:11)
flutter: #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #9      Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #12     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #14     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #18     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #19     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #21     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #22     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #25     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #28     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #30     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #32     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #33     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #34     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #36     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #37     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #38     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #39     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #40     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #41     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #42     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #43     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #44     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #45     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #46     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #47     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #48     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #49     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #50     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #51     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #53     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #54     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #55     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #56     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #57     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #58     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #59     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #60     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #61     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #62     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #63     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #64     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #65     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #66     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #67     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #68     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #69     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #70     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #71     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #72     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #73     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #74     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #75     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #77     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #78     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #79     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #80     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #81     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #82     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #83     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #84     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #85     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #86     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #87     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #88     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #89     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #90     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #91     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #92     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #93     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #94     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #95     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #96     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #97     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #98     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #99     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #100    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
flutter: #101    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #102    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #103    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #104    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #105    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #106    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #107    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #108    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #109    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #110    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #111    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #112    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #113    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #114    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #115    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #116    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #117    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #118    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #119    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
flutter: #120    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #121    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #122    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #123    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #124    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #125    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #126    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #127    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #128    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #129    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
flutter: #130    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #131    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #132    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #133    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #134    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #135    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #136    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #137    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #138    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #139    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #140    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #141    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
flutter: #142    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #143    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #144    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #146    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #147    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #148    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
flutter: #149    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #150    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #151    Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #152    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4437:32)
flutter: #153    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4769:17)
flutter: #154    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #155    _TheatreElement.update (package:flutter/src/widgets/overlay.dart:507:16)
flutter: #156    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #158    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #159    StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #160    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #161    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #162    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #163    ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #164    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #165    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #166    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #167    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #168    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #169    StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #170    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #171    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #172    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #173    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #174    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #175    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #176    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #177    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2242:33)
flutter: #178    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:626:20)
flutter: #179    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
flutter: #180    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
flutter: #181    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
flutter: #182    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
flutter: #183    _invoke (dart:ui/hooks.dart:120:13)
flutter: #184    _drawFrame (dart:ui/hooks.dart:109:3)
flutter: (elided 2 frames from class _AssertionError)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

/cc @Piinks

Hey @matthew-carroll 👋
I think this has already been fixed in https://github.com/flutter/flutter/pull/37187
If you can reproduce the error message, let me know! :)

We'd have to go back to 2018 me to verify :)
If you think it's resolved then feel free to close the issue.

We'd have to go back to 2018 me to verify :)
If you think it's resolved then feel free to close the issue.

Sounds good to me! Thanks!


Fix the issue of disordered pagination queries caused by the same update time during workflow import

Pagination:

Unpaged:

Codecov Report

Merging #14810 (074414a) into dev (613bcc3) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head 074414a differs from pull request most recent head 90f10f0. Consider uploading reports for the commit 90f10f0 to get more accurate results

@@            Coverage Diff            @@
##                dev   #14810   +/-   ##
=========================================
  Coverage     38.80%   38.81%
+ Complexity     4585     4584    -1
=========================================
  Files          1232     1232
  Lines         43318    43286   -32
  Branches       4781     4766   -15
=========================================
- Hits          16809    16800    -9
+ Misses        24650    24628   -22
+ Partials       1859     1858    -1

see 23 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


We fixed the missing folder variable when folder renamed

Description

Related Issue

Fixes https://github.com/owncloud/ocis/issues/10148

Motivation and Context

We fixed the missing folder variable when the folder was renamed.
How Has This Been Tested?

test environment:
test case 1:
test case 2:
...

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

@ScharfViktor
The test case looks wrong. The description said
  Scenario: check activities after uploading a file and a folder                                            # /drone/src/tests/acceptance/features/apiActivities/activities.feature:10
    Given user "Alice" has uploaded file with content "ownCloud test text file 0" to "/textfile.txt"        # FeatureContext::userHasUploadedAFileWithContentTo()
    And user "Alice" has created folder "/FOLDER"                                                           # FeatureContext::userHasCreatedFolder()
    When user "Alice" lists the activities of file "textfile.txt" from space "Personal" using the Graph API

in the logs I see that we call the activity for the FOLDER
		==> REQUEST
		PROPFIND /dav/spaces/7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9/FOLDER
		X-Request-ID: apiActivities/activities.feature:10-99

		<== RESPONSE
		207 Multi-Status
		X-Xss-Protection: 1; mode=block
		<== RES BODY
		<d:multistatus xmlns:s="http://sabredav.org/ns" xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns"><d:response><d:href>/dav/spaces/7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9/FOLDER/</d:href><d:propstat><d:prop><oc:id>7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9!3b3bb11e-62ab-40c4-adb2-119c5ea0d373</oc:id><oc:fileid>7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9!3b3bb11e-62ab-40c4-adb2-119c5ea0d373</oc:fileid><oc:spaceid>7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9</oc:spaceid><oc:file-parent>7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9!fc3229e6-ccd7-47fa-a015-aec93dfae5f9</oc:file-parent><oc:name>FOLDER</oc:name><d:displayname>FOLDER</d:displayname><d:getetag>"9ef11058b7955ef02a4ec44eeac0fd11"</d:getetag><oc:permissions>RDNVCKZP</oc:permissions><d:resourcetype><d:collection/></d:resourcetype><oc:size>0</oc:size><d:getlastmodified>Thu, 26 Sep 2024 08:14:03 GMT</d:getlastmodified><oc:tags></oc:tags><oc:favorite>0</oc:favorite></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><oc:audio></oc:audio><oc:location></oc:location><oc:image></oc:image><oc:photo></oc:photo></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>

		_______________________________________________________________________

		==> REQUEST
		GET /graph/v1beta1/extensions/org.libregraph/activities
		QUERY: kql=itemid%3A7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9!3b3bb11e-62ab-40c4-adb2-119c5ea0d373
		X-Request-ID: apiActivities/activities.feature:10-99

		<== RESPONSE
		200 OK
		X-Xss-Protection: 1; mode=block
		<== RES BODY
		{"value":[{"id":"7aba62c8-9eb0-490d-9a61-2305f339946e","template":{"message":"{user} added {resource} to {folder}","variables":{"folder":{"id":"fc3229e6-ccd7-47fa-a015-aec93dfae5f9","name":"Alice Hansen"},"resource":{"id":"7a1edc3e-d0c7-4852-868d-76691b229685$fc3229e6-ccd7-47fa-a015-aec93dfae5f9!3b3bb11e-62ab-40c4-adb2-119c5ea0d373","name":"FOLDER"},"user":{"id":"fc3229e6-ccd7-47fa-a015-aec93dfae5f9","displayName":"Alice Hansen"}}},"times":{"recordedTime":"2024-09-26T08:14:03.277273302Z"}}]}


Analysis report does not include rule ids

The sarif report generated should contain rule ids

Closing in lieu of https://github.com/dotnet/upgrade-assistant/issues/727


Logical Sorter mod ID Sorting

I can sort just about anything. But when I try to sort by mod ID. I simply doesn't sort all the items of that mod. I am trying to sort Mekanism items & Thaumcraft items.
Version: 1.7.10-<IP_ADDRESS>

I've looked into the code and I think FML has a deprecated method.
'findModOwner' Seems to be deprecated.
http://cmicro.github.io/NeatCraft/forge-javadoc/cpw/mods/fml/common/registry/GameData.html
And it's used right here: http://puu.sh/hdEhR/2bd8ba4427.png
So the reason might be because it simply isn't updated? I would love some help :p

Make sure you're using the correct mod ID.  There's really no other way currently to locate a mod ID for a given item, but I'll definitely change the way I do things if there is a new recommended method.

I added Thaumcraft for example. And I think about 60% of the items worked correctly. But all shards for example did nothing. They didn't do anything.


[BUG] ServiceListenTimeout: DatabaseService failed to bind to port

Operating system: macOS
Python version: 3.9.2
FiftyOne version: v0.9.1
A fresh install of FiftyOne resulted in the following error upon import:
import fiftyone as fo
/usr/local/lib/python3.9/site-packages/fiftyone/__init__.py in <module>
     23 __version__ = _foc.VERSION
     24
---> 25 from fiftyone.__public__ import *
     26 from fiftyone.core.uid import log_import_if_allowed as _log_import
     27 from fiftyone.migrations import migrate_database_if_necessary as _migrate
/usr/local/lib/python3.9/site-packages/fiftyone/__public__.py in <module>
      9 import fiftyone.core.service as fos
     10
---> 11 _database_service = fos.DatabaseService()
     12
     13 config = foc.load_config()
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in __init__(self)
    201
    202     def __init__(self):
--> 203         super().__init__()
    204
    205     @property
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in __init__(self)
     79         self.child = None
     80         if not self._disabled:
---> 81             self.start()
     82
     83     def __del__(self):
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in start(self)
    291         import fiftyone.core.odm.database as food
    292
--> 293         food.set_default_port(self.port)
    294         food.get_db_conn()
    295
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in port(self)
    281     @property
    282     def port(self):
--> 283         return self._wait_for_child_port()
    284
    285     def start(self):
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in _wait_for_child_port(self, port, timeout)
    178             raise ServiceListenTimeout(etau.get_class_name(self), port)
    179
--> 180         return find_port()
    181
    182     @classmethod
/usr/local/lib/python3.9/site-packages/retrying.py in wrapped_f(*args, **kw)
     47             @six.wraps(f)
     48             def wrapped_f(*args, **kw):
---> 49                 return Retrying(*dargs, **dkw).call(f, *args, **kw)
     50
     51             return wrapped_f
/usr/local/lib/python3.9/site-packages/retrying.py in call(self, fn, *args, **kwargs)
    210                 if not self._wrap_exception and attempt.has_exception:
    211                     # get() on an attempt with an exception should cause it to be raised, but raise just in case
--> 212                     raise attempt.get()
    213                 else:
    214                     raise RetryError(attempt)
/usr/local/lib/python3.9/site-packages/retrying.py in get(self, wrap_exception)
    245                 raise RetryError(self)
    246             else:
--> 247                 six.reraise(self.value[0], self.value[1], self.value[2])
    248         else:
    249             return self.value
/usr/local/lib/python3.9/site-packages/six.py in reraise(tp, value, tb)
    701             if value.__traceback__ is not tb:
    702                 raise value.with_traceback(tb)
--> 703             raise value
    704         finally:
    705             value = None
/usr/local/lib/python3.9/site-packages/retrying.py in call(self, fn, *args, **kwargs)
    198         while True:
    199             try:
--> 200                 attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
    201             except:
    202                 tb = sys.exc_info()
/usr/local/lib/python3.9/site-packages/fiftyone/core/service.py in find_port()
    176                     pass
    177
--> 178             raise ServiceListenTimeout(etau.get_class_name(self), port)
    179
    180         return find_port()
ServiceListenTimeout: fiftyone.core.service.DatabaseService failed to bind to port

To debug, try manually starting the mongod process as follows:
/path/to/virtualenv/lib/python3.9/site-packages/fiftyone/db/bin/mongod \
    --dbpath ~/.fiftyone/var/lib/mongo \
    --logpath ~/.fiftyone/var/log/mongodb/mongo.log \
    --port 0 --nounixsocket

If you see a log message as follows:
{"t":{"$date":"2021-05-19T14:06:33.399+03:00"},"s":"E",  "c":"STORAGE",  "id":20557,   "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"IllegalOperation: Attempted to create
a lock file on a read-only directory: ~/.fiftyone/var/lib/mongo"}}

then you can likely resolve this issue by adding the appropriate write permissions to the ~/.fiftyone/var/lib/mongo directory using chown.


Fixed #33425 -- Fixed view name for CBVs on technical 404 debug page.

Since the introduction of using view_class within the technical 404 page in 0c0b87725bbcffca3bc3a7a2c649995695a5ae3b, it looks like the existing test test_classbased_technical_404 has been passing erroneously due to not checking strictly enough what is being rendered.
This change introduces 2 commits:

Updates to the test cases to be stricter and more clear about what should be rendered. The test test_classbased_technical_404 fails both subtests.
A patch to fix the output by "unwrapping" the obj if there's a view_class attribute, and then operating on that, instead of using it as the final value.

This tweak is why I'd not yet got around to trying for a PR on ticket 33396. Luckily there's a PR for that as #15286 though this - or something like this, if it's not yet correct - should probably land before that does, so it can take the change into account.

Nice catch!


Does Globalize / CLDRJS have a concept of a friendly display name for a locale?

ie where "en-GB" would be "UK English" an "de-CH" might be "Swiss German" or something?
I'm working on a demo for https://github.com/johnnyreilly/jquery-validation-globalize (now on 1.x).  It'd be nice to have something that's a little more user friendly to display in the demo when they pick a culture...
I tried attributes but that doesn't really have what I'm after
Globalize.locale().attributes
{"bundle":"de","minlanguageId":"de","maxLanguageId":"de-Latn-DE","language":"de","script":"Latn","territory":"DE","region":"DE"}

Hi @johnnyreilly, it's a dup of #513. Please, feel free to add comments there if you have any further questions.


silabs: siwx917: Fix UART initialization

Fix LPUART initialization to match what wiseconnect uses.

Note: it's unclear to me why this works, but it does. I spent quite some time trying different combinations of parameters and initialization techniques, but this is the first one that actually produced correct output on the UART. From what I see, the correct way would be to specify 32MHz as the clock (32000000) in DTS and 0 as the last parameter to RSI_ULPSS_UlpUartClkConfig(), however that produces garbled output for me.

I've been trying to figure out why this works for me specifically by setting the clock rate to 13MHz. The only place I could find with a reference to that frequency within wiseconnect is this:
/*==============================================*/
/**
 * @fn          uint32_t RSI_Clks_Trim32MHzRC(uint32_t freq)
 * @brief     This API is used to trim 32MHz RC clock to required frequency
 * @param[in]   freq :  Input is to get  required frequency from 13MHz to 32MHz.
 * @return      trim value for required MHz RC frequency which we can reserve for further usage  .
 */

uint32_t RSI_Clks_Trim32MHzRC(uint32_t freq)
{

Not sure if that's relevant or not.

Not sure if that's relevant or not.

Seems like it was relevant. By calling RSI_Clks_Trim32MHzRC(32) I'm now getting the expected behavior and can have the correct 32MHz value in dts.

Seems like it was relevant. By calling RSI_Clks_Trim32MHzRC(32) I'm now getting the expected behavior and can have the correct 32MHz value in dts.

Hmm. Maybe we don't want this after all: calling this API seems to slow the boot by several seconds (presumably due to the calibration stuff it does).

Except: The shell samples don't work without the RSI_Clks_Trim32MHzRC(32). I just get a few garbage bytes and can't seem to input anything. Probably the main difference with those (compared to hello_world which I've so far been testing) is that they enable full interrupt based functionality of the UART driver.


Call it a productivity suite

Refs https://github.com/sandstorm-io/sandstorm/issues/2545

Screenshot: Before on right, after on left.

Requesting +1/-1 from @neynah before I deploy.

+1!

@neynah this is live now!


Error starting daemon: error initializing graphdriver: driver not supported

I am unable to deploy a kubeadm-dind-cluster on Ubuntu 16.04.2 or CentOS 7. I get the following error:
Jun 22 19:23:34 kube-master systemd[1]: Starting Docker Application Container Engine...
Jun 22 19:23:34 kube-master rundocker[180]: Trying to load overlay module (this may fail)
Jun 22 19:23:34 kube-master rundocker[180]: time="2017-06-22T19:23:34.197080260Z" level=info msg="libcontainerd: new containerd process, pid: 189"
Jun 22 19:23:35 kube-master rundocker[180]: time="2017-06-22T19:23:35.208001616Z" level=fatal msg="Error starting daemon: error initializing graphdriver: driver not supported"
Jun 22 19:23:35 kube-master systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Jun 22 19:23:35 kube-master systemd[1]: Failed to start Docker Application Container Engine.
Jun 22 19:23:35 kube-master systemd[1]: docker.service: Unit entered failed state.
Jun 22 19:23:35 kube-master systemd[1]: docker.service: Failed with result 'exit-code'.

Here are details of my CentOS 7 setup:
$ docker version
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

$ rpm --query centos-release
centos-release-7-3.1611.el7.centos.x86_64

# docker info|grep Storage
Storage Driver: overlay

I have tried the overlay and overlay2 drivers, but I hit the same error.

We are trying to use kubeadm-dind-cluster for k8s IPv6 e2e testing. More details on the issue can be found at https://github.com/kubernetes/kubernetes/issues/47666

I'm seeing this same thing on centOS 7.3.1611 as well. Using Docker 17.06.0-ce (and have tried 1.12.6 too), kernel 3.10, and have storage driver set to devicemapper. The kubeadm init step fails, with log saying graphdriver not supported.
I have tried removing /var/lib/docker and made sure that when things start up, there is only a devicemapper directory (only one driver area).
I have tried adding /etc/docker/daemon.json specifying overlay, overlay2, and devicemapper, with the same results.
I'm wondering if the graphdriver is a red herring, and there is a different failure causing the docker service to fail?
I did, BTW, run "kubeadm init" from the command line (I know, not using ontainers), and it starts up fine.
Lastly, I tried this on a Vagrant created VM running CentOS 7 and see the same issue.
Any suggestions?

@danehans @pmichali Can you point me to some public vagrant image that exhibits this behavior? https://app.vagrantup.com/centos/boxes/7 is affected perhaps, right?

In the journalctl log, I see:
Jul 06 15:10:22 devstack-77 systemd[1]: kubelet.service holdoff time over, scheduling restart.
Jul 06 15:10:22 devstack-77 systemd[1]: Started kubelet: The Kubernetes Node Agent.
-- Subject: Unit kubelet.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit kubelet.service has finished starting up.
--
-- The start-up result is done.
Jul 06 15:10:22 devstack-77 systemd[1]: Starting kubelet: The Kubernetes Node Agent...
-- Subject: Unit kubelet.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit kubelet.service has begun starting up.
Jul 06 15:10:22 devstack-77 kubelet[7423]: I0706 15:10:22.387258    7423 feature_gate.go:144] feature gates: map[]
Jul 06 15:10:22 devstack-77 kubelet[7423]: error: failed to run Kubelet: invalid kubeconfig: stat /etc/kubernetes/kubelet.conf: no such file or directory
Jul 06 15:10:22 devstack-77 systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
Jul 06 15:10:22 devstack-77 systemd[1]: Unit kubelet.service entered failed state.
Jul 06 15:10:22 devstack-77 systemd[1]: kubelet.service failed.

@ivan4th Yeah, I have a Vagrant setup that uses this box: centos/7

I have a Ubuntu 16.04 system in lab (behind firewall), and I tried a bunch of attempts there. It is using aufs for storage. I installed the extras package, and I think, I got past the init problem, but then hit a timeout error, trying to access a URL:
unable to get URL "https://storage.googleapis.com/kubernetes-release/release/stable-1.6.txt": Get https://storage.googleapis.com/kubernetes-release/release/stable-1.6.txt: dial tcp <IP_ADDRESS>:443: i/o timeout
*** kubeadm failed

I'm wondering if the firewall is blocking this access, and not sure how to override (I guess it is running in a container? Normally, would set HTTP_PROXY and HTTPS_PROXY, like on host).  Is there a way to pass in environment variables to the container?
In any case, I'm trying another Vagrant VM, but using Ubuntu 16.04, to see if it is a CentOS issue (combined with a FW issue in the lab).

The above URL unreachability is kubeadm problem, it apparently insists on trying to access release info even if it's installing k8s using prebuilt hyperkube image. It's possible to pass proxy settings but you'll need to add args like -e HTTP_PROXY="${HTTP_PROXY:-}" -e HTTPS_PROXY="${HTTPS_PROXY:-}" \ around this place in the script https://github.com/Mirantis/kubeadm-dind-cluster/blob/d85c415ed9f2689bacb668ff31729cd67a065b14/dind-cluster.sh#L435 -- try it and see if it helps.
As of centos/7 vagrant box, will check it shortly.

@ivan4th Thanks!
I just tried Ubuntu 16.04 server, with docker version 17.06.0-ce, and using aufs storage driver, in a Vagrant based VM that I had.  Everything came up OK. I can't seem to get access to the dashboard (did port forwarding of TCP 8080), but could not access from host).
So, it looks like Ubuntu works (barring proxy issues - I'll try your suggestion). CentOS, OTOH, seems to be having some problems - not sure what exactly is preventing cluster from coming up.

@pmichali I think I'm at the same place as you know. The dind deploy is almost 100% working. The dashboard deployment hangs:
* Bringing up kube-dns and kubernetes-dashboard
deployment "kube-dns" scaled
deployment "kubernetes-dashboard" scaled
........................................<SNIP>

Looks like an issue with dashboard deployment:
```kubectl get deployment --namespace=kube-system
NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kube-dns               1         1         1            1           25m
kubernetes-dashboard   1         1         1            0           25m

kubectl describe deployment kubernetes-dashboard --namespace=kube-system
Name:			kubernetes-dashboard
Namespace:		kube-system
CreationTimestamp:	Thu, 06 Jul 2017 11:35:31 -0700
Labels:			app=kubernetes-dashboard
Annotations:		deployment.kubernetes.io/revision=1
Selector:		app=kubernetes-dashboard
Replicas:		1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType:		RollingUpdate
MinReadySeconds:	0
RollingUpdateStrategy:	1 max unavailable, 1 max surge
Pod Template:
  Labels:	app=kubernetes-dashboard
  Annotations:	scheduler.alpha.kubernetes.io/tolerations=[
  {
    "key": "dedicated",
    "operator": "Equal",
    "value": "master",
    "effect": "NoSchedule"
  }
]

  Containers:
   kubernetes-dashboard:
    Image:		gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0
    Port:		9090/TCP
    Liveness:		http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Environment:	<none>
    Mounts:		<none>
  Volumes:		<none>
Conditions:
  Type		Status	Reason
  ----		------	------
  Available 	True	MinimumReplicasAvailable
OldReplicaSets:	<none>
NewReplicaSet:	kubernetes-dashboard-2396447444 (1/1 replicas created)
Events:
  FirstSeen	LastSeen	Count	From			SubObjectPath	Type		Reason			Message
  ---------	--------	-----	----			-------------	--------	------			-------
  25m		25m		1	deployment-controller			Normal		ScalingReplicaSet	Scaled up replica set kubernetes-dashboard-2396447444 to 1
  25m		25m		1	deployment-controller			Normal		ScalingReplicaSet	Scaled down replica set kubernetes-dashboard-2396447444 to 0
  23m		23m		1	deployment-controller			Normal		ScalingReplicaSet	Scaled up replica set kubernetes-dashboard-2396447444 to 1

@danehans On mine, I think the dashboard is up (as I can curl to it from the VM. I just can't seem to access via browser on host (not sure if the fact that I'm on VPN is interfering).

@ivan4th The proxy settings are seen inside the container, but I cannot ping the proxy server from inside the container. I tried using IP address, instead of name, but no go. There is a default route, but I cannot ping the proxy from inside the container. Any ideas?

@pmichali can you post the output of kubectl get po,svc,deploy --namespace=kube-system

Looks like i'm having issues pulling the dashboard image from my lab for some reason. I don't see the image pull issue on my DockerforMac setup.

@danehans On the Ubuntu in VM or BM?

So looks like I have this status currently:
Ubuntu 16.04 VM - Works, but I cannot access the dashboard from host.
Ubuntu 16.04 Bare Metal - It is hung waiting for cluster to come up. Have proxy settings inside container, can ping proxy server from inside container, but apiserver container (from inside the container), has exited. No log that I can find.
CoreOS 7 VM and BM - See failure on first kubeadm init processing, saying that graphdriver not supported (using devicemapper). Not sure of the underlying problem.
@ivan4th any ideas on what to try/check in these failing cases?

@pmichali Ubuntu BM.

@danehans I don't have it starting up under BM. At kubeadm init, it hangs trying to access external URL. I added in config options to cause the container to setup proxy server. From the container, I can see the proxy settings, ping the proxy server, but the process is still stuck.
I see (from inside the container), the apiserver container has exited (scheduler and controller are running). I don't see any logs, so I don't know why it has failed. I'm guessing it is still something with us being behind a firewall.

@ivan4th Under CentOS, I see that it fails at kubeadm init, saying graphdriver: driver not supported. In looking into the container, I see that docker is not running. If I try to start it, it fails with the same error that is reported on the host.
Comparing this to Ubuntu, the container for Ubuntu is running Ubuntu, and the config file 10-dind.conf is calling out a storage driver of vfs. The actual driver is overlay2 inside the container (aufs on the host).  For CentOS, it has the same config in 10-dind.conf, but I'm not sure what driver it is actually trying to use. The container OS is RHEL 4.8.5-11.
Is there a way to check the driver being used? Is there a way to force it to something different?

Also, for CentOS, the host (outer VM) is using devicemapper, which I read Docker says is the only supported driver for CentOS.

More info for CentOS. Looks like it is trying to use overlay2, as I tried to set the device in a config file, and got this error:
Jul 07 17:44:19 kube-master rundocker[432]: time="2017-07-07T17:44:19Z" level=fatal msg="unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are speci
fied both as a flag and in the configuration file: storage-driver: (from flag: overlay2, from file: devicemapper)\n"

I don't see where that is set on the command line. Not sure if it is supported for RHEL 4.8.5. I see that for Fedora, devicemapper is supported, and overlay2 (Fedora 26 or later, experimental), or overlay (experimental). Not sure how that maps to RHEL 4.8.5 (or if I'm chasing my tail).

Ref: https://docs.docker.com/engine/userguide/storagedriver/selectadriver/#docker-ee-and-cs-engine

So, with CentOS in VM and bare-metal, I have the issue with kubeadm failing, giving a storage driver error.
With Ubuntu on bare-metal, behind firewall, I can get past the kubeadm init storage driver issue, but then apiserver fails to start up (container keeps restarting). The kubelet service shows that it cannot communicate with the api server, and sync fails. Not sure why.
Any thoughts on how to debug this issue?

@ivan4th Have some success with Ubuntu 16.04 in a lab that is behind a firewall. On the host, I have a http-proxy.conf file with proxy information for docker (in /etc/systemd/system/docker.service.d/. I modified dind-cluster-v1.6.sh to pass in the proxy environment variables to the master container as you mentioned. This allowed the master container to come up.
Inside of the master container, I was then seeing that the apiserver container was not coming up. It was failing to pull images from external repos.  I hacked the master container to add the same docker proxy settings in an http-proxy.conf file (like I did on the host), and then restarted docker. This now come up.
Do you have any ideas on how we can "inject" into the master container (and into the containers that get started for the master and minion kubeadm nodes) the proxy and no-proxy settings?
We're close to getting this working on a system behind a firewall.

@pmichali I was thinking of closing this since we resolved the original issue. If you want to continue to pursue the proxy issue, can you open a separate issue?

@danehans OK. There are two issues. One is working behind a FW, the other is getting DinD to work on CentOS 7.

OK. I'm closing this issue since the original problem has been resolved. Thanks!


[TKW] Implement workgroup expansion and execution support.

Implements expansion and distribution to workgroup, S.T they will take into account the number of threads in a workgroup/block. Additionally, we also add some support for symbolic vector_shape in HW constraints. Also incorporated some of @Hardcode84 's finding to fix the e2e copy test.

FYI This is what the sample IR/copy looks like with this change:
#translation = #iree_codegen.translation_info<None workgroup_size = [64, 1, 1] subgroup_size = 64>
module attributes {transform.with_named_sequence} {
  stream.executable private @test {
    stream.executable.export public @test workgroups() -> (index, index, index) {
      %c1 = arith.constant 1 : index
      %c256 = arith.constant 256 : index
      stream.return %c1, %c256, %c1 : index, index, index
    }
    builtin.module {
      func.func @test(%arg0: !stream.binding, %arg1: !stream.binding) attributes {translation_info = #translation} {
        %c128 = arith.constant 128 : index
        %c2 = arith.constant 2 : index
        %c0 = arith.constant 0 : index
        %workgroup_id_0 = stream.dispatch.workgroup.id[0] : index
        %workgroup_id_1 = stream.dispatch.workgroup.id[1] : index
        %thread_id_x = gpu.thread_id  x
        %thread_id_y = gpu.thread_id  y
        %0 = stream.binding.subspan %arg0[%c0] : !stream.binding -> memref<256x128xf16, strided<[128, 1], offset: ?>>
        %1 = arith.addi %workgroup_id_1, %thread_id_y : index
        %2 = arith.muli %thread_id_x, %c2 : index
        %3 = arith.muli %workgroup_id_0, %c128 : index
        %4 = arith.addi %3, %2 : index
        %5 = vector.load %0[%1, %4] : memref<256x128xf16, strided<[128, 1], offset: ?>>, vector<2xf16>
        %6 = stream.binding.subspan %arg1[%c0] : !stream.binding -> memref<256x128xf16, strided<[128, 1], offset: ?>>
        vector.store %5, %6[%1, %4] : memref<256x128xf16, strided<[128, 1], offset: ?>>, vector<2xf16>
        return
      }
    }
  }
}


updating to v0.3.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Current issue: the merge tests fail, claiming pytables isn't installed, but the logs suggest that it should be installed into the docker env (and it's definitely explicitly called in the recipe)


Easier to diff, prettier rendering for jsonlines

cargo-test-supports built-in assertions for jsonlines would perform the following transformation to the "expected" value
    let expected_objs: Vec<_> = expected
        .split("\n\n")
        .map(|expect| {
            expect
                .parse()
                .with_context(|| format!("failed to parse expected JSON object:\n{}", expect))
        })
        .collect::<Result<_>>()?;

so instead of
{}
{}

you'd get
{
}

{
}

This makes it easier to inspect the jsonlines data and to view the diffs.
For Cargo to adopt snapbox, we need something similar, see rust-lang/cargo#14039

I think doing exactly what cargo-test-support wouldn't align well with snapbox.
However, what we could do is allow the test-author to separately specify the expected-format from the actual-format and allow them if the internal structure is similar.  This would be leveraging the fact that we store jsonlines as a serde_json::Value::Array.
This means the "expected" would be pretty-printed json, rather than a bespoke format.  The result is mostly the same, with the main difference being extra indentation and json's inconsistent comma between entries.
There are two APIs I've considered for this:
assert_data_eq!(actual, expected.is_json().against_jsonlines());

assert_data_eq!(actual.is_jsonlines(), expected.is_json());

The problem with trait methods on actual is that it doesn't work with Execs::with_stderr_data as the actual is completely internal to Execs.
Note I renamed IntoData::json to IntoData::is_json to make the naming clearer.  While making "breaking" changes (renames w/ deprecations), I'm tempted to make actual a impl Into<Vec<u8>> and rename Data / IntoData to Snapshot / IntoSnapshot. All of the functionality on Data / IntoData is geared to expected and it would be confusing to offer it to actual and this makes the intent of the API clearer at the type level.

assert_data_eq!(actual, expected.is_json().against_jsonlines());

This looks good. So does the rename.
(little concerns around rename as people usually dont like it, but I feel like the major consumers of snapbox should be fine with it)

I've implemented #350 but it looks like it won't be sufficient for Cargo as it tries to filter out "invalid" jsonlines
    let actual_objs: Vec<_> = actual
        .lines()
        .filter(|line| line.starts_with('{'))
        .map(|line| {
            line.parse()
                .with_context(|| format!("failed to parse JSON object:\n{}", line))
        })
        .collect::<Result<_>>()?;

metabuild tests also don't work with how snapbox finds the end of globs.


Java extractor: correctly parse/load -processor classes [phab:D633]

Created by schroederc at 2015-12-07 22:09:26:
This contains two changes to the way the Java extractor handles
-processor arguments:

-processor arguments are comma-separator lists rather than
colon-separated file lists

If -processorpath is empty, the extractor correctly falls back to
the -classpath for loading processors

Fixes #881.

zarko accepted this revision at 2015-12-08 21:44:12

schroederc wrote at 2015-12-08 22:01:00:
Rebase

schroederc closed via commit ad5bdcad1d4a57e54c11aec82422ccf3d0445525 at 2015-12-08 22:01:18


gh-pages?

@jeremydmiller want any help on the gh-pages branch? I have some time now :D

@hougasian If you're up for it, I'm never going to say no to that offer. All the docs are in the /documentation folder in the main repo. I only publish the exported html to gh-pages, but the authoring is all in markdown files.
I think we need more content and examples on the Event Sourcing, especially projections, than anything else, but anything you wanna add will help. We do need to start building up some Postgresql tips and integrating with other tools.
What were you thinking?

@hougasian Absolutely. The actual website is in the main Marten repo with all the content in /documentation as markdown files.  If you're on Windows, there's a command called run-docs.cmd that should spin up a browsable website and pop open a browser window to it. You do get auto-refresh w/ the runner.
The main page is just a static html file (w/ some Markdown-esque extensions) called "splash.htm." Every other page uses the de facto template file "layout.htm." All I've done is download a bootstrap theme and followed along.
I will have it able to run the docs on the Mac soon, but it's not quite there yet, so you're stuck w/ Windows.

@jeremydmiller Any reason to not go the Jekyll path for the actual website? I'd like to leverage the jekyll/sass combo. The documentation can then stand solely on Storyteller. Thoughts?

@hougasian I don't really know enough to have an opinion tbh. As long as I can still author the content w/ Storyteller, I'm good with anything. It's perfectly feasible to change ST itself if that would help.

I've told @hougasian, but you no longer need a gh-pages branch to serve the github pages site. You can go into the repos settings and pick a branch and a folder. I suggest moving it into the master branch, so you can keep it in sync with the projects code.

Nothing happening here and this was just a question. I'm closing this.


Changed occurrences of ArgumentOutOfRangeException and ArgumentException to use nameof() operator

I am thinking of doing a major modernization (and later a refactoring) of the Pinta codebase, but splitting it into very safe, bite-sized pieces. This is one of them. And very few things are safer and more bite-sized than using the nameof() operator for exceptions :)
On a related note, in a previous pull request I was asked not to change certain file too much because it was third-party code. I saw that the file in question was licensed to Novell, so I assume that is what was being talked about. Is my guess correct? What is the policy on third-party code? It's probably important to note that the file in question is under a permissive, MIT-like license.

This looks good, thank you!
Avoiding too many changes to Options.cs is more just for maintenance - if we ever upgrade to a newer version then it gets harder to reconcile those changes with the upstream ones. But really we should be eliminating embedded third-party code like that and using a Nuget package (or perhaps using the command line parsing GTK provides in this case). Prior to Pinta 2.0 we weren't using any Nuget packages


GoogleDriveLoader creates random ports

Hi everyone,
I started to work with the GoogleDriveLoader() and I recognized that there might be an issue with the oauth flow. Let's assume the following setup:
.env file:
GOOGLE_APPLICATION_CREDENTIALS=""
main.py:
loader = GoogleDriveLoader(
        folder_id="XXXXX",
        credentials_path="XXXX/google_credentials.json",
        token_path="XXXX/google_token.json",
        recursive=False,
    )

With this setup, the GoogleDriveLoader() creates a local auth server during local development that always uses a random port. This leads to the problem that my redirect url that I configured in the Google Cloud never works. So I'm wondering why this class creates a local server and if so, why can't we set the port ourselves?
The code which creates this behavior is in line 191:
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            elif "GOOGLE_APPLICATION_CREDENTIALS" not in os.environ:
                creds, project = default()
                creds = creds.with_scopes(SCOPES)
                # no need to write to file
                if creds:
                    return creds
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    str(self.credentials_path), SCOPES
                )
              # Why do we set port 0 -> leads to random port?
             # Why do we create a local server?
                creds = flow.run_local_server(port=0)
            with open(self.token_path, "w") as token:
                token.write(creds.to_json())

I can solve this issue by setting the port to my preffered one eg 8080. Anyone who has an idea?

let's maybe add a parameters with a default value, and throw a meaningful erorr description if the port is occupied?
it would be awesome if you could work on that, thanks!

I've a similar issue, needing to use credentials for a service account operating in cloud run. I'll submit a PR to allow one to 'bring your own credentials' to support things like:
cli auth or auth from a python notebook using the application default creds:
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive

explicit scopes, quota projects:
scopes = [
    "https://www.googleapis.com/auth/cloud-platform",
    "https://www.googleapis.com/auth/spreadsheets",
    "https://www.googleapis.com/auth/drive",
    "https://www.googleapis.com/auth/drive.metadata",
    "https://www.googleapis.com/auth/drive.resource",
    "https://www.googleapis.com/auth/drive.file",
]

credentials, project_id = google.auth.default(
    scopes=scopes, default_scopes=scopes, quota_project_id=PROJECT_ID
)

I'll implement as simply passing a 'credentials' variable to the init and if present, use it. Tested and working in my jupyter notebook environment using the above ^^


ES6 arrow functions as class members - throws error

It seems that the parser hangs with "Unexpected token =" when a class contains an arrow function.
See example :
class Test{

sample = () =>{
 console.log('hi');
}

}

I don't think that's how you define function in class syntax. In classes, you do:
class Test() {
sample() {
// code here
}
}

Thanks for the reply.
I think this is related to this issue : https://github.com/jsdoc3/jsdoc/issues/1246
Which discusses class properties.
The example i wrote assigns an anonymous function to a class property, so it seems related.
My IDE is fine with this code and babel has no problems either.
I tried using the babble plugin but hit the same problem.

As the comment in that issue states, that's not an valid syntax in ES6

I see, Well now I just feel silly I mis-read that.
For future readers, this syntax appears to be a in proposal stages and is not part of the ES2015 or ES2016.


Update compiling requirements.

This updates the requirements for building cargo itself. It adds a little more clarification on exactly what is needed, and what some of the options are.
This may be a little bit too much detail, as usually I suspect most users will just run cargo build and follow the error message instructions on what to install next.

r? @epage
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit c2a5be7657cf39adcf4999e6bf03a24e46859602 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit c2a5be7657cf39adcf4999e6bf03a24e46859602 with merge 996a6363ce4b9109d4ca757407dd6dcb4805c86f...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 996a6363ce4b9109d4ca757407dd6dcb4805c86f to master...


Modal loading outside  issue

I want to open the modal default in to the div its placed so as to keep the Form submit button inside the form to not create issue while submitting.

form start...
some input elements of form...
modal with submit button written <>
form end....

When i load it every time append to body thus making submit button scope out of form.
Please help how to fix it. I searched through already reported issues but didn't find any answer.

@anupalusoft the reason for moving the modal to body is to allow for stackable modals so there is no easy fix for this unfortunately. You would need to capture the modal submit with javascript and then trigger the original form submit.


Add multi-column support for metric views

This commit is an expansion of downsampling support enabling
registration of multi-column views and support for querying individual
columns using the special label __column__.

bors r+


fix(android): some unicode characters not working

The original code was using NewStringUTF which caused the app to crash when certain unicode characters, such as emojis, were used.
So instead I added a helper function that converts the UTF-8 input into jstring manually.

Hi, thank you for the PR!
I can see the correctly completion result, but it got unexpected result in the partial token event. We already handled with waiting 2-4 bytes and send token event:
https://github.com/mybigday/llama.rn/blob/4c90a78e562732ddf6e07d064241254c212656d6/cpp/rn-llama.hpp#L464-L482
It would be great if you could check this problem out, I'll do so when I available.

Could you elaborate what you meant by partial token events? It might be due to the function I wrote not having a lot of error handlings for invalid UTF-8 characters. I didn't include it because as far as I know llama.cpp treats all token values as unicode, but I could be wrong.

Could you elaborate what you meant by partial token events?

This:
https://github.com/mybigday/llama.rn/blob/4c90a78e562732ddf6e07d064241254c212656d6/android/src/main/jni.cpp#L436-L465
Our example also use it.

3799cf8 should fix the unicode issue and the issue about partial event, so this handle may not be need. Still thank you for the PR!

No problem, thank you for fixing the code! I was a bit busy last few days and couldn't really check it.


fix for ticket #5078

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


How to excute the training code?

Hi , I want to trainging with my own images , but I don't konw how to excute the training code ? Thx

also looking forward to releasing the training code.


My Swift Changes

Trying the other way round.

Some of the changed files are from foam2 master. I'm still confused as to how your code is getting conflicted.


TestFlight <IP_ADDRESS> – needs minimum KSP version set to 1.2

Used CKAN to set up an archived install of KSP 1.1.3 as RP-0. CKAN incorrectly showed TestFlight 1.8.0, which is compiled for KSP 1.2, as compatible with my KSP installation. I had to manually downgrade to TestFlight 1.7, which was built for KSP 1.1.3, to get TestFlight to work.

Fixed in https://github.com/KSP-CKAN/CKAN-meta/pull/1275


Remove VA cleanup feature

This removes the VA cleanup feature, since the use case is covered by the pod deletion feature.
It's better to only have a single way of accomplishing this.
I didn't touch the settings as part of this PR, since it's not important and they are just ignored.
So I can easily backport to 1.1.2
longhorn/longhorn#2060

1/3 of the solution items for https://github.com/longhorn/longhorn/issues/2629

Hold merge for @innobead requested review.

@innobead I didn't want to touch the setting for 1.1.2 and I currently don't have time to look into the complexity involved of removing it.
Since we should only do it for 1.2 I created this issue to track the setting removal https://github.com/longhorn/longhorn/issues/2661
After this pr is merged the setting has now effect.

@innobead I didn't want to touch the setting for 1.1.2 and I currently don't have time to look into the complexity involved of removing it.
Since we should only do it for 1.2 I created this issue to track the setting removal longhorn/longhorn#2661
After this pr is merged the setting has now effect.

Sounds good to me. Let's do this way first. (but we need to update the doc at least)

@joshimoo Please help backport to 1.1.2.


[DS-3656]  DOIOrganiser CLI does not change the database anymore

HibernateDBConnection add session.flush in uncacheEntity 6_x

Just a note:  we may be coming back to this code later for performance reasons.  uncacheEntity is mildly recursive and can (now) result in multiple flushes (up to eight, for a Collection).  If this is a problem, then probably the logic needs to move to an internalUncacheEntity() that does no flushing, wrapped in uncacheEntity which just delegates to internalUncacheEntity() and then does one flush.  All the recursion would be confined to internalUncacheEntity().  Likely it is best to treat this as premature optimization, for now, but I noticed it and wanted to capture the thought.

This is (I think) prevented by the getSession().isDirty() check. This test will only return "true" is there are "unflushed" statements. Once you call getSession().flush() your session is "clean" again and it will not be executed again by the next recursive call. But it's best that we double check this by adding some debug/trace logging maybe.

On Slack #dev channel today, @ssolim recommended reverting the changes in this PR, and instead fixing this issue using newly added commit() messages like this: ssolim/DSpace@ac3ecbf

I will close this as https://github.com/DSpace/DSpace/pull/1823/files is preferred solution


archive: fix unrar-free and add support for unar

Done

I'll try to take a look at this again soon. Thanks!
The only thing I saw at a glance is that the first option for unrar isn't surrounded by () so it's not as easy to follow as I'd like, but it's not a deal breaker.

Could you add a note that the archive function won't work for rar files if you only have lsar and unar (and don't have any of the other alternatives).
Are there any other filetypes this would work with, since as far as I can tell these commands are from the Unarchiver (maybe not something for this PR, but it may be worth exploring in the future).

Done.
Yes, The Unarchiver can be also used for other files.

Looks good! Thanks!


Makes WorkflowRun.checkouts() public

Allows plugins to access the SCMs in the current pipeline run. Currently the next best option is WorkflowJob.getSCMs(), which gets the SCMs of the previous run.

I don't think the build error is because of the PR...

I don't think the build error is because of the PR...

You're right, it's not related, and it was fixed by updating to version 3.43 of the parent pom: https://github.com/jenkinsci/workflow-job-plugin/commit/76d44d5ea73ff763f86ad7b2c5f7fcac103eef07.

The approach described in https://github.com/jenkinsci/workflow-job-plugin/pull/130#discussion_r295013836 was implemented by https://github.com/jenkinsci/workflow-job-plugin/pull/141, so I am closing this. If you need the information in the SCMCheckouts, not just the SCM, we'd need to either make that class public or think of another way to expose the desired information, but it would help to understand your use case before we go down that route.


Access id of element from within ng-class.

How to access id of the html element from within ng-class?

you can't (unless, you've put the id of the element in scope somewhere, in which case you can).
This was an easy one =)
If you're interested in proposing this as a feature, should rename the issue to reflect that. I've got a scheme for proposing new features and getting feedback from the rest of the community, which I hope to launch next week, so you can be filled in on details in a bit

@pkozlowski-opensource I don't think people are likely to need it, no

@caitp agreed. Let's wait and hear from @ambrt on his functional use-case - maybe there is something that we can do better. If we don't hear back from him we are going to close this as won't fix.

Compare two example:

 lorem...

and

 lorem...

In first example if i will change id then i would have to also  change the string i pass to myMethod,
because its hardcoded.
In second example i can change id and the ng-class will use it automatically.

@ambrt we understand what you are trying to do (technically speaking), we just don't understand why (functionally speaking). In both your examples my1 is static, it is just provided as part of a different attribute. But it really doesn't change much - I mean - those are still just strings being part of HTML on the same element.
BTW: this doesn't reference a HTML element but a scope.
It would be easier to help you if you could explain what is a functional problem you are trying to solve here.

It doesn't change much. I agree. The one reason for having it dynamically is code re-usage. By coping whole base page to new project i would have edit code for each differently named ids, twice (once for id and once for element in myMethod()).
I'd like to thank you for taking time to answer this. Maybe i'd ask if it would take too much time or effort to make such feature. If it would,  then i accept it - you got more important things to do. But if its not, maybe someone besides me would use it, down the road.
Regards

@ambrt it is not about time it would take to implement - it is just that driving expressions based on DOM properties goes against the very nature of AngularJS where we want to drive displayed DOM from the JS model and not other way around.
The way of removing code duplication in HTML would be to write a custom directive where you are free to encapsulate repeating parts of HTML.
I'm going to close this issue as I don't think we want to allow DOM properties as part of AngularJS expressions.


Device taking time while OTA firmware download

Hello friends working on a project in which I'm downloads firmware by OTA is taking near by 2 min. I think that id too long time for 420KB file .. other thing is Im testing the same thing with AWS in that case file is hust downloaded in ~33sec so Im looking for help like what can be issue or is there sockets configuration or else ???

Hi @SS-iot-devoted, how did you measure the 2-min download time? Is it from creating a deployment to binary getting downloaded, or is it from actual start of download to finishing? Thanks.


Renaming an app

Right now if I want to rename my app. As in change the path and the display name, there seems to be no straight-forward way of doing it sans editing some dozens of XMLs.
Would it be possible to implement a rename command of sorts? Or is there a trivial way to do it that I'm missing out on ?

Dozens of Xml, you mean the storyboard files / xibs?

Well, what I mean is "there is no direction as to what the files are and if I grep for the app name I find it in dozens of places under the macos dir of the project"
Maybe this is more of an issue of me not understanding macos apps and beyond the scope of this project?

I think an automatic script wouldn't be a good idea, since it can be a lot of places that have to change.
We renamed our app (and bundle identifier) and I just did it by search and replacing and then taking a look at the errors. Highly not recommended though.
Part of that can be found in this commit.


Updates tests for phenotypes g2p api changes

The PR has commits a total of 11 commits all the way back to Jerome's from 10 days ago?


The script doesn't work

The script seems to have been written in an oldest version of python..or the code is simply wrong.
For istance,command Print needs parenthesis,and in instamaker.py all print commands are written without!Then,I think there's something wrong with the parser and probably also with the strings.
I don't know if the script will work,but surely there are many syntax errors.Maybe without these errors this script will effectively create accounts,I don't know...

The script worked well,but now security and API of Instagram has been changed,and the script no longer work. I check the syntax and it has not any problem within. print command DOES NOT NEED parenthesis. print command works with or without parenthesis. This script is written in Python 2.7,maybe you use Python 3.x to run this script.

Sorry man,I'm a newbie in python and I didn't think that there were these
differences between python 2 and python 3.
Anyway,could you be interested in writing a similar script for me?
I can pay you
2017-06-21 17:59 GMT+02:00 Behdad Ahmadi<EMAIL_ADDRESS>
The script worked well,but now security and API of Instagram has been
changed,and the script no longer work. I check the syntax and it has not
any problem within. print command DOES NOT NEED parenthesis. print
command works with or without parenthesis. This script is written in Python
2.7,maybe you use Python 3.x to run this script.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/behdadahmadi/instamaker/issues/1#issuecomment-310125254,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Abq6nMAfBgDE7VU8595-IOCmZSbBWab8ks5sGT3TgaJpZM4N8JSU
.

No problem man,but I am so sorry, I can't help you due to new security and API of Instagram. They change it to make it more secure. Anyway you need a proxy(sniffing) between your phone and Instagram server to intercept traffic(header,data) to know their mechanism(algorithm or etc) to write new script. I really don't have time to make it done,sorry.

Thank you,really man :)
good luck in everything
2017-06-25 21:29 GMT+02:00 Behdad Ahmadi<EMAIL_ADDRESS>
Closed #1 https://github.com/behdadahmadi/instamaker/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/behdadahmadi/instamaker/issues/1#event-1137822362,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Abq6nDSz9bXOdm_l0DUu6QtPh1BtDoVGks5sHrU2gaJpZM4N8JSU
.

You're welcome :-)
Thanks a lot. You too.


[NUCLEO_L432KC] Add target

report__2016-06-17_<IP_ADDRESS>__L432KC__common__ALL.html.zip

@svastm Seems that RTOS tests are failing for GCC. Any idea if this could be fixed?

Yes, it's because the target use the nano lib from GCC ("default_build": "small"). I have not enough info about the size limit to switch to standard.
I just let a comment to talk about it there #1907.

I switched to standard for this one because the target has 256KB of flash and 64KB of SRAM.
The tests are ok now with GCC:
Test summary:
+---------------+---------------------+-----------+---------+-------------------------+--------------------+---------------+-------+
| Result        | Target              | Toolchain | Test ID | Test Description        | Elapsed Time (sec) | Timeout (sec) | Loops |
+---------------+---------------------+-----------+---------+-------------------------+--------------------+---------------+-------+
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_1  | Basic thread            |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_2  | Mutex resource lock     |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_3  | Semaphore resource lock |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_4  | Signals messaging       |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_5  | Queue messaging         |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_6  | Mail messaging          |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_7  | Timer                   |         0          |       0       |   -   |
| NOT_SUPPORTED | NUCLEO_L432KC       | uARM      | RTOS_8  | ISR (Queue)             |         0          |       0       |   -   |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_1  | Basic thread            |        11.6        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_2  | Mutex resource lock     |       11.57        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_3  | Semaphore resource lock |        8.6         |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_4  | Signals messaging       |        6.55        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_5  | Queue messaging         |        2.6         |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_6  | Mail messaging          |        2.56        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_7  | Timer                   |       11.59        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | ARM       | RTOS_8  | ISR (Queue)             |        6.57        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_1  | Basic thread            |       11.61        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_2  | Mutex resource lock     |       11.57        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_3  | Semaphore resource lock |        8.6         |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_4  | Signals messaging       |        6.57        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_5  | Queue messaging         |        2.58        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_6  | Mail messaging          |        2.57        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_7  | Timer                   |       11.58        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | GCC_ARM   | RTOS_8  | ISR (Queue)             |        6.58        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_1  | Basic thread            |        11.6        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_2  | Mutex resource lock     |       11.56        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_3  | Semaphore resource lock |        8.6         |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_4  | Signals messaging       |        6.56        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_5  | Queue messaging         |        2.6         |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_6  | Mail messaging          |        2.61        |       20      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_7  | Timer                   |       11.56        |       15      |  1/1  |
| OK            | NUCLEO_L432KC[FF26] | IAR       | RTOS_8  | ISR (Queue)             |        6.59        |       20      |  1/1  |
+---------------+---------------------+-----------+---------+-------------------------+--------------------+---------------+-------+
Result: 24 OK / 8 NOT_SUPPORTED

Thanks for that gcc switch, it makes sense for that target

LGTM


Close drawer on page change.

So inside my drawer I am emitting an action to change scenes.
I noticed this negates the page change and only closes the draw:
 Actions.home()
 Actions.refresh({key: 'drawer', open: value => false })

With minimal knowledge on the design of the library, I could see this being caused by some async locking. Could I append a params or callback to either of these functions to get my desired behavior? Thanks in advance.

I was facing this either, took me very long time to find solution.
Right now, this seems to be the best solution:
(i guess you are calling those two statements when selecting an item from the drawer)
<Drawer
    .....
    content={<DrawerContent />}
    .....
</Drawer>

class DrawerContent extends Component {

	onHomeSelected(redirect){
		const drawer = this.context.drawer;
		drawer.close()
		Actions.home()
	}

	render() {
		return (
			<View>
				<Text style={{fontSize:40}} onPress={()=>this.onHomeSelected()}>HOME</Text>
			</View>
		)
	}
}

DrawerContent.contextTypes = {
	drawer: React.PropTypes.object
}

hope this helps you :)

I ended up doing something similar with a prop
SideMenu.js
class SideMenu extends Component {
  static propTypes = {
    close: PropTypes.func.isRequired
  }

Draw.js
class AppDrawer extends Component {
  closeSideMenu() {
    this._drawer.close()
  }

  render(){
    const state = this.props.navigationState
    const children = state.children

      return (
        <Drawer
          ref={(ref) => this._drawer = ref}
          type="static"
          tapToClose={true}
          open={state.open}
          onOpen={()=>Actions.refresh({key:state.key, open: true})}
          onClose={()=>Actions.refresh({key:state.key, open: false})}
          content={<SideMenu close={this.closeSideMenu.bind(this)}/>}
          openDrawerOffset={70}
          closedDrawerOffset={-3}
          styles={drawerStyles}>
          <DefaultRenderer session={session}
                           navigationState={children[0]}
                           onNavigate={this.props.onNavigate} />
        </Drawer>
      );
    } else {
      return <Text>Invalid Session</Text>
    }
  }
}

Thank you for the direction helped immensely!

@charpeni u can close this

Not sure if this is a good solution but works for me. In your components called from the drawer add this method Actions.refresh({ key: 'drawer', open: false }) to componentWillMount()


pull_req

did i make this pr? @bresilla
im just trying to work out if my memory is functioning or not lol

I don't remember either. I think I used your fork and opened a pull request and merged it :) :) :)

haha ok im glad it was of some use :)
i ended up making my own program and called it lulezojne inspired by lule :)


Replacing the linter

Fixes https://github.com/Kotlin/dataframe/issues/364, the last stopper for updating to Kotlin 2.0.

replaced kotlinter by jlleitschuh's ktlint plugin
.editorconfig is used to set the rules of the linter and the code style
Please use https://plugins.jetbrains.com/plugin/15057-ktlint from now on :)
Individual cases can be @Suppress-ed easily with that plugin
I mostly-automatically refactored the entire project, but I checked all changes
I fixed some manual things: *-imports, names of consts, @file:ExcludeFromSources to prevent "empty" files in generated-sources
Tests in samples/api are cleaned for now and ignored by ktlint on a per-file basis (@file:Suppress("ktlint"))
See the issue for more information

@Jolanrensen you did a great job leading us forward to K2, but let's discuss that when you return and change if possible some rules

@Jolanrensen you did a great job leading us forward to K2, but let's discuss that when you return and change if possible some rules

Thanks for reviewing!
I think some of your suggestions are in conflict with the official Kotlin styleguide which are honored by Ktlint. We could deviate as I've done with a small number of rules in the .editorconfig file but we would need to be sure it'd be in the best interest of the library and our users.
For example, I've turned off the filename check, as we name our API files after the function-family it represents.  }

As for the trailing-comma case, there are many viewpoints on what's best.
The Kotlin coding convention specifies many benefits:

It makes version-control diffs cleaner – as all the focus is on the changed value.
It makes it easy to add and reorder elements – there is no need to add or delete the comma if you manipulate elements.
It simplifies code generation, for example, for object initializers. The last element can also have a comma.
It even encourages it at declaration site (so defining classes, functions, etc.) and leaves it at our own discretion for the call site.

Ktlint enables trailing commas on call site by default for the same reasons as on the declaration site, however, while IntelliJ can be configured to allow or disallow trailing commas, Ktlint can only be configured to enforce or disallow them. Consistency is preferred, which is honestly a good decision I think.
Now, enforcing trailing commas does make notation like
myFunction(
  singleArg,
)

appear. Which is debatably ugly and can hurt our ability to read it well, however it can often be rewritten like:
myFunction(singleArg)

or
myFunction(
  arg = singleArg,
)

Having trailing commas for function calls with many (optional) named arguments is still a must for me:
createValueColumn(
    name = name,
    values = values,
    type = getValuesType(
        values = values,
        type = typeOf<T>(),
        infer = infer,
    ),
)

Being able to reorder arguments like these or add new ones is something that occurs a lot and it can save headaches with merge conflicts if every line simply ends with a comma.
So, to conclude, I think we should follow kotlin-juypter and just enable them both on the call- and the declaration site.