Allow language service to parse identifiers in weird places instead of crashing

I'm not totally sure why that debug assertion was there and specific to identifiers, but removing it only seems to require that the synthetically added identifier get its escapedText set.
Fixes #25487

While that may be what's wrong with the node, based on the PR the assertion was added in ( https://github.com/microsoft/TypeScript/pull/21581 ) there absolutely should not be an identifier within a trivia span as far as we know - meaning the node end position is incorrect for the preceding node (since it includes this identifier-parseable span). AFAIK we should only have a stream of tokens (eg, parens or keywords) when scanning over this range.
Which makes sense - since this only occurs in incremental parsing scenarios (ie, in the editor), together it implies that something may be wrong with how we incrementally parse and update these nodes.

I mean, how else would you parse this?

{
x}

The parser hits the x when doing a parseExpected(SyntaxKind.CloseBraceToken) and then moves on. The end of the node is set to after x, so when the language service adds synthetic nodes, it scans x as an identifier. I can't see any reason to treat this differently than, say

{
""}

which parses the same, but since it's a token, doesn't hit the debug assertion.

This can cause a problem if we scan an Identifier because we don't give it any text here

So I gave it text here ¯_(ツ)_/¯

parseExpected only advances if a match was found - the issue is the scanJsxText inside parseJsxExpression that's forcing the cursor forward without assigning the intervening text to a real node (because we do actually parse JSX text out). There's no discussion of it in https://github.com/microsoft/TypeScript/pull/4228 (which introduced it) so it's a bit of an exercise in software archaeology.

synthesizing a binary expression with a comma operator

A-ha, this is exactly what I was missing. I can do that.
So as a general rule, what kinds of syntax is the parser allowed to skip over? To me, it feels just as odd for a string literal token to end up in another syntax's trivia as it does for an identifier. But the debug assertion only cares about identifiers. I'm trying to figure out how I could have known, without feedback, that this solution is better than “fixing” synthetic identifiers, which also does seem to solve the problem. Is it that the parser should try as hard as possible to create a node for everything it sees, even when invalid?

So as a general rule, what kinds of syntax is the parser allowed to skip over?

Keywords/punctuation, whitespace and comments. (There is still some punctuation we capture for transformer reasons.) Things we don't make real AST nodes for when parsing well-formed code.

But the debug assertion only cares about identifier

I think the assertion is just an early error to warn about the crash on access - finding a string literal or almost anything that would usually have a real AST node in the trivia is an error. The category of "trivia" is primarily just comments and whitespace and is expanded to include unparsed keywords and punctuation in this context.

Is it that the parser should try as hard as possible to create a node for everything it sees, even when invalid?

Yeah, usually I think we just stuff invalid junk we want to consume into a "missing node" which is marked appropriately for incremental reparsing.

I'm trying to figure out how I could have known, without feedback, that this solution is better than “fixing” synthetic identifiers, which also does seem to solve the problem.

Deep software archaeology. When editing code I didn't write, I'm in the habit of looking up the blames of relevant code (in this case, both the PR adding the assertion and the PR adding the scanning in jsx expression parsing) I want to change to find the justification for it being as it is and seeing if the current state is well-reasoned or apparently ad-hoc. In the case of the later, finding and fixing the root cause of the prior ad-hoc change is often able to create higher quality code than stacking more ad-hoc fixes (which is what I'm suggesting here).

🕵 related: #31510

Also it looks like we usually more gracefully handle similar parse errors by synthesizing a binary expression with a comma operator - see parseJsxElementOrSelfClosingElementOrFragment

Thinking this was going to be the way forward, I improved error messages for comma expressions as JSX expressions.
However, I don't think it's quite feasible to parse extra stuff in a JSXExpression as the right-hand side of a binary expression, because we have no idea how much extra stuff there might be, what kind of stuff it is, or if the closing } will indeed ever be found. The trick we do for

 only works because it’s a special case where a JSX element follows a JSX element—that kind of logic wouldn't work very well if we needed to couple a JSX element and N other subsequent syntaxes.
By conditionally scanning for more JSX text based on whether the expected } was found, we still end up with a pretty gross parse tree, but in
{
x}
 the x} becomes JSXText instead of trivia, so the crash is avoided and every token is accounted for.

@weswigham did you ever have a chance to look at my second iteration of this? I think it’s much more aligned with your initial recommendation.


Support older versions

Some tests fail on Python 3.0-3.6:
self.assertEqual(10001010001, cu_to_arab("҂҂҂і҂҂а҂іа҃"))
AssertionError:<PHONE_NUMBER>1 !=<PHONE_NUMBER>0001

self.assertEqual(18, cu_to_arab("и҃і"))
AssertionError: 18 != 8010

self.assertEqual(1015, cu_to_arab("҂ає҃і"))
AssertionError: 1015 != 1005010

Code should be refactored to support broader range of platforms.

Versions >=3.5 are now supported. Older versions are untestable with GitHub Actions.


Partial port to Darwin and FreeBSD

This mainly fixes Linux vs generic Unix differences, with some
differences between Darwin and Freebsd (which are close bit not
identical). Should make fixing for other Unix platforms easier.
Note there are not yet runc equivalents for these platforms;
my current use case is image manipulation for the moby tool.
However there is interest in OCI runtime ports for both platforms.
Current status is that MacOS can build and run ctr, dist
and containerd and some operations are supported (eg dist fetch).
FreeBSD 11 still needs some more fixes to continuity for extended attributes.
Signed-off-by: Justin Cormack<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master     #791   +/-   ##
=======================================
  Coverage   59.26%   59.26%
=======================================
  Files           5        5
  Lines         739      739
=======================================
  Hits          438      438
  Misses        198      198
  Partials      103      103

Continue to review full report at Codecov.

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

LGTM

Anyone working on implementing runc equivalent for Darwin?
(How does it work?)

@AkihiroSuda we are discussing possible ways for Darwin. My initial use case is using the image manipulation code for importing packages at build time in LinuxKit, which does not need the runtime at all, but there is interest in runtime too.

LGTM
Looks like still have some work to do on with continuity to get freebsd compiling, freebsd still fails to compile the fs package because of it.

Yes, I am working on that, it needs a few changes as the syscall numbers for FreeBSD are not in the syscall package, while the Darwin ones are, so the changes are a bit annoying.

Needs rebase
@justincormack is it OK if we merge it after rebase and can have some of the freebsd issues addressed in a follow up?

rebased.
@dmcgowan thats fine, easier for me really, there are a bunch more upstream things to fix elsewhere too. I have a PR for continuity now, but there are some other small bits and pieces, and WIP parts to address later.

The CI hasnt re-run since I rebased...

Ah nudged it and it did...

@dmcgowan all green now


Create new topic by default

The current demo app connects to a default topic ID. It should default to create a new topic.

Resolved by #5 - thanks @christianholman for the first PR! 🎊


Support for "timespan" in api.yaml

Could we have some support for "timespan". Could be a placeholder type for now.

I assume this should be:
!ruby/object:Api::Azure::SDKTypeDefinition::ISO8601DurationObject
mentioned here:
https://github.com/Azure/autorest.devops/issues/8
However when searching for "ISO8601DurationObject" in MM repo here:
https://github.com/VSChina/magic-modules/tree/azure_backend
I couldn't find any references.

This is a new feature not added to MM yet.

MM supported this type, code templates will be completed shortly.


Modify exposure times based on moon parameters

This is code that ingests moon ephemeris parameters and produces an exposure time multiplier where a value of one corresponds to dark time.

The moon exposure multiplier is calculated as the median value of sqrt(SNR0[i] / SNR[i]) where SNR0 and SNR are calculated for dark time and specified moon parameters, respectively, and i indexes 50 benchmark ELGs:

all modeled as a pure OII doublet with no continuum.
all have the same flux (8e-17), ratio (0.73) and velocity dispersion (75 km/s).
a range of redshifts sampled from the targeting N(z) histogram.

Note that this method implicitly assumes that exposure times scale like sqrt(SNR), which is only approximately true.
Here is the assumed benchmark rest-frame ELG spectrum:

and here is the distribution of SNR0[i] and SNR[i] values for a specific moon configuration (the scatter is only due to the varying ELG redshift), where the dashed red line shows the median SNR ratio:

Each new set of the three moon parameters (zenith angle, separation angle, phase) involves running 50 ELGs with different redshifts through specsim to get the SNR[i] values, which takes about 1.2s and is therefore too slow for simulating the full survey (even though it is only needed for gray tiles).
However, the computation can be sped up considerably since the exposure-time correction really only depends on the scattered moon magnitude (1D) and not separately on the 3D input parameters. The plot below show exposure times calculated for a random set of moon parameters and projected into this 1D subspace, then fit with a linear regression:

Details are in a jupyter notebook that I will commit now and start a PR.


fix #686 encode credentials in install case

Quick fix for #686
This PR just fixes the install code path as the other one seems to forward the credentials to other components that should properly generate their own url.

@oleastre Thanks for your PR!
This is a duplicate of #1341 (which has a test) so I will close this PR.

#1341 fixes the develop branch while this one fixes the master branch.
The code that generates the index url is contained in the installer object and not in the repository like in the new develop version.
And there is no existing test for the pip_installer.install method on master. So I did not created one from scratch.
But if absolutely required to solve that bug, I can write one.

Just in case someone ends up here trying to make poetry 0.12.* work with 19.* and private repos and special chars in your creds: check out this little wrapper utility called pooetry


License?

Love the logo, and I would love to use it in 3D prints and other designs. What license is this released under, please?

Hadn't really thought about that so thanks for pointing that out to me ☺. I looked in to it and added the "Creative Commons Attribution 4.0 International Public License"


Update Branch Names in Tutorial

Description
Since Iroha's branching model changed in https://github.com/hyperledger/iroha/issues/4433, the entire documentation needs to be updated as follows:

Replace all instances of iroha2-dev with main.
Replace all instances of iroha2-stable with stable.
Remove all instances of iroha2-lts as we have discontinued this branch.

Example

edits added to PR #504


Fix bug when formatter not updated after config change

Fix bug when formatter not updated after config change
Run specs in random order
Remove some unneded methods inside Lamian::Logger and update yardoc there

Coverage remained the same at 100.0% when pulling df1f9af743d0bb1403ee3aa9f0ddae60333f5580 on fix-bug-when-formatter-not-updated-after-config-change into 144804a4b4a294a5ac8005e8d6a49bb6d27cac3e on master.


Not all error ids are being included in replay_event

The SDK is collecting error ids that do not seem to make it to our backend. e.g. The error count in a replay record is higher than the number of errors tagged with a specific replay id.
~See:~
~https://sentry.io/organizations/sentry-emerging-tech/issues/3156739869/?project=6301687&query=is%3Aunresolved#exception
and
https://sentry.io/organizations/sentry-emerging-tech/issues/3612760620/?project=6301687&query=is%3Aunresolved#breadcrumbs (https://sentry.io/organizations/sentry-emerging-tech/discover/results/?field=title&field=release&field=environment&field=user.display&field=timestamp&name=TypeError%3A+Failed+to+fetch&project=6301687&query=user.ip%3A<IP_ADDRESS>&sort=-timestamp&statsPeriod=90d&yAxis=count())~

It's possible these errors are being filtered by our client SDKs.

Closing this in favor of #251


Add support for Chart Settings

Need to be able to create different types of graphs other than the default type ( line )

https://github.com/spaceapegames/terraform-provider-wavefront/pull/37


Shopware 6 product variant update issue

I am testing the shopware 6 admin API using the latest version of Shopware (6.1.1) and found this strange behaviour.
I am invoking the PATCH method of product API to update the variant option value. However, the option value gets added to the existing option instead of replacing it.
Can you suggest a way to replace an existing option value with a new one for a product?
Following is a Fiddler screenshot of the update call.

Following is Postman response showing the option value added up:

Hi @tekbird,
Patch requests against the API only add relations or update the entities behind them. Overwriting a relation is not possible this way.
To delete the existing linked options you have to send a DELETE request with the id's.
In your case this would be the following
DELETE /product_option {
    productId: ...
    optionId: ...
}

Hi @OliverSkroblin, thanks for clarification. But the route you mentioned '/product_option' returns 404. can you please provide the correct one?

I found that the route /product-option seems to exist. But it neither supports DELETE or when I do a GET, I get the following:
{
"errors": [
{
"code": "0",
"status": "500",
"title": "Internal Server Error",
"detail": "Argument 1 passed to Shopware\Core\Framework\DataAbstractionLayer\Cache\EntityCacheKeyGenerator::getEntityContextCacheKey() must be of the type string, array given, called in C:\Bitnami\shopware-6.1.1-0\apps\shopware\htdocs\vendor\shopware\core\Framework\DataAbstractionLayer\Cache\CachedEntityReader.php on line 90"
}
]
}

Hi @tekbird ,
I'm in the same situation. Did you managed to solve this somehow?

Ok,
Yea, it seems that first, the relations between product and options need to be deleted and then created again.
To achieve that I used the Shopware's _action/sync endpoint as described here: https://shopware.stoplight.io/docs/admin-api/docs/guides/writing-entities/bulk-payloads.md and also disabled indexing-behavior header.


Module 'torch.distributed' has no attribute 'ProcessGroup' when importing PyTorch Lightning

🐛 Bug
When importing PyTorch Lightning, it throws an AttributeError: module 'torch.distributed' has no attribute 'ProcessGroup'. I guess it comes from the fact that I am on macOS (M1) and PyTorch does not provide torch.distributed with its pre-built package. Indeed, torch.distributed.is_available() is False.
To Reproduce
import pytorch_lightning

Environment

PyTorch Lightning Version: 1.5.0
PyTorch Version: 1.10
Python version: 3.9
OS: macOS
How you installed PyTorch: conda
Any other relevant information:

Hello @Riccorl
Thanks for reporting. Can you please show us the full error so we can check in which module it occurs.

I'm not sure why you get torch.distributed.is_available() = False on MacOS, it should be True. It is for me.

Hello @Riccorl Thanks for reporting. Can you please show us the full error so we can check in which module it occurs?

This is the stack trace
Traceback (most recent call last):
  File "/Users/ric/Documents/PhD/Projects/invero-xl/invero_xl/train.py", line 7, in <module>
    import pytorch_lightning as pl
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/__init__.py", line 20, in <module>
    from pytorch_lightning.callbacks import Callback  # noqa: E402
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/callbacks/__init__.py", line 26, in <module>
    from pytorch_lightning.callbacks.pruning import ModelPruning
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/callbacks/pruning.py", line 31, in <module>
    from pytorch_lightning.core.lightning import LightningModule
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/core/__init__.py", line 16, in <module>
    from pytorch_lightning.core.lightning import LightningModule
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/core/lightning.py", line 39, in <module>
    from pytorch_lightning.trainer.connectors.logger_connector.fx_validator import _FxValidator
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/trainer/__init__.py", line 16, in <module>
    from pytorch_lightning.trainer.trainer import Trainer
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 30, in <module>
    from pytorch_lightning.accelerators import Accelerator, IPUAccelerator
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/accelerators/__init__.py", line 13, in <module>
    from pytorch_lightning.accelerators.accelerator import Accelerator  # noqa: F401
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/accelerators/accelerator.py", line 26, in <module>
    from pytorch_lightning.plugins.precision import ApexMixedPrecisionPlugin, NativeMixedPrecisionPlugin, PrecisionPlugin
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/plugins/__init__.py", line 8, in <module>
    from pytorch_lightning.plugins.plugins_registry import (  # noqa: F401
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/plugins/plugins_registry.py", line 20, in <module>
    from pytorch_lightning.plugins.training_type.training_type_plugin import TrainingTypePlugin
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/__init__.py", line 1, in <module>
    from pytorch_lightning.plugins.training_type.ddp import DDPPlugin  # noqa: F401
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 68, in <module>
    from torch.distributed.optim import DistributedOptimizer
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/torch/distributed/optim/__init__.py", line 37, in <module>
    from .post_localSGD_optimizer import PostLocalSGDOptimizer
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/torch/distributed/optim/post_localSGD_optimizer.py", line 2, in <module>
    import torch.distributed.algorithms.model_averaging.averagers as averagers
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/torch/distributed/algorithms/model_averaging/averagers.py", line 5, in <module>
    import torch.distributed.algorithms.model_averaging.utils as utils
  File "/Users/ric/mambaforge/envs/srl/lib/python3.9/site-packages/torch/distributed/algorithms/model_averaging/utils.py", line 10, in <module>
    params: Iterator[torch.nn.Parameter], process_group: dist.ProcessGroup
AttributeError: module 'torch.distributed' has no attribute 'ProcessGroup'

I'm not sure why you get torch.distributed.is_available() = False on MacOS, it should be True. It is for me.

I installed PyTorch like this:
conda install pytorch -c pytorch

But I guess that the problem is the ARM build (I'm on an M1 cpu).

We can fix this easily as the error comes from a typing annotation, but we'll also have to add a M1 CI job when it becomes available.

Current init_dist_connection() will do nothing if torch.distributed.is_avalible = False. To wrap model with DistributedDataParallel()
torch.distributed.init_process_group(      backend='nccl', world_size=N, init_method='...'       )
Is required right?
Should we raise exceptions at set_distributed() in ddp if torch.distributed.is_avalible = False?

@four4fish Yes you are right. I tested it and we get this message:

RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.

I agree, for users like @Riccorl we could inform them directly that DDP is not available when torch.distributed.is_avalible = False.
Btw, doesn't your PR directly solve the import problem of this issue? I couldn't find other places.

@Riccorl I had a similar issue on M1 macbook, it only happens with pytorch=1.10.
Downgrading torch to '1.9.1.post3' resolved the issue for me.

@awaelchli  I think after the import PR, import lightning didn't fail. But when trainer calls ddp setup_distributed(), which calls init_dist_connection() will check torch.distributed.is_avalible before create process group. Because torch.distributed.is_avalible=False no process_group was created, so the future ddp will fail. Where is this runtime error happens exactly? when wrap the model?
I was proposing: should we throw exception in init_dist_connect() If torch.distributed.is_avalible=false ?

I encountered this same issue. I'm building PyTorch Lightning 1.5.0 and PyTorch 1.10.0 from source using the Spack package manager on macOS 10.15.7. Unfortunately, PyTorch distributed doesn't seem to build for me on macOS: https://github.com/pytorch/pytorch/issues/68002
It sounds like requiring distributed support was an accident and will be removed in future releases. Let me know which PR solves this and I'll add a patch to the 1.5.0 release in Spack.

@four4fish your PR (#10418) says "partially fixes".
Do we need to re-open this? What's left for us to do here?

I just tried again with PyTorch Lightning 1.5.2 and I'm still seeing numerous issues if PyTorch isn't installed with distributed support.

@adamjstewart I also tried this with PL 1.5.2 and I had no issues. Can you give us your torch version and a reproducible script?

@justusschock sure, my environment looks like:

PyTorch Lightning Version: 1.5.2
PyTorch Version: 1.10.0
Python version: 3.8.12
OS: macOS
How you installed PyTorch: spack

In order to reproduce this issue, PyTorch must be installed without distributed support:
$ python
>>> import torch
>>> torch.distributed.is_available()
False

This is commonly the case on macOS. Then, the issue (which now looks different than it did in 1.5.0) can be reproduced like so:
$ python
>>> from pytorch_lightning.core.lightning import LightningModule
>>> LightningModule()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/pytorch_lightning/core/lightning.py", line 122, in __init__
    self._register_sharded_tensor_state_dict_hooks_if_available()
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/pytorch_lightning/core/lightning.py", line 2065, in _register_sharded_tensor_state_dict_hooks_if_available
    from torch.distributed._sharded_tensor import pre_load_state_dict_hook, state_dict_hook
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/torch/distributed/_sharded_tensor/__init__.py", line 5, in <module>
    from torch.distributed._sharding_spec import (
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/torch/distributed/_sharding_spec/__init__.py", line 1, in <module>
    from .api import (
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/torch/distributed/_sharding_spec/api.py", line 21, in <module>
    class DevicePlacementSpec(PlacementSpec):
  File "/Users/Adam/.spack/.spack-env/view/lib/python3.8/site-packages/torch/distributed/_sharding_spec/api.py", line 29, in DevicePlacementSpec
    device: torch.distributed._remote_device
AttributeError: module 'torch.distributed' has no attribute '_remote_device'

That error arises due to the automatic registration support for sharded tensors here: https://github.com/PyTorchLightning/pytorch-lightning/blob/2c7c4aab8087d4c1c99c57c7acc66ef9a8e815d4/pytorch_lightning/core/lightning.py#L1988-L1994
We should check if torch distributed is available before importing in that function's implementation

Just wanted to follow up on this and say that all issues I was encountering with non-distributed PyTorch seem to be fixed in 1.5.3. Thanks @ananthsub @four4fish and everyone else involved in fixing these!

@adamjstewart I'm using Mac with M1 and version 1.5.3 and still get error: ImportError: cannot import name 'ProcessGroup' from 'torch.distributed' when trying to import pytorch_lightning, have you done anything else in order to solve this?

Hmm, 1.5.3 just worked for me, no hacks required. Are you sure you're using 1.5.3? You might be hitting a different part of the code than me. Can you share the error message stack trace?

Yes, I'm sure I use 1.5.3 this is the stack trace for trying to import pytorch lightning :
Traceback (most recent call last):   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3444, in run_code     exec(code_obj, self.user_global_ns, self.user_ns)   File "<ipython-input-3-efd8697dde72>", line 1, in <module>     import pytorch_lightning as pl   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/__init__.py", line 20, in <module>     from pytorch_lightning.callbacks import Callback  # noqa: E402   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/callbacks/__init__.py", line 14, in <module>     from pytorch_lightning.callbacks.base import Callback   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/callbacks/base.py", line 26, in <module>     from pytorch_lightning.utilities.types import STEP_OUTPUT   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/utilities/__init__.py", line 18, in <module>     from pytorch_lightning.utilities.apply_func import move_data_to_device  # noqa: F401   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/utilities/apply_func.py", line 26, in <module>     from pytorch_lightning.utilities.imports import _compare_version, _TORCHTEXT_AVAILABLE   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/utilities/imports.py", line 82, in <module>     _FAIRSCALE_AVAILABLE = not _IS_WINDOWS and _module_available("fairscale.nn")   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/pytorch_lightning/utilities/imports.py", line 38, in _module_available     return find_spec(module_path) is not None   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/importlib/util.py", line 94, in find_spec     parent = __import__(parent_name, fromlist=['__path__'])   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/fairscale/__init__.py", line 15, in <module>     from . import nn   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/fairscale/nn/__init__.py", line 9, in <module>     from .data_parallel import FullyShardedDataParallel, ShardedDataParallel   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/fairscale/nn/data_parallel/__init__.py", line 8, in <module>     from .fully_sharded_data_parallel import FullyShardedDataParallel, TrainingState, auto_wrap_bn   File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import     module = self._system_import(name, *args, **kwargs)   File "/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 34, in <module>     from torch.distributed import ProcessGroup ImportError: cannot import name 'ProcessGroup' from 'torch.distributed' (/Users/adir.rahamim/miniforge3/envs/cca/lib/python3.8/site-packages/torch/distributed/__init__.py)

@AdirRahamim that's caused by the same problem described in this issue but for the fairscale repository: https://github.com/facebookresearch/fairscale
You can raise this issue on their repository. You can also uninstall the dependency assuming you are not using it. Uninstalling it means it will not get imported so you won't get the failure.
pip uninstall fairscale

@carmocca Thanks! indeed uninstalling the package solved the problem.

I'm still experiencing this issue on PyTorch lightning v1.6.0 and PyTorch v1.11.0. Furthermore, torch.distributed.is_available() evaluates to False. Does this have something to do with the fact that I installed the dependencies with miniforge and therefore from conda-forge?

This is the stack trace I get when I import PyTorch lightning with the following environment.yml
name: pl_error
channels:
  - defaults
  - pytorch
  - conda-forge

dependencies:
  - python=3.9
  - numpy=1.21.2
  - pytorch=1.11
  - pytorch-lightning=1.6

Import error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/__init__.py", line 30, in <module>
    from pytorch_lightning.callbacks import Callback  # noqa: E402
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/callbacks/__init__.py", line 26, in <module>
    from pytorch_lightning.callbacks.pruning import ModelPruning
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/callbacks/pruning.py", line 31, in <module>
    from pytorch_lightning.core.lightning import LightningModule
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/core/__init__.py", line 16, in <module>
    from pytorch_lightning.core.lightning import LightningModule
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/core/lightning.py", line 41, in <module>
    from pytorch_lightning.trainer.connectors.data_connector import _DataHookSelector
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/trainer/__init__.py", line 16, in <module>
    from pytorch_lightning.trainer.trainer import Trainer
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 34, in <module>
    from pytorch_lightning.accelerators import Accelerator, GPUAccelerator, HPUAccelerator, IPUAccelerator, TPUAccelerator
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/accelerators/__init__.py", line 14, in <module>
    from pytorch_lightning.accelerators.cpu import CPUAccelerator  # noqa: F401
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/accelerators/cpu.py", line 19, in <module>
    from pytorch_lightning.utilities import device_parser
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/utilities/device_parser.py", line 18, in <module>
    from pytorch_lightning.plugins.environments import TorchElasticEnvironment
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/plugins/__init__.py", line 20, in <module>
    from pytorch_lightning.plugins.training_type.ddp import DDPPlugin
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/__init__.py", line 1, in <module>
    from pytorch_lightning.plugins.training_type.ddp import DDPPlugin  # noqa: F401
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 14, in <module>
    from pytorch_lightning.strategies import DDPStrategy
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/strategies/__init__.py", line 14, in <module>
    from pytorch_lightning.strategies.bagua import BaguaStrategy  # noqa: F401
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/strategies/bagua.py", line 17, in <module>
    from pytorch_lightning.strategies.ddp import DDPStrategy
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/pytorch_lightning/strategies/ddp.py", line 66, in <module>
    from torch.distributed.algorithms.model_averaging.averagers import ModelAverager
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/torch/distributed/algorithms/model_averaging/averagers.py", line 5, in <module>
    import torch.distributed.algorithms.model_averaging.utils as utils
  File "/opt/homebrew/Caskroom/miniforge/base/envs/pl_error/lib/python3.9/site-packages/torch/distributed/algorithms/model_averaging/utils.py", line 10, in <module>
    params: Iterator[torch.nn.Parameter], process_group: dist.ProcessGroup
AttributeError: module 'torch.distributed' has no attribute 'ProcessGroup'

@schiegl @carmocca
fwiw, I was also facing this issue on 1.6.0
Downgrading to 1.5.3 fixed it for me though.


Particle system to support particles emitted in local space but update in world space

At the moment, it is not possible to create an effect like a flame thrower as asked about in this forum post: https://forum.playcanvas.com/t/particle-issue/25280
There is now way currently for the emission to use the node transformation but for the particles to update in world space

Thank you for registering this issue with the issue!
I hope the solution comes out soon!


About the fold [0,1,2,3,4,5]

In the README.md, the command is used fold 0, Can I use other parameters, such as fold 1, fold 2, fold 3...? Does the modification affect the GPU memory and running time？

The modification  won't  affect the GPU memory and running time
If you want to use other folds, it is best to delete the following code, otherwise the data division of all fold parameters will be the same.
https://github.com/282857341/nnFormer/blob/80fc0e04b86e4e339f171ef2981d3ee425715905/nnformer/training/network_training/nnFormerTrainerV2_ACDC.py#L311

Thanks a lot. Dose the different folds affect the result of segmentation?

yes it will affect

So does its impact on the results depend on the data set and the task itself？

Yes.
The impact on synapse is great, because its validation set is the test set. Maybe the impact on acdc may be relatively small.

Thanks


Firebase

DESC
Hi there,
I would like to use Firebase instead of MongoDB and MySQL.
Since the syntax is very different from them, mostly url based request and socket how can I implement this?
Do I need to create an specific Adapter / Model to be able to use it with my rest API ?
Is there a simple way to skip this ?
ENV
Platform: Archlinux
Node.js Version: 7.4.0
ThinkJS Version: 2.2.15

ThinkJS can not support Firebase now, if you want to use Firebase to store data, you can use Firebase API in model, like this:
// src/home/model/firebase.js

export default class extend think.base {
   getData(){
     //use Firebase API here
   }
}


Model-View data binding

What are the limitations? Is it possible with m models and n views? Is the versioning good enough to prevent concurrency issues #8?

Versioning is described here #5

Versioning:
each Model has an id and a version number
each View has an id and a version number
when we are synchronizing between an item and the others, we send an
{
    id: x, //item identifier
    version: {from: y, to: z}, //version change
    event: {...} //domain event
}

so it will be easy to track back the change to the item which triggered it.
now what's the problem here?
by syncing we have to update the other items: models, views. there are many network types which can relay the sync message. e.g.

view[id] -> model -> view[]
view[id] -> model -> view[-id]
view[id] -> {model[],view[]}
view[id] -> eventStorage -> {model[], view[]}
view[id] -> model -> eventStorage -> view[]
and so on...

The event storage is about saving changes and restoring entities with event sourcing. So if I don't need that I don't necessary need event storage either. By the versioning I can say, that models are entities which communicate with the views via domain events. So by syncing a view with a model, the view sends a command (which contains the version change), after that the model locks itself, executes the command and updates the views with a domain event, which contains the version change. If the views it wants to update have an inconsistent version, then that version can be overridden, or it's changes can be merged with the changes described in the domain event. That should be solved in a custom way I think. Now this implies that the view stores its state in a ViewModel or something like that. If not, it will be hard to merge the changes, because they are not stored anywhere.
Hmm I think this is related to the #27 . I was thinking about moving it to a different repo, but I am not certain yet. I think it should be rather part of the df repo maybe in a separate module. So there will be a core module with class, error, pub/sub network support, and there will be a ddd module with model-view data binding, event storage, etc... This sounds fair.
I can intergrate both of them to existing systems.

https://github.com/szjani/predaddy worth a check by implementing DDD patterns, like event storage, entities, CQRS, etc... So I think the domain model is a good starting point in the topic, but I might be wrong. I'll experiment with this after v1.0. So this will be part of v1.1.

By designing the classes: laconic http://joestelmach.github.io/laconic/, absurdjs https://github.com/krasimir/absurd , backbone and angular are good starting points.
The problem every data binding system wants to solve, that we are talking about 2 languages by them: javascript and html. Both of them use different processor and the results: javascript objects and DOM nodes should be mapped to each other somehow.
Backbone uses some kind of manual ORM approach, it creates the DOM elements, selects them with css selectors and after that it is possible to bind them to the proper objects, which can update them. That's why it is not easy to build an application with backbone. You need templates, selectors, views, eventlisteners and model. A lot of code in different languages which describe the same thing...
Angular uses a different approach, it uses the HTML and its own templating language to build the DOM, the js objects and the bindings as well. So everything is in one place: in a HTML template. This is much better than Backbone, but it's still not so good, because templates are not good at writing programs. So in the long term you'll have to write a lot of angular plugins into different files, which help your template to run. At least I think this about angular at first glance.
I think it would be much better to describe everything in javascript. AbsurdJs is a good thing for css creation, and I think we can use the same approach run time.
    var api = Absurd();
    api.add({
        body: {
            marginTop: "20px",
            p: {
                color: "#000"
            }
        }
    });
    api.compile(function(err, css) {
        // use the compiled css
    });

Just define a HTML descriptor object and build the DOM tree. Laconic does the same by calling functions:
$.el.table(
  $.el.tr(
    $.el.th('first name'),
    $.el.th('last name')),
  $.el.tr(
    $.el.td('Joe'),
    $.el.td('Stelmach'))
).appendTo(document.body);

Which is pretty much the same. The difference that laconic creates DOM elements by every function call, while absurd compiles only at the end of the process. By HTML is does not matter which one you choose...
absurd style
{
	"html": {
		"head": {
			"title": "a title",
			"script": [
				{src: "index.js"},
				{src: "q.js"}
			]
		},
		"body": {
			"div": {
				"table": {
					//...
				}
			}
		}
	}
}

laconic style
dom.html(
	dom.head(
		dom.title("a title"),
		dom.script({src: "index.js"}),
		dom.script({src: "q.js"})
	),
	dom.body(
		dom.div(
			dom.table(
				//...
			)
		)
	)
);

So how to add the binding to these templates?

You can use a Backbone style approach:
var CustomView = View.extend({
	init: function (model){
		this.model = model;
		this.text = new TextBinding();
		this.html = new HTMLElement({
			div: {
				innerText: {
					binding: this.text
				}
			}
		});
	},
	render: function (){
		if (this.el)
			return this.el;
		this.el = this.html.render();
		this.model.on("set:x", function (x){
			this.text.render(x);
		}.bind(this));
		return this.el;
	}
});

var model = new Model({x: "value"});
var view = new CustomView(model);
document.body.appendChild(view.render());

An alternative approach to use:
		this.text = new TextBinding({model: this.model, property: "x"});

so you won't need to type the following part always
		this.model.on("set:x", function (x){
			this.text.render(x);
		}.bind(this));

so it can be reduced to something like this:
var CustomView = mvc.View.extend({
	init: function (model){
		this.model = model;
		this.text = new html.Text.Binding(this.model, "x");
		this.html = new html.Div(this.text);
	}
});
var model = new mvc.Model({x: "value"});
var view = new CustomView(model);
document.body.appendChild(view.render());

Now what I don't like here is the strong coupling between the Model and the View. if the View is not specific this reduces its reusability... So the true df approach would be something like this:
var CustomView = mvc.View.extend({
	init: function (model){
		this.text = new html.Binding(new html.Text());
		this.html = new html.Div(this.text);
	}
});
var model = {
	x: "value"
};
var watcher = new df.Watcher(model, {
	x: true // Object.defineProperty -> getter, setter
});
var view = new CustomView();
view.text.subscribe(watcher.x); // instant delivery by subscription
document.body.appendChild(view.render());

This seems to be more complicated, but I don't need to define a Model class. So the model can be any type of object I want. This is important because this way it is compatible with almost every existing framework.

this is related to df adapters.

this is related to df adapters https://github.com/inf3rno/dataflower/issues/21


Fix lexer and parser issues

Should work but doesn't

[x] https://gist.github.com/eturk/12ca7ba06a50fa0dfba6#file-gistfile2-txt
[x] https://gist.github.com/eturk/12ca7ba06a50fa0dfba6#file-gistfile1-txt

Shouldn't work but does

[x] https://gist.github.com/eturk/aa6b4e018c06a7c2db71#file-gistfile1-txt

All issues ended up being incorrect string regex.


[Feature Request]: Enable geo-replication for Redis cache.

Description
A Redis cache supports the setup of geo-replication via bicep through the use of the linked server bicep resource: https://learn.microsoft.com/en-us/azure/templates/microsoft.cache/redis/linkedservers?pivots=deployment-language-bicep
Adding this to the bicep module for deployment of a Redis cache would be a welcome addition.
However the usage of the linked server and a private endpoint proves to be a bit difficult as you cannot add a private link to a Redis cache that is geo-replicated. You first need to remove the geo-replication, then add the link and then re-enable the geo-replication. As documented here: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-how-to-geo-replication
Specifically:

Private links can't be added to caches that are already geo-replicated. To add a private link to a geo-replicated cache: 1. Unlink the geo-replication. 2. Add a Private Link. 3. Last, relink the geo-replication.

Hey @hundredacres,
I just migrated this issue over from CARML. Please take a look and triage if still relevant :)

Working on some tests to validate this functionality.

@hundredacres, does this also work with private endpoints enabled? In the past I ran into issues with this? (and even created a GitHub issue on bicep for this: https://github.com/Azure/bicep-types-az/issues/1937)


New development environment for CICA Tariff

Environment details
Application Name
tariff

Github team slug

cica
Environments

[x] Development
[ ] Test
[ ] Preproduction
[ ] Production

Tags

tag
value

application
tariff

business-unit
CICA

owner
Alan Terry<EMAIL_ADDRESS>

Networking options
Connectivity

General subnet set
Connectivity to CICA network for connection to Tempus
Users access through the CICA VPN
Additional features

[x] Bastion
[ ] Additional VPC Endpoints
[ ] Extended DNS Zones

Other information
Would like to start in next sprint, 7th September

Talked the team through the new environment, next steps are to help with a high level design for the infrastructure and networking.


[WIP] - v5.0.3 updates (interactive legend, commonjs, scatter test)

This PR includes three main pieces of worked squashed as a single commit while we work on improving our workflow to the open source repo. The work included is:

Interactive legend updates completed by @frank-elavsky
Scatter plot testing updates completed by @chris-demartini
Commonjs bundle updates completed by basav-kabbure and @chris-demartini

feat: add interactive legend, scatter unit test, es5 support - commonjs bundle, d3-array to v1

This work will be re-done in a separate PR. Closing this without merging.


Various UI fixes

Facing the user

Prompt user on duplicate question and append enumerator
-- Show in designer, hide elsewhere
Validate project and survey before submitting.
-- Show selected file name on plot and sample design.
Fix filter on home

Behind the scenes

Refactor convert survey values to survey quesions
-- Update to convert snake to camel
-- Add defaults for componentType and dataType
-- Force type for the few bad projects
-- Store result as surveyQuestions to distinguish good data and allow reference in the code

Store surveyQuestion as selected instead of just text
-- Eliminates many conversions from text to id and back
-- Use .id everywhere that does not directly touch userSamples (still uses keys)

Update create-projects page
-- Move map to life cylce
-- Use arrow functions
-- Update some of the state saving
-- Initialize new project in state instead of API call to empty project
-- Remove encode64() which was not doing anything, make plot and sample design stateless

Disregard my note on create-project.js: Line 150: "shp" should be "csv". I misread your code the first time through. It is already correct.


feat/plugin runtime requirements

companion PR to https://github.com/OpenVoiceOS/ovos-core/pull/272 but for PHAL plugins

@JarbasAl bump


New Tips: Local development workflows (zsh, window management, etc.)

+1

:+1:

:+1:

:+1:

:+1:

:+1:

:+1:

:+1:

:+1:

:+1:

:+1:

👍🏼

:+1:

+2

:+1:

+1

:+1:

+1

tmux would be great!

:+1:

👌🏼

:+1:

:+1:

:+1:

:+1:

:thumbsup:

:+1:

:+1:

👍

👍


Execute read method after page added

fix #13

@gaoli Let's separate the update of the docs and the fix into different PRs.

👍


llama_init_from_gpt_params: error: failed to load model './quantized_model/Q4_K_M.gguf' main: error: unable to load model

I have downloaded and run your colab file as in the github repo. but i'm getting this error

I have downloaded and run your colab file as in the github repo. but i'm getting this error

What's your runtime config ? it can occur due to other GPU than A100. Use A100 GPU.


[feature request] shapely.ops polygon angle methods

Expected behavior and actual behavior.
It should be easy to inspect vertices of a polygon for their interior and exterior angles. There are many different, slightly varied, forms of angle (radians/degree, centered on centroid of shape, centered at (0,0), etc) and we are must repeatedly reinvent the wheel here, leavcing a lot of boilerplate that could produce errors/inconsistencies, when it could be handily packaged into polygons.
PseudoCode
from shapely.ops import interior_angle, exterior_angle, angle

radians =  interior_angle(Point(), Polygon([..., that Point, ...])
degree = interior_angle(Point(), Polygon([..., that Point, ...], radians=False)

exradians =  exterior_angle(Point(), Polygon([..., that Point, ...])
exdegree = exterior_angle(Point(), Polygon([..., that Point, ...], radians=False)

assert(exdegree ≈ 360 - degree if degree > 0 else -degree)

from_origin =  angle(Point(), Polygon([..., that Point, ...], centroid=Point((0,0)))

I arrived at this page while searching for for exactly the solution, and so second robbiemu's recommendation.


Compilation error

Summary
Compilation failed with go 1.18:
...
gopass> github.com/gopasspw/gopass/internal/backend
gopass> # github.com/gopasspw/gopass/internal/backend
gopass> internal/backend/registry.go:85:45: internal compiler error: assertion failed
...

Environment

OS: NixOS
gopass Version: 1.14.3

That's a bug in Go 1.18.4.
Fixed at head.

Could you please advise, is there any simple workaround I can apply as local patch to get it compiled with go 1.18.4:
https://github.com/gopasspw/gopass/blob/832d2cde4d5a93721c291644107b3a89acb7e741/internal/backend/registry.go#L85
Since it will be fixed only in go 1.18.5.


Write a race condition test for ClientOrders code

Following this post should be fine:
https://blog.arkency.com/2015/09/testing-race-conditions/
The idea is to "justify" the existence of the advisory_lock mechanism. We want to prevent someone removing it by accident/refucktoring and have a failing test for it.
It doesn't need to be mutation testable - it might be expensive.
Some sort of mutant ignore should be fine.
Newest mutant has a way to filter out such calls like advisory_lock.

https://blog.arkency.com/2016/06/cover-all-test-cases-with-permutation/
this may help too


Incomplete removal of dashboards

I created 2 Team dashboards ("Team Dashboard" and "Second Demo Team").
Added widgets to them and customize them.
After that I deleted the dashboard named "Second Demo Team"

And I created a product dashboard - and when I try to add an existing dashboard to it, I see that there is a dashboard that I deleted earlier.

What could be the problem ? Or is this a known bug?
There are only 2 dashboards in the database (Team and Product)

upd:
I also noticed that if there were widgets on the remote dashboard (for example, repo), then the bitbucket collector tries to get an update from BB to the repository that was in the dashboard

@AndriiKhodyriev There are several issues with Product dashboard. For team dashboard please use the new UI

@rvema I am currently using the latest UI
The problem is not critical of course (I think it is not planned to delete dashboards), but I noticed it and decided to describe it, thanks!


add update cert logic

Part of https://github.com/plotly/streambed/issues/14162
Adds ability to run an update-ca-certs command, triggered by the PLOTLY_DASH_INDIRECT_CERT_MAP environment variable.
This is needed to address custom certificates that are being mapped into a container from the host via /usr/local/share/ca-certificates. The custom certificates need to be injected into /etc/ssl/certs/ca-certificates.crt before running the apt installs as well as the buildpack dependencies.

@scjody please review


⚠ Processors has degraded performance

In b3bfddb, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 38 ms

Resolved: Processors performance has improved in f49f7ce.


Support for Unpermitted Attributes API

Fixes #1244
This pull introduces/changes:

Fixes bug with enum and ActionController::Parameters
Implements ForbiddenAttributesProtection API from ActiveRecord

Pings:
@cheerfulstoic
@subvertallchris

[Current coverage][cc-pull] is 98.10%

Merging [#1245][cc-pull] into [master][cc-base-branch] will increase coverage by 0.75%

@@             master      #1245   diff @@
==========================================
  Files           189        190     +1
  Lines         11339      11191   -148
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          11039      10979    -60
+ Misses          300        212    -88
  Partials          0          0

Powered by Codecov. Last updated by [0d01a1a...2ff2187][cc-compare]
[cc-base-branch]: https://codecov.io/gh/neo4jrb/neo4j/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/neo4jrb/neo4j/compare/0d01a1a5a377660ce608061819e4634c6560d487...2ff21873d7eab2a53bb0f2849a4a8631fad6ce97?src=pr
[cc-pull]: https://codecov.io/gh/neo4jrb/neo4j/pull/1245?src=pr

Looks great!  Just a couple of comments and then merge-at-will!

I'll cut a 7.1.x when it's done

Was looking at https://github.com/rails/strong_parameters
And apparently you need to do an include into ActiveRecord to make it work:
https://github.com/rails/strong_parameters#installation

@cheerfulstoic Not really.
Strong Parameters are integrated in rails4+.
That tutorial is for upgrading from rails3 to rails4 😜

@cheerfulstoic A few words on my the last commit:
I tried to propagate the Permitted Attributes check to ActiveRel as well. I encountered a strange path when inspecting create! and create method.
As far as I understood, the main difference between ActiveRel and ActiveNode initialization is about the necessity of taking care of from_node and to_node. They can be passed both using an hash, mixed inside properties, or using three parameters.
MyRel.create(from_node: some, to_node: some, an_attribute: some)
MyRel.create(from_node, to_node, an_attribute: some)

This parameter split/check was replicated kind in a similar way both in (here)[https://github.com/neo4jrb/neo4j/pull/1245/files#diff-cf5b1070c03db808dbe7b8957f229d5aL67], here and also here.
However, I noticed that removing any but the one in the initialize method works as well (since it is called by any of this).
Specs are working, so I think it was a residue, but... I need confirmation 😜

Hrmm, that is certainly weird and seems reside-ish to me.  @subvertallchris did a lot of the ActiveRel code initially, though, so he might have a better insight

@cheerfulstoic Merged master and improved some tests ;)
@subvertallchris if you can check the ActiveRel part, I think it's ready to be merged (and maybe backported to 7.1.0 as well?)

Was going to ask about the removed code but I see it's been addressed. It probably was just old code hanging around. As long as tests are passing, looks good to me.


Fix uncaught promise rejection

Quick description
Whenever dht.findPeer() is unable to find any peer or fails for other reasons, it produces an unhandled promise rejection.
Long description
In peerRouting.js, the result of many routers is merged into one array by using multiple smaller arrays, using a function that returns an array.
router => [router.findPeer(ip, options)]

The problem is that this function creates the array without awaiting the result of router.findPeer(), hence if router.findPeer() throws, no one catches the error because no one awaits the result.
Fix
Return an async iterable that first awaits the result and catches the error and then return the result.
        ...this._routers.map(router => (async function* () {
          try {
            yield [await router.findPeer(id, options)];
          } catch (err) {
            yield;
          }
        })())

Makes https://github.com/libp2p/js-libp2p/pull/1025 obsolete

Thanks for submitting this - CI is failing because of linting, you can fix it with npm run lint -- --fix.
Thanks also for adding a test to this PR - it passes without the proposed changes to peer-routing.js though (sort of, this error should have the code ERR_NOT_FOUND, not NOT_FOUND that's a bug), so I'm not sure the problem is fixed by this patch.
Looking at the code, it seems you're trying to ignore errors thrown by router.findPeer(id, options) - if they are thrown synchronously they should be handled by whatever is awaiting on peerRouting.findPeer().  If they are thrown asynchronously, it-pipe should bubble them back up to the same context and again they'll be handled by whatever is awaiting on peerRouting.findPeer.
Since you're seeing an unhandledPromiseRejection something is not awaiting when it should be - can you please share a stack trace from the UPR?  Something like this will do:
process.on('unhandledPromiseRejection', (err) => {
  console.error(err)
})

This is the sample code that I used to check the functionality, partially copied from js-libp2p
const pipe = require('it-pipe')
const merge = require('it-merge')
const filter = require('it-filter')
const first = require('it-first')

async function findPeer () {
  throw Error('foo')
}

async function main () {
  try {
    const output = await pipe(
      merge(
        ...[undefined].map(router =>
          (async function * () {
            try {
              yield [await findPeer()]
            } catch (err) {
              yield undefined
            }
          })()
        )
      ),
      (source) => filter(source, Boolean),
      // @ts-ignore findPeer resolves a Promise
      // (source) => storeAddresses(source, this._peerStore),
      (source) => first(source)
    )

    console.log(output)
  } catch (err) {
    console.log('caught error', err)
  }
}

main()

Will produce a warning on Node.js < 15 and an uncaught promise rejection on Node.js 15+ that terminates the process if you don't handle it.

// @ts-ignore findPeer resolves a Promise

It seems that Typescript has noticed that earlier ;-)


Error - The api-version query parameter (?api-version=) is required for all requests.

Package Name:  azure-mgmt-authorization
Package Version:

azure-common             1.1.28   Microsoft Azure Client Library for Python (Common)
azure-core               1.30.1   Microsoft Azure Core Library for Python
azure-identity           1.15.0   Microsoft Azure Identity Library for Python
azure-mgmt-authorization 4.0.0    Microsoft Azure Authorization Management Client Library for Python
azure-mgmt-core          1.4.0    Microsoft Azure Management Core Library for Python
msal                     1.27.0   The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users ...
msal-extensions          1.1.0    Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Li...

Operating System:

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

Python Version: 3.11.7

Describe the bug
When using role_assignments.list_for_scope() function, The following error his thrown when I use this filter:
filter="principalId eq {2bf56d78-844d-46cc-9903-xxxxxxxxxxxx}"

Error:
 File "/home/coopm017/sourcecode/azure/azure-resource-graph-queries/.venv/lib/python3.11/site-packages/azure/mgmt/authorization/v2022_04_01/operations/_role_assignments_operations.py", line 1090, in get_next
    raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
azure.core.exceptions.HttpResponseError: (MissingApiVersionParameter) The api-version query parameter (?api-version=) is required for all requests.
Code: MissingApiVersionParameter
Message: The api-version query parameter (?api-version=) is required for all requests.

However, if I remove this filter from role_assignments.list_for_scope(), I get data back without a problem.
To Reproduce
Steps to reproduce the behavior:

Run this code:

from azure.identity import DefaultAzureCredential
from azure.mgmt.authorization import AuthorizationManagementClient

def main():
    client = AuthorizationManagementClient(
        credential=DefaultAzureCredential(),
        subscription_id="837fb626-8689-4988-973a-xxxxxxxxxxxxx",
    )

    response = client.role_assignments.list_for_scope(
        scope="/subscriptions/837fb626-8689-4988-973a-xxxxxxxxxxxxx",
        filter="principalId eq {2bf56d78-844d-46cc-9903-xxxxxxxxxxxxx}",
    )

    for item in response:
        print(item)

if __name__ == "__main__":
    main()

Expected behavior
A clear and concise description of what you expected to happen.
My expectation is that this code would run without throwing the above error, just as it does if I remove the filter statement.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Thanks for the report @mlcooper!
Looking at the documentation here - I'm wondering if the filter parameter should be formatted like this (using single quotes to wrap the ID instead of curly braces):
filter="principalId eq '2bf56d78-844d-46cc-9903-xxxxxxxxxxxxx'",

Would you be able to give that try?

Hi @annatisch, I tried it with this filter syntax:
    response = client.role_assignments.list_for_scope(
        scope="/subscriptions/837fb626-8689-4988-973a-xxxxxxxxxxxx",
        filter="principalId eq 2bf56d78-844d-46cc-9903-xxxxxxxxxxxx",
    )

And it produced this error:
File "/home/coopm017/sourcecode/azure/azure-resource-graph-queries/.venv/lib/python3.11/site-packages/azure/mgmt/authorization/v2022_04_01/operations/_role_assignments_operations.py", line 1090, in get_next
    raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
azure.core.exceptions.HttpResponseError: (UnsupportedQuery) The filter 'principalId eq 2bf56d78-844d-46cc-9903-6f2f250bb4b9' is not supported. Supported filters are either 'atScope()' or 'principalId eq '{value}' or assignedTo('{value}')'.
Code: UnsupportedQuery
Message: The filter 'principalId eq 2bf56d78-844d-46cc-9903-6f2f250bb4b9' is not supported. Supported filters are either 'atScope()' or 'principalId eq '{value}' or assignedTo('{value}')'.

This feels similar https://github.com/Azure/azure-sdk-for-python/issues/34456

Thanks @mlcooper - can you please confirm that you kept the quotes around the value?
Note the single quotes (' ') around the ID: '2bf56d78-844d-46cc-9903-xxxxxxxxxxxx'

Oh that's it. When I use this syntax...
    response = client.role_assignments.list_for_scope(
        scope="/subscriptions/837fb626-8689-4988-973a-xxxxxxxxxxxx",
        filter="principalId eq '2bf56d78-844d-46cc-9903-xxxxxxxxxxxxx'",
    )

...it works successfully. I must admit with the {} in the documentation and the need to use "" after filter= it was not really clear to me that I needed to use '' around the value.

The {value} here means you need to replace it with your input. So, the docs are correct though it may cause some confusions.

However the required use of the '' around the value are not in the documentation.

However the required use of the '' around the value is not in the documentation.

https://github.com/Azure/azure-rest-api-specs/issues/28255
I have opened an issue for an update of the description of parameter filter in the swagger. Once the swagger is updated, both sdk and docs would be updated on time.


Add ability to enable twistcli debug mode

Currently some of the scans with this action take more than 4 minutes. I wanted to enable debug logs so that we can understand what is contributing to the delay. I believe twistlock does have a debug flag but I have not found a way to enable that using this action.
Can you add this feature and if already present add the steps to enable it to the readme for this action.

I'm not a contributor, but I'm afraid if you would like anything to be done in this direction you might need to do at least the minimum effort of verifying if such debug mode really exist in the cli:
I've found the docs for you:
https://docs.prismacloud.io/en/classic/compute-admin-guide/tools/twistcli

@mikocot it does have a --debug flag that logs much more details than what twistcli currently does as part of the action.

next step -> your first PR, you can look up previous ones as such changes have been done before


Update our Roslyn dependencies to 15.3

Does this get us the ServiceHub fixes? Aka, docs and new ctor?

That comes from VS. These binaries are just what we compile against.


Grabber: String prefix in value leads to 0

https://www.loxforum.com/forum/projektforen/loxberry/plugins/315626-stats4lox-das-statistik-plugin?p=318607#post318607
If the format of an output is defined with a string in front of the number, the value filter results in 0.
eg
Text:

MQTT Collector uses this Regex for number extraction that will fit better
https://github.com/mschlenstedt/LoxBerry-Plugin-Stats4Lox-NG/blob/ce6076a90c3ee5d256ff5cbcf1d570b6477ed7f6/bin/mqtt/mqttlive.php#L351


⚠ Fortnite has degraded performance

In 3df8278, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1567 ms

Resolved: Fortnite performance has improved in af437d5.


chef push job client for AIX

Hi, we know that chef push job client currently supports Linux/Windows, when will it support AIX ?

Wrong repo, see https://github.com/chef/chef-push
This is also meant as a bugtracker, and if you've got a support inquiry that's better handled through zendesk:   https://getchef.zendesk.com/hc/en-us or the feedback site: https://feedback.chef.io/


Spanish translation

I took my time to translate the extension to Spanish
es.zip

Hi. Thanks for your contribution to the project!
Unfortunately, I don't know Spanish, so I only can rely on Google Translator. I've added some comments in the PR in places I consider questionable. Could you please check them and explain to me why they are correct (or update them if they are not)?


[incubating/sparkoperator] Introduce optional remove before install CRDs flag

Signed-off-by: Roland Johann<EMAIL_ADDRESS>
What this PR does / why we need it:
Fix broken tests for incubator/sparkoperator where CRDs are still left at the test system and following tests try to install them again.
Which issue this PR fixes
not directly an issue, but PR #18162
Special notes for your reviewer:
After running the tests for these changes tests for #18162 should run successfully, too
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @liyinan926

/ok-to-test

@rolandjohann Could you update the version number to 0.5.0 as this PR is more of a new feature than a bug fix?

Thanks for the quick response! Github still shows that there's a conflict in incubator/sparkoperator/Chart.yaml. Maybe you can rebase the latest changes?

/lgtm


[Other issue]: Simulate laser scan in Gazebo

Before proceeding, is there an existing issue or discussion for this?

[X] I have done a search for similar issues and discussions.

Description
Hi @Yadunund , I am quite new to ROS 2 and Open-RMF.
I was trying to implement the rmf_obstacle_detector_laserscan package into the rmf_demos package. I also followed your instructions in #15 . Now in my terminal I can see "[INFO] [1711031152.446753857] [laserscan_obstacle_detector]: Activation successful. Waiting to receive 10 LaserScan messages on topic lidar/scan to begin calibration.", but since I don't have any simulated laser scanner in my gazebo simulation, there is currently no LaserScan message published to this lidar/scan topic.
I wonder which simulated laser scanner package did you use in achieving the deep blue laser scan result in the gif you showed in Readme? I've checked in Gazebo Classic tutorials, and the laser scan plugin are attached to a robot, whereas the one in this gif looks like a stationary one, which is what I hope to use. Thank you very much!

Hi @Jerrybaoyilei,
You'll need to add a lidar model to your .world file or spawn it into the world. ie, just as you would attach a lidar model to one of your robot links through a fixed joint, you could need to instead create a fixed joint between the model and the world. Hope that clarifies. Since this is not a bug i'll close this ticket but feel free to reopen otherwise. If you're planning to submit a GSoC proposal, there is a line item in #22 related to rmf_demos where the goal would be to spawn such sensors in a demo world as part of a end-to-end simulation of the obstacle detection pipeline.

Hi @Yadunund , thank you for the clarification! From my understanding, attaching a lidar model to the robot won't work with this package, right? Since the "obstacle-free" basis world is created from the first 10 LaserScan messages (please correct me if I am wrong)
I am not submitting a GSoC proposal. I am just exploring open-rmf and trying out the simulations (thank you and your team for building this amazing platform)
Also, I apologize that I asked the question here even though it's not a bug. It's just I couldn't find much information online regarding this package, and I figured maybe I could ask here directly...

Hi @Yadunund , I used the ros_gz_bridge you mentioned in the other ticket. Then I realized that it no longer works with Gazebo Classic (which is what I've been using). Therefore, I had to reconstruct the LiDAR model for Ignition Gazebo 6 (Fortress) based on this Gazebo tutorial
However, even though I successfully got some data reading from echoing the converted ROS 2 topics, the LiDAR has an intensity of 0 and I cannot see any rays in Ignition Gazebo. I wonder if you used some version of the ros_gz_bridge that works with Gazebo classic and ROS 2? Since the gif in the readme of this package looks like Gazebo classic. Thank you!

It's best to stick to Gazebo (new) as Gazebo Classic (old) will be retired soon. With the new Gazebo, you'll need to explictly add a plugin in the world sdf to visualize the lidar rays. See https://github.com/gazebosim/gz-sim/blob/b9138fb12b0cef77621ed3a5eba577ebe4f7abd0/examples/worlds/visualize_lidar.sdf#L125-L126
Regarding intensities, you'll need to check whether the lidar plugin in Gazebo supports this. Even if it did, I assume it would be conditioned on every asset in the gazebo world properly defining PBR parameters. https://github.com/gazebosim/gz-sensors/blob/gz-sensors8/include/gz/sensors/GpuLidarSensor.hh
Usually, relying on the range values is sufficient.

@Yadunund Got it. Thank you!
Also, is there a historical version of this package (rmf_obstacle) that works with Humble binaries of ROS 2 and rmf that I can use? I am asking only because I modified some code when I was using ROS 2 Humble and the humble binary of rmf, and some of these packages were significantly changed in ROS 2 Iron. Thank you!

There isn't. Since this package is not stabilized yet, there are no distro branches associated with it.

Got it, thank you!

Hi @Yadunund , sorry to bother you with yet another question. I got the LiDAR showing up in GUI and laser detector working (I can see the terminal output indicating there are obstacles detected). But when I tried to run ros2 run rmf_obstacle_ros2 lane_blocker_node and then add an obstacle in Ignition Gazebo 6, I got the following in the terminal:
[INFO] [1712633404.831764106] [lane_blocker_node]: Message Filter dropping message: frame 'VelodyneHDL-32/top/gpu_lidar' at time 0.000 for reason 'the timestamp on the message is earlier than all the data in the transform cache'

Have you encountered this before? I am using ROS 2 Iron (binary installation) and rmf iron-release branch (binary installation)

Are you piping the /clock topic via the ros_gz_bridge node? This is to synchronize th time between the Gz simulation and the ROS nodes, else the latter will be using the current system time.

Did you pass use_sim_time: True as ROS parameter to all your nodes?

No I didn't, not all nodes. I just changed the default value of use_sim_time to True in launch files in rmf_demos, but I discovered that some nodes still have use_sim_time: False, for example, coke ingestor


Typo in repo description

Hey @clarkbw! This is dope 💯
There's a typo in your repo description!

🥇
Thanks @JasonEtco all fixed!


E2e test throws error of permission issue to view project "project-name"

[kind/bug]

What versions of software are you using?

Test Env: OpenShift 4.0, prow setup or aws
Output of odo version: master

How did you run odo exactly?
make configure-installer-tests-cluster
make test-main-e2e
Actual behavior
Fails
Expected behavior
Should not throw error of
[1553433935] odo test suite - 6/67 specs Running command: oc project -q
error: you do not have rights to view project "json-test".

Any logs, error output, etc?
[1553433935] odo test suite - 6/67 specs Running command: oc project -q
error: you do not have rights to view project "json-test".

------------------------------
Failure [0.256 seconds]
[BeforeSuite] BeforeSuite
/go/src/github.com/openshift/odo/tests/e2e/e2e_test.go:47

  Expected
      <int>: 1
  to equal
      <int>: 0

  /go/src/github.com/openshift/odo/tests/e2e/e2e.go:42

#1470

https://github.com/redhat-developer/odo/pull/1360 might have fix for this

Fixed via - #1517


Improve table resizing

Fixes #18.

Introduce a new protocol_max_table_size field on tables, which records the containing protocol (ie: HTTP/2's) view of the max allowable table size. Dynamic resizes validate the new size against this value.
Dynamic resizes now update the max_table_size value on tables (evicting as needed to satisfy)
Changes to max_protocol_table_size on the encoder are signalled to the decoder via dynamic table size update messages

Pull Request Test Coverage Report for Build cf276baffa70693aad3f72f476605bfc7d340b08-PR-19
Details

19 of 21 (90.48%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 93.293%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/hpax/table.ex
12
14
85.71%

Totals

Change from base Build 46fece83ea6f7c5c5efa4d6a892a5e28f932b1d0:
0.6%

Covered Lines:
153

Relevant Lines:
164

💛  - Coveralls

Issues addressed!

Fantastic work @mtrudel thank you! 💟


Mysl account service failover to non-primary endpoints

Note: 90% of the logic changes are in MySqlDataAccessor.

Codecov Report

Merging #1683 into master will increase coverage by 28.61%.
The diff coverage is 84.34%.

@@              Coverage Diff              @@
##             master    #1683       +/-   ##
=============================================
+ Coverage     45.10%   73.71%   +28.61%
- Complexity     5060     8855     +3795
=============================================
  Files           633      633
  Lines         48492    48546       +54
  Branches       6083     6094       +11
=============================================
+ Hits          21874    35788    +13914
+ Misses        24740    10889    -13851
+ Partials       1878     1869        -9

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/github/ambry/account/DatabaseTest.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../com/github/ambry/account/MySqlAccountsDBTool.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../com/github/ambry/account/MySqlAccountService.java
85.48% <50.00%> (+4.30%)
38.00 <0.00> (+3.00)

.../ambry/account/mysql/MySqlAccountStoreFactory.java
78.57% <62.50%> (+34.82%)
4.00 <1.00> (+1.00)

.../github/ambry/account/mysql/MySqlDataAccessor.java
86.29% <87.01%> (+36.29%)
36.00 <22.00> (+26.00)

...ava/com/github/ambry/account/mysql/AccountDao.java
94.44% <100.00%> (+11.11%)
6.00 <0.00> (ø)

...a/com/github/ambry/account/mysql/ContainerDao.java
90.76% <100.00%> (+15.38%)
7.00 <0.00> (+1.00)

.../github/ambry/account/mysql/MySqlAccountStore.java
72.72% <100.00%> (ø)
12.00 <1.00> (ø)

...ava/com/github/ambry/account/mysql/MySqlUtils.java
96.96% <100.00%> (+4.96%)
3.00 <1.00> (ø)

.../java/com/github/ambry/utils/AccountTestUtils.java
87.01% <0.00%> (-3.90%)
15.00% <0.00%> (-1.00%)

... and 375 more

Continue to review full report at Codecov.

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


Take back the control using the RC transmitter during flight

Hi MRS team,
I was wondering what is the procedure to take back the control with the RC transmitter during flight., mainly for manual landing when the drone is going craazy.
I am a bit scared to crash the drone since when it is taking off and during the whole operation, my thrust stick is down. If I take back the control (by switching off the offboard mode), I wonder if the drone will crash or if I put the thrust stick up (in order to put it back down for a manual landing), the drone will suddenly go way to high
Could you mention me the steps for safe switching between RC manual control and the offboard mode please ?
Best regards,
Frank

Once you switch off from the offboard mode, pixhawk will take over, so the position of the sticks on your RC is very important, if you have the throttle down, the UAV fill fly down. When we fly with GPS, we usually keep the Pixhawk in GPS mode and keep the throttle in the middle, so that when we switch out of offboard, the UAV will just stay hovering in place.
But we rarely have to do that, the system will handle a lot of problems on its own and safely land the drone for you.

Hi @DanHert
Indeed, launching the Land through the Status tab is safer and easier. I just wanted to be aware of all possibilities to be able to ensure a safe flight.
Thank you


Brightness slider

I also added missing translation keys to the other video options setting. Let me know what you think and if anything needs to be changed 👍

Closing this after implementing as discussed in DMs


"showImagePicker " is being exported

Unfortunately, I'm not getting this consistently, so I'm not sure wtf is going on yet. Still digging :(

...and after re-installing the module, all is well.  I'm not sure :(


Exam mode: PDF summary broken and do not show the problem statement completely.

Describe the bug
PDF summary broken and do not show the problem statement completely.
To Reproduce

Solve an exam with different exercises
Check the summary that the problem statement is cut and that the foot buttons are (in the middle of the page). Check the screenshot.
Same when you export to PDF

Expected behavior
The exercises should be adapted to the size of the PDF pages.
Screenshots

Which version of Artemis are you seeing the problem on?
7.3.0
What browsers are you seeing the problem on?
Chrome
Additional context
No response
Relevant log output
No response

Could you please add more concrete steps to reproduce @Santia-go?
For me the issue did not occur.
examExportWastingSomeSpace.pdf

Could you please add more concrete steps to reproduce @Santia-go?
For me, the issue did not occur: examExportWastingSomeSpace.pdf

Those are the only steps for that issue. But maybe it is not there anymore because I tested on production instead of the newest release. Last week I also found a related problem with the PDF summary, but Stephan told me that this is already fixed in the coming release.

I'm not sure if all issues are already fixed. Unfortunately, printing PDFs with dynamically complex content is really difficult and you can always find edge cases. On my personal chrome instance on my Mac it still does not work based on the printer configuration, however @az108 and a few other developers reported that it works quite stable except edge cases

for the FPV mock exam the summary export only exports the first page of the exam. The remaining 4 exercises do not get printed.
Funktionale Programmierung und Verifikation (SS24).pdf

Reloading the page can help to print all pages


Add support for Travis

I created the .travis.yml, but you'll have to enable Travis on your side.

thanks
I was planning to use wercker instead.
let me check both services

sorry I'm late, but thank you for the contribution!


Implement IRC portion of Bancho

Closes #25
This is a work in progress implementation:

[X] Can connect to IRC
[X] Can message between IRC and Bancho
[X] Can PM Bancho user from IRC
[ ] Can PM IRC user from Bancho
[ ] Can PM IRC user from IRC
[ ] Make chat engine more generic for IRC and Bancho users
[ ] Support password auth (user token like osu)
[ ] Display IRC users in Bancho connected players
[ ] Support secure IRC
[ ] Wire up event system for IRC
[ ] Properly unit test

Unit testing should require a basic IRC library for testing connections

For this implementation since the web frontend doesn't even support logging in yet we will have the IRC token be a Bancho command

For the event system since we already support chat events that come from Bancho it might be good to support a specific IRC chat event and move to also having a generic chat event to cover both grounds.

Seems the correct response to an incorrect password or no password given when required is to respond with ERR_PASSWDMISMATCH however that doesn't prompt the user to re-enter a password on HexChat which seems like it would be expected behaviour.
Message will need to be ammended to say what to do to get your password and let the user know to set it but it needs to be looked into if that's the only solution.

This will still require some additional work to move away from IRC and Bancho holding their own state of users to a centralised users map under the chat engine. However I feel this ticket has gone on for long enough.


rowEdit.on.saveRow Not called after editing cell and navigating to other cell on same row

I have a grid where only 1 cell is editable. When I make a change then navigate to another cell on the same row (which is not editable) the saveRow event handler is never called.
It seems that the navigate function is cancelling the timer and not setting it back since we are on the same row.
    navigate: function (newRowCol, oldRowCol) {
      var grid = this.grid;
      if (newRowCol.row.rowEditSaveTimer) {
        service.cancelTimer( grid, newRowCol.row );
      }

      if (oldRowCol && oldRowCol.row && oldRowCol.row !== newRowCol.row) {
          console.log("navigate setting timer back on");
        service.considerSetTimer( grid, oldRowCol.row );
      }
    }

Correct, this is exactly expected behaviour.  RowEdit only saves the row once you leave it and don't return for at least a few seconds - which is intended to deal with situations where multiple cells in the row are editable, and you edit each of them (the aim is to not get save errors if the user hasn't yet filled in mandatory fields, and to avoid saving multiple times when the user is making a series of changes to a row).
I don't think there's a good way around it - if you want to save simply on cell exit then it'd be easier to just listen to the cellEdit event and save whenever that is triggered.

Thanks Paul, in order to solve for the user navigating off the page before
the async save is posted after the default 2 seconds, I had to call
flushdirtyrows in the window.onbeforeunload anyway, this will help make
sure these edits are saved as well..thanks.
Marty Supple
On Thu, Jan 8, 2015 at 4:55 PM, Paul<EMAIL_ADDRESS>wrote:

Correct, this is exactly expected behaviour. RowEdit only saves the row
once you leave it and don't return for at least a few seconds - which is
intended to deal with situations where multiple cells in the row are
editable, and you edit each of them (the aim is to not get save errors if
the user hasn't yet filled in mandatory fields, and to avoid saving
multiple times when the user is making a series of changes to a row).
I don't think there's a good way around it - if you want to save simply on
cell exit then it'd be easier to just listen to the cellEdit event and save
whenever that is triggered.
—
Reply to this email directly or view it on GitHub
https://github.com/angular-ui/ng-grid/issues/2515#issuecomment-69256718.

OK, that sounds reasonable - that's an expected usage as well (in my application I call flush dirty on navigation as well).


Route stream creations through the pipeline

Motivation:
Creating streams is generally speaking some sort of establishing a connection. So it kind of make sense to re-use the connect(...) abstraction internally. This will also allow us to intercept these if needed and fail fast (like for example this will be useful in HTTP/3 when a go-away was already received
Modifications:
Let createStream(...) flow through the ChannelPipeline of QuicChannel
Result:
Be able to intercept stream creation attempts.

@thomdev what you think about this change ? Also even better would be if we could also adjust the ChannelHandler on the fly.

Also /cc @kachayev

@thomdev what you think about this change ? Also even better would be if we could also adjust the ChannelHandler on the fly.

I don't know. It feels a little strange to have a promise and a ChannelHandler inside a SocketAddress, doesn't it?

@thomdev I agree... Not super happy with it either, and I am also not sure yet we really need this at all. Any better ideas ?

Let me close this for now until I am proved that we actually need something like that


[Automation] Redundant Test Case name for boot policy

There are two entry with same name
tests/test_bootpolicy.robot:Set Permanent Boot Policy Using IPMITOOL
tests/test_bootpolicy.robot:Set Permanent Boot Policy Using IPMITOOL
This needs to be fix

More changes required to documentation and other in this file..


link: link failed runtime.test in race mode

What version of Go are you using (go version)?

$ go version
go version go1.20 darwin/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?

diff --git a/src/runtime/rand_test.go b/src/runtime/rand_test.go
index 92d07ebada..ca6ab0ba2c 100644
--- a/src/runtime/rand_test.go
+++ b/src/runtime/rand_test.go
@@ -10,6 +10,10 @@ import (
        "testing"
 )

+func CallFastrand() {
+       Fastrand()
+}
+
 func BenchmarkFastrand(b *testing.B) {
        b.RunParallel(func(pb *testing.PB) {
                for pb.Next() {

export GOEXPERIMENT=nounified && go test -race runtime -v

What did you expect to see?
ok  	runtime	148.753s

What did you see instead?
# runtime.test
panic: runtime error: index out of range [1696] with length 244

goroutine 1 [running]:
cmd/link/internal/loader.(*Loader).resolve(0xc?, 0xc00014cc80?, {0x4300?, 0xc0?})
	/Users/bytedance/go_google/src/cmd/link/internal/loader/loader.go:654 +0x1c5
cmd/link/internal/loader.Reloc.Sym({0x2a92f348?, 0xc00014cc80?, 0xc000004300?})
	/Users/bytedance/go_google/src/cmd/link/internal/loader/loader.go:60 +0x35
cmd/link/internal/loader.(*Loader).UndefinedRelocTargets(0xc000004300, 0x1)
	/Users/bytedance/go_google/src/cmd/link/internal/loader/loader.go:2408 +0x1f9
cmd/link/internal/ld.(*Link).loadlib(0xc000152000)
	/Users/bytedance/go_google/src/cmd/link/internal/ld/lib.go:618 +0x5fc
cmd/link/internal/ld.Main(_, {0x20, 0x20, 0x1, 0x7, 0x10, 0x0, {0x0, 0x0}, {0x12922ba, ...}, ...})
	/Users/bytedance/go_google/src/cmd/link/internal/ld/main.go:268 +0xecb
main.main()
	/Users/bytedance/go_google/src/cmd/link/main.go:72 +0xedb
FAIL	runtime [build failed]
FAIL

@thanm @cherrymui

I found code of exporter had been deleted in mr https://go-review.googlesource.com/c/go/+/458620, and this issue doesn't reproduce again after this commit. Maybe there is no need to bugfix this issue.

Yeah, if this only fails with GOEXPERIMENT=nounified, we will not fix it as that mode is gone. Feel free to reopen if you can reproduce without the GOEXPERIMENT. Thanks.


IoT Edge Module scaffold

Hi! Working through the Node.js deployment. Have an issue with the VS Code scaffold tool:
azure-iot-edge.newSolution:
Executing npm i -g generator-azure-iot-edge-module
+<EMAIL_ADDRESS>updated 1 package in 2.557s
Executing yo azure-iot-edge-module -n "nodemodule" -r vadgeraregistry.azurecr.io/nodemodule
'yo' is not recognized as an internal or external command,
operable program or batch file.
Error: Command failed with exit code 1. Detail: 'yo' is not recognized as an internal or external command,
operable program or batch file.

azure-iot-edge.newSolution:
Executing npm i -g generator-azure-iot-edge-module
+<EMAIL_ADDRESS>updated 1 package in 2.46s
Executing yo azure-iot-edge-module -n "node" -r vadgeraregistry.azurecr.io/node
'yo' is not recognized as an internal or external command,
operable program or batch file.
Error: Command failed with exit code 1. Detail: 'yo' is not recognized as an internal or external command,
operable program or batch file.

Any suggestions on this? Thanks!

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

ID: 1e7d644a-8051-9d73-803a-39720939df92
Version Independent ID: 223c5796-a23d-001d-60e3-df90f30457d7
Content: Tutorial create custom Node.js module - Azure IoT Edge
Content Source: articles/iot-edge/tutorial-node-module.md
Service: iot-edge
GitHub Login: @shizn
Microsoft Alias: xshi

Ah - requires the yo npm dependency.

Thanks!


Firmware update example

Added an example script to update the firmware on a CAN node. I used the gui_tool project as an example to follow.
I don't like this
node.defer(4, request_update)

but it does work -- from what I understand sending the BeginFirmwareUpdate request triggers the node to reboot. We then send BeginFirmwareUpdate again such that the bootloader catches it and actually starts updating. Do I understand this correctly?

@julianoes Thanks for the review. I made the suggested changes and shortened the argument names.

@dakejahl I've pushed a few fixes to this branch. Key changes are:

use a hash for the file path, this keeps the request in one frame on bxCAN, making it more reliable and avoids the symlink
allows target node to be specified


Don't capture std::fmt::Error in rinja::Error

std::fmt::Error does not know why it failed, only that it failed, as it has a single value. This PR removes the captured value, to make the code a bit more dense.

I love such simplifications. :)


Bump RKE2 to v1.23.11-rc1+rke2r1

Related issue: https://github.com/harvester/harvester/issues/2785

Replace the PR with https://github.com/harvester/harvester-installer/pull/342 (different source branch name).


Investigate and remove duplicate code grid-agnostic HFB package and disv-converter

In GitLab by @JoerivanEngelen on Jun 27, 2023, 15:44

disv_converter is removed, ModflowSimulation.from_imod5_data is what should be used


Add antiwindup to JointControllerState message definition

Any points pro/cons merging this before the Kinetic release?

Absolutely - if you're willing to move forward on this I can fixup the other PRs, but getting the updated message in with the first release would be crucial.

+1 lgtm

@paulbovbel, could you please re-submit this PR against kinetic-devel? (And close this one)
I'll merge & move forward with the release then.

I cherry-picked the commit & applied. Moving forward with the release for Kinetic and closing this.


I've meant something like that for LHG-208 kernel part (untested)

@jennifermu111 : your recent changes to https://github.com/linaro-home/meta-lhg/pull/20 look good. But you should not add "file://a_patch.patch" to SRC_URI in one commit, and add the a_patch.patch in a following commit - this is a single change, and it should be in one single commit. Also when updating a pull request, you should not keep the previous versions in this branch, only the final version (this implies 'push -f') OR if this looks more simple, close the old pull request, and create a clean new one.
If this my pull request looks OK for you, please tell me, and I'll merge it. Or create your own version.
Thanks

@andrey-konovalov I have checked your pull request and it looked OK for me. Please help to merge it . Thanks!

@andrey-konovalov I have tried to create a new pull request as #25 . Please help to review whether it's correct. Thanks.


[BUG] Is keyword crash

Tuplex crashes when the the is keyword is used with a non-boolean or non-none type argument.
Example:
c = Context()
c.parallelize([1, 2, 3]).filter(lambda x: x is 2).collect()

@yash-browncs can you take a look at this?

on it, thanks for pointing it out @bgivertz


Installs are broken

If one does:
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install --upgrade pip
(venv) $ pip install pyam-iamc

then not all of the right dependencies are installed i.e.
>>> import pyam
...
ModuleNotFoundError: No module named 'numpy'

This is solved by #120

Perfect (sorry the issue was so short, was on a train in a rush)
On Wed, 31 Oct 2018 at 6:43 pm, Matthew Gidden<EMAIL_ADDRESS>wrote:

Hey zeb - let me go over #120 (tomorrow is a holiday), I also want to pull
in the latest update on grabbing data directly from the explorers. Then
I'll do a 0.1.1 release. Sound good?
On Wed, Oct 31, 2018 at 5:36 PM Zeb Nicholls<EMAIL_ADDRESS>wrote:

If one does:
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install --upgrade pip
(venv) $ pip install pyam-iamc
then not all of the right dependencies are installed i.e.

import pyam...ModuleNotFoundError: No module named 'numpy'

This is solved by #120 https://github.com/IAMconsortium/pyam/pull/120
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/IAMconsortium/pyam/issues/131, or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ABVAEcScxVlP6yTKtBTJrQqueFPGPBKWks5uqdF2gaJpZM4YEeDK
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/IAMconsortium/pyam/issues/131#issuecomment-434796999,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWh-myXKN0Sgr_YpcueGv1VrI9NGCjRZks5uqe9OgaJpZM4YEeDK
.

@znicholls can you test again? Just uploaded 0.1.1 to pypi.

Damn it
>>> import pyam
ModuleNotFoundError: No module named 'requests'

Really? Requests is in the standard library I thought..
On Fri, Nov 2, 2018, 3:17 PM Zeb Nicholls<EMAIL_ADDRESS>wrote:

Damn it

import pyamModuleNotFoundError: No module named 'requests'

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/IAMconsortium/pyam/issues/131#issuecomment-435394528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABVAEZoxZvalCHlmou5CpNhAerW2twhfks5urFQKgaJpZM4YEeDK
.

Ok, fixed in latest version


Release new version, changelog

Recently merged in support for

fernet.core/encrypt-string
fernet.core/decrypt-to-string
Minor cleanup of core, type hints.

Push a new release to clojars. Also, fernet.core/aes128cbc has been made private, so it might make sense to make this a major release.

This should be a major release, due to removal of public api.


fix(inline-edit): hide groups by default

This PR makes a small change to the inline edit styles, to hide groups by default and then assign display once the activator class (pf-m-inline-editable) is present. This fixes a problem in Firefox where the group container reserves space even when all of its children are hidden, forcing it out of alignment with surrounding elements in table.

Preview: https://patternfly-next-pr-2700.surge.sh


Video Recording Does not Work Outside Visual Studio

I have a WPF app where I've gotten the Screna recording API to grab video for me and output it to the x264 format. However, when I run this app from explorer (instead of the command line) the video file is created but no recording actually occurs. As far as I can tell no exception is being thrown so I'm at a loss as to why I don't get a video recording when I run the code outside of the Visual Studio environment.
Here's my creation code:
_provider = new ImageProviderHelper().GetImageProvider();
_videoWriter = new AviWriter(videoUploadName, AviCodec.X264);
_recorder = new Recorder(_videoWriter, _provider, 10);
_recorder.Start();
public IImageProvider GetImageProvider()
{
return new WindowProvider(() => Window.DesktopWindow,
Color.Empty,
new MouseCursor(),
new MouseKeyHook(VSR.Default.MouseClicks, VSR.Default.KeyStrokes));
}
Steps:

Start WPF app from explorer (double click).
Trigger Start of recording.

Actual Result:
Video file is created, but always remains at 0k.

Quick update, I believe I've root caused the area in my code that was causing the problem. I tried using a basic console app an WPF app (both of which worked fine) however in my application I'm setting a proxy on the machine which is making the record.Start() call function incorrectly. If I run the proxy code on a separate thread everything seems to work okay (which is more then odd). If anyone is interested in the code causing the issue I can dig in deeper as needed. Thanks!

This issue seems to be related to your particular use case. I think we don't need to modify Screna for this.