tf.data.Dataset.list_files return is deterministic order when shuffle=False?

URL(s) with the issue:
https://www.tensorflow.org/api_docs/python/tf/data/Dataset#list_files
Description of issue (what needs changing):
In the doc above, it says
NOTE: The default behavior of this method is to return filenames in
a non-deterministic random shuffled order.
Pass a seed or shuffle=False to get results in a deterministic order.

So if pass shuffle=False, it will return a deterministic order.
But if check source code of the function, it calls following function to get matching files.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/data/ops/dataset_ops.py#L769
  @staticmethod
  def list_files(file_pattern, shuffle=None, seed=None):
      ...
      matching_files = gen_io_ops.matching_files(file_pattern)

If we check description of gen_io_ops.matching_files,  it says Note also that the order of filenames returned can be non-deterministic.
@tf_export('matching_files')
def matching_files(pattern, name=None):
  r"""Returns the set of files matching one or more glob patterns.

  Note that this routine only supports wildcard characters in the

  basename portion of the pattern, not in the directory portion.

  Note also that the order of filenames returned can be non-deterministic.

  Args:
    pattern: A `Tensor` of type `string`.
      Shell wildcard pattern(s). Scalar or vector of type string.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  """

And also the document in https://www.tensorflow.org/api_docs/python/tf/io/matching_files.
Defined in generated file: python/ops/gen_io_ops.py.

Note that this routine only supports wildcard characters in the basename portion of the pattern,
not in the directory portion.
Note also that the order of filenames returned can be non-deterministic.

And also description in the function https://www.tensorflow.org/api_docs/python/tf/io/match_filenames_once
Defined in python/training/input.py.

NOTE: The order of the files returned can be non-deterministic.

Check source code of the fucntion
https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/training/input.py#L63
Both tf.io.matching_files and  tf.io.match_filenames_oncecallgen_io_ops.matching_files`.
I think it is quite confuse here.

@zhjunqin As MatchingFilesOp sorts the matched files here, the order of filenames returned should be deterministic. PR #30543 has been submitted to update the related docs.


Add docs to illustrate how to schedule pod to specific node

Add docs to illustrate how to schedule pod to specific node

@tengqm PTAL

/lgtm
/approve


Bumb version to 1.2.0

Codecov Report

Merging #132 (b398ac6) into main (ca2eaa3) will increase coverage by 33.83%.
The diff coverage is 92.15%.

@@             Coverage Diff             @@
##             main     #132       +/-   ##
===========================================
+ Coverage   61.06%   94.90%   +33.83%
===========================================
  Files           5        5
  Lines         131      157       +26
  Branches       22       19        -3
===========================================
+ Hits           80      149       +69
+ Misses         51        5       -46
- Partials        0        3        +3

Impacted Files
Coverage Δ

homewizard_energy/const.py
100.00% <ø> (ø)

homewizard_energy/homewizard_energy.py
91.11% <88.57%> (+59.11%)
:arrow_up:

homewizard_energy/features.py
100.00% <100.00%> (ø)

homewizard_energy/models.py
100.00% <100.00%> (ø)

homewizard_energy/__init__.py

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Dev Tools shows squares instead of icons

Environment (please complete the following information):

OS (e.g., Windows 10): macOS Sonoma 14.2.1
Extension version (e.g., 1.2.3):  v2.1.4

Describe the bug:

Tool icons are not showing
Repro steps:

Install latest version of vscode (Version: 1.87.0 (Universal)
Commit: 019f4d1419fbc8219a181fab7892ebccf7ee29a2)
Install Microsoft Edge Tools Extension
Open any html file
It shows squares instead of icons

Expected behavior:

I should see icons instead of squares
Additional context:

When I open the Edge app and click inspect it works as expected

Totally identical problem, at first I thought it was something related to the theme installed. There is no choice but to wait for the update

Thank you for the report . We are aware of the issue and currently working on a fix in here:
#1992


Incorrect syntax highlighting when space is after hash

When space is added after hash, syntax highlighter treats following part of line as a C code instead of proprocessor instructions, e.g.:
# if !defined Generator_h
# define Generator_h
# endif

Hi! Sorry it took so long to address this issue. Our editor solution was a bit outdated up until a few days ago. The newer versions treats the preprocessor much better. Thanks for the report anyways, and sorry again about taking so long! :)


Add Kotlin encoder

#41

@hangduykhiem Please review this 🙏

Sorry this got lost in my inbox. Will review ASAP.

I tried this with the Mona Lisa and the result is not as expected 🤔

@connyduck In demo app the ratio is 20:12 (BlurHashDecoder.decode(etInput.text.toString(), 20, 12))
You should change this to your image ratio.

changing the ratio only stretches the gradient

Yup, I tried with both config and the result is similar to Connyduck's finding. For comparison, this is the result of web encoder.

Actually now that I think of it, @DagAgren's vision is that encode and decode are separate file that can be copy directly to the user directory.

BlurHashDecode.swift and BlurHashEncode.swift contain a decoder and encoder for BlurHash to and from UIImage. Both files are completeiy standalone, and can simply be copied into your project directly.

Can you make it so that each of them are self contained? Else I think we might need to move the whole thing to bintray or somewhere else to make it easier for others.

While the decoder itself is pretty much self tested, I think the encoder needs some simple unit test for better verification of result.
I'm thinking of something like comparing the output of the first image with LEHV6nWB2yk8pyo0adR*.7kCMdnj and the mona lisa image with LHC6SkxEElE4_JWCoyWCTIbHxsbH. It should be easy to write and maintain, while catching the problem if we ever need to touch the encoder.

All being said, thank you for the PR, @hearsilent. I meant to do this a while ago, but... :sweat_smile:

@connyduck @hangduykhiem I've fixed encode with wrong result. It cause by encodeAC with wrong pow method.

The result is like this:

This result is generated by BlurHashEncoder.encode(bitmap, 4, 3)

Can you please merge this? I would like to use it, but I'll use https://github.com/hsch/blurhash-java for now.


Replace dataset glue-handler custom resource by CDK constructs

When a dataset is deployed we use a custom resource to create a Glue Database and grant permissions to the database. Now several constructs of CDK enable us to replace the custom resource.
https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_lakeformation/CfnPermissions.html
Describe the solution you'd like
Easier management of dataset resources avoiding custom resources.
P.S. Don't attach files. Please, prefer add code snippets directly in the message body.

Our customized custom resource cannot be directly replaced by CDK construct


fix(create-turbo): support renamed repositories

Description
This bug broke create-turbo when we renamed the repo. This bug is explained in the comments but the tl;dr is that downloading the repo works because the download URL automatically redirects from the old name to the new name. However the download is always put into a directory of the name {repoName}-{branch} where the repoName is the name of the repo at the time and NOT always the name used to download it.

Fixed for create-next-app here as well:
https://github.com/vercel/next.js/pull/68802


Python3 part7

Pull Request Description
What issue does this change request address?
#71
What are the significant changes in functionality due to this change request?
Better Python 3 support.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?

Job Mingw Test on c678f6d : invalidated by @joshua-cogliati-inl
seeing if fetch fail was random

Job Test qsubs on 8023f3a : canceled by @joshua-cogliati-inl
Problem in devel

Job Test qsubs on 8023f3a : invalidated by @joshua-cogliati-inl
Fixed problems with devel.

Job Mingw Test on 8023f3a : invalidated by @joshua-cogliati-inl
Fixed problems with devel.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code. DONE
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts). N/A
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details. OK
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass. OK
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True. N/A
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync. N/A
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done. #71
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added? N/A

The qsub tests are currently pending revisions from the civet operators; the essential tests have passed.  Checklists have passed.  Approved for merge.

Job Mingw Test on 8023f3a : invalidated by @joshua-cogliati-inl
seeing if fetch fail was random

The minwg tests fail when they try and get cashflow in the fetch stage.

Job Mingw Test on d88fdc0 : invalidated by @joshua-cogliati-inl
civet restarted, testing again.

Job Mingw Test on d88fdc0 : invalidated by @alfoa

Job Mingw Test on 7eb1aea : invalidated by @joshua-cogliati-inl
PostProcessors\TemporalDataMiningPostProcessor\DimensionalityReduction timeout failure

Job Mingw Test on 7eb1aea : invalidated by @joshua-cogliati-inl
PostProcessors\TemporalDataMiningPostProcessor\DimensionalityReduction timeout failure

@joshua-cogliati-inl it looks quite consistent...
Did we do anything ?

Good to go...


VictoriaDWC-File

Created a branch, created a file and made commit, and opened a pull request.

This is looking good!


EOS-21433 cfgen: add support for FDMI filters

Solution: add the code to configure the filters in CDF.
To use FDMI the following needs to be configured in CDF:

FDMI plugin endpoint which will consume FDMI records sent by FDMI
sources. Currently FDMI filter is one of Motr client processes;
FDMI filters. fdmi_filters section defines filters and their FDMI
plugin endpoints.

cfgen/cfgen --help-schema explains format of the fdmi_filters
section in CDF:
 # FDMI filter defines if an FDMI record would be sent from FDMI source to FDMI
 # plugin. Only M0_FDMI_FILTER_TYPE_KV_SUBSTRING filters are supported.
 #
fdmi_filters:  # This section is optional.  If it is missing, no fdmi filters
               # would be defined
  - name: <str>  # Human-readable name of the filter
    node: <str>  # Hostname of the node that hosts FDMI plugin
                 # that would receive every FDMI record this filter matches
    client_index: <int>  # 0-based index of the client that would be
                         # the FDMI plugin. Only "other" clients could be FDMI
                         # plugins. "s3" clients are not used to for this
                         # index.
                         # The client has to be defined in m0_clients section
                         # already.
    substrings: [ <str> ]  # List of strings for FDMI plugin to match
                           # See m0_conf_fdmi_filter::ff_substrings
                           # for the reference. May be empty or absent.

cfgen/examples/singlenode.yaml has an example of fdmi_filters section
commented. Uncomment it and run an FDMI plugin to start using an FDMI
filter.
If there is no fdmi_filters section then no fdmi filters would be added
to Motr configuration.
Signed-off-by: Maksym Medvied<EMAIL_ADDRESS>

Works only with https://github.com/Seagate/cortx-motr/pull/736. It's not based on master or stable because both are broken in my environment: https://github.com/Seagate/cortx-hare/issues/1628#issuecomment-854791080.

Updated & rebased on main.

PR description is empty. Can you please add a description of the feature you've suggested? Links to other explanatory documents are highly appreciated.

Poor GitHub UI. The description is there, in the commit message. Will have to copy-paste then.

PR description doesn't have a link to JIRA issue.

Fixed.

Commit message should be composed in the form as follows: ": <problem you're solving with this commit>"

Fixed. As I see in the git log this is not consistent across commits to main.

Commit description should describe the problem (if details are necessary) and describe the solution of the problem.

Done.

Rebased on the latest main and also fixed the following issue:
@knekrasov, MS teams:
... here are the tests that can help you to make sure that CDF generation (and hence Mini Provisioner) will work fine with your changes.

In Hare source folder, run make install or make devinstall
	Activate virtualenv like this: source ./.py3venv/bin/activate
	Go to the following sub-directory: cd provisioning/miniprov
	Run the tests python ./setup.py test (they will fail if Swapnil's concern is valid)

Now it's not failing in my code and it's failing somewhere else:
> python setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing hare_mp.egg-info/PKG-INFO
writing dependency_links to hare_mp.egg-info/dependency_links.txt
writing entry points to hare_mp.egg-info/entry_points.txt
writing requirements to hare_mp.egg-info/requires.txt
writing top-level names to hare_mp.egg-info/top_level.txt
reading manifest file 'hare_mp.egg-info/SOURCES.txt'
writing manifest file 'hare_mp.egg-info/SOURCES.txt'
running build_ext
main (unittest.loader._FailedTest) ... ERROR
test_both_dix_and_sns_pools_can_exist (test.test_cdf.TestCDF) ... ok
test_disk_refs_can_be_empty (test.test_cdf.TestCDF) ... ok
test_dix_pool_uses_metadata_devices (test.test_cdf.TestCDF) ... ok
test_iface_type_can_be_null (test.test_cdf.TestCDF) ... ok
test_invalid_storage_set_configuration_rejected (test.test_cdf.TestCDF)
This test case checks whether exception will be raise if total ... ok
test_it_works (test.test_cdf.TestCDF) ... ok
test_md_pool_ignored (test.test_cdf.TestCDF) ... ok
test_metadata_is_hardcoded (test.test_cdf.TestCDF) ... ok
test_multiple_nodes_supported (test.test_cdf.TestCDF) ... ok
test_provided_values_respected (test.test_cdf.TestCDF) ... ok
test_template_sane (test.test_cdf.TestCDF) ... ok
test_disks_empty (test.test_cdf.TestTypes) ... ok
test_m0clients (test.test_cdf.TestTypes) ... ok
test_m0server_with_disks (test.test_cdf.TestTypes) ... ok
test_maybe_none (test.test_cdf.TestTypes) ... ok
test_pooldesc_empty (test.test_cdf.TestTypes) ... ok
test_protocol (test.test_cdf.TestTypes) ... ok
test_invalid_machine_id (test.test_validator.TestValidator) ... ok
test_is_cluster_first_node (test.test_validator.TestValidator) ... ok

======================================================================
ERROR: main (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: main
Traceback (most recent call last):
  File "/usr/lib64/python3.6/unittest/loader.py", line 153, in loadTestsFromName
    module = __import__(module_name)
  File "/w/hare/provisioning/miniprov/hare_mp/main.py", line 34, in <module>
    from cortx.utils.product_features import unsupported_features
  File "/usr/lib/python3.6/site-packages/cortx/utils/product_features/unsupported_features.py", line 19, in <module>
    from cortx.utils.data.access import Query
  File "/usr/lib/python3.6/site-packages/cortx/utils/data/access/__init__.py", line 18, in <module>
    from .base_model import BaseModel
  File "/usr/lib/python3.6/site-packages/cortx/utils/data/access/base_model.py", line 16, in <module>
    from schematics.models import Model
ModuleNotFoundError: No module named 'schematics'

----------------------------------------------------------------------
Ran 20 tests in 0.129s

FAILED (errors=1)
Test failed: <unittest.runner.TextTestResult run=20 errors=1 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=20 errors=1 failures=0>

make check in cfgen/ folder fails. Seems like some test data of cfgen should also be updated.
@knekrasov: now it doesn't. I've added an empty list of FDMI filter groups. Is this enough or you would like to have something more sophisticated?

@max-seagate If make check doesn't fail, then we're OK. I don't think we need something more sophisticated. Thanks!

@knekrasov, @mssawant: seems like all review comments are addressed. Is there something else I need to take care of?

Note: this PR blocks https://github.com/Seagate/cortx-motr/pull/736
cc @mehjoshi

@max-seagate I can see that VM deployment has failed by some reason

@knekrasov: the failure http://eos-jenkins.colo.seagate.com/job/Cortx-PR-Build/job/Cortx-Deployment/job/Hare/395/artifact/deployment_status.log
Traceback (most recent call last):
  File \"/opt/seagate/cortx/hare/bin/cfgen\", line 1999, in <module>
    main()
  File \"/opt/seagate/cortx/hare/bin/cfgen\", line 194, in main
    validate_cluster_desc(cluster_desc)
  File \"/opt/seagate/cortx/hare/bin/cfgen\", line 313, in validate_cluster_desc
    validate_fdmi_filters_desc(desc['fdmi_filters'], desc['nodes'])
  File \"/opt/seagate/cortx/hare/bin/cfgen\", line 479, in validate_fdmi_filters_desc
    assert all_unique(x['name'] for x in fdmi_filters_desc), \
TypeError: 'NoneType' object is not iterable
)"

The code:
 307 def validate_cluster_desc(desc: Dict[str, Any]) -> None:
 308     validate_nodes_desc(desc['nodes'])
 309     validate_pools_desc(desc['pools'])
 310     if 'profiles' in desc:
 311         validate_profiles_desc(desc['profiles'], desc['pools'])
 312     if 'fdmi_filters' in desc:
 313         validate_fdmi_filters_desc(desc['fdmi_filters'], desc['nodes'])

fdmi_filters section should not be present in the CDF, but for some reason it is. The tests I know about don't fail on my VM, so obviously something else is going on here. Do you know how to debug such issues?
The VM deployment will fail anyway if Motr is not from at least https://github.com/Seagate/cortx-motr/pull/736.

@max-seagate according to this line
"comment": "Command \"/opt/seagate/cortx/hare/bin/hare_setup config --config json:///opt/seagate/cortx_configs/provisioner_cluster.json --file '/var/lib/hare/cluster.yaml'\" run",

the CDF is generated by our CDF generator (the cdf.py file that you're familiar with already). Which means that either the ConfStore file is not quite valid in respect to this new FDMI filter thing or there is a bug in the CDF generator.
So IMO the central point for debugging is the ConfStore file (we don't know how does it look like in VM Deployment job). Once you get it, you'll be something to debug against.
@vaibhavparatwar do you know (by any chance) if it is possible to get the ConfStore file which is used in VM deployment job? Or maybe you know whom should we ping?

@knekrasov: here is provisioner_cluster.json that had been used in the test (I hope this is the one): http://eos-jenkins.colo.seagate.com/job/Cortx-PR-Build/job/Cortx-Deployment/job/Hare/395/artifact/provisioner_cluster.json

@knekrasov: here is provisioner_cluster.json that had been used in the test (I hope this is the one): http://eos-jenkins.colo.seagate.com/job/Cortx-PR-Build/job/Cortx-Deployment/job/Hare/395/artifact/provisioner_cluster.json

Yes @max-seagate this is the one.

@knekrasov: If I run the same command on my local VM I get
> /opt/seagate/cortx/hare/bin/hare_setup config --config json:///tmp/provisioner_cluster.json --file '/var/lib/hare/cluster.yaml'
Traceback (most recent call last):
  File "/opt/seagate/cortx/hare/bin/hare_setup", line 33, in <module>
    sys.exit(load_entry_point('hare-mp==2.0.0', 'console_scripts', 'hare_setup')())
  File "/opt/seagate/cortx/hare/bin/hare_setup", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/w/hare/.py3venv/lib64/python3.6/site-packages/importlib_metadata/__init__.py", line 178, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/w/hare/.py3venv/lib64/python3.6/site-packages/hare_mp-2.0.0-py3.6.egg/hare_mp/main.py", line 39, in <module>
ModuleNotFoundError: No module named 'hax'

Do you know how to run it properly? I'm using sudo git clean -dfx && make && sudo make install to build & install Hare.

Even source ./.py3venv/bin/activate from a comment above doesn't help.

Debugged and fixed with help from @knekrasov. The trick with hax was:
cd hax/
python ./setup.py install

@mssawant: VM deployment is going to fail anyway because https://github.com/Seagate/cortx-motr/pull/736 is required for this patch to run Motr/Hare cluster. Is there something I need to do because of this?
CC @knekrasov.

Rebased on the latest main & fixed new post-rebase bootstrap issues.
Please use https://github.com/Seagate/cortx-motr/pull/719 if you want to test the patch with Motr.

@kaustubh-d and @mbcortx , do we need this merged for ADG work?

Can the gatekeeper of hare merge this PR? @knekrasov @mssawant
This is needed for ADG work in this sprint and this PI.

@max-seagate can you please rebase the branch against the latest main and resolve the conflicts?
I can also see that VM deployment is failed (but probably that can be caused by some infra issues we had in the past). I believe rebasing will force the Jenkins job to re-run. Thanks!

@knekrasov I have rebased the PR on the latest main branch.
Please check.

@huanghua78 VM Deployment 7.9 has failed. I guess that this error may relate to the changes in this PR:
2:02:20      2021-09-14 09:01:55 nodecli ERROR cortx_setup command Failed: salt command failed, reason {
12:02:20              srvnode-1: {
12:02:20          "cmd_|-Stage - Configure Hare_|-__slot__:salt:setup_conf.conf_cmd('/opt/seagate/cortx/hare/conf/setup.yaml', 'hare:config')_|-run": {
12:02:20              "comment": "Command \"/opt/seagate/cortx/hare/bin/hare_setup config --config json:///opt/seagate/cortx_configs/provisioner_cluster.json --file '/var/lib/hare/cluster.yaml'\" run",
12:02:20              "changes": {
12:02:20                  "pid": 54826,
12:02:20                  "retcode": 255,
12:02:20                  "stdout": "",
12:02:20                  "stderr": "2021-09-14 09:01:55,628 [ERROR] Error performing configuration (Command ['cfgen', '-o', '/var/lib/hare', '/var/lib/hare/cluster.yaml'] exited with error code 1. Command output:
12:02:20      [1;33mWarning[0m: Could not locate a cache base directory from the environment.
12:02:20
12:02:20      You can provide a cache base directory by pointing the $XDG_CACHE_HOME
12:02:20      environment variable to a directory with read and write permissions.
12:02:20
12:02:20      Traceback (most recent call last):
12:02:20        File \"/opt/seagate/cortx/hare/bin/cfgen\", line 2313, in <module>
12:02:20          main()
12:02:20        File \"/opt/seagate/cortx/hare/bin/cfgen\", line 241, in main
12:02:20          cluster = build_cluster(cluster_desc)
12:02:20        File \"/opt/seagate/cortx/hare/bin/cfgen\", line 2298, in build_cluster
12:02:20          for fdmi_filter in cluster_desc['fdmi_filters']:
12:02:20      TypeError: 'NoneType' object is not iterable
12:02:20      )"
12:02:20              }
12:02:20          }
12:02:20      },
12:02:20       }, args {
12:02:20          "targets": "*",
12:02:20          "fun": "state.apply",
12:02:20          "fun_args": [
12:02:20              "components.hare.config.config"
12:02:20          ],
12:02:20          "fun_kwargs": {},
12:02:20          "kw": {
12:02:20              "tgt_type": "compound",
12:02:20              "full_return": true
12:02:20          },
12:02:20          "secure": false,
12:02:20          "nowait": false
12:02:20      }
12:02:20       -----
12:02:20    stdout_lines: <omitted>
12:02:20
12:02:20  TASK [factory_vm_deployment : [ Validate Deployment ] : Component Deployment Failure] ***
12:02:20  [WARNING]: conditional statements should not include jinja2 templating
12:02:20  delimiters such as {{ }} or {% %}. Found: {{ FAILED }} == True
12:02:20  fatal: [srvnode-1]: FAILED! => changed=false
12:02:20    msg: Component deployment failed !!

@mssawant: VM deployment is going to fail anyway because Seagate/cortx-motr#736 is required for this patch to run Motr/Hare cluster. Is there something I need to do because of this?
CC @knekrasov.

@max-seagate , do we need to merge  Seagate/cortx-motr#736 and this PR at the same time to avoid such VM deployment failure?
"at the same time," I mean, we should merge them in sync.

I have verified that:
CORTX-Hare: with the branch from this PR.
CORTX-Motr: with the fdmi_int branch from https://github.com/Seagate/cortx-motr/pull/719
With the following CDF file chanegs (enanling fdmi):
[520428@ssc-vm-g3-rhev4-0489 ~]$ diff -u singlenode.yaml CDF.yaml
--- singlenode.yaml     2021-09-15 18:12:38.238716194 +0800
+++ CDF.yaml    2021-09-15 18:04:24.681528044 +0800
@@ -47,8 +47,8 @@
 #profiles:
 #  - name: default
 #    pools: [ the pool ]
-#fdmi_filters:
-#  - name: test
-#    node: localhost
-#    client_index: 1
-#    substrings: ["Bucket-Name", "Object-Name", "Object-URI"]
+fdmi_filters:
+  - name: test
+    node: localhost
+    client_index: 1
+    substrings: ["Bucket-Name", "Object-Name", "Object-URI"]

I can successfully:
sudo hctl bootstrap --mkfs ~/CDF.yaml

and then
[520428@ssc-vm-g3-rhev4-0489 ~]$ cp /opt/seasudo hctl status
Data pool:
    # fid name
    0x6f00000000000001:0x2f 'the pool'
Profile:
    # fid name: pool(s)
    0x7000000000000001:0x4f 'default': 'the pool' None None
Services:
    localhost  (RC)
    [started]  hax        0x7200000000000001:0x6   <IP_ADDRESS>@tcp:12345:1:1
    [started]  confd      0x7200000000000001:0x9   <IP_ADDRESS>@tcp:12345:2:1
    [started]  ioservice  0x7200000000000001:0xc   <IP_ADDRESS>@tcp:12345:2:2
    [unknown]  m0_client  0x7200000000000001:0x29  <IP_ADDRESS>@tcp:12345:4:1
    [unknown]  m0_client  0x7200000000000001:0x2c  <IP_ADDRESS>@tcp:12345:4:2

Hi @max-seagate, @huanghua78, it would have been good if would have tested a deployment using atleast a custom build comprising of respective motr and hare branches just to make sure that main does not fail. Can we do that please? Or if already deployed, can any of you please post the link to the build?

Hi @max-seagate, @huanghua78, it would have been good if would have tested a deployment using atleast a custom build comprising of respective motr and hare branches just to make sure that main does not fail. Can we do that please? Or if already deployed, can any of you please post the link to the build? cc @knekrasov, @truptiatseagate

I did the integrated deployment manually. @rajkumarpatel2602 did it manually.
Who can help to do a "custom build"?

Who can help to do a "custom build"?

Hi @huanghua78
This link can be used to create a custom build :
http://eos-jenkins.colo.seagate.com/job/GitHub-custom-ci-builds/job/centos-7.9/job/custom-ci/
Once you login to Jenkins using this link, you will need to fill in the branch name and corresponding repo link for the components that have code changes.
Once build is successful, these links can be used to test shingle node and three node deployments using fresh Centos 7.9 VMs.
Single node:
http://eos-jenkins.mero.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-1Node-CentOS-7.9/
Three node:
http://eos-jenkins.mero.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-3Node-CentOS-7.9/

Deployments,
1 node VM: http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-1Node-CentOS-7.9/154 : Passed
3 node VM: http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-3Node-CentOS-7.9/103 : Failed, Hare + Motr stack started fine, ha_proxy and other s3 services failing on node-3,
07:59:38  changed: [srvnode-1 -> ssc-vm-g3-rhev4-1070.****] => changed=true
07:59:38    rc: 0
07:59:38    stderr: |-
07:59:38      Shared connection to ssc-vm-g3-rhev4-1070.**** closed.
07:59:38    stderr_lines: <omitted>
07:59:38    stdout: |-
07:59:38      Failed Service : systemd:haproxy
07:59:38      Failed Service : systemd:s3backgroundconsumer
07:59:38      Failed Service : s3server-count
07:59:38    stdout_lines: <omitted>

Deployments,
1 node VM: http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-1Node-CentOS-7.9/154 : Passed
3 node VM: http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-3Node-CentOS-7.9/103 : Failed, > Hare + Motr stack started fine, ha_proxy and other s3 services failing on node-3,

Adding more:
@rajkumarpatel2602 has done some basic I/O testing （using m0cp & m0cat) on the single node deployment.
The results are good and correct.

Deployment for 3 node cluster passed : http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-3Node-CentOS-7.9/107/
custom-ci Job used : http://eos-jenkins.colo.seagate.com/job/GitHub-custom-ci-builds/job/centos-7.9/job/custom-ci/2102/parameters/


One click activation of thermostat devices

Hello,
I think it would be great if we can turne on/off thermostat devices with just one click in Home App. It has been done in the homebridge-daikin-local plug-in, and working very well for me :
(cbrandlehner/homebridge-daikin-local#15)
The way it has been done in this plugin was adding this characteristic :
    this.heaterCoolerService
      .getCharacteristic(Characteristic.Active)
      .on('get', this.getActive.bind(this))
      .on('set', this.setActive.bind(this));

With the 'setActive' action, the thermostat is powered up / powered down with just a click on the icon in Home app.
Do you think it's possible to implement it?
Regards

Hi there,
Unfortunately, what you have listed above will not work with this plugin. The plugin you have referenced exposes a Fan and HeaterCooler service. This plugin exposes the Thermostat service, which does not support the Active characteristic.
Please refer to the HAP specification for more information on services and their supported characteristics.
Best, Tom

Hello,
I've understood from an other project that HeaterCooler is the new version of accessory type for this devices :
https://github.com/RavenSystem/esp-homekit-devices/issues/609#issuecomment-555216382
Do you think the work would be high to migrate to this new service?

Hello @macjl and thank you for your feedback.
HeaterCooler is not a replacement, it's another device that behave differently. Basically, a Thermostat is "the boss" and decides when the system should run or not...
If you want to set the system on, ask for a global higher temperature or review the way you get the room temperature ;)
Best,
PJCzx


Validate with redux-form/immutable is returning literal objects instead of Immutable.Map

What is the current behavior?
Using redux-form/immutable and validate on either Form or field-level errors are returned as literal objects
What is the expected behavior?
Using redux-form/immutable and validate on either Form or field-level I expect them to be Immutable.Map.
In AsyncValidate errors are as a matter of fact Immutable.Map
Sandbox Link

What's your environment?
Redux v7.1.1
All OS
Node v8

I had this problem too - seems the docs and the examples are out of sync.
Take a look at this https://github.com/erikras/redux-form/blob/master/examples/immutable/src/ImmutableForm.js
I refactored around this example and it works as expected now

@davidowens Unfortunately this is still not working since sync-validation and async-validation are returning different types:
sync -> {} object literal
async -> Immutable.map


Cannot correctly escape in IngressRoute

Do you want to request a feature or report a bug?

Bug

What did you do?
I'll trying to add an IngressRoute using HeadersRegexp to match a literal . (dot) in an IP address. Withe the following config:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: bug
  namespace: traefik
spec:
  entryPoints:
    - web
  routes:
  - match: Host(`dummy.host`) && HeadersRegexp(`X-Real-Ip`, `172\..*`)
    kind: Rule
    services:
    - name: dummy-svc
      namespace: dummy-test
      port: 80

What did you expect to see?
It should be a correct rule and can match X-Real-Ip: <IP_ADDRESS>.
What did you see instead?

This rule would not show up in the UI. If there is an error, it should show up in the dashboard. Disappearing from the dashboard made me confused and hard to track what is going on.
It doesn't take effect
The logs of traefik has the following line:

time="2020-05-06T15:12:41Z" level=error msg="Invalid syntax for match rule: Host(`dummy.host`) && HeadersRegexp(`X-Real-Ip`, `172\\..*`)" ingress=bug namespace=traefik providerName=kubernetescrd

By the way, I also tried with double backslash HeadersRegexp(`X-Real-Ip`, `172\\..*`). It is recognized as a correct rule, but it cannot match an IP of <IP_ADDRESS>.
Output of traefik version: (What version of Traefik are you using?)

Version:      2.2.0
Codename:     chevrotin
Go version:   go1.14.1
Built:        2020-03-25T17:32:57Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
# (paste your configuration here)

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
(paste your output here)

After some digging into the code, I found that the rule is rejected because it does not pass the check of checkStringQuoteValidity . The string is put into a pair of double quotes " and passed into strconv.Unquote to see if there is any error. And probably because \. is illegal in golang, it is rejected as invalid.
However, the string can be correctly parsed by parse.ParseExpr, which is used internally by predicate.(*predicateParser).Parse(). predicate.(*predicateParser).Parse() is used in AddRoute to parse the rule. It parses the string a golang source piece, not in double quotes. Here the \ appears in backtick and has no special meaning.
I tried it in with parse.ParseExpr in go playground and it return no error.
(I did not compile or run the code, just read it on the github)

I'm using HeadersRegexp(`X-Real-Ip`, `172[.].*`) as a workaround now.

Get a clone of the code, and commented out the offending check. After that the configuration (eadersRegexp(`X-Real-Ip`, `172\..*`) can work as expected.

Hi @fefe982,
Thanks for this report! The original source of that code came from here (which I wrote):
https://github.com/containous/traefik/pull/3964
In Traefik v1.x, an internal template was used to transfer configurations from various providers to the server core.
The issue encountered was that the kubernetes API returned a string literal, which we then used as a double quoted string. The issue encountered was that values returned from kubernetes could be non-valid double quoted strings, which broke the internal template, causing the server core to stop processing.
Checking the quotability of these values prevented an erroneous value from breaking the server core.
Traefik v2 does not use an internal template. As such, this check should not be required, and should be removable.
Also as an aside, It should be possible to pass double quoted (escaped) strings into the host rules, instead of string literals:
Host("dummy.host") && HeadersRegexp("X-Real-Ip", "172\\..*")

However, I'm not sure offhand if the double quoted regex would pass the unneeded unquote test.

Closed by #6775


release: v0.17.0

Coverage remained the same at 90.013% when pulling 7b565869df4187dd179450db4a54678ebc4dadf3 on ppanero:release into a4882facfe3e0adb940c0d4ec05954e290da5ee5 on inveniosoftware:master.


Flash Messages on long forms

Hi,
I am building some very long forms, and when the form is submitted the flash messages are displayed way at the top and the user has no idea if there were any errors with the submission, unless they scroll back to the top of the page.
Is there a way to scroll to the position of the flash messages once the form is submitted?
Thanks,

I've re-positioned the flash messages at the bottom of the form.

Ver. 1.3.9 includes a new option to execute custom JavaScript code on form success / error.
On this particular case, you can add some code to scroll to top.

@rangrage could you show here the partal layout that you have created? I am also getting the flash to work, but am totally unable to loop and show the errors in it. thanks in advance!


Wildcard in rule pattern doesn't apply to subdirectories

What happened?
gittuf currently uses glob-style patterns. This means that file:foo/* will apply to all files in the foo/ directory but not in the foo/bar/ directory. The glob-style patterns are based off the upstream TUF specification but they're not ideal for gittuf. Instead, I propose we switch our patterns to align with gitignore. This should be a drop-in replacement. Note that with this change, file:foo/* will still not match other /, but we can at least support file:foo/**.
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thinking aloud, but I think what we really want is just fnmatch? No need of ** then, fnmatch doesn't special case directory separaters. It operates strictly on strings as well.

So what would the behavior be in this case then?

What if you don't want to match subdirectories?  Is that use case important?
On Wed, Feb 28, 2024 at 2:00 PM Aditya Sirish @.***>
wrote:

I think fnmatch would meet the original expectation trivially. No need for
**, * would match / supporting subdirectories as well.
—
Reply to this email directly, view it on GitHub
https://github.com/gittuf/gittuf/issues/309#issuecomment-1969652272, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGRODZS5BHQP26V5MESQI3YV55FDAVCNFSM6AAAAABDXKMET2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRZGY2TEMRXGI
.
You are receiving this because you commented.Message ID:
@.***>

Do you mean where foo has three subdirectories a, b, c and you want a pattern to only apply to a and b and not c? fnmatch doesn't make this trivial (regex may be a better option here but I don't know if we want the complexity of regex). I want to note though that you could support this by explicitly defining a terminating rule for foo/c and then include a foo/*. Either way, you're explicitly declaring the subdirectory you do not want to match.


toString leveraged to json

Works. Feedback requested.

Refer to this link for build results (access rights to CI server needed):
/job/nd4j-PR/14/Failed Tests: 2nd4j-PR/org.nd4j:nd4j-base64: 2org.nd4j.serde.base64.Nd4jBase64Test.org.nd4j.serde.base64.Nd4jBase64Test.testBase64Severalorg.nd4j.serde.base64.Nd4jBase64Test.org.nd4j.serde.base64.Nd4jBase64Test.testBase64
Failure

Refer to this link for build results (access rights to CI server needed):
/job/nd4j-PR/15/Failed Tests: 3nd4j-PR/org.nd4j:nd4j-base64: 2org.nd4j.serde.base64.Nd4jBase64Test.org.nd4j.serde.base64.Nd4jBase64Test.testBase64Severalorg.nd4j.serde.base64.Nd4jBase64Test.org.nd4j.serde.base64.Nd4jBase64Test.testBase64nd4j-PR/org.nd4j:nd4j-native: 1org.nd4j.linalg.Nd4jTestsC.testTADMMulLeadingOne[0: backend(org.nd4j.linalg.cpu.nativecpu.CpuBackend)={1}]
Failure

Could you look at the test failures there? Maybe you need to update master on this branch?

Passes locally. Maybe a Jenkins thing.

Start Jenkins

Refer to this link for build results (access rights to CI server needed):
/job/nd4j-PR/16/
Failure

Jenkins doesn't build. Debugging.


Error message & Error boundary

[x] I have reviewed the documentation
[x] I have searched existing issues
[x] I am using the latest React Native version

Looks like there's a difference between error handling between react-native and react (web). If you run the code described bellow, you'll see that react-native is serializing the whole error object inside message, instead of keep the original message. In react (web) everything works as expected.
Something in going on with throw and/or componentDidCatch, because just creating the error works fine.
Environment

Environment:
OS: macOS Sierra 10.12.6
Node: 8.9.4
Yarn: 1.5.1
npm: 5.6.0
Watchman: 4.7.0
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.2 => 0.55.2
Steps to Reproduce

Run the following code
import React from 'react';

class ErrorBoundary extends React.Component {
  state = {
    hasError: false
  }
  componentDidCatch(error, info) {
    this.setState({ hasError: true }, () => {
      alert(error.message);
    });
  }
  render() {
    if (this.state.hasError) {
      return null;
    }
    return this.props.children;
  }
}

const ErrorComponent = () => {
  throw new Error('my best error!');
}

export default () => (
  <ErrorBoundary>
    <ErrorComponent/>
  </ErrorBoundary>
)

Expected Behavior
I'd expect error.message to be ONLY 'my best error!'
Actual Behavior
After dismissing the "red screen"

I have the same issue as well

error.message.slice('Error: '.length)


orgnize the autocmd into an augroup

Thus we can use doautoall LSP_<name> FileType after lazy loading nvim-lspconfig

You can now lazy load nvim_lspconfig by disabling autostart, see the readme.


Tableau Custom SQL for Lineage

Is your feature request related to a problem? Please describe.
Tableau Metadata API provides the custom SQL which can be used to create lineage information
Look for ways to check if it can be used with OM

Tableau API Model - https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_model.html
GraphiQL query example
customSQLTables
  {
  id
  name
  description
  query
  connectionType
  tables
    {
    id
    name
    schema
    fullName
    description
    database {
      name
    }
  }
  downstreamWorkbooks{
    name
  }
}
}```

@OnkarVO7 could you please check if this is already done? Thanks

Support for Tableau Custom SQL Lineage has been implemented with the Tableau Data Models


Addressing CLIMATE-810 Demo tab doesn't appear in ocw ui

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Failed.


[DOC] differentiate between K8s Node and Longhorn Node

What's the document you plan to update? Why? Please describe
The term "node" gets used for K8s and for Longhorn.
In the docs it is sometimes not clear (at least if you are new to Longhorn) which meaning the word "node" has.
It would be nice to make this more explicit.
For example in this place: https://longhorn.io/docs/1.7.2/nodes-and-volumes/nodes/default-disk-and-node-config/#customizing-default-disks-for-new-nodes
Where should I set the label: On the K8s node or the Longhorn node?

Additional context

@guettli Would you like to contribute the doc update?

@derekbit yes, if you tell me which kind of "node" the text refers to. At least in the above link I am unsure.


Add custom reporting screen

What does this PR change?
This PR adds a custom reporting screen to replace the vanilla reporting screen while on MCCI, it will also make it so if a user runs the report command as such /report user instead of throwing an error it will bring up a screen with a list of report options.
This PR also adds a new class SuggestionProvider this is similar to how the friends in-game system worked except its contained to a single class that can be reused with an easy registration of suggestion suggestion getting systems.
Showcase
Custom Reporting Screen

Reporting Options Screen

Notes
The report options do allow for translations as to make it better accessible to people playing in other languages as of right now I do not add translation keys for them in english as they are already in english.
Since this does act like the vanilla social interaction screen in the future you can add back the hide messages button(it didnt work as vanilla checks only very specific formats) if #93 is implemented as you can then toggle chat for specific players instead of global.

Hey! Hope you don't mind me poking my head in here but I am not a fan of this PR at all. Modifying and mimicking Mojang player safety features is definitely not okay, and something that we at MCC Island wouldn't be happy with at all. We don't want to confuse players, and especially don't want to be messing with player safety features either.
That being said, the idea is nice and anything that can make reporting easier is a good idea at heart!

My reasoning for making this is that because MCCI actively doesnt support chat reporting features and does not follow a format in which Mojang can detect messages that means that you cant report messages on MCCI at all, you cant hide messages on MCCI at all, and further more MCCI uses fake players improperly meaning that the reporting menu on MCCI is filled with non existent players meaning you have 20 real players in a list of like 200 fake players, so its not screwing with player safety its adding something back that MCCI removes.

if you guys at MCCI do not like such features I would suggest supporting player reporting correctly using ChatType as they are very versatile meaning you can put almost anything in them while having the real message still be signed behind them

Thanks for the suggestion, we are already working on implementing player safety features with Mojang support, however it is currently very tricky on multi-proxy setups, especially those that support multiple versions, hence the delay.

Thanks for the suggestion, we are already working on implementing player safety features with Mojang support, however it is currently very tricky on multi-proxy setups, especially those that support multiple versions, hence the delay.
However, please don't take this as us saying that we don't support making reporting easier! We definitely appreciate the intent behind this change, just don't support it being done in this way.

It can be changed to not replace the social interaction screen that is just a single line in a mixin, I assume you'd be fine with the custom screen if someone just types /report <username> as then that will allow the options to be localized into different languages allowing for more accessible reporting to those who do not speak English, this feature is something ive done for example on Hypixel now for 2-3 years now in a separate mod called ReportPlus and I have never had that issue with that and its been used by about 150k unique users monthly

Specifically this mixin right here can be removed and then it will no longer replace the social interaction screen https://github.com/ThatGravyBoat/IslandUtils/blob/5259c570036daf4aecc3d9d9339854310c69ce56/src/main/java/net/asodev/islandutils/mixins/reporting/MinecraftMixin.java#L16


ReadableStreams, consistent with fetch api standard

Hi there, thanks for making node-fetch, it's awesome and super useful!
One question though.. the purpose of node-fetch is to "bring fetch to nodejs", which is wonderful, but then shouldn't the goal be to always have api parity with the Web-standards in browsers?
for this reason, I can't understand why in node-fetch v3.x's upcoming version, the response body api for readable streams isn't consistent with the Web versions. Specifically, response.body.getReader() should function the same as in a Web browser. By doing so, this would allow http streaming apis to work with node-fetch as they do in Web browsers with normal fetch apis.
for some info on how to convert between formats, perhaps this would help as some example code between casting which would be very nice to have incorporated directly into node-fetch https://github.com/gwicke/node-web-streams

v3 have became better at unify the .body to always be the same than it was before.
My recomendation for reading both whatwg/node streams are with async iterators
// for web - simplefied inperfect polyfill that solves most of your problem
if (!ReadableStream.prototype[Symbol.asyncIterator]) {
  ReadableStream.prototype[Symbol.asyncIterator] = async function* () {
    const reader = this.getReader()
    while (1) {
      const chunk = await reader.read()
      if (chunk.done) return chunk.value
      yield chunk.value
    }
  }
}

// later
for await (let chunk of response.body) {
  console.log(chunk) // Uint8Array
}

closing this since there already is existing descussion around whatwg vs node streams
#647
#387
nodejs/node#22352


Add account system

I guess that's this is current problem. WIP

I guess that this is current problem. WIP

Wait SLQL alpha version..


exodus: 24.19.4 -> 24.41.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/exodus/versions.
meta.description for exodus is: Top-rated cryptocurrency wallet with Trezor integration and built-in Exchange
meta.homepage for exodus is: https://www.exodus.io/
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.41.3 with grep in /nix/store/qvrf10y3wggzn8ffkyq00q8ahmd0pi03-exodus-24.41.3
found 24.41.3 in filename of file in /nix/store/qvrf10y3wggzn8ffkyq00q8ahmd0pi03-exodus-24.41.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

exodus

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qvrf10y3wggzn8ffkyq00q8ahmd0pi03-exodus-24.41.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A exodus https://github.com/r-ryantm/nixpkgs/archive/e5e4e7cb3ad59551f1f1e82c2e51c6025a1509f4.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e5e4e7cb3ad59551f1f1e82c2e51c6025a1509f4#exodus

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qvrf10y3wggzn8ffkyq00q8ahmd0pi03-exodus-24.41.3
ls -la /nix/store/qvrf10y3wggzn8ffkyq00q8ahmd0pi03-exodus-24.41.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

exodus

Maintainer pings
cc @mmahut @rople380 @Craftzman7 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Closing in an attempt to get r-ryantm to re-create this PR after #351824 caused some merge conflicts.


Fix StaleId handling with multiple contexts

Prior to this, BatchedSearches with multiple contexts would append stale ids to the first context, rather than the context which was actually missing them, and so the retried attempts would also fail.  WDYT?

Thanks :)


ZenProperty annotation not behaving properly

NOT working

Also did not work when the annotation parameters were omitted
WORKING

The ZenProperty documentation also states that the getter and setter properties can be null to prevent the methods from being registered, but annotations do not accept null values, and there is no code to handle the case in the implementation anyways
Relevant Links
https://crafttweaker.readthedocs.io/en/latest/#Dev_Area/ZenAnnotations/ZenMembers/#zenproperty
https://discordapp.com/channels/136877912698650625/415842429384654862/550474425766772756

Your fields need to be public, not package private...


Rounding of work times up to nearest x minutes

This is an initial commit (no docs or tests yet) of a feature to offer rounding up of work times. I wanted to make sure this would be of interest before I finalize it.
Rationale: I don't think most people track their work times to the nearest second. Also, a number of contractors round times up to the nearest hour or half-hour.
Changes: added a command-line switch --round-to (-r). Defaults to zero (no rounding). The rounding feature rounds the totals for each day based on the start time. So if you have multiple frames in a day, it will sum all of the frames, then present the rounded-up total for that day. It works with both the 'report' and 'log' options. The time per day is also summed and rounded for each tag in the log view.
I've attached a file with sample outputs with and without rounding.
Let me know if this makes sense and seems useful.
Scott
log.txt

Thank you for this Scott. I think it might be useful. What do you think about adding a configuration for this to avoid typing the same --round-to 15 option for all report or log calls?
Cosmetic remark: to improve readability or this PR, can you please add the (shortened) content of your log.txt file in a code block?

Configuration option sounds great, I'll add that in too and start working on some tests and the documentation details.
Thanks!
Scott
REPORT WITHOUT ROUNDING:
------------------------

Mon 01 February 2016 -> Sat 05 March 2016

project1 - 21h 33m 34s
	[tag1      45m 17s]
	[tag2    12h 20m 16s]
	[tag3     6h 28m 15s]
	[phone    1h 23m 05s]
	[shopify     36m 41s]

REPORT WITH ROUNDING (to nearest 15 min):
-----------------------------------------

Mon 01 February 2016 -> Sat 05 March 2016

project1 - 22h 45m 00s
	[tag1   1h 00m 00s]
	[tag2    13h 00m 00s]
	[tag3     7h 15m 00s]
	[phone    1h 30m 00s]
	[shopify     45m 00s]

LOG WITHOUT ROUNDING:
---------------------

Friday 04 March 2016 (1h 39m 46s)
	d7f7cd0  13:57 to 14:17      19m 23s  project1  [tag3]
	4cc9841  14:27 to 15:11      43m 42s  project1  [tag3]
	ce3d2aa  16:29 to 17:06      36m 41s  project1  [shopify]

Tuesday 23 February 2016 (2h 22m 07s)
	6931d90  12:04 to 12:06      02m 02s  project1  [tag1]
	f0d473c  12:06 to 13:15   1h 08m 32s  project1  [tag2]
	678d9af  13:55 to 14:09      14m 04s  project1  [tag2]
	ae51e4d  14:28 to 14:51      23m 18s  project1  [tag2]
	6fe0aa3  20:26 to 21:01      34m 11s  project1  [tag2]

Monday 22 February 2016 (3h 53m 52s)
	6f85680  10:52 to 12:40   1h 47m 32s  project1  [tag3]
	fcb7a25  13:29 to 14:52   1h 23m 05s  project1  [phone]
	b29c8d3  21:00 to 21:44      43m 15s  project1  [tag1]

Sunday 21 February 2016 (1h 07m 36s)
	035f200  20:05 to 21:13   1h 07m 36s  project1  [tag3]

Thursday 18 February 2016 (2h 30m 02s)
	35154f5  11:00 to 13:30   2h 30m 02s  project1  [tag3]

Wednesday 17 February 2016 (4h 00m 02s)
	94781ae  10:57 to 14:57   4h 00m 02s  project1  [tag2]

Tuesday 16 February 2016 (6h 00m 09s)
	d9388fd  10:37 to 16:37   6h 00m 09s  project1  [tag2]

LOG WITH ROUNDING (to nearest 15 min):
--------------------------------------

Friday 04 March 2016 (1h 45m 00s)
	d7f7cd0  13:57 to 14:17      19m 23s  project1  [tag3]
	4cc9841  14:27 to 15:11      43m 42s  project1  [tag3]
	ce3d2aa  16:29 to 17:06      36m 41s  project1  [shopify]

Tuesday 23 February 2016 (2h 30m 00s)
	6931d90  12:04 to 12:06      02m 02s  project1  [tag1]
	f0d473c  12:06 to 13:15   1h 08m 32s  project1  [tag2]
	678d9af  13:55 to 14:09      14m 04s  project1  [tag2]
	ae51e4d  14:28 to 14:51      23m 18s  project1  [tag2]
	6fe0aa3  20:26 to 21:01      34m 11s  project1  [tag2]

Monday 22 February 2016 (4h 00m 00s)
	6f85680  10:52 to 12:40   1h 47m 32s  project1  [tag3]
	fcb7a25  13:29 to 14:52   1h 23m 05s  project1  [phone]
	b29c8d3  21:00 to 21:44      43m 15s  project1  [tag1]

Sunday 21 February 2016 (1h 15m 00s)
	035f200  20:05 to 21:13   1h 07m 36s  project1  [tag3]

Thursday 18 February 2016 (2h 45m 00s)
	35154f5  11:00 to 13:30   2h 30m 02s  project1  [tag3]

Wednesday 17 February 2016 (4h 15m 00s)
	94781ae  10:57 to 14:57   4h 00m 02s  project1  [tag2]

Tuesday 16 February 2016 (6h 15m 00s)
	d9388fd  10:37 to 16:37   6h 00m 09s  project1  [tag2]

Another related thought, what would you think about changing the default rounding to the nearest 1 minute and hiding the seconds in the log and report view? This is somewhat related to both my outstanding pull requests :smile:
Scott

You are probably right about this improvement. I'll let other people involved in this project share their thoughts about the whole thing.

I made another change to the rounding method:

Seconds are rounded off first up or down to the nearest minute.

Then the minutes are rounded up to the requested value.

2h 30m 02s would have been rounded up to 2h 45m if --round-to 15 is requested. Now it will stay 2h 30m.

1h 15m 00s would have been rounded up to 1h 30m before with -r 15. Now it will stay 1h 15m.

Hope that makes sense..
Scott

I'm going to close this PR and open a new one with #107 and #108 merged together. Sorry for the noise!


Feature/icdpcs collector

https://github.com/opentrials/opentrials/issues/44
To add to warehouse: 67075 procedures (interventions) with international code.

@vitorbaptista
Please take a look.

Looks good to me :+1:


Parser for different output, based on software version.

Fairly new to opennti, so I hope this isn't too simple of a question.  I understand the command parser is picked, based on a regex of the command line.  What happens if the command line is the same, but output is different, depending on the software version.  I'm currently running into an issue with my test network, consisting of EX9208s and QFX5100s.  The 'show system processes extensive' parser is working for the QFX (14.1X53), but is not working for the EX9208 (16.1R7).  The EX process table has a different set of columns:
QFX:
dcarpenter@qfx5100> show system processes extensive
May 31 09:48:23
last pid: 90187;  load averages:  0.55,  0.31,  0.21  up 21+22:24:13    09:48:23
133 processes: 4 running, 111 sleeping, 18 waiting
`Mem: 529M Active, 172M Inact, 365M Wired, 769M Cache, 69M Buf, 51M Free` `Swap:`
  PID USERNAME    THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
 1790 root          2  44  -52  1062M   416M select  87.3H 73.34% fxpc
   10 root          1 171   52     0K    12K RUN    427.0H 19.14% idle
 1952 root          1  96    0 90860K 78752K select 199:42  2.93% l2ald
EX:
dcarpenter@ex9208> show system processes extensive
May 31 09:49:53
last pid: 59073;  load averages:  0.54,  0.38,  0.36  up 0+17:30:59    09:49:53
214 processes: 5 running, 178 sleeping, 1 zombie, 30 waiting
`Mem: 198M Active, 2368M Inact, 885M Wired, 1652M Buf, 12G Free` `Swap: 8192M Total, 8192M Free`
  PID USERNAME   PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
  10 root       155 ki31     0K    64K RUN     3 961:22 100.00% idle{idle: cpu3}
 10 root       155 ki31     0K    64K CPU1    1 961:46  97.07% idle{idle: cpu1}
Is there a method to choose the parser by something other than just the command line executed?

Hi
So far with the actual implementation, there is no ‘clean’ way to select the parser, however there are some tricks or workaround…..  for instance.
Add multiple ‘match’ entries on the same parser file, one that matches the QFX format and not the EX,  and the viceversa with the second match entry,
Example…
parser:
    regex-command: show\s+system\s+processes\s+extensive
    matches:
    -
        type: single-value
        method: regex
        regex: <<< a regex that match the QFX format
        variables:
    -
        type: single-value
        method: regex
        regex: : <<< a regex that match the EX format
        variables:

Sorry I didn't get back sooner.  I ended up writing up a generic regex that (I believe) will catch all the cases.  So far it has been working correctly.  For anyone else that may need it:
For the rpd case:
regex: \s*[0-9]+.\s+(\d+[K|M|G])\s+(\d+[K|M|G]).\s(\S{4,6})%\s+rpd.*$


show of MCMC.Chain summary statistics in clip-03-02-05t fails

This line trying to show summary statistics https://github.com/StatisticalRethinkingJulia/StatisticalRethinkingTuring.jl/blob/98ee9d1efd865f5d04e5b5a42e9985add25fc7cc/notebooks/03/clip-03-02-05t.jl#L53
currently doesn't seem to work inside Pluto, at least not for me.
Similar to what was done in another notebook it can be fixed with:
Text(sprint(show, "text/plain", summarize(chn)))
Do you want a PR for this?

Thanks for spotting this! Just checked it and indeed it needs the wrapping as you suggest. I've fixed it (side effect of trying it in Pluto, but it's good to leave this issue open for others).
I really need to set some time aside to update chapters 4 to 9 in StatisticalRethinkingTuring...

since it works in the REPL I wonder whether this should be considered a bug in Pluto actually? Or is it some problem with how Turing.jl defines the show method?

It's not really a bug in Pluto. It is similar to the problem with precis() and PRECIS() and in several other situations (DAGs, PSIS and WAIC). Thus, for now I sidestep the issue but realize I need to come up with a better solution. PrettyTables.jl also sometimes needs extra care. Many of these packages are also still evolving and this definitely has been the case with MCMCChains.jl (clearly at some point just chn worked), so sometimes not going to fast helps.


Conflit between intl and esay_localiztion dependency issue:

Hey!
In my project, intl and easy_localization have conflict. I pore over an issue which says that you have to override intl dependence.
But when I override the dependency:
dependency_overrides:
  intl: any

It`s communicate the following warning.
Warning: You are using these overridden dependencies:
! intl 0.17.0-nullsafety.2

After that I build the project it shows below error:
/Users//Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.18.1/lib/src/picture_provider.dart:50:59: Error: No named parameter with the name 'nullOk'.
context != null ? Localizations.localeOf(context, nullOk: true) : null,
^^^^^^
/Users//Desktop/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: Context: Found this candidate, but the arguments don't match.
static Locale localeOf(BuildContext context) {
^^^^^^^^
/Users//Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/chewie-0.9.10/lib/src/chewie_player.dart:83:7: Error: No named parameter with the name 'resizeToAvoidBottomPadding'.
resizeToAvoidBottomPadding: false,
^^^^^^^^^^^^^^^^^^^^^^^^^^
/Users//Desktop/flutter/packages/flutter/lib/src/material/scaffold.dart:1449:9: Context: Found this candidate, but the arguments don't match.
const Scaffold({
^^^^^^^^
/Users/*****/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/chewie-0.9.10/lib/src/chewie_player.dart:276:17: Error: The method 'inheritFromWidgetOfExactType' isn't defined for the class 'BuildContext'.

'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('/Users/*****/Desktop/flutter/packages/flutter/lib/src/widgets/framework.dart').
Try correcting the name to the name of an existing method, or defining a method named 'inheritFromWidgetOfExactType'.
context.inheritFromWidgetOfExactType(_ChewieControllerProvider)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FAILURE: Build failed with an exception.

Where:
Script '/Users/*****/Desktop/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 991

What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command '/Users/shoaib/Desktop/flutter/bin/flutter'' finished with non-zero exit value 1

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org
### ### ###
BUILD FAILED in 48s
Exception: Gradle task assembleDebug failed with exit code 1###

flutter_ doctor -v

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.26.0-18.0.pre.90, on Mac OS X 10.15.7 19H114 darwin-x64, locale en-PK)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.52.1)
[✓] Connected device (2 available)

• No issues found!

easy_localization is a 3rd party plugin, please open an issue in the dedicated [github]https://github.com/aissat/easy_localization/issues)
the issue likely depend from the import
  intl: ">=0.16.0 <0.17.0"

in easy_localization's pubspec.yaml

easy_localization is a 3rd party plugin, please open an issue in the dedicated [github]https://github.com/aissat/easy_localization/issues)
the issue likely depend from the import
  intl: ">=0.16.0 <0.17.0"

in easy_localization's pubspec.yaml

Hi @...
From what I can see, the issue is related to a 3rd party plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you

`moibledev@cocselab:~$ flutter doctor -v
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on Linux, locale en_US.UTF-8)
• Flutter version 1.26.0-17.5.pre at
/home/moibledev/snap/flutter/common/flutter
• Framework revision 1fe38dcb5f (3 weeks ago), 2021-02-10 16:25:47 -0800
• Engine revision d4453f6018
• Dart version 2.12.0 (build 2.12.0-259.9.beta)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /home/moibledev/Android/Sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build
1.8.0_282-8u282-b08-0ubuntu1~18.04-b08)
• All Android licenses accepted.
[!] Android Studio (not installed)
• Android Studio not found; download from
https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup
for detailed instructions).
[✓] Connected device (1 available)
• itel W6502 (mobile) • 05803370AG002037 • android-arm • Android 10 (API 29)
! Doctor found issues in 1 category.
`
`moibledev@cocselab:~$ flutter run -v
[  +71 ms] executing: [/home/moibledev/snap/flutter/common/flutter/] git -c
log.showSignature=false log -n 1 --pretty=format:%H
[  +44 ms] Exit code 0 from: git -c log.showSignature=false log -n 1
--pretty=format:%H
[        ] 1fe38dcb5fc58242c6e0904a318bcc3ed5a4d837
[        ] executing: [/home/moibledev/snap/flutter/common/flutter/] git tag
--points-at 1fe38dcb5fc58242c6e0904a318bcc3ed5a4d837
[  +27 ms] Exit code 0 from: git tag --points-at
1fe38dcb5fc58242c6e0904a318bcc3ed5a4d837
[   +1 ms] 1.26.0-17.5.pre
[  +53 ms] executing: [/home/moibledev/snap/flutter/common/flutter/] git
rev-parse --abbrev-ref --symbolic @{u}
[  +10 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [/home/moibledev/snap/flutter/common/flutter/] git
ls-remote --get-url origin
[   +8 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +62 ms] executing: [/home/moibledev/snap/flutter/common/flutter/] git
rev-parse --abbrev-ref HEAD
[  +10 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +48 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping
update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required,
skipping update.
[  +55 ms] executing: /home/moibledev/Android/Sdk/platform-tools/adb devices -l
[  +54 ms] List of devices attached
05803370AG002037       device usb:1-8 product:F3108 model:itel_W6502
device:itel-W6502 transport_id:30
[   +6 ms] /home/moibledev/Android/Sdk/platform-tools/adb -s 05803370AG002037
shell getprop
[ +120 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required,
skipping update.
[   +2 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping
update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required,
skipping update.
[  +34 ms] "flutter run" took 285ms.
[  +21 ms] Error: No pubspec.yaml file found.
This command should be run from the root of your Flutter project.
[   +3 ms]
#0      FlutterCommand.validateCommand
(package:flutter_tools/src/runner/flutter_command.dart:1274:11)
#1      RunCommand.validateCommand
(package:flutter_tools/src/commands/run.dart:437:19)
#2      FlutterCommand.verifyThenRunCommand
(package:flutter_tools/src/runner/flutter_command.dart:1114:11)

#3      FlutterCommand.run.
(package:flutter_tools/src/runner/flutter_command.dart:1009:27)

#4      AppContext.run.
(package:flutter_tools/src/base/context.dart:150:19)

#5      AppContext.run
(package:flutter_tools/src/base/context.dart:149:12)

#6      CommandRunner.runCommand
(package:args/command_runner.dart:197:13)

#7      FlutterCommandRunner.runCommand.
(package:flutter_tools/src/runner/flutter_command_runner.dart:278:9)

#8      AppContext.run.
(package:flutter_tools/src/base/context.dart:150:19)

#9      AppContext.run
(package:flutter_tools/src/base/context.dart:149:12)

#10     FlutterCommandRunner.runCommand
(package:flutter_tools/src/runner/flutter_command_runner.dart:234:5)

#11     run..
(package:flutter_tools/runner.dart:64:9)

#12     run.
(package:flutter_tools/runner.dart:62:12)

#13     AppContext.run.
(package:flutter_tools/src/base/context.dart:150:19)

#14     AppContext.run
(package:flutter_tools/src/base/context.dart:149:12)

#15     runInContext
(package:flutter_tools/src/context_runner.dart:73:10)

#16     main (package:flutter_tools/executable.dart:90:3)

[ +256 ms] ensureAnalyticsSent: 253ms
[   +4 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1
`

easy_localization is a 3rd party plugin, please open an issue in the dedicated github
the issue likely depend from the import
  intl: ">=0.16.0 <0.17.0"

in easy_localization's pubspec.yaml

please try your self and then give to anyone else...

easy_localization is a 3rd party plugin, please open an issue in the dedicated github
the issue likely depend from the import
  intl: ">=0.16.0 <0.17.0"

in easy_localization's pubspec.yaml

please try your self and then give to anyone else...

@vijayvaghela72
(I'm answering because, even if not tagged I feel that this post is an answer to mine)
I think I will not, fixing 3rd party packages issues is not in the scope of flutter repo
I recommend to bring up the issue in the correct repo
https://github.com/aissat/easy_localization/issues


Queue backpressure strategy race condition

I came across another race condition in the Queue implementation, particularly for the Backpressure strategy.
The race condition occurs in unsafeOnQueueEmptySpace here. Specifically, between the time a putter is polled on line 341 and the putter is added back to the queue on line 349:

The queue becomes full again (via a concurrent offer)
A concurrent take polls an item off the queue and invokes unsafeOnQueueEmptySpace. No putter is found, so the queue remains empty
The putter is added back
A subsequent take would block, even though an item should be available.

This is causing unexpected blocking of takes.
Here is some example code. Run it several thousand times.
for {
  queue <- Queue.bounded[Int](1)
  offer  = (a: Int) => queue.offer(a)
  take   = queue.take
  putA   = offer(1) *> offer(2)
  putB   = offer(3) *> offer(4)
  _     <- putA.fork
  _     <- putB.fork
  _     <- take *> take *> take *> take
} yield ()

/cc @ghostdogpr

@RaasAhsan Thanks for the report.
I need to add an extra check after re-enqueueing the putter. If the queue is not full (because of the concurrent situation you described), re-execute unsafeOnQueueEmptySpace.
Will submit a PR right away. Tried your example a million times and the problem didn't occur anymore.


feat: update and game speed and while ensuring dosent go out of bound

Run cargo clippy --fix to fix the error from the CI/CD

cargo clippy --fix

done


Accessing a Table after restarting eva_server leads to error

Running the command
SELECT * FROM v2
results in error
@status: ResponseStatus.FAIL
@batch:
 None
@error: '/root/.eva/0.1.3+dev/eva_datasets/b9093a36e5741249f73b2dfd00a7c8e6'

Steps to reporduce:

Create a table and add some images to it
restart eva_server
will get the above error

Fixed with #543


updated docs on theme install

when trying to install via theme component, the URL still points to the original location, not this updated fork! Also I believe one should follow up with git submodule init after adding a new submodule (but I'm still a beginner with git so maybe i'm wrong). anyway, tried to help out this really small bit!

Merged; you can safely delete the branch now.


Griffith University academic email domain

Main website: https://www.griffith.edu.au
IT Degree: https://www148.griffith.edu.au/programs-courses/Program/1042/Overview/Domestic
email format for staff: https://staffhelp.secure.griffith.edu.au/app/answers/detail/a_id/3188/kw/email
Students use the @griffithuni.edu.au domain that it already stored.

@jsuthers Pull request merged. Thank you!


Use Explicit PipelineOptions in Native Evaluators

This splits use of PipelineOptions away from the responsibility of the
runner to understand, and only requires propagation.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand:

[ ] What the pull request does
[ ] Why it does it
[ ] How it does it
[ ] Why this approach

[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @youngoli


Import additional header files above sierrachart.h

Hello,
SC documents says tthat:
"When including in your source code file these additional header files, they need to be placed above the #include "sierrachart.h" line."
https://www.sierrachart.com/index.php?page=doc/AdvancedCustomStudyInterfaceAndLanguage.php#UsingHeaderFiles
In your SC Telegram study the boost/format.hpp and curl/curl.h imports are below the sierrachart.h.

I have never experienced any issue or compiler problems related to this with this project. I know that with some projects, certain headers reference other headers. In that case the order of header files should make a difference. The compiler being used might also have an effect, I build with clang 16.


fix: fix NPE in checking diskSpaceLimit

Issue #, if available:
Description of changes:
Adding null check to diskSpaceLimit config usage
Why is this change necessary:
Long running tests failed
How was this change tested:
Existing tests
Any additional information or context required to review the change:
Checklist:

[ ] Updated the README if applicable
[ ] Updated or added new unit tests
[ ] Updated or added new integration tests
[ ] Updated or added new end-to-end tests

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

https://github.com/aws-greengrass/aws-greengrass-log-manager/blob/6e6aacb6c53ed8122c2761623eb3e7d4fd6ff273/src/main/java/com/aws/greengrass/logmanager/LogManagerService.java#L734
^ Should also check for null here. May consider changing Long to long to that it just can't be null.

https://github.com/aws-greengrass/aws-greengrass-log-manager/blob/6e6aacb6c53ed8122c2761623eb3e7d4fd6ff273/src/main/java/com/aws/greengrass/logmanager/LogManagerService.java#L734
^ Should also check for null here. May consider changing Long to long to that it just can't be null.

Added the check. Changing to long seems to have a larger blast radius. Since we don't have a default for diskSpaceLimit when it's missing in component config, it will effectively not attempt to delete any files when the config is missing. Not sure that's how we always wanted it though

https://github.com/aws-greengrass/aws-greengrass-log-manager/blob/6e6aacb6c53ed8122c2761623eb3e7d4fd6ff273/src/main/java/com/aws/greengrass/logmanager/LogManagerService.java#L734
^ Should also check for null here. May consider changing Long to long to that it just can't be null.

Added the check. Changing to long seems to have a larger blast radius. Since we don't have a default for diskSpaceLimit when it's missing in component config, it will effectively not attempt to delete any files when the config is missing. Not sure that's how we always wanted it though

That's the default, nothing wrong with that right? Nucleus logger still manages the memory limits


Support node-red v1.x

Thanks @zuhito - we'll be updating them all tomorrow. Will save merging this PR until then.


use only iconv for charset conversion

Has anyone experiences whether utf-8 characters in not utf-8 strings are a common problem?
I've checked against all my subscribed feeds and neither have encoding f*ckup nor any notices/warnings from php.
Feedback and more real world tests are highly welcome.

Forgot to mention that picoFeed - even with the last commit - does not support all windows codepages and more questions to support a particular encoding are to be expected.
At least the following codepages/encodings are unsupported:

Windows-1250 - Polish, Czech, Slovak, Hungarian, Slovene, Bosnian, Croatian...
Windows-1253 - Greek
Windows-1254 - Turkish
Windows-1257 - Baltic
Windows-1258 - Vietnamese
every iso encoding other than iso-8559-1

This is a breaking change and another lib dependency correct? I'm not against it but we should have a changelog somewhere where we note the breaking changes

This is a breaking change

Yes and no. As long as the feed character encoding and the announced charset match, it should work as before. Only corner cases where the feed character encoding does not match the announced charset will have issues.
That's why I ask everyone who could be affected from this changeset, to tests against real world feeds.  All my used feeds are encoded correctly. This knowledge is mandatory to handle at least common encoding faults.

and another lib dependency correct?

Not exactly. Iconv is used for windows-1251, windows-1255 and windows-1256 already.

What I mean is that you have to enable iconv in the php.ini file as extension=iconv.so
If this is not enabled the call to iconv will result in an unknown function call and it will generate an error :) Thats what I meant with breaking change

So ownCloud news must define this as a lib dependency on installation

I understood what you mean. But the dependency to iconv.so was already introduced 3. Oct 2014 with commit bfa6fb2815218960b3de7f94cfd8bade29ce793c. That's why I would not say that exactly this is a breaking change. May you did not get any bugreports because the usage was limited to not latin charsets.
Anyway, the dependency to iconv.so needs to be mentioned in the docs.

Ah, I see. Then it's missing here https://github.com/fguillot/picoFeed#requirements
Can you update it in your PR?

@Raydiation, @fguillot
As expected the first issues appeared because of this change: https://github.com/miniflux/miniflux/issues/332. Should we react on this or should we handle this as known issue because of shortcomings on the remote side?
A complete failing feed is limited to cases where the http encoding header is missing AND the xml encoding information is missing AND the feed is not utf-8 encoded AND characters different from us-ascii are used.
The worst that can happen if the announced encoding does not match the used encoding, are missing (non us-ascii) characters.

Yep, no problem, feed author needs to fix his feed.

For completely broken feeds I think it's a waste of time to add quick and dirty workarounds.

Obviously we've all the same opinion on this. Good to know.


Drop text advising candidates speak to teacher training advisers about immigration

Teacher training advisers cannot usually help with this, as all they do is point candidates towards the Home Office.

I think we either need to reinstate the 'not sure' option we had before ('Not yet, or not sure'), or we need to somehow link to more information.
Because, although you'd know if you have pre-settled or settled status, you may not know that you don't have the right to work/study in the UK if you haven't looked into it yet.

@B-Bonner

I think we either need to reinstate the 'not sure' option we had before ('Not yet, or not sure'), or we need to somehow link to more information.
Because, although you'd know if you have pre-settled or settled status, you may not know that you don't have the right to work/study in the UK if you haven't looked into it yet.

The difficulty with doing this is that if you answer "Not yet", we now ask a follow-up question about how the candidates will get the right to work and live in the UK (so that we can advise them if they need a sponsored visa and apply for a course which can't sponsor visas).
We could add a "Not sure" option, but then we'd have to not show that guidance? 🤔


Recent upgrades to Spotlight

the DBpedia Spotlight repo says it's not in active development anymore. The root website does say that the cloud servers remain active.
Spotlight migrated to DBpedia Model, a different repo, which is in continuous upgrade.
What's not clear to me is whether the cloud servers moved to Model and are current with their data.
I found in my own work that it was faster to download Spotlight and drop it on a local server, then switched that to the Model code and data. What is encouraging - without any solid evidence is that the model repo
https://github.com/dbpedia-spotlight/dbpedia-spotlight-model
references the spotlight website as its home. Fair chance the data is up to date.
As a former KMI member, I take great interest in this project and your work.

Hi Jack @KnowledgeGarden ,
Thank you very much for opening this issue. Before today, I wasn't sure whether these models were the most updated, but thanks to your issue and the info you provided, I did some investigation and testing.
By doing some investigation, I can confirm that:

the dbpedia-spotlight API publicly available at https://api.dbpedia-spotlight.org/{LANGUAGE}/ and documented at https://www.dbpedia-spotlight.org/api is updated with recent models (hopefully the last one). This is confirmed by all the pointers in the dbpedia-spotlight-model repository, and also by the availability of further languages that just became available with v1.0+
The latest models are kept up to date (2022_03_01), and are published at https://databus.dbpedia.org/dbpedia/spotlight/spotlight-model/
This wrapper library for spaCy therefore is connected to the latest models if used with the public endpoints
The instructions to deploy locally have been updated to download and use the latest models (2022_03_01) and code (dbpedia-spotlight version 1.1) so that even the local execution is up to date.

I'm very satisfied with this fruitful KMi interaction!
Best,
Martino


Build passing/fail badges?

When I discovered your module I was happy because I was just looking for Jenkins badges. Unfortunately I discovered that only the coverage badges are available.
I cannot figure out why your plugin doesn't support the build status badges. Is this something you want to implement at some point?

Thanks for the feedback. There is already a plugin to jenkins that does exactly what you want:
Embeddable Build Status
I'd like to implement a few more badges when I get the time for completeness.

How do I display Cocoapods version of  project, built on which xcode version and other variables derived in jenkins job

How do I display Cocoapods version of  project, built on which xcode version and other variables derived in jenkins job


Unused Players shouldn't show in the list to drag to the map

It would be nice if colors that are in the unused section don't show up to drag onto the map. One of the powerful things about the map is that as you drag players onto the map, you can see who's left behind. This is sort of muddled because even when everyone is accounted for, you still have two extra meeples behind (plus dead people).
Like #117, this would require having specific meanings to certain sections. Not sure if that conflicts with your plans. You might be able to accomplish something similar just by only including colors who have a name assigned.

Thank you for your input. It is currently in progress. #123


Feature request: dynamic add array fields

Hi. My idea it was realize function like this:

I will be very grateful for such feature!

There is already a similar implementation http://laravel-admin.org/demo/painters/create
Find code here https://github.com/z-song/laravel-admin.org/blob/master/app/Admin/Controllers/PainterController.php#L98-L102

@z-song
Is there any easy way to make a button and make the nested form dynamically generated on run-time with JS as it is in the image via zsong?

@NewEXE You can try to modify the code to support the morphToMany relation, and if it works, feel free to send a pull request.

Unfortunately, did not work. If we weaken the verification condition, then the remove field tries to add to the database.

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'remove' in 'field list' (SQL: insert into optionables (_remove_, name, option_id, optionable_id, optionable_type) values (0, opt 1, new_1, 1, App\Models\Course))

I want to implement support for all types of relationships. I'll look at the freedom that can be done.

Hello,
Link is dead: https://github.com/z-song/laravel-admin/issues/1919#issuecomment-381490559
How to use this feature to day!


Fix several TC bugs

AllotTime() allocated almost all of its clock due to a logic error.
TestMateInOne was setting the time after the search.
Thinking output is now protocol-compliant.

Signed-off-by: Dan Ravensloft<EMAIL_ADDRESS>

Current coverage is 99.25% (diff: 60.00%)

Merging #5 into master will increase coverage by 2.06%

@@             master         #5   diff @@
==========================================
  Files             3          3
  Lines           533        535     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            518        531    +13
+ Misses           12          2    -10
+ Partials          3          2     -1

Powered by Codecov. Last update b3d1ace...aa7b865


Intern semver::Version/semver::VersionReq

Resolves #6207

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

That's the next challenge: "intern" this cache infrastructure :wink:

:umbrella: The latest upstream changes (presumably #6469) made this pull request unmergeable. Please resolve the merge conflicts.

Out of curiosity, do we know a location where we clone these a lot or create a lot of duplicate ones? It's not as clear to me with source/package ids that Cargo would benefit from this

Paging @Eh2406 😄

@dwijnand good question why did I say that...
looking back at the original, it is not so much that we cloned it a lot. Rather they are larger structures then they seem, and we probably have the same values menny times. (How many crates have a version 0.1.0?) So it may save memory by deduping. Also we already are leaking some of them by PackageId being interned.
Now that I am saying it I am not entirely convinced.  Or maybe on the  flip side, If we intern this then PackageId is just 3 pointers, and maybe it should not be interned?
@ehuss this interning strategy was inspired by internment. Each time we have copied this code we have needed to override the impl of Hash, so I don't think we can use something off the shelf. But there is definitely room to remove some of the duplication.

Sure! How?

The "easiest" is probably Valgrind with massif on Linux perhaps?

I don't have the bandwidth.  The PR is here and it's not going anywhere, so we can always reconsider this change down the line.  I'll salvage some of the diffs in a new PR.


Projections shows garbage for the source PE of a chare array insertion event

Original issue: https://charm.cs.illinois.edu/redmine/issues/902

When my code dynamically inserts a new chare array element into an existing array, I get values of 'Created by PE' like 302710943, lower numbers that are out of range of my run, and other sorts of gibberish. This yields annoying messages in Timeline about the source of a message being out of range, and missing data in communication graphs because those events go un-counted. In the worst case, it can actually point to a random event on another processor, even one in the future! It will also break critical path trace-back.

Original date: 2015-12-02 18:05:16

I just tried adding some asserts to the message delivery path that the envelope has the srcPe fields set correctly. They don't fire under testing. That makes me more confident that it's the tracing code somewhere along the way that's wrong, not the code that generates and delivers the message.

Original date: 2017-09-25 21:53:47

I'll try to take care of this quickly.

Original date: 2017-09-26 17:23:32

~~https://charm.cs.illinois.edu/gerrit/3079~~ https://github.com/UIUC-PPL/charm/commit/34e60e0db111db92efdf52f245952938a286b346

Original date: 2017-09-27 20:04:25

The straight-forward fix for this messes up AMPI intercommunicator creation. Deferring for now, since the full fix will require some deeper surgery.


setting multiple slots from button input.

Rasa Core version: rasa-core==0.11.6
Python version:  3.6.1
Operating system (windows, osx, ...): Lunux, Ubuntu 16.04
Issue:  setting multiple slots from button input.
I understand that presenting the user with buttons will allow you to return a payload which can set a slot.
for example
    - text: "What do you want?"
      buttons:
      - title: A
        payload: "/inform{\"user_wants\": \"A\"}"
      - title: B
        payload: "/inform{\"user_wants\": \"B\"}"

Now there are some other values that I'd like to be automatically set based on which button the user clicked. Where would be the best place to do this. Is it possible to place action calls or multiple payloads beneath a button, where an action call would take the format
     - title: A
       payload: "/inform{\"user_wants\": \"A\"}"
       - action_set_other_values

and the multiple payload option would look like
      - title: A
        payload: "/inform{\"user_wants\": \"A\"}"
        payload: "/inform{\"value_a\": \"something\"}"
        payload: "/inform{\"value_b\": \"something_else\"}"

or should I handle this somewhere other than the domain file? Thanks in advance.

You can do this with /inform{"user_wants":"A", "value_a": "something"}
I'll close this issue now as it's a usage question rather than an issue. If you have further questions, please post them on our forum


Rohan Chacko updated index.html

@RohanChacko   thanks for making your first contribution, I will be merging your Pull Request, also look at the issues so that you can get a chance to win a limited community Swag from me.
If you like the project and Repo please give it a star and Follow me on Github (would be appreciated)

@RohanChacko  try this year for Hacktoberfest and have a look at the updated repo and contribute.
HAPPY HACKING