1.2 Release

Hi!
What does the 1.2 release mean with "Switch to jaydeep17's DateTimePicker"?
Is it the same now? Or what do you mean with that?
Do you have a gmail (hangout) address so we can talk easily without submitting always an issue :-)
Regards
Chris

Ah forget it... :-)
I know what you mean .... It is really to hot in my country ;-)


Added Log Forwarding management

I/O Runtime is working on configurable Log Forwarding, which will allow a namespace to be configured to custom logs destination. Currently supported: Splunk, Azure Log Analytics. This PR allows logging configuration to be managed via aio CLI.
Description
Added LogForwarding API that allows to manage Log Forwarding via Log Management REST API at adobeioruntime.net
Related Issue

https://github.com/adobe/aio-lib-runtime/issues/71
https://github.com/adobe/aio-cli-plugin-runtime/pull/246

Motivation and Context

I/O Runtime is working on configurable Log Forwarding, which will allow a namespace to be configured to custom logs destination. Currently supported: Splunk, Azure Log Analytics. This PR allows logging configuration to be managed via aio CLI.
How Has This Been Tested?

Auto tests are included.
Also, validated manually via new runtime plugin commands on existing I/O Runtime environment with my namespaces.
Screenshots (if appropriate):
N/A
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks for the contribution @buskamuza . That is pretty comprehensive.
Is there a reason we are not including LogForwarding API in RuntimeAPI.
This would make it consistent with the other OW API calls.
WDYT.
Currently the OW API calls through this library go through the object returned with
RuntimeLib.init({namespace, auth, apiKey}) which is just the RuntimeAPI class.
aio-cli-plugin-runtime has a common method to do this which every other command reuses.

Hi @buskamuza , Do you know if it's possible to create a test splunk index and use that for our end to end tests https://github.com/adobe/aio-lib-runtime/tree/master/e2e ?

Thanks for the contribution @buskamuza . That is pretty comprehensive.
Is there a reason we are not including LogForwarding API in RuntimeAPI.
This would make it consistent with the other OW API calls.
WDYT.
Currently the OW API calls through this library go through the object returned with
RuntimeLib.init({namespace, auth, apiKey}) which is just the RuntimeAPI class.
aio-cli-plugin-runtime has a common method to do this which every other command reuses.

Done

Thanks @shazron . Merging this. Will fix the JSDoc warnings in a later PR.


watch in 0.9.0 does not seem to work

The option -watch for etcd in 0.9.0 does not seems to work anymore, in 0.8.0 it is working for me. When I use 0.9.0 with -watch confd simply exits without an error message:
> confd -watch=true  -node <IP_ADDRESS>:4001 -log-level debug
confd[618]: INFO Backend set to etcd
confd[618]: INFO Starting confd
confd[618]: INFO Backend nodes set to <IP_ADDRESS>:4001
confd[618]: DEBUG Loading template resources from confdir /etc/confd

Disabling watch works, but then of course it uses interval polling.

sry, seems the issue is somewhere else, probably something wrong with my config...


can't build futures_util in some cases

crate2nix 0.7.0-beta.1
[dependencies]
futures = { version = "0.3", default-features = false, features = ["compat"] }
futures01 = { package = "futures", version = "0.1" }

fn main() {
    println!("Hello, world!");
}

Building src/lib.rs (futures_util)
Running rustc --crate-name futures_util src/lib.rs --out-dir target/lib --emit=dep-info,link -L dependency=target/deps --cap-lints allow -C opt-level=3 -C codegen-units=4 --extern futures_01=/nix/store/fy357naqvcp32pwzvfsy8js2656cg3mz-rust_futures-0.1.29-lib/lib/libfutures-b4d31530db.rlib --extern futures_channel=/nix/store/8fawwkmsfka609mrpvh2zkv9xxigsc4i-rust_futures-channel-0.3.1-lib/lib/libfutures_channel-89d404dce0.rlib --extern futures_core=/nix/store/3mkq50ackk1mabrr4jsw4wgxy3r7fywa-rust_futures-core-0.3.1-lib/lib/libfutures_core-b242c18f17.rlib --extern futures_io=/nix/store/8l7aykr100h7wimgq6x533gxgxaj6df0-rust_futures-io-0.3.1-lib/lib/libfutures_io-20eec2fb3b.rlib --extern futures_sink=/nix/store/7k45qsgp7dvs9rwd0p87xhjfb1dmwwjz-rust_futures-sink-0.3.1-lib/lib/libfutures_sink-86f23fc531.rlib --extern futures_task=/nix/store/3nrnys0pvza4asnyzbawczs8jfspr3ll-rust_futures-task-0.3.1-lib/lib/libfutures_task-53a5ce36f5.rlib --extern memchr=/nix/store/cymqzvxvzigisa8q1isjdqqx5y0rm9dx-rust_memchr-2.3.0-lib/lib/libmemchr-ff22be23c8.rlib --extern pin_utils=/nix/store/741ijdwd1w9lcrqp8bim3spkg64r6r6a-rust_pin-utils-0.1.0-alpha.4-lib/lib/libpin_utils-f799508eca.rlib --extern slab=/nix/store/pf4w8jhfbjia2q45ipd0y3z6c2sfnf93-rust_slab-0.4.2-lib/lib/libslab-d13bd9d52c.rlib --cfg feature="alloc" --cfg feature="async-await" --cfg feature="async-await-macro" --cfg feature="channel" --cfg feature="compat" --cfg feature="futures-channel" --cfg feature="futures-core/alloc" --cfg feature="futures-core/std" --cfg feature="futures-io" --cfg feature="futures-macro" --cfg feature="futures-sink" --cfg feature="futures-task/alloc" --cfg feature="futures-task/std" --cfg feature="futures_01" --cfg feature="io" --cfg feature="memchr" --cfg feature="proc-macro-hack" --cfg feature="proc-macro-nested" --cfg feature="sink" --cfg feature="slab" --cfg feature="std" --edition 2018 -C metadata=2d5950350b -C extra-filename=-2d5950350b --crate-type lib --color always
error[E0432]: unresolved import `proc_macro_hack`
 --> src/async_await/join_mod.rs:3:5
  |
3 | use proc_macro_hack::proc_macro_hack;
  |     ^^^^^^^^^^^^^^^ use of undeclared type or module `proc_macro_hack`

error[E0432]: unresolved import `proc_macro_hack`
 --> src/async_await/select_mod.rs:3:5
  |
3 | use proc_macro_hack::proc_macro_hack;
  |     ^^^^^^^^^^^^^^^ use of undeclared type or module `proc_macro_hack`

error[E0432]: unresolved import `futures_macro`
   --> src/async_await/select_mod.rs:162:13
    |
162 |     pub use futures_macro::select;
    |             ^^^^^^^^^^^^^ use of undeclared type or module `futures_macro`

error[E0432]: unresolved import `futures_macro`
  --> src/async_await/join_mod.rs:81:13
   |
81 |     pub use futures_macro::try_join;
   |             ^^^^^^^^^^^^^ use of undeclared type or module `futures_macro`

error[E0432]: unresolved import `futures_macro`
  --> src/async_await/join_mod.rs:78:13
   |
78 |     pub use futures_macro::join;
   |             ^^^^^^^^^^^^^ use of undeclared type or module `futures_macro`

error: cannot determine resolution for the attribute macro `proc_macro_hack`
   --> src/async_await/select_mod.rs:161:7
    |
161 |     #[proc_macro_hack(support_nested)]
    |       ^^^^^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the attribute macro `proc_macro_hack`
  --> src/async_await/join_mod.rs:80:7
   |
80 |     #[proc_macro_hack(support_nested)]
   |       ^^^^^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the attribute macro `proc_macro_hack`
  --> src/async_await/join_mod.rs:77:7
   |
77 |     #[proc_macro_hack(support_nested)]
   |       ^^^^^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: aborting due to 8 previous errors

For more information about this error, try `rustc --explain E0432`.
builder for '/nix/store/kxngwa4nxvkb59f69fbjvcf87na5wz0r-rust_futures-util-0.3.1.drv' failed with exit code 1
cannot build derivation '/nix/store/4pv8kbnfgl8ixkx5wsyi06wz317gs1f8-rust_test-crate2nix-0.1.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/4pv8kbnfgl8ixkx5wsyi06wz317gs1f8-rust_test-crate2nix-0.1.0.drv' failed

Thank you for the report and the sample! I could reproduce it and I think that it is something that is useful and should be supported.
I also verified quickly that each of these dependencies builds seperately.
The generated code is already quite obviously wrong:
{
        # ...
        dependencies = [
          {
            name = "futures";
            packageId = "futures 0.1.29";
            usesDefaultFeatures = false;
            features = [ "compat" ];
          }
          {
            name = "futures";
            packageId = "futures 0.1.29";
            rename = "futures01";
          }
          {
            name = "futures";
            packageId = "futures 0.3.4";
            usesDefaultFeatures = false;
            features = [ "compat" ];
          }
          {
            name = "futures";
            packageId = "futures 0.3.4";
            rename = "futures01";
          }
        ];
}

The rename support in buildRustCrate is keyed by crate name so it will also be a problem:
       let // ...
            crateRenames =
              builtins.listToAttrs
                (map (d: { name = d.name; value = d.rename; }) dependenciesWithRenames);
        in
           // This is the `buildRustCrate` call -- just that users can override it.
           buildRustCrateFunc (
              crateConfig // {
                src = crateConfig.src or (
                  pkgs.fetchurl {
                    name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
                    url = "https://crates.io/api/v1/crates/${crateConfig.crateName}/${crateConfig.version}/download";
                    sha256 = crateConfig.sha256;
                  }
                );
                inherit features dependencies buildDependencies crateRenames release;
              }
            );

I have fixed this but I need to wait for the related nixpkgs review and eventual merge: https://github.com/NixOS/nixpkgs/pull/84179
cargo metadata makes this rediculously difficult. I had to rematch the version requirements of the dependencies against the resolved packages for a package.
https://github.com/kolloch/crate2nix/commit/10d8de9aa7d27b46bf515811af6fdd65ef489671

It seems I'm not able to reproduce with my test case. Thanks!

In https://github.com/kolloch/crate2nix/issues/51, it seems like this issue is occurring again.
The generated code in Cargo.nix looks as expected:
      "futures-renamed-test" = rec {
        crateName = "futures-renamed-test";
        version = "0.1.0";
        edition = "2018";
        crateBin = [
          { name = "futures-renamed-test"; path = "src/main.rs"; }
        ];
        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./.; };
        authors = [
          "Peter Kolloch<EMAIL_ADDRESS>        ];
        dependencies = [
          {
            name = "futures";
            packageId = "futures 0.1.29";
            rename = "futures01";
          }
          {
            name = "futures";
            packageId = "futures 0.3.5";
            usesDefaultFeatures = false;
            features = [ "compat" ];
          }
        ];

      };

Hah! I didn't merge the fix to the master. That explains why it doesn't work. The integration test wasn't yet activated.
Thank you for your insistance, @bbigras. I merge the fix now, sorry.

hehe.
It works and now I can use crate2nix with another project. Sweet.
Thank you very much!


geopandas 0.12.2

Jira ticket:  (-)
The upstream data:
Changelog:
License:
Requirements:
Actions:

Skip py<38

Fix python in host and run

Update pinnings

Update test/imports

Fix home url

Add license_family

Add description

Update dev and doc urls

Notes:
*
Additional info:

Package's statistics

Priority C | effort: easy | Category: anaconda_affiliated_deps | subcategory:  | pkg_type: python
Outdated platfroms: 'linux-64', 'linux-aarch64', 'linux-ppc64le', 'osx-64', 'osx-arm64', 'win-64'
Latest version: 0.12.2
Release on PyPi:

version: 0.12.2
date: 2022-12-10T18:39:09

PyPi history
Popularity:

3 months downloads: 152030.0
All time:  2286218 downloads -  geopandas  0.12.2  Geographic pandas extensions

Other checks:

[ ] The upstream url error:
http://geopandas.org/tree/0.12.2
302
The upstream url must have HTTPS!

[ ] The upstream url error:
http://geopandas.org

The home url must have HTTPS!
3. - [ ] Check the pinnings
4. - [ ] Changelog url error:
http://geopandas.org/tree/0.12.2
302
5. - [ ] Additional research
http://geopandas.org/issues

[ ] dev_url error:
http://geopandas.org

The dev_url must have HTTPS!
7. - [ ] doc_url error:

[ ] Verify that the build_number is correct

[ ] Verify if the package needs setuptools

[ ] Verify if the package needs wheel

[ ] NO pip in test

[ ] Verify the test section

[ ] Verify if the package is architecture specific

[ ] Verify that private modules are not mentioned in the recipe For example: (_private_module)

[x] license_file: LICENSE.txt is present

[ ] License family is NOT present

[x] License: BSD-3-Clause
[x] License is spdx compliant

Check if the license identifier has correct name from the SPDX License List

Identifier

BSD-3-Clause

BSD-3-Clause-Attribution

BSD-3-Clause-Clear

BSD-3-Clause-LBNL

BSD-3-Clause-Modification

BSD-3-Clause-No-Military-License

BSD-3-Clause-No-Nuclear-License

BSD-3-Clause-No-Nuclear-License-2014

BSD-3-Clause-No-Nuclear-Warranty

BSD-3-Clause-Open-MPI

Check dependency issues:

../aggregate/geopandas-feedstock/recipe/meta.yaml
Dependencies: ['mapclassify >=2.2.0', 'python >=3.6>=3.6', 'shapely', 'fiona', 'rtree', 'matplotlib-base', 'pandas >=0.24', 'pyproj >=2.2.0', 'geopandas-base', 'pip']
noarch:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

linux-64:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

linux-ppc64le:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

linux-s390x:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

osx-64:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

osx-arm64:

py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

win-64:

py3.7:  invalid package specification: python >=3.6>=3.6
py3.8:  invalid package specification: python >=3.6>=3.6
py3.9:  invalid package specification: python >=3.6>=3.6
py3.10:  invalid package specification: python >=3.6>=3.6

Links:

Anaconda Recipes feedstock
Update branch
conda-forge recipe
PyPI
Diff between upstream and feature branch
Diff between origin and feature branch
The last merged PRs

Updating the recipe:
If the recipe needs additional modification the update branch can be modified. Note that the PR diffs are not updated with these changes.
git clone -b 0.12.2 git@github.com:AnacondaRecipes/geopandas-feedstock.git

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:37: outputs_not_unique: output "geopandas": Output name is not unique
ERROR: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:60: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:60: missing_description: The recipe is missing a description
ERROR: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:60: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:60: http_url: http://geopandas.org is not https
ERROR: /tmp/abs_48vq27w_u0/clone/recipe/meta.yaml:60: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_fe7c6nq94r/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_fe7c6nq94r/clone failed. (See above for error)

An error on s390x:
conda.exceptions.ResolvePackageNotFound:
  - rtree
  - fiona[version='>=1.8']
  - geopandas-base==0.12.2=py310ha847dfd_0
  - xyzservices

We can skip building on s390x

geopandas dependencies cause errors for python 3.10. It seems like one of them is missing artifacts

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_64lgq2rsj_/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_64lgq2rsj_/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_61otpgv1lz/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_61otpgv1lz/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_39yuyinx0v/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_39yuyinx0v/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_caiasq4q7g/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_caiasq4q7g/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_818r9f5jxv/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_818r9f5jxv/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_06ycd_oo4s/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_06ycd_oo4s/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_23_qhjn4wj/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_23_qhjn4wj/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_6b636mxio3/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_6b636mxio3/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_a1weo319u6/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_a1weo319u6/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_cdxthuqbu_/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_cdxthuqbu_/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_ebma8rtf70/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_ebma8rtf70/clone failed. (See above for error)

Linter check found the following problems:
Traceback (most recent call last):
  File "/opt/conda/envs/linter/bin/conda-lint", line 11, in
    sys.exit(main())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/run.py", line 107, in main
    result = linter.lint(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 620, in lint
    msgs = self.lint_file(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 692, in lint_file
    messages = self.lint_recipe(
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 749, in lint_recipe
    res = self.check_instances[check].run(recipe, fix)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/__init__.py", line 258, in run
    self.check_deps(recipe.get_deps_dict())
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/lint/check_build_help.py", line 349, in check_deps
    build_file = self.recipe.get(script)
  File "/opt/conda/envs/linter/lib/python3.10/site-packages/anaconda_linter/recipe.py", line 583, in get
    raise KeyError(f"No '{path}' in Recipe {self}") from None
KeyError: "No 'outputs/1/script' in Recipe /tmp/abs_74wxeuunil/clone/recipe/"
ERROR conda.cli.main_run:execute(47): conda run conda-lint /tmp/abs_74wxeuunil/clone failed. (See above for error)


Fix to make the sorting of CSV files prior to import consistent across different OSs

Nice catch, Sir Gerry! Thanks a lot!


Enable Hive E2E tests in CI

Which issue this PR addresses:
Fixes no Jira
What this PR does / why we need it:
With the merge of #3978, the Hive tests now function correctly in CI (tested manually, see https://msazure.visualstudio.com/AzureRedHatOpenShift/_build/results?buildId=109487069&view=logs&j=db690490-d817-5143-da35-29bc37ac10d9&t=7ab7f38e-816f-5a76-939c-0ca727e8db32 for an example).
This PR re-enables these tests. Note that they are still skipped when not in the development context, e.g. during release E2E.
Test plan for issue:

[X] E2E on this PR passes and the Hive tests are included

Is there any documentation that needs to be updated for this PR?
No
How do you know this will function as expected in production?
Non-production change

/azp run ci

/azp run ci

/azp run ci

/azp run ci

/azp run ci

E2E failed here:
https://github.com/Azure/ARO-RP/blob/d9a1538949bf93bfe1aa9497b147d6f2bc075535/test/e2e/hive.go#L75
Maybe the APIURLOverride is getting clobbered on cluster updates and we need to add it to the adopt ClusterDeployment like you did for the resource group ID?

yeah, I just pushed this up, I'll kick off another run.

/azp run ci

/azp run ci


Update repository with recent DigitalEarthAfrica notebooks and code

In the recent ODC Hackathon 2020 there were some major additions and updates to code in the DEAfrica notebooks repository (https://github.com/digitalearthafrica/deafrica-sandbox-notebooks).
We should keep a list of relevant things that were updated in DEAfrica notebooks/code so that we can port them back over to dea-notebooks.
@cbur24, @caitlinadams, if you get a chance can you comment with any new notebooks/functionality that was developed during the hack that you think would also be useful to include in dea-notebooks? I'm thinking things like the Dask notebook I saw that would work just as well in the Australian context.

We're most of the way through an introductory notebook to explain Dask: https://github.com/digitalearthafrica/deafrica-sandbox-notebooks/pull/38
Potentially the Sentinel-1 notebook: https://github.com/digitalearthafrica/deafrica-sandbox-notebooks/blob/master/Datasets/Sentinel_1.ipynb
Possibly the Urbanization case study I started: https://github.com/digitalearthafrica/deafrica-sandbox-notebooks/pull/37 -- However, I think this should probably be reworked to focus less on calculating a sustainable development goal, and potentially more on an Australian industry/monitoring kind of question

The format/structure of the Landsat Collections notebook could work well for Aus.  Would need to switch out the USGS Landsat collections C1 & C2 for the Aus variants C3 & C2.
Wetlands Insight Tool notebook under Real_world_examples.  Some adjustments would need to be made to the deafrica_wetlandstools.py script to make it work for Aus.

Another one I noticed come up in Github emails: was there a bug fix to mostcommon_crs to allow it to work when certain query/data load params are passed to it? @cbur24

Yes, that's right @robbibt . Pretty basic, I just removed the offending params:
query = deepcopy(query)
    if 'dask_chunks' in query:
        query.pop('dask_chunks', None)

    if 'align' in query:
        query.pop('align', None)

A better fix might be to take the query input and only select the params that mostcommon_crs requires (time, lat, lon)

A soil moisture notebook has recently been added to the 'Datasets' folder in the DE Africa repo. Uses a global dataset at 10km resolution so should be useful for Australia too

I've added a notebook on generating median, mean, min and max composites to go along with the geomedian notebook. This largely replaces the functionality offered by the DCAL mosaic notebook.
See the PR for details, as I also changed the title of the existing geomedians notebook to group them together.

A notebook on downloading and anlaysing ERA5 reanalysis climate data
Major update to the training data function(s) in dea_classificationtools.py, runs in parallel now and can accept a custom function. Line 305 to 650 here

Added ds.sel(method='...') examples in Frequently_used_code/Working with time in xarray notebook in this PR.

New Frequently_used_code notebook demonstrating a PCA on multispectral data

Two new Beginners_guide notebooks:

Intro_to_numpy
Intro_to_xarray

New notebook Vegetation_phenology, and accompanying script deafrica_temporal_statistics

This is done, but we should revisit in the future


Slack clear timestamps should match alerts

Fixes the mismatched timestamp formats as reported by @pcn in #115.

/cc @akahn @collinvandyck

:sake: :santa:

This is now live in production.

:fire: :fire: :fire: :fire: :fire: :fire: :fire: :fire:


I3-easyfocus

Motivation for this change
This is a very practical tool to quickly focus windows, similar to what vimium, vim-sneak, qutebrowser do to give focus on specific elements.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: i3-easyfocus, i3ipc-glib
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622
shrinking /nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622/bin/i3-easyfocus
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622/bin
patching script interpreter paths in /nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622
checking for references to /build in /nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622...
/nix/store/r52f9yj409s9ic8vvs14ixl5a5k8bhfs-i3easyfocus-20180622
/nix/store/a48yx418j3if21c2ycjx3cpfpgk39fm4-i3ipc-glib-0.6.0

Success on aarch64-linux (full log)
Attempted: i3-easyfocus, i3ipc-glib
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622
shrinking /nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622/bin/i3-easyfocus
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622/bin
patching script interpreter paths in /nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622
checking for references to /build in /nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622...
/nix/store/6wxs9d33k8bakv2mhsch5mpzlmx7jd78-i3easyfocus-20180622
/nix/store/0zl9bwqqcx0wzpdx1wqqf0z4km6c1m4f-i3ipc-glib-0.6.0

@garbas any interest in this as an i3 maintainer ?

@teto i didn't know about i3-easyfocus. definitely i was looking for something like this already in the past.


can someone please provide an example of using the Environment object between workers in the pool

hi,
i'm trying to make use of the Environment object in my task implementation and can't seem to wrap my head around on how to use it in a called function after setting it in the run function. This is what I have so far:
namespace CommonFunctions;

use Amp\Parallel\Worker\Environment;

use Amp\Parallel\Worker\Task;

class Misc extends Magic_Parser implements Task {

    const TEST = '';

    private $function;

    private $args;

    public function __construct($function, $args) {
        parent::__construct();
        $this->function = $function;
        $this->args = $args;
    }

    public function run(Environment $environment)
    {
        $test= $environment->get(Misc::TEST);
        if ($db === null) {
            $test = 'test'; // Unserializable object.
            $environment->set(Misc::TEST, $test);
        }
        $function = $this->function;
        return $this->$function($this->args);
    }

public function fetch($job) {

    print_r(self::TEST); // this prints empty, instead of the string "test" as set in the run method

    return TRUE;

}

How i assign the task in the master script:
$tasks[] = new Misc('fetch', $job);
Thank you!

    public function run(Environment $environment)
    {
        $test= $environment->get(Misc::TEST);
        if ($db === null) {  // <-- here you're using $db instead of $test
            $test = 'test'; // Unserializable object.
            $environment->set(Misc::TEST, $test);
        }

print_r(self::TEST); prints an empty string, because you defined it that way in const TEST = ''. You need to fetch the value from the Environment. Please also try using a non-empty string instead of an empty one.

    public function run(Environment $environment)
    {
        $test= $environment->get(Misc::TEST);
        if ($db === null) {  // <-- here you're using $db instead of $test
        // ^^^^^^^^^^^^^^
        }

print_r(self::TEST); prints an empty string, because you defined it that way in const TEST = ''. You need to fetch the value from the Environment. Please also try using a non-empty string instead of an empty one.

ah okay. sorry but i thought setting it via the environment variable sets it automatically? and how would I go about doing it if that's not the case? apologies if this sounds like a stupid question

The Environment is pretty badly named, I guess. It's simply a cache. Your implementation is fine, you just need to pass $test to your other method if you want to use it there.

The Environment is pretty badly named, I guess. It's simply a cache. Your implementation is fine, you just need to pass $test to your other method if you want to use it there.

hi! apologies for the late reply! ahh okay okay noted..
thank you so much for answering so promptly!


feat(textarea): add autosize directive

Here's the separated PR for autosize, so you can think about the logic and what not.
@jelbourn

A row's height is calculated from line-height of the element, but unless the line-height is explicitly set, its initial value is normal, so to be able to dynamically set rows depending on the height of the textarea, I need to find the actual line-height.
So I'm creating a temp textarea element, reseting it's paddings and margins, visually hiding it, setting the rows attribute to 1(default is 2, but I'm not sure how consistent is it across browsers, so I'm setting it explicitly) and getting it's height, removing the element afterwards. When line-height is actually explicitly set(doesn't matter if it's by ems, pixels, percents, getComputedStyles always returns pixel values), I'm simply returning it as a number and doing none of above.
Now that I have actual line-height, I'm setting the min-height of the element to be
user provided rows value * line-height I found
The rest is similar to how it was before when input event happens, height is set to auto and rows to the initial value, which allows me to get the real scrollHeight even if user is removing instead of adding characters, afterwards new rows is calculated by diving the new scrollHeight by lineHeight.

So, I spent many hours today exploring the autosize thing. I looked at Polymer's approach, which uses a "mirror" element with the same content as the textarea. I tried playing with the idea a bit using a mirror element with white-space: pre-wrap and was happy with the results in Chrome, Safari, and Firefox. However, IE and Edge have a problem: it seems that the line wrapping behavior is different in a textarea vs. a normal element. This mainly manifests when you have a space right when the wrap would naturally occur. I spent way too long trying to get this to work. The Polymer implementation suffers from this problem, and I'd like to avoid it.
So, going back to the scrollHeight approach, I agree after messing with it that we should not work with both rows and autosize at the same time. However, we should probably support minRows and maxRows. I put together a prototype of how I think this should look. All of this can be done in a standalone md-autosize directive that is not coupled to MdInput.

@fxck let me know if you want to go ahead with the PR, otherwise I can send a PR based on my approach from above.

I'll be busy for a week or two now, so depends on how fast you want it in. As long as we can agree on this..

we should not work with both rows and autosize at the same time

..it should be easy though.

@fxck If you're busy I can try to tackle this in the next week or so.

Closed in favor of #1846


Start adding support for sensors

Add basic support for sensors in v1 API
Todo:

[x] Implement endpoint
[ ] Implement discovery (currently reading a storage value that doesn’t get populated)
[ ] Test everything

Should fix #50 once finished

@alexyao2015 would you be able to help with the discovery part? I have no idea how it’s implemented currently

@PatrikTheDev Are you still working on this? I'm coming back to this project.

I'm open to working on this again if I find some free time but I didn't test anything yet. There's a lot of work to finish on this project still!


NavigationView not resetting its SelectedItem if all items are unselected

Describe the bug
Setting the NavigationViewItem.IsSelected property to false for all the items in NavigationView.MenuItems is not resetting NavigationView.SelectedItem
Steps to reproduce the bug

Create a new app with the following XAML code:

<mux:NavigationView
    x:Name="navView"
    IsBackEnabled="True"
    PaneDisplayMode="Top">
    <mux:NavigationView.MenuItems>
        <mux:NavigationViewItem x:Name="navViewItemA" Content="Item A" />
        <mux:NavigationViewItem x:Name="navViewItemB" Content="Item B" />
    </mux:NavigationView.MenuItems>

    <StackPanel>
        <Button Click="SelectItemAClicked" Content="Select item A" />
        <Button Click="SelectItemBCliked" Content="Select item B" />
        <Button Click="SelectNoneBCliked" Content="Select None" />
    </StackPanel>
</mux:NavigationView>

Add the following code behind:

private void SelectItemAClicked(object sender, RoutedEventArgs e)
{
    navViewItemB.IsSelected = false;
    navViewItemA.IsSelected = true;
}

private void SelectItemBCliked(object sender, RoutedEventArgs e)
{
    navViewItemA.IsSelected = false;
    navViewItemB.IsSelected = true;
}

private void SelectNoneBCliked(object sender, RoutedEventArgs e)
{
    navViewItemA.IsSelected = false;
    navViewItemB.IsSelected = false;
}

Run the application and click on the three buttons in the following order : Select Item A, Select Item B, Select None
3.1. Notice that Item A and Item B are properly selected when clicking on the first two buttons
3.2. Notice that Item B remains selected when clicking on None

Expected behavior
When setting all the items to IsSelected = false, the SelectedItem of NavigationView should revert to null
Screenshots

Version Info
NuGet package version:
Microsoft.UI.Xaml 2.1.190606001
Microsoft.UI.Xaml 2.2.190611001-prerelease

Windows 10 version
Saw the problem?

May 2019 Update (18362)
Yes

Device form factor
Saw the problem?

Desktop
Yes

Additional context
If we manually set the SelectedItem from the code behind, the NavigationView is properly deselecting all its items. I'm using this as a workaround for now but it would be great if toggling the NavigationViewItem.IsSelected works. It simplifies a lot the binding.
Proposed fix
[proposed by Yulikl]
NavigationViewItem has a boolean IsSelected property. When all of NavigationView's MenuItems set IsSelected to false, NavigationView should return null as its SelectedItem.

This is intentional per the original spec'd behavior -- NavigationView doesn't allow itself to get into the "no items are selected" state.
What is the scenario where you want this? Or is it simply that there's a scenario where these two get out of sync? (if it's just that SelectedItem and IsSelected get out of sync, that would be a bug)

The scenario is to disable all the navigation items when the user is navigating to the settings page (using the nav view settings button).
In this case, he is no longer on "Item A" or "Item B" page and I don't want to let him think that he is still on one "Item A/B" page whereas he is seeing the settings page.
I want to have something similar to the store application where the store section name (apps, games, movies...) remains selected for all the pages of this section (first page, product page...)

@vgromfeld, I'm confused by this description: I want to have something similar to the store application where the store section name (apps, games, movies...) remains selected for all the pages of this section (first page, product page...)
What event trigged the 'navigating to the settings page', in my understanding, user clicked settings button, focus moved to the settings button, then navigating the pages.
But in your case, look like navigating happens first, then switch the selection.
It's possible to have a two way binding like selectedItem for navview.SelectedItem, then after x.IsSelected=false, also set selectedItem=null

To elaborate a little bit, the confusing part is that NavigationView's default behavior is to un-select all of its menu items when the Settings item is selected through user interaction. I know you're using NavigationView in a somewhat unique way. So is the default behavior not working or is your experience different from the default as @licanhua suggested?

@licanhua, for now, the navigation to the settings page can be done only using the navigation view settings button. I'm actually using some binding to SelectedItem to workaround the IsSelected not working issue and it works.
If there is no binding to the IsSelected property, clicking on the settings item is properly unselecting all the navigation items.
But, let me go back on what we're trying to achieve and why I want to use binding with IsSelected:
I basically want two tabs in our application. The first "tab" will always display the same page (say tab1-page), the second tab will contain different pages (say tab2-page1, tab2-page2...).
The navigation to the tab pages can be performed by clicking on the navigation view items but also if the application is (re-)launched using file, deeplink... activation.
What I want is the following:

When the user clicks on one of the tab, navigate to the page of this tab (tab1-page for tab1 or the first page of tab2). The tab on which the user has clicked should be selected. This is the default behavior of the control.
App activation: based on the activation kind (launch, resume, file, deeplink,...) I will request a navigation to either the unique page of tab1 or one of the pages of tab2. The tab corresponding to the targeted page should be selected. If we have a deeplink to tab2-page23 for example, we want tab2 to be selected. This is where the IsSelected/SelectedItem is needed.
User clicks on the navigation view settings button, we want all tabs to be disabled.

@YuliKl, I would say that my needs are the current behavior + some additional control to have more flexibility since the navigation view control is not the only actor controlling the app navigation.

NavigationViewItem has a boolean IsSelected property. When all of NavigationView's MenuItems set IsSelected to false, NavigationView should return null as its SelectedItem.
@vgromfeld, would the behavior above fix the issue you've encountered?

NavigationViewItem has a boolean IsSelected property. When all of NavigationView's MenuItems set IsSelected to false, NavigationView should return null as its SelectedItem.
@vgromfeld, would the behavior above fix the issue you've encountered?

@vgromfeld, can you comment?

Yes, setting NavigationView.SelectedItem to null when all NavigationViewItem.IsSelected properties are false will fix the issue.
Sorry for the delay 😓

What would be an acceptable fix for this issue now? Should we just set SelectedItem to null if every item was unselected?

What would be an acceptable fix for this issue now? Should we just set SelectedItem to null if every item was unselected?

Yes 😎

Yes 😎

Thank you for the clarification! If it is okay, I would like to fix this. 😄

I believe @teaP was already working on this as I saw she just sent out the fix for TabView and our plan is to implement the same fix for NavigationView. See my earlier comment: https://github.com/microsoft/microsoft-ui-xaml/issues/957#issuecomment-530919266

Okay, I will leave this to @teaP then.

@teaP Are you working on this right now or can I add a fix for this?

@teaP is not working on this. You can pick it up if @chingucoding is ok with it. It looks like he called dibs earlier in the conversation thread :)

Thanks for ping @ranjeshj ! @Felix-Dev If you would like to fix this, sure go for it.

Hello -
Is there another ticket for this problem, or can this problem be reopened? I'm not able to implement a solution that allows me to dynamically create a NavigationViewItem and then select it.
This is in a WinUI3 app.  I can supply some demo code to show this if needed.
Thank you.

Hello -
Is there another ticket for this problem, or can this problem be reopened? I'm not able to implement a solution that allows me to dynamically create a NavigationViewItem and then select it.
This is in a WinUI3 app. I can supply some demo code to show this if needed.
Thank you.

@rcohn That sounds like a different issue. You can create a new issue with the repro details.


Fix file blocking issue with webcmdlets

PR Summary
Resolve #7669.
Allows multiple uploads of the same file in parallel
This PR changes how -InFile parameter on the Web cmdlets open file handles. Previously the file was opened with ShareAccess None, meaning that the file was locked, resulting in that you, for instance, was not able to upload the same file to multiple destinations in parallel.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[ ] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

@Claustn Thanks! I slightly corrected the PR title and description.

@Claustn Please rename your commit - start title with [Feature] or add new empty commit with title [Feature] - this will run full test set.

CI Appveyor temporary failed.

@Claustn Thanks for discovering the issue and fixing it!


ManagedObject to Receptacle matching

Motivation and Context
This PR adds a set of utils targeting the application of matching an object or candidate object placement location to nearby  Receptacles.
The util involves a few primary components:

point_to_tri_dist - a vectorized 3D point to triangle mesh distance computation util

TODO: should be moved to sim geometry utils

dist_to_rec - a function for Receptacles (only implemented for TriangleMeshReceptacle currently) to get distance to the receptacle from a point
get_obj_receptacle_and_confidence - a utility function for matching objects to receptacles. Includes logic for "floor" receptacles and region matching. Returns matches, a distance based confidence score, and a info_text string with a message explaining failure if applicable.

The util is then integrated with HitL ui to constraint object placements to active Receptacles for better alignment with oracle skills.
How Has This Been Tested
Initially tested in HitL app.
This version tested in episode validation work.
TODO: no unit tests for this functionality yet.
Types of changes

[Development] A pull request that add new features to the habitat-lab task and environment codebase. Development Pull Requests must be small (less that 500 lines of code change), have unit testing, very extensive documentation and examples. These are typically new tasks, environments, sensors, etc... The review process for these Pull Request is longer because these changes will be maintained by our core team of developers, so make sure your changes are easy to understand!

Checklist

[x] My code follows the code style of this project.
[x] I have updated the documentation if required.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes if required.

This one is ready, thanks for the suggestions.
I'll wait to merge until https://github.com/facebookresearch/habitat-sim/pull/2466 is in conda nightly tomorrow.

This one is ready, thanks for the suggestions. I'll wait to merge until facebookresearch/habitat-sim#2466 is in conda nightly tomorrow. Edit: I'll rebase at that point to validate that the hack can be removed.

done


Copy on pool host when storage pool has ScopeType.HOST

Description
This PR fixes an issue with storage volume migrations when a storage pool (source or destination) has ScopeType.HOST set.  Prior to this PR, the code in StorageSystemDataMotionStrategy selected any host in the cluster if the source storage pool did not have a cluster ID, or a host in the cluster if it did.  This effectively breaks ScopeType.HOST copies except when the selection resulted in the specific host the other storage pool resides on.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[X] Major
[ ] Minor
[ ] Trivial

How Has This Been Tested?
Performed copies between a local KVM storage pool and a FiberChannelAdapter storage pool.

@blueorangutan package

@rohityadavcloud a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan package

@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 10299

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 10302

[SF] Trillian Build Failed (tid-10775)

@blueorangutan test matrix

@rohityadavcloud a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-10779)

[SF] Trillian Build Failed (tid-10778)

[SF] Trillian Build Failed (tid-10777)

@blueorangutan test matrix

@rohityadavcloud a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-10780)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40435 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9356-t10780-xenserver-71.zip
Smoke tests completed. 132 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

[SF] Trillian test result (tid-10781)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 45159 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9356-t10781-vmware-67u3.zip
Smoke tests completed. 128 look OK, 4 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_DeployVmAntiAffinityGroup_in_project
Error
112.41
test_affinity_groups_projects.py

test_DeployVmAntiAffinityGroup
Error
45.05
test_affinity_groups.py

test_03_deploy_and_scale_kubernetes_cluster
Failure
46.37
test_kubernetes_clusters.py

test_08_upgrade_kubernetes_ha_cluster
Failure
0.08
test_kubernetes_clusters.py

test_01_non_strict_host_anti_affinity
Failure
148.40
test_nonstrict_affinity_group.py

test_02_non_strict_host_affinity
Error
104.23
test_nonstrict_affinity_group.py

[SF] Trillian test result (tid-10782)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45887 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9356-t10782-kvm-centos7.zip
Smoke tests completed. 129 look OK, 3 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_secure_vm_migration
Error
134.11
test_vm_life_cycle.py

test_01_secure_vm_migration
Error
134.11
test_vm_life_cycle.py

test_02_cancel_host_maintenace_with_migration_jobs
Error
239.15
test_host_maintenance.py

test_hostha_kvm_host_fencing
Error
108.47
test_hostha_kvm.py

[SF] Trillian test result (tid-10782) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 45887 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9356-t10782-kvm-centos7.zip Smoke tests completed. 129 look OK, 3 have errors, 0 did not run Only failed and skipped tests results shown below:
Test	Result	Time (s)	Test File
test_01_secure_vm_migration	Error	134.11	test_vm_life_cycle.py
test_01_secure_vm_migration	Error	134.11	test_vm_life_cycle.py
test_02_cancel_host_maintenace_with_migration_jobs	Error	239.15	test_host_maintenance.py
test_hostha_kvm_host_fencing	Error	108.47	test_hostha_kvm.py

verified locally, there are intermittent. test_01_secure_vm_migration fails during tear down of VM as router is in Starting start (and unable to update the rules).


Create ABC for .getvalue

stdio_mgr expects getvalue to exist on BytesIO, and previously expected it to exist on StringIO, and the docs still refer to StringIO.getvalue, but there is no base/abstract type which defines this.
>>> import io
>>> io.BytesIO.__class__.__mro__
(<class 'type'>, <class 'object'>)
>>> io.StringIO.__class__.__mro__
(<class 'type'>, <class 'object'>)

There is nothing in https://github.com/python/typing or title search on bpo
We should create our own temporary ABC for this, so we can hang features on it, add new ones (like _PersistedFileIO as a BytesIO with a fileno()), and raise issues upstream about it.  This is also 'needed' for bytes support (https://github.com/bskinn/stdio-mgr/issues/36) if we use strict type checking (https://github.com/bskinn/stdio-mgr/issues/60)
e.g. https://github.com/bskinn/stdio-mgr/issues/80 is a feature that depends on .getvalue and little else.

i.e. we need this .getvalue to exist on the TextIOWrapper instances, but it isnt defined as existing there.

Agreed - we want this here, even if it's not found to be worth porting upstream into stdlib.

any naming suggestions?

AbstractIOValue?


Can't retrieve ThreadList - Can't read property 'error_results' of undefined

I can't retrieve ThreadList due to a TypeError in src/getThreadList.js:195
Any ideas about this bug ?
ERR! getThreadList TypeError: Cannot read property 'error_results' of undefined
ERR! getThreadList     at defaultFuncs.post.then.then (/home/lambda/facebook-chat-api/src/getThreadList.js:195:41)
ERR! getThreadList     at tryCatcher (/home/lambda/Applications/Facebridge/FacebookBot/node_modules/bluebird/js/main/util.js:26:23)
...

I think that it is linked to the recurring error #202. It occurs after sometimes and it works flawlessly when I restart the bot. I also get the 1357004 error just before getting the TypeError.
I keep it open as the #202 error is still closed

Hi was this issue ever resolved?  I am also getting "Cannot read property 'error_results' of undefined" when i call this function.  Restarting the bot doesn't fix it as mentioned above.


Borum Products

I would like three new subdomains:
weather.bforborum.com - called Borum Weather
news.bforborum.com - called Borum News
meta.bforborum.com - called the meta site
Borum Weather should display the weather using the Weather Underground API and HTTP Requests
Borum News should display the latest news with links to news stories using Twitter API
The meta site should look just like the main site, but there should be a clear indication what it is about

Instead of Weather Underground API, which requires having a weather station, I am using Open Weather Map for the weather and continue to use Foursquare API for the attractions.
As for Borum News, I found newsapi.com, which is what I think I shall use. I am not sure how to get it to tweet on the user's twitter account though.

Borum Paint


Problem running the chat using Docker on Windows 10

Hi there,
I have attempted to run CakeChat on my Windows 10 machine.
I've just followed the Quick Start guide and executed the following command:
docker run --name cakechat-dev -p <IP_ADDRESS>:8080:8080 -it lukalabs/cakechat:latest
bash -c "python bin/cakechat_server.py"
The image is dowloaded just fine, but at the end Docker throws this error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: "\\": executable file not found in $PATH": unknown.
What could be the issue?
Thank you in advance.

@eiriksvith, hi!
Sorry for the delayed answer. Unfortunately we have a very limited possibility to test our docker container on Windows machines. I've tested it on Windows 10 Home edition with Docker Toolbox and the server launched just fine. So, my suggestions for you are the following:

Try running the container with Docker Toolbox as well and see if there are any problems.
If something goes wrong consider installing Ubuntu distro either as a Windows Subsystem or as a standalone OS and launching the container in it – in this case we'll be more capable to help you in case of troubles.

I'm closing this issue now. Feel free to reopen it, if you have more questions.


Switch to circleci

Travis has become extremely slow recently (>30min for a build).
Going to switch to circleci who I've found much better.

Can't get coverage with kcov working:
Can't set personality: Operation not permitted
kcov: error: Can't start/attach to /home/circleci/project/target/debug/nes-6181de6b97308f39
Child hasn't stopped: ff00
kcov: error: Can't start/attach to /home/circleci/project/target/debug/nes-6181de6b97308f39
Can't set personality: Operation not permitted
kcov: error: Can't start/attach to /home/circleci/project/target/debug/nes-d0789676dae68c8b
Child hasn't stopped: ff00
kcov: error: Can't start/attach to /home/circleci/project/target/debug/nes-d0789676dae68c8b

Apparently it's some docker permissions error, but I don't think I have control over that?
Leaving it out for now, happy to sacrifice coverage for faster build times (~3min down from ~30min!)


[WIP] Panoptes hookup - fetch Project data and Subjects for Classifier

PR Overview

In this PR, we're hooking up the custom front end with the Panoptes API.
I'm focusing on the following implementations:

The CFE should be able to fetch project details from Panoptes

For example, staging project 1651, aka http://panoptes-staging-url/projects/darkeshard/transformers

The CFE should be able to fetch the queued subject for the current Zooniverse user looking at that specific project.

See Issue #8 and Issue #10 for further spec details.

Specifically, look at Task 1: Fetch Subjects from Panoptes
Also note Sarah's comments on the subject queue endpoint.

Random thoughts:

[Taxanomy? Ontology?] Right now the code's sitting in src/ducks/classifier.js, but I'm wondering if it should logically go into src/ducks/projects.js and src/ducks/subjects.js... hmmm.

Actually, now that I think about it, I really should leave the ClassifierContainer component alone. I'll set up a new ClassifierTester component where we can more freely play around with the duck functionality and the Panoptes hooks without worrying about presentation.

I think it makes more sense to separate these items into two ducks, projects.js and subjects.js. It'll be a lot more cleaner than potentially having a monolith classifier.js.

Update: I've created a simple classifier-tester that's viewable at http://localhost:3000/classify-tester . It does one very simple thing: fetch & display the details of staging Project 1651.
We can use this as the foundation for future Panoptes API data testing.

@wgranger I've added some extended comments for the Project duck and the Classify (Panoptes API) Tester; let me know if you have concerns about the code being too wordy/not wordy enough.
Ready for review!

Travis hates that no environmental variables are set.

Overall, this PR looks good and it ready to merge once the Travis issues and line comment are addressed.

Awright, I've added some updates:

The event bind for this.fetchProject() in ClassifierTester has been moved to the constructor.
Some updates to the Travis configuration have been made.

I don't think Travis has an issue with no environmental variables being set - I believe Travis is doing a default check using yarn (which isn't properly set up for our project) instead of our custom test script.

UPDATE: OK so the Travis problem may be affecting more people than just us.

Check the Slack conversation on #lab-app on 15 June 2017. Of note:

Sarah
[15:17] @here this may be the cause of the issues we're having with travis: https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-conflicting-lock-files
[15:18] We should try to switch back to npm 5 managing packages, remove the yarn.lock file and see if travis will handle it

Also check out https://github.com/travis-ci/travis-ci/issues/7119 - it states how Travis tries to install yarn by default. (And apparently we have to... uh... overwrite npm install? Or something?)

True enough, if we check one of the job logs in this PR - e.g. https://travis-ci.org/zooniverse/liberating-the-liberator/jobs/242927829 - we'll see errors along the likes of The command "eval yarn " failed. Retrying, 2 of 3.
Heck if I know what's going on with that darn yarn.

Seems like we still have some things to figure out with Travis. However, this shouldn't block this PR as taking the branch for a test run worked well. I'm going to merge, and we can figure out Travis separately.

Sweet - we'll open an investigation in Travis!


Load Map TIMEOUT

1. I had this bug 6 mounth ago:
"issue with kcp. i have two servers with two different maps on each one. first server have small map, second server have big map. both servers placed on linux. so client connect fine to server with small map, but when i try to connect to server with big map i have this error on server:
KCP: Connection timed out after not receiving any message for 10000ms. Disconnecting.
i guess while client load big map, there are no packages going to server or something, it reach 10000ms and server disconned the client. which does not make any sense because client doesnt even load the map
there is no such problem on tcp"
I got temp solutioon by: "increase TIMEOUT for TickIncoming_Authenticated -> HandleTimeout method in KcpConnection.cs"
But it cause as i think this problem: "hello, someone know what to do in that case? Android. When any player connect to server, play some time, then manual disable internet connection, client auto disconnecting. But he still present on server. As a result, that client reenable internet connection, connect to server, and there are 2 same players. How can i prevent it?"
I got this bug only with KCP.
2. I have Gaia usage in my game which load and unload terrain scenes and its a big problem for me
3. I found a solution, it should be changed and optimized but i think this description will be enough to understand how to solve that, main idea is to channge timeout for specific client which start load map after connect to server:

I added another const to KcpConnection with load map timeout, for me 50000 is enough. But timeout var will be overrided by KcpTransport Component, so new const should be exposed here too.
I made vars: server and client at KcpTransport as public to have access to connections of server and connection of client.
Then i added this code to my custom network manager, but i think it should present at NetworkManager
https://pastebin.com/KpdThNkb

Now i have 50000ms timeout when player handshake with server and when client starts load new scene, because server and client have their own timeout checkers and default 10000ms after. But on server it should run not with OnServerConnect but on similar method as client has OnClientChangeScene. Because it can be situation when player dies and will be respawned far away from dead position which means it will be full load as if he have first connect and it should be 50000ms again.
Also i already changed this code for my game case (added stop coroutines when, etc.), but as i said i made it only for demostration and it should be changed for general usage

I have the same issue where the clients get disconnected when the scene load takes longer than the KCP timeout value.

closing as duplicate of https://github.com/vis2k/kcp2k/issues/8

I got this bug only with KCP.

Please add your details to the other bug in the KCP repo.


XRDP yellowish blank Screen

Guys
Am seeing XRDP yellowish screen no icons on desktop and no start menu etc totally blank but when i right click i can see menu from where currently am operating things like terminal and browser etc. so any idea how to fix and debug it

system
    Virtualization: openvz
  Operating System: Ubuntu 16.04.7 LTS
   Kernel: Linux 2.6.32-042stab134.8
      Architecture: x86-64

xrdp verson
xrdp 0.9.19
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-fuse
      --enable-mp3lame
      --enable-pixman

  Compiled with OpenSSL 1.0.2g  1 Mar 2016

thanks

@darkworks - it's not clear to me what you're asking.
Is the background menu normal for the desktop you're expecting?
Have you set up ~/.Xsession or ~/.xsession?

I don't thing you need to set up ~/.Xsession or ~/.xsession - I just wondered if you'd done it.
Is this a physical machine? What happens when you try to use the same account to log in on the console?

I don't thing you need to set up ~/.Xsession or ~/.xsession - I just wondered if you'd done it.
Is this a physical machine? What happens when you try to use the same account to log in on the console?

no not physical machine , its OpenVZ 6 VPS.  ya via SSH i was able to access it.  yesterday i reinstall OS on it , to re setup it.

Can you get to the machine console at all? That would help with the debugging,

Can you get to the machine console at all? That would help with the debugging,

i have wiped the machine and reinstalled it  , however you can see screen shot i attached in which u can see i was able to lunch terminal and also start chrome browser too from the mouse right click menu via XRDP . and other than that via SSH ya access to terminal was OK

Yes, I understand the xrdp situation. However, you haven't answered my question.
Are you able to connect to the machine console?

Yes, I understand the xrdp situation. However, you haven't answered my question.
Are you able to connect to the machine console?

i  not understand what u mean by connect to the machine console?
i had mentioned it that ya i was able to connect to machine via SSH, it present i cant because i had reinstalled OS to setup xrdp again.

 It's got a keyboard and mouse and a screen. You can do things from here like access the BIOS and do a bare metal install. The keyboard, mouse and screen together form the 'machine console'.
You've got a virtual machine here, so there's clearly no physical console. However, for many virtualisation platforms there is a way to get to see the output of the virtual graphics card, and provide keyboard and mouse input.
Does your virtualisation platform offer this capability?

 It's got a keyboard and mouse and a screen. You can do things from here like access the BIOS and do a bare metal install. The keyboard, mouse and screen together form the 'machine console'.
You've got a virtual machine here, so there's clearly no physical console. However, for many virtualisation platforms there is a way to get to see the output of the virtual graphics card, and provide keyboard and mouse input.
Does your virtualisation platform offer this capability?

oh i see . so sadly no does not offer direct display view . beside this KVM and openVZ virtual machines does not have detected graphics unit.

We need to check the desktop is fully installed I think.
Which desktop are you wishing to use, and how did you install it?
Thanks.

it the moment no as i had wiped that machine and did reinstallation , if occur such issue again then will report here.
thanks


Invalid [general] section as of 0.7.0

I'm getting the following as of 0.7.0:
$ vdirsyncer -v DEBUG sync
critical: Error during reading config /home/hugo/.config/vdirsyncer/config: Invalid general section. You should copy the example config from the repository and edit it: https://github.com/untitaker/vdirsyncer

Here's my config:
cat /home/hugo/.config/vdirsyncer/config

[general]
status_path = ~/.local/share/vdirsyncer/status/
password_command = ~/.local/bin/vdirsyncer-pass

##### Contacts ######

[pair contacts]
a = local
b = radicale
metadata = ["color", "displayname"]

[storage local]
type = filesystem
path = ~/.local/share/contacts/cards/
fileext = .vcf

[storage radicale]
type = carddav
url = https://calendar.barrera.io/hugo/addressbook.vcf/
username = hugo

##### Calendar: Study ######

[pair study]
a = study_local
b = study_fastmail
metadata = ["color", "displayname"]

[storage study_local]
type = filesystem
path = ~/.local/share/calendars/study/
fileext = .ics

[storage study_fastmail]
type = caldav
url =<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>
##### Calendar: Personal ######

[pair personal]
a = personal_local
b = personal_fastmail
metadata = ["color", "displayname"]

[storage personal_local]
type = filesystem
path = ~/.local/share/calendars/personal/
fileext = .ics

[storage personal_fastmail]
type = caldav
url =<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>
##### Calendar: Work ######

[pair work]
a = work_local
b = work_fastmail
metadata = ["color", "displayname"]

[storage work_local]
type = filesystem
path = ~/.local/share/calendars/work/
fileext = .ics

[storage work_fastmail]
type = caldav
url =<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>

This used to work fine on 0.6.0, and I'm not seeing any documented changes on 0.7.0.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27757394-invalid-general-section-as-of-0-7-0?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github).

Oh, I found the commit that changed this. The docs seem to be out of date.

password_command is gone. I didn't know the error message is that bad though.
On 28 October 2015 07:56:06 CET, Hugo Osvaldo Barrera<EMAIL_ADDRESS>wrote:

I'm getting the following as of 0.7.0:
$ vdirsyncer -v DEBUG sync
critical: Error during reading config
/home/hugo/.config/vdirsyncer/config: Invalid general section. You
should copy the example config from the repository and edit it:
https://github.com/untitaker/vdirsyncer

Here's my config:
cat /home/hugo/.config/vdirsyncer/config

[general]
status_path = ~/.local/share/vdirsyncer/status/
password_command = ~/.local/bin/vdirsyncer-pass

##### Contacts ######

[pair contacts]
a = local
b = radicale
metadata = ["color", "displayname"]

[storage local]
type = filesystem
path = ~/.local/share/contacts/cards/
fileext = .vcf

[storage radicale]
type = carddav
url = https://calendar.barrera.io/hugo/addressbook.vcf/
username = hugo

##### Calendar: Study ######

[pair study]
a = study_local
b = study_fastmail
metadata = ["color", "displayname"]

[storage study_local]
type = filesystem
path = ~/.local/share/calendars/study/
fileext = .ics

[storage study_fastmail]
type = caldav
url =
<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>
##### Calendar: Personal ######

[pair personal]
a = personal_local
b = personal_fastmail
metadata = ["color", "displayname"]

[storage personal_local]
type = filesystem
path = ~/.local/share/calendars/personal/
fileext = .ics

[storage personal_fastmail]
type = caldav
url =
<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>
##### Calendar: Work ######

[pair work]
a = work_local
b = work_fastmail
metadata = ["color", "displayname"]

[storage work_local]
type = filesystem
path = ~/.local/share/calendars/work/
fileext = .ics

[storage work_fastmail]
type = caldav
url =
<EMAIL_ADDRESS>username =<EMAIL_ADDRESS>

This used to work fine on 0.6.0, and I'm not seeing any documented
changes on 0.7.0.

Reply to this email directly or view it on GitHub:
https://github.com/untitaker/vdirsyncer/issues/286

--
Sent from my phone. Please excuse my brevity.

password_command is gone. I didn't know the error message is that bad though.

Yup. I mostly left this open because the docs are partially out-of-date too, so it's hard to find the issue.

Oh, I missed that. Yikes. Should I release a new version?

I'm not sure. Do you need to in order to update rtd? Specifically, the configuration section makes no mention of the change: https://vdirsyncer.readthedocs.org/en/stable/config.html#general-section

Yeah the docs only show the changes for the latest version. This is usually useful since e.g. the docs for the new password fetching have been in master for months, yet they aren't on the page because the latest version doesn't have that behavior.


Housekeeping

Update things, clean things up, fix static analysis errors. General housekeeping.

coverage: 45.675% (-0.2%) from 45.913%
when pulling 3bdd50db5081b062d096ff87fcf0779f91c65bd9 on housekeeping
into 5b18749d33426b4c3673e92677ef1dba6575d2c6 on develop.


allow selecting (and unselecting) features interactively

allow selecting (and unselecting) features interactively. a la qgis.
may be particularly useful while composing SQL. infowindows are sometimes useful but you can only open one at a time.
when selected, features should be visibly differrentiated from the other features. should be possible to select in both map and data views. the same features should be selected when switching between the views.
(could be hacked onto a visualization but would be so much simpler if built in. e.g. add a duplicate layer of the table you want to filter and run SQL on the top layer. give it a unique color. SQL:
SELECT * FROM table WHERE ${primarykey} IN ('list','of','selected','features');

then click on item on the map, get primary key from infowindow, add to SQL for the filter layer and apply. rinse, repeat.)

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Open Folder vs Open Distribution

"After the signing process completes, click Open Folder" should not be Open Distribution?
Open Folder opens archive folder-

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

ID: d22ceddd-69d4-3a5d-2947-a5abddbbd3aa
Version Independent ID: e238051f-b809-5541-4049-f1205dd0a3a5
Content: Signing the Android Application Package - Xamarin
Content Source: docs/android/deploy-test/signing/index.md
Service: unspecified
Product: xamarin
GitHub Login: @mgmclemore
Microsoft Alias: mamcle

Hi @csutorasbalazs, yes, you are correct: the instruction should be to click Open Distribution rather than Open Folder. I've added this doc to our internal backlog for correction and review. Thank you for the help!


Support multiple repositories

Describe the solution you'd like
I have a large number of repositories and I would like to produce the contribution stats by author aggregated by multiple repositories.
An additional parameter could be provided on the command line to find repositories, or provide the list of repositories directly using find and xargs git quick-stats --repositoriesList={}

Hi, I suggest using git-quick-stats with a script, example :
WORKING_DIR="$(dirname "$0")/"
cd "${WORKING_DIR}" || exit 1
mkdir -p "${WORKING_DIR}/results/"

export _GIT_LOG_OPTIONS="--ignore-all-space --ignore-blank-lines"
export _GIT_BRANCH="master"

for d in ~/git/*/; do
      cd "${d}" || true
      git-quick-stats --git-stats-by-branch >"${WORKING_DIR}/results/$(basename ${d}).txt"
done

That script is useful but I think it would still be nice to have it aggregate the statistics


fix bug for issue #1334

Issues associated with this PR
Your PR should present related issues you want to solve.
fix bug for issue #1334
Solutions
You should show your solutions about the issues in your PR, including the overall solutions, details and the changes. At this time, Chinese is allowed to describe these.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
pkg/network ut pass
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

Maybe you can add log in the restart function

func (al *activeListener) GoStart() {
    utils.GoWithRecover(func() {
       ... //
    }, func(r interface{}) {
        // Add Log here
       log.DefaultLogger.Alertf("listener.start", "sth describe")
        ... //
    })
}

func (al *activeListener) GoStart() {
    utils.GoWithRecover(func() {
       ... //
    }, func(r interface{}) {
        // Add Log here
       log.DefaultLogger.Alertf("listener.start", "sth describe")
        ... //
    })
}

if add log in the restart function, unable to print the cause of the panic in al.listener.Start(lctx, false)
Do you think it's necessary to add log.DefaultLogger.Alertf("listener.start", "[network] [listener start] panic") in restart function?

func (al *activeListener) GoStart() {

utils.GoWithRecover(func() {

   ... //

}, func(r interface{}) {

    // Add Log here

   log.DefaultLogger.Alertf("listener.start", "sth describe")

    ... //

})

}

if add log in the restart function, unable to print the cause of the panic in al.listener.Start(lctx, false)
Do you think it's necessary to add log.DefaultLogger.Alertf("listener.start", "[network] [listener start] panic") in restart function?

Add this to recover function, it will print when panic hapeend.

func (al *activeListener) GoStart() {
    utils.GoWithRecover(func() {
       ... //
    }, func(r interface{}) {
        // Add Log here
       log.DefaultLogger.Alertf("listener.start", "sth describe")
        ... //
    })
}

if add log in the restart function, unable to print the cause of the panic in al.listener.Start(lctx, false)
Do you think it's necessary to add log.DefaultLogger.Alertf("listener.start", "[network] [listener start] panic") in restart function?


can you update a version for 1.12.2?

current version of 1.12.2 is very backward.
can you make the latest version working on 1.12.2?thank you.

1.12.2 is very old


Mention the blockDeployment parameter in installation/troubleshooting

Summary
The Troubleshooting page under Installation mentions the possibility that pods are not starting because a per-deployment task has failed.  This should be updated to mention the blockDeployment parameter that can be set in the KeptnConfig resource so that a failed task does not block the deployment.  Setting this parameter seems like the easiest way to determine if this is the problem.
DoD

installation/troubleshooting explains how to use the blockDeployment parameter to determine if a failed pre-deployment task is blocking the pods from starting

this is actually fixed already


[Bug]:

Describe the Bug
when i try to add or edit a module it says "saving world" as in i jus left a world and then the game just crashes, same with if i hit general settings, only thing i can do is delete and move the pre existing modules
Steps to Reproduce
tbh ion know what this means. i think ur asking how to make it happen? if so jus hit any of the 3 buttons i said describing the bug
Expected Behavior
i expected it to either take me to general settings, add a new module or edit a preexisting module, not crash
Screenshots
No response
Modloader Type
Fabric
Modloader Version
newest so it would be the one for 1.19,4
Mod Version
BetterF3-6.0.0-Fabric-1.19.4-pre3.jar
Log Output
No response
Additional Context
No response

You need to update the cloth config version.


Houdini: update frames in latest version

Changelog Description
Rendering is expensive, sometimes it is helpful only to re-render changed frames and reuse existing.
Todo list:

[ ] Add profiles to CollectFramesFixDef settings
[x] ExtractLastPublished: A generic extractor to copy the files of the latest published version last_version_published_files .
It only copies files that do not need to be fixed.
ExtractRender

[ ] local render: overwrite them by rendering the frames to fix.. By looping over the frame ranges and setting the parms, rendering and finally returning it as it was.
[ ] Farm render: update the job_info.Frames. luckily it expects the same format as frames_to_fix.

Additional info
This PR is the Houdini equivalent for https://github.com/ynput/OpenPype/pull/4362
Additional info 2
Unrelated to this PR. but, I'll just save some notes for the future.

this line in nuke/extrack_render_local  can be replaced by frames_to_render = intspan(frames_to_fix).ranges() and remove the definition of _get_frames_to_render

Testing notes:

start with this step
follow this step

Oh yeah baby - as soon as we'll have a steady "workflow" for this I'll also be porting this to Maya and Fusion integration.
However, few questions:
Avoid intspan?
Does it really warrant introducing a new dependency intspan? By the way, it seems the corresponding bitbucket homepage for intspan does not exist anymore and the latest release is from "Sep 24, 2019" which may indicate that it's dead? (Which doesn't necessarily mean it's not useful - just not maintained anymore?). In essence it's also a single file and could be vendorized? Or better, maybe we can already use clique for this?
import clique
collection = clique.parse("1,3-5,10", "{ranges}")
print(list(collection.indexes))
# [1, 3, 4, 5, 10]

Is the logic ignoring aovs?
I have a feeling the logic is assuming a single instance in houdini turns into one published file - but I believe, when e.g. submitting to the farm - there may be a single render instance+job that ends up publishing multiple separate AOVs/products? Is this logic allowing that?
Publishing into existing version?
I have a feeling that publishing into the previous version is the wrong and unsafe approach. Instead, I wonder whether we should instead publish a new version but just happen to re-use frames from the previous publish. So that the old (shorter) publish still exists as previous version and our new version just happens to be extended?
Note that similar logic was actually originally in OpenPype as well for Maya called "extend frames" where the new render frame range that you're publishing/submitting would be appended/replaced to the previous publish generating a new (potentially longer) version.
What I like about the current concept here however is that you can specify the extract "new" frames you want to generate or replace. So that e.g. you could say, add three frames to the end but also replace frames 15-20. Do note however, that whatever render logic we'd end up with that we ALSO avoid rendering the actual frames we DO NOT want to re-render but want to preserve from the previous render. I have a feeling that this PR Is lacking the logic that makes it skip existing frames?
Extend frames / render new base logic
With Nuke having something in this area, apparently - and now Houdini also trying to have it. And Maya originally having "extend frames" logic as well (inheriting from avalon) I really feel it's worth to abstract this way into "base publishing logic" that hopefully works for all publish types that write out per-frame files.
It might be worth laying out/proposing a framework that we could use that way so that hopefully to support rendering only a subset of frames or extending an existing publish becomes trivial across each host integration without much effort on the development side. I feel like even this PR seems to be doing a lot of 'logic' that should be abstracted away and joined together with any feature in another integration also supporting it.
In essence it is:
previous_frames = get_last_publish_frames()
current_frames = get_current_frames()
publish frames = previous_frames.update(current_frames)

However it gets more complicated upon merging when deciding what to do with 'handles', etc. or what if new frame range is 1020-1030 and the previous was 1000-1010. What do we do with the gap? Currently nothing in AYON expects gaps in published frame ranges.

@BigRoy @moonyuet @iLLiCiTiT
This PR may take some time also, it affects ayon-core.
should I close it and re-open after ayon-houdini craetion ?

Yes please.

This PR may take some time also, it affects ayon-core.

You mean modification of dependencies? That dependency should be added to ayon-houdini, not to ayon-core.

Re-created in ayon-houdini
https://github.com/ynput/ayon-houdini/pull/45


cask-repair: fix --user-agent flag

--user_agent -> --user-agent

This change is

See #29

Closed in favor of #29


#125 ExitArgs.Body should be []byte instead of string

https://github.com/Kong/kong/blob/2.8.1/kong/pluginsocket.proto should be modified too: string -> bytes

Have checked it works well. However, might be better to use oneof to keep legacy code works.

 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.

 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.

https://github.com/Kong/go-pdk/pull/132

fixed by #132