CameraX crashes when running in background

Hi,
after running CameraXBasic on my phone the app crashes nearly always when I move the app into background (home button or "other apps" button).
Please see attachments for further information.
My device is a Motorola G3 running on 6.0.1 and no alterations to the code where made prior.
I am fairly new in android development so my apologize for not being more specific. Hope I could help.
Kind regards,
Michael
Camera_x.pdf
bugreport-2020-05-04-20-38-06.zip

I also noticed that the preview of the CameraXBasic is quite slow and lagging.

Thanks for creating this issue and sending the bug report. The team is looking into it :-)

I'm also facing the same issue.
Do you have any updates?

This issue has been acknowledge and will be fixed in a future release of the library.

This issue should now be fixed after updating to beta04, please reopen if that's not the case


Added LDP vocabulary

Signed-off-by: Bart Hanssens<EMAIL_ADDRESS>This PR addresses GitHub issue: #326  .
Briefly describe the changes proposed in this PR:

Added LDP vocabulary

Reopen to trigger Travis build


Add Memory Game

Memory game is grid-based game in JavaScript, HTML and CSS. It's simple card game where you need to match pairs by turn over 2 cards at a same time.
Rules for Memory Game:

You will start by flipping over one card
The next card that you going to flip if matches, you get +1 to your score. then these card
will be disappear.
If the next card you flip does not match, a pop up alert notifies you and card flip back.
The game continues until  you match all the cards on the board
I want add this game. I'm already done by half of game.
So, please @Vishal-raj-1 & @urvashi-code1255 assigned it to me as a part of gssoc21.

@shitesh2607 Game sounds very  addictive Will be fun to play. Go Ahead develop it

sure

Do not worry about these linked issues your's one will be accepted as per FCFS
Just confirming other people about similar idea.

Thanks @991rajat.

@ridsuteri can I work??

@shitesh2607 Any updates. If not will be transfered to someone else

@Amit366 You can work on it :)


Support Env Augmentation

Is your feature request related to a problem? Please describe.
Hello, thank you for creating this library it looks perfect, I have been looking at it since yesterday and experimenting. I have one question:
As far as I understand from the documentation, we are encouraged to use the Hono instance for custom middlewares and endpoints. In one of my middleware, I am trying to set some dataloaders in context to use them later. I am having a problem here with the typescript not allowing me to set a variable. I tried module augmentation but since Env is a type, not an interface that option is not viable right now. Do you guys have any suggestions? BTW, this is not just related to dataloaders I happened to try that first. Thank you in advance 🙏
Here is the screenshot of the TS error

Describe the solution you'd like
Env can be changed to interface to allow augmentation

You can now add a file called pylon.d.ts:
import '@getcronit/pylon'

declare module '@getcronit/pylon' {
  interface Bindings {
    DB: D1Database
  }

  interface Variables {}
}

And add it to the tsconfig.json:
{
  "extends"<EMAIL_ADDRESS>  "include": ["pylon.d.ts", "src/**/*.ts"]
}

ref: https://github.com/getcronit/pylon/tree/main/examples/cloudflare-drizzle-d1
This is available on @getcronit/pylon-v2.1.1 and create-pylon-v1.0.3


Feature / update site logo

Adds new markup for gov.uk logo svg, as per govuk-frontend 5.0.
Before:

After:

@sbrody The current one is actually the correct one since v5.1 see https://github.com/alphagov/govuk-frontend/releases/tag/v5.1.0?utm_source=GOV.UK+Design+System&utm_campaign=aabdb157a5-FRONTEND_CROWN_05022024&utm_medium=email&utm_term=0_367f0a5723-aabdb157a5-589329769. (I think of it as "Sunken cupcake = old crown, risen cupcake = new crown"). It's probably worth confirming that our implementation matches what they suggest in the 5.1 changelog, but if so then we won't need to change anything here.

@sbrody The current one is actually the correct one since v5.1 see https://github.com/alphagov/govuk-frontend/releases/tag/v5.1.0?utm_source=GOV.UK+Design+System&utm_campaign=aabdb157a5-FRONTEND_CROWN_05022024&utm_medium=email&utm_term=0_367f0a5723-aabdb157a5-589329769. (I think of it as "Sunken cupcake = old crown, risen cupcake = new crown"). It's probably worth confirming that our implementation matches what they suggest in the 5.1 changelog, but if so then we won't need to change anything here.

Ah ok - I didn't spot that - I have updated the PR as the structure of the markup has also been changed

LGTM 👍 Looks like this also does the removal of the fallback image that #166 does?

Yes - will delete that PR


Will the SAM Application be update to support Node 8.10?

AWS has announced EOL for Node 6.10. Will the SAM Application for splunk-logging be updated to support the latest Node (8.10)?
As far as I can tell, I cannot override that setting when I deploy.
https://console.aws.amazon.com/lambda/home?region=us-east-1#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:708419456681:applications/splunk-logging

We are working to update the version, for now you can override the version in the Lambda console after deployment. Look for the runtime dropdown in the deployed Lambda function configuration console.

The application fails on deployment, because Node 6.10 is deprecated and is not longer valid. Gives me the following error now, when I try to deploy it;
The runtime parameter of nodejs6.10 is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs8.10) while creating or updating functions. (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 98d8bbe6-96ad-11e9-914a-490937766a77)

++, this still won't deploy.
This should be removed from the published applications section until it can be fixed, probably


Maximum video length

First of all, I thank you for your contribution to the community.
Can you explain why the MomentDETR only supports the video up to 150s? When I comment run_on_video/run.py, L:41, it still works.

Hi @nguyenquyem99dt, Thanks for your appreciation. The model is only trained with data <=150s, there is no performance guarantee for videos longer than that. However, the model might be general enough to be extended to longer videos.

Thank you for your explanation!


Fix imcompatiblity of transaction side effect and data race

Database creation transaction is also added in this PR but not used.

Duplicated with #89


Erroneous reporting of titles available on a provider

Describe the bug
When I run excludarr radarr exclude, the output shows titles available on Disney Plus that are not, in fact, available - such as Alien or Aliens.
To Reproduce
Steps to reproduce the behavior:

excludarr radarr exclude -a delete -d e
There are many - Alien, Aliens, Road to Perdition, the list goes on
Config here: https://gist.github.com/davidfells/c8edcd45dcf6d616e6b61290b080fcf1

Expected behavior
Expect a list where titles are in fact available on the indicated provider
Versions

OS Version: Debian 11
Excludarr version: 1.0.6
Python version: 3.9.2

Debug logging
To debug the problem further, we need to know exactly what went wrong. Therefor we ask you to run the command in debug mode. You can achieve this by appending the --debug flag after the base command excludarr. e.g. excludarr --debug sonarr exclude -a delete -d -e.
If the output is too long, please paste the output to pastebin or github gist and link it in this issue.
Output here: https://gist.github.com/davidfells/2ad6f71da2518459d733439dee9ac74a
Additional context
Add any other context about the problem here.

Hi David,
Thanks for reporting your issue! From what I can tell your Github profiles states that you live in the United States, correct? I see in your linked configuration file that you are using the en_NL locale. If you change this to en_US you should get the correct results for your country.
Disney Plus in the US differs from the database in NL, because of the licenses. So one movie can be streaming on Disney, Netflix etc. in one country, but not in another. Configuring the locale setting in the configfile properly should fix this.
Can you test this and report back the results?


Add unweighted chi squared to CurveFitResult

What is the expected behavior?
For #782, I was thinking about using something like the wonkiness criteria described in #417 but that requires the chi squared without weighting the data points by their error. Could we add the unweighted chi squared to the fields of CurveFitResult?  What I want is typical deviation of a data point from the fitted curve.
@nkanazawa1989

I dug into LMFIT implementation. They internally create Minimizer object to run fit, and this class implements own residual computation logic. This logic internally delegates residual computation to an LMFIT model, and this method call can take user provided Minimizer options. Note that the Model._residual method that computes residual take weights argument and weights from data uncertainty are not applied unless this is provided. So the important point is whether the curve analysis calls the minimizer with weights argument, and at present this value is not supplied.
https://github.com/Qiskit/qiskit-experiments/blob/1137029588a4f3fc4a414e16077da7cb25ab426a/qiskit_experiments/curve_analysis/curve_analysis.py#L443-L450
This means CurveFitResult.chisq is unbiased. The data uncertainty is only considered in the cost function.
https://github.com/Qiskit/qiskit-experiments/blob/1137029588a4f3fc4a414e16077da7cb25ab426a/qiskit_experiments/curve_analysis/curve_analysis.py#L418-L423
Note that you can still bias chisq value by providing weights in your fit options, i.e.
    def _generate_fit_guesses(
        self,
        user_opt: FitOptions,
        curve_data: CurveData,  # pylint: disable=unused-argument
    ) -> Union[FitOptions, List[FitOptions]]:
        user_opt.add_extra_options(weights=curve_data.y_err)

        return user_opt


RTL-ify blocks for RTL languages

Fixes #58.

Previously, I modified build_translations.py to add the directionality into translations.js. Here, I’ve instead hardcoded the language codes of the RTL languages in scratchblocks2.js.

This looks great! Thanks very much :)
(I can't believe this took me an entire year to get around to looking at! I shall endeavour to be much more responsive in future...)


Clean up leftover v1alpha* logic in metrics-operator

Pre-requisites:

[ ] https://github.com/keptn/lifecycle-toolkit/issues/2433

Goal
Clean up unused logic in api/* folder
Details
After moving the code logic from using v1alpha* to v1beta1 there will be a lot of dead code in api/v1alpha*/* files. This code can be removed. Please be aware that the definitions of the CRDs need to stay in place according to k8s standards.
Acceptance criteria

[ ] conversion webhook logic is removed
[ ] RBAC permissions are cleaned up
[ ] struct functions are removed
[ ] tests are removed
[ ] CRDs are still in place

DoD

[ ] acceptance criteria are met

Hi @odubajDT could you please assign this task to me.

Hi @geoffrey1330 sure, but it depends on #2433 , so there is still time until this ticket can be started

Alright @odubajDT just notify me once the ticket can be started

Hi @geoffrey1330 the PR is merged, you can start with your ticket!

Alright


IPROTO-283 Transcode bytes properties from JSON array

https://issues.redhat.com/browse/IPROTO-283

Thank you @ryanemerson for the review.
I think I've applied all the fixes here.

Hi @ryanemerson! Anything else to improve here or we can merge it? Thanks

No all good @fax4ever, I just forgot about it!

Thank you @ryanemerson


idempotent job deletion for Azure (resolves #422)

Not at my dev machine right now, so hopefully the tests actually pass.

Not a show-stopper, but we prefer commit messages that start with capital letter. Great turn-around time!


Inconsistent Focus Styles in Show Notes

In the show notes, I noticed different styles being applied to buttons on the same row. One focus style is the blue focus ring and then the other has a thin dotted style.

Is thin dotted the correct focus style for these buttons?
See reply below

The difference is that the first item is a button and the others are anchors. which makes sense in terms of behavious, as a button is performing the action, and the anchor is sending the user away to a different page.

If this is desired behaviour, I can close this issue. Thanks

Will be fixed in new website.


Changing Network popup box truncated

Users notice that when the dev tool is populated and settings are selected, only the change network popup box is truncated.We may need to size it as how other selections in setting work
https://user-images.githubusercontent.com/38872890/155259860-3f4ba070-3c4f-4c35-a945-5b0254541f37.mov

I'm closing this issue out in favor of the general viewport formatting work pursued here: https://github.com/hirosystems/stacks-wallet-web/issues/2256


Fix issues with GeneratorYield

It needs to pass through any abrupt completions
It should not get the done property twice

@GeorgNeis @ajklein please take a look.

great :)
I've already added a testcase to test262 that checks done is accessed twice,
that needs to be fixed.


Allow Edit On Single Click

We had this at one point but then in a release:

With this version a number spinner has to be focussed with a first click and enter edit mode with the second click.

I know some work has been done since then and I'm wondering if it's possible to get this functionality back as an option. editOnSingleClick. In my case, a user raised a good point that they expected the box to be a traditional number spinner with the "added ability" to drag with the mouse.

I'll have a look on this when I have a little spare time.
But you're right: this behaviour was reomoved some time ago and it might produce bugs when reactivating it...


Verify that external single order solvers do not violate limit price

As on call I was investigating

2022-02-15T06:31:09.418Z ERROR solver::settlement: Overflow computing objective value

and could not understand how this could happen.
Eventually I found the following exchange with 0x:

2022-02-15T06:30:55.692Z DEBUG shared::zeroex_api: Querying 0x API: https://gated.api.0x.org/swap/v1/quote?sellToken=0x7ae1d57b58fa6411f32948314badd83583ee0e8c&buyToken=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&slippagePercentage=0.003&buyAmount=2000000000000000000&affiliateAddress=0x9008D19f58AAbD9eD0D60971565AA8510560ab41&skipValidation=true&intentOnFilling=false

2022-02-15T06:30:56.354Z DEBUG shared::zeroex_api: Response from 0x API: {"chainId":1,"price":"147052.264902334297684418","guaranteedPrice":"147493.421697041300577472","estimatedPriceImpact":"2.5337","to":"0xdef1c0ded9bec7f1a1670819833240f027b25eff","data":"0x6af479b2000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000300cf9dc4d42af9360410000000000000000000000000000000000000000000000001559b69e3c99d88f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b7ae1d57b58fa6411f32948314badd83583ee0e8c002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000869584cd0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab410000000000000000000000000000000000000000000000ec58c55eff620b48a0","value":"0","gas":"126000","estimatedGas":"126000","gasPrice":"45000000000","protocolFee":"0","minimumProtocolFee":"0","buyTokenAddress":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","sellTokenAddress":"0x7ae1d57b58fa6411f32948314badd83583ee0e8c","buyAmount":"1538461538461538447","sellAmount":"226234253695898917376575","sources":[{"name":"0x","proportion":"0"},{"name":"Uniswap","proportion":"0"},{"name":"Uniswap_V2","proportion":"0"},{"name":"Eth2Dai","proportion":"0"},{"name":"Kyber","proportion":"0"},{"name":"Curve","proportion":"0"},{"name":"Balancer","proportion":"0"},{"name":"Balancer_V2","proportion":"0"},{"name":"Bancor","proportion":"0"},{"name":"mStable","proportion":"0"},{"name":"Mooniswap","proportion":"0"},{"name":"Swerve","proportion":"0"},{"name":"SnowSwap","proportion":"0"},{"name":"SushiSwap","proportion":"0"},{"name":"Shell","proportion":"0"},{"name":"MultiHop","proportion":"0"},{"name":"DODO","proportion":"0"},{"name":"DODO_V2","proportion":"0"},{"name":"CREAM","proportion":"0"},{"name":"LiquidityProvider","proportion":"0"},{"name":"CryptoCom","proportion":"0"},{"name":"Linkswap","proportion":"0"},{"name":"Lido","proportion":"0"},{"name":"MakerPsm","proportion":"0"},{"name":"KyberDMM","proportion":"0"},{"name":"Smoothy","proportion":"0"},{"name":"Component","proportion":"0"},{"name":"Saddle","proportion":"0"},{"name":"xSigma","proportion":"0"},{"name":"Uniswap_V3","proportion":"1"},{"name":"Curve_V2","proportion":"0"},{"name":"ShibaSwap","proportion":"0"},{"name":"Synapse","proportion":"0"}],"orders":[{"makerToken":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","takerToken":"0x7ae1d57b58fa6411f32948314badd83583ee0e8c","makerAmount":"1538461538461538447","takerAmount":"226234253695898917376575","fillData":{"router":"0xe592427a0aece92de3edee1f18e0157c05861564","tokenAddressPath":["0x7ae1d57b58fa6411f32948314badd83583ee0e8c","0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"],"uniswapPath":"0x7ae1d57b58fa6411f32948314badd83583ee0e8c002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"},"source":"Uniswap_V3","sourcePathId":"0x1b6352b938195de9d2d72d38bfc0f6fe14e99d9ddebed329265c11ae49dd6cf9","type":0}],"allowanceTarget":"0xdef1c0ded9bec7f1a1670819833240f027b25eff","sellTokenToEthRate":"143326.5157040987654247","buyTokenToEthRate":"1"}

The original user order here is a buy order with sell amount 2.27e23 and buy amount 2.00e18. We forward this to 0x with a query setting the buy amount to 2.00e18 . The response we get back has sell amount 2.26e23 and buy amount 1.54e18.
The returned buy amount is significantly less than what we asked for in the buy order. This is a problem.
First, we asked for a fill-or-kill order buy order. It does not make sense that the resulting buy amount is less than our input buy amount.
Second, because we assume 0x respects our wish for a fill-or-kill order, the limit price check is simplified to executed_sell_amount <= order_sell_amount (for a buy order). This is incorrect if the executed buy amount is not at least as large as the order buy amount.
The first case is benign. Either the settlement will fail to simulate because there is not enough buy token or we will unintentionally use the buffers in the settlement contract.
The second case is malignant. Like in the first case it is possible that we would be unintentionally using the buffers. But here the order limit price has not been respected. We are paying the user their limit price out of our buffers even though the on chain price does not match.
I do not know if this ever really happened. In the case I was investigating the 0x solution did not win the competition or failed to simulate (don't remember which). If the situation occurs we should always see the "Overflow computing objective value" error which is caused by settlement.rs fn (buy|sell)_order_surplus returning None when the surplus is negative which always happens when the price is not respected.
Note that the error does not cause the settlement to be disregarded, the surplus is treated as 0.
To fix this I changed all single order solvers to use the same validation function which always compares both sell and buy amounts.
Test Plan
Code still compiles. The new function is simple enough that a test is not useful (but please look at it carefully).

Codecov Report

Merging #1651 (13852e8) into main (01e1983) will decrease coverage by 0.04%.
The diff coverage is 94.73%.

@@            Coverage Diff             @@
##             main    #1651      +/-   ##
==========================================
- Coverage   66.21%   66.16%   -0.05%
==========================================
  Files         174      174
  Lines       34208    34169      -39
==========================================
- Hits        22650    22608      -42
- Misses      11558    11561       +3

Nice catch!
I think this is missing the BalancerSor solver though:
https://github.com/gnosis/gp-v2-services/blob/01e1983853179b47aedd783f46eb95357893d405/crates/solver/src/solver/balancer_sor_solver.rs#L79-L82

added


Request: drag item out of container to remove item

hi, nice library, is it possible to detect the item is drag out of container and remove the item from container when mouse is released?
Thanks man!

Not currently, no. This library is not intended to be a Drag & Drop library, it's meant to be a simple, drop-in sortable solution. There are already a number of great libraries out there that solve these kinds of concerns, such as react-dnd, so this isn't something that's currently planned.


[fix] error pages like 404.html is treated as ERB.

this commit also fixes unable to update 404.html.

Coverage decreased (-0.01%) to 83.285% when pulling 78f2727d3b048c212162514aa1686a58f7a5ef61 on sunny4381:fixes/error-pages-treated-as-erb into bf449a0edc9704e157d5d410f1b830d219e63ced on shirasagi:master.


Setup TLS adaptor when parsing an amqprs uri

@gftea Everything should be working now, but the CI still fails. I can't reproduce it locally.

@tyilo it seems about feature flag , the test is expecting w/o tls, but still tls is used
api::connection::tests::test_amqps_scheme_without_tls stdout ----
thread 'api::connection::tests::test_amqps_scheme_without_tls' panicked at amqprs/src/api/connection.rs:1515:39:
called `Result::unwrap()` on an `Err` value: NetworkError("network io error: invalid peer certificate contents: invalid peer certificate: UnknownIssuer")
note: panic did not contain expected string
      panic message: `"called `Result::unwrap()` on an `Err` value: NetworkError(\"network io error: invalid peer certificate contents: invalid peer certificate: UnknownIssuer\")"`,
 expected substring: `"UriError"`

@tyilo I have rerun main branch, it works.
Try to reproduce it by run cargo test --all-features --release

@gftea Ah I understand now, I didn't have the RabbitMQ server running.
I see two possible solutions:

Remove the test_amqps_scheme_without_tls test
Keep the test_amqps_scheme_without_tls test, but change the signature of OpenConnectionArguments::tls_adaptor to take a Option<TlsAdaptor> instead of TlsAdaptor, so that the test can explicitly disable the default TLS adaptor.

What do you prefer?

@tyilo , the failure of the test is user giving a amqps scheme which means it want to enable secure channel, but without tls adaptor, I think it prevents the incorrect  configuration from beginning, which is good thing

@tyilo , the test is prevent user giving a amqps scheme (implies secure channel) but without tls adaptor enabled. it prevents the incorrect configuration from beginning

I understand what the test does. However, it is no longer possible to create a configuration from an amqps url without a TLS adaptor.
So do we want to:

remove the test, or
allow setting no TLS adaptor for an amqps URL

I don't really have a strong opinion about what to do. What do you prefer?

I see, this PR implicitly setup an adaptor without client authentication if amqps scheme used, how user can use amqps with its customized adapter?

I see, this PR implicitly setup an adaptor without client authentication if amqps scheme. HOW user can use amqps with its customized adapter?

You then call tls_adaptor(...) as before to override the default adaptor.
The default should be without client authentication as this is the default for other AMQP libraries (and clients using TLS in general).

Ok, let’s remove this test case as you suggested. Please help add documentation about the default behavior and how to customize it


run.finished not set when using AWS Step Functions and there's an error

When I run a flow from AWS Step Functions
And a step throws an exception
And the exception doesn't go away after retrying
Then run.finished isn't True
I'm triggering flows via step functions and want to see when they have finished
The following works if the flow is run locally or there aren't any errors
    retry_increment = 60
    while not run.finished and (timeout < 0 or total_time < timeout):
        # run is not None here so we know run_ref is OK
        run = Run(run_ref)
        if run.finished:
            break
        steps = list(run.steps())
        if len(steps) > 0:
            last_step = steps[0]
            # Can have multiple attempts after an exception so just log a warning
            if last_step.task and last_step.task.exception is not None:
                logger.warn(
                    f"metaflow failed, check logs for {run_ref}, attempt {last_step.task.current_attempt} {last_step.task.exception}"
                )
            logger.debug(f"In {last_step} for {flow_key}, waiting for {retry_increment}...")
        time.sleep(retry_increment)
        total_time += retry_increment

It doesn't work to break when finding an exception because if the step works on a retry then it's too soon
run.finished is False
run.successful is False
It does show up as completed in the UI

@wrighting our new deployer api should come in handy for this use case


Add unaligned_iterator and remove xsimd::transform

The aligned / unaligned iterator should allow one to write:
std::transform(aligned_begin(src), aligned_end(src), aligned_begin(dst), func);

where func accepts batch arguments. Therefore, once the implementation of the iterator is complete, we can remove the xsimd::transform function.
cc @wolfv who originally implemented this function, maybe there was another reason for not dropping it.

Closing since the problem is that we cannot handle the case where the number of elements in the buffer is not a multiple of the batch size.


Exclamation mark in favicons property value makes the build crash

Using something like this configuration below makes the build crash.
new WebAppWebpackPlugin({
    logo: 'image.png',
    favicons: {
        appName: 'Application!',
    },
});

Part of the error:
Error: Can't resolve '","developerName":null,"appDescription":"Description","version":"0.0.1"},"path":"/"}' in 'F:\IdeaProjects\Project\client'

....

using description file: F:\IdeaProjects\Project\package.json (relative path: ./node_modules/","developerName":null,"appDescription":"Description","version":"0.0.1"},"path":"/"})
            no extension
              F:\IdeaProjects\Project\node_modules\","developerName":null,"appDescription":"Description","version":"0.0.1"},"path":"\"} doesn't exist

Somehow the exclamation mark triggers a file path search within the itgalaxy/favicons package. Using this package directly does not give the error. Seems like the configuration is passed as a JSON string or something and somehow the favicons package cannot handle that. This also bugs on the appDescription property, so it seems to be unrelated to which property it is put on.

Thanks for reporting, I'll investigate where exactly it's failing.
My guess is that ! has special meaning when it's part of a file path, could that be?

My guess is that the ! triggers some kind of file path resolve system. I am however not sure where it is. Since the ! is in the appName property, it is not directly a file path. But since it seems to be parsed as JSON before passing to the favicons packages, some sub system might think it should resolve something in the JSON as it is a string.
I hope I explained my view on it clear enough. When I have time I might be able to investigate the source of this bug.

I hope I explained my view on it clear enough.

Yes, thank you.


Add options to use external libraries of nlohmann-json and cxxopts

In this PR,

Add options F3D_USE_EXTERNAL_CXXOPTS and F3D_USE_EXTERNAL_NLOHMANN_JSON (both are off by default) for third party libraries of nlohmann_json and cxxopts to choose their correspoding system libraries.
Move the json.hpp file to external/nlohmann directory to unify the include directive, cxxopts.hpp file to external/cxxopts directory.
Updated to cxxopts to 3.1.1 version. The cxxopts package is 3.1.1 version in Fedora repository, so I updated it to this version accordingly, ref: https://packages.fedoraproject.org/pkgs/cxxopts/cxxopts-devel/ . Previously in cxxopts, the exceptions derives from cxxopts::OptionException, but now for 3.1.1 it derives from cxxopts::exceptions::exception, ref: https://github.com/jarro2783/cxxopts/pull/347

try to resolve: #830

@mwestphal I vaguely remember you had modified cxxopts. Do you remember what you did? I just want to be sure the update is not breaking anything in F3D.

@topazus you have to update .cppcheck.supp with the new path to json.hpp

@mwestphal I vaguely remember you had modified cxxopts. Do you remember what you did? I just want to be sure the update is not breaking anything in F3D.

Because the cxxopts package is 3.1.1 version in Fedora repository, so I updated it to this version accordingly, ref: https://packages.fedoraproject.org/pkgs/cxxopts/cxxopts-devel/
I modified the catch exception of the cxxopts usage. Previously in cxxopts, the exceptions derives from cxxopts::OptionException, but now for 3.1.1 it derives from cxxopts::exceptions::exception, ref: https://github.com/jarro2783/cxxopts/pull/347

From: Mathieu Westphal @.>
Sent: Sunday, May 28, 2023 11:02:28 PM
To: f3d-app/f3d @.>
Cc: Felix Wang @.>; Mention @.>
Subject: Re: [f3d-app/f3d] Add options to use external libraries of nlohmann-json and cxxopts (PR #832)
@mwestphal commented on this pull request.

In application/CMakeLists.txthttps://github.com/f3d-app/f3d/pull/832#discussion_r1208572665:

)
+else ()

target_include_directories(f3d

you can do multiple target_include_directories calls I think
—
Reply to this email directly, view it on GitHubhttps://github.com/f3d-app/f3d/pull/832#pullrequestreview-1448287583, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASNPISN6XOAPUSDQK2CT4KDXINSIJANCNFSM6AAAAAAYRWQSMQ.
You are receiving this because you were mentioned.Message ID: @.***>

@topazus looking good ! Lets wait for @Meakk review.
BTW we have a chat dedicated for packager on our discord, do not hesitate to join !
https://discord.f3d.app

find_package(cxxopts REQUIRED) is called AFTER add_subdirectory(application).
Move it before, it should work.

find_package(cxxopts REQUIRED) is called AFTER add_subdirectory(application). Move it before, it should work.

Ah, it was error-free when find_package was placed before add_subdirectory(application). I have another confusion, I only called find_package(cxxopts REQUIRED) again in application/CMakeLists.txt file, it was also built successfully, why does no error, which is the target not found, happened for nlohmann_json?

nlohmann_json is not used by the application, it is used in the library and the shellext though so the find_package must be called before adding library and shellext subdirectories.

https://github.com/f3d-app/f3d/blob/57dec2d8ac7cc76cd1fca38eae28c37d6b943721/application/F3DOptionsParser.cxx#L633-L637
application/F3DOptionsParser.cxx file includes the nlohmann/json.hpp header file, does this not mean nlohmann_json was used in application subdirectory?

You're right. Are you sure it's working if the find_package is called after the add_subdirectory?

with the following modification:
ruby in 🌐 fedora in f3d on  master [!?] via △ v3.26.4
❯ git diff
diff --git a/application/CMakeLists.txt b/application/CMakeLists.txt
index 05e1a08..81781c7 100644
--- a/application/CMakeLists.txt
+++ b/application/CMakeLists.txt
@@ -58,6 +58,7 @@ endif ()

 target_include_directories(f3d PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
 if (F3D_USE_EXTERNAL_CXXOPTS)
+  find_package(cxxopts REQUIRED)
   target_link_libraries(f3d PRIVATE cxxopts::cxxopts)
 else ()
   target_include_directories(f3d PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/external/cxxopts>)

ruby in 🌐 fedora in f3d on  master [!?] via △ v3.26.4
❯ git log
commit 57dec2d8ac7cc76cd1fca38eae28c37d6b943721 (HEAD -> master, origin/master, origin/HEAD)
Author: Felix Wang<EMAIL_ADDRESS>Date:   Thu Jun 1 13:24:43 2023 +0800

    Add options to use external libraries of nlohmann-json and cxxopts (#832)

    * Add F3D_USE_EXTERNAL_DEPS option for third party libraries

    * Use options F3D_USE_EXTERNAL_CXXOPTS and F3D_USE_EXTERNAL_NLOHMANN_JSON instead

    * fix cppcheck

    * explicitly specify the include directories

    * fix

    * fix typo

    * add find_package to toplevel CMakeLists.txt file

build process
ruby in 🌐 fedora in f3d on  master [!?] via △ v3.26.4
❯ rm -rf build/ && cmake . -B build -DF3D_USE_EXTERNAL_CXXOPTS=ON -DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON
-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found GLEW: /usr/lib64/libGLEW.so
-- Found OpenGL: /usr/lib64/libOpenGL.so  found components: OpenGL GLX
-- Found HDF5: /usr/lib64/libhdf5.so (found version "1.12.1") found components: C HL
-- Found utf8cpp: /usr/include/utf8cpp
-- Found NetCDF: netcdf (found version "4.9.0")
-- Found JsonCpp: /usr/lib64/libjsoncpp.so (found suitable version "1.9.5", minimum required is "0.7.0")
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.13")
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.37")
-- Found nlohmann_json: /usr/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.2")
-- Found Eigen3: /usr/include/eigen3 (found version "3.4.0")
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found EXPAT: /usr/lib64/libexpat.so (found version "2.5.0")
-- Found double-conversion: /usr/lib64/libdouble-conversion.so
-- Found LZ4: /usr/lib64/liblz4.so (found version "1.9.4")
-- Found LZMA: /usr/lib64/liblzma.so (found version "5.4.3")
-- Found JPEG: /usr/lib64/libjpeg.so (found version "62")
-- Found TIFF: /usr/lib64/libtiff.so (found version "4.4.0")
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.13.0")
-- VTK 9.2.6 found
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring done (2.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/ruby/git-repo/f3d/build

ruby in 🌐 fedora in f3d on  master [!?] via △ v3.26.4 took 2s
❯ cmake --build build/ -j6
[  7%] Building CXX object library/VTKExtensions/Core/CMakeFiles/VTKExtensionsCore.dir/F3DLog.cxx.o
[  9%] Building CXX object plugins/native/CMakeFiles/f3d-plugin-native.dir/plugin.cxx.o
[ 11%] Generating the wrap hierarchy for f3d::VTKExtensionsReaders
[  9%] Generating the wrap hierarchy for f3d::VTKExtensionsApplicative
[ 11%] Generating the wrap hierarchy for f3d::VTKExtensionsCore
[ 11%] Building CXX object plugins/exodus/CMakeFiles/f3d-plugin-exodus.dir/plugin.cxx.o
[ 15%] Linking CXX static library ../../lib/libf3d-plugin-exodus.a
[ 15%] Building CXX object library/VTKExtensions/Core/CMakeFiles/VTKExtensionsCore.dir/vtkF3DConsoleOutputWindow.cxx.o
[ 15%] Built target VTKExtensionsCore-hierarchy
[ 17%] Linking CXX static library ../../lib/libf3d-plugin-native.a
[ 17%] Built target VTKExtensionsApplicative-hierarchy
[ 19%] Linking CXX static library ../../../lib/libVTKExtensionsCore.a
[ 19%] Built target VTKExtensionsReaders-hierarchy
[ 21%] Generating the wrap hierarchy for f3d::VTKExtensionsRendering
[ 21%] Built target f3d-plugin-exodus
[ 21%] Built target f3d-plugin-native
[ 21%] Built target VTKExtensionsCore
[ 25%] Building CXX object library/VTKExtensions/Readers/CMakeFiles/VTKExtensionsReaders.dir/vtkF3DPostProcessFilter.cxx.o
[ 25%] Building CXX object library/VTKExtensions/Readers/CMakeFiles/VTKExtensionsReaders.dir/vtkF3DGenericImporter.cxx.o
[ 26%] Linking CXX static library ../../../lib/libVTKExtensionsReaders.a
[ 26%] Built target VTKExtensionsReaders
[ 32%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DCachedLUTTexture.cxx.o
[ 32%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DCachedSpecularTexture.cxx.o
[ 36%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DInteractorEventRecorder.cxx.o
[ 32%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DDropZoneActor.cxx.o
[ 34%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DHexagonalBokehBlurPass.cxx.o
[ 42%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DInteractorStyle.cxx.o
[ 42%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DOpenGLGridMapper.cxx.o
[ 44%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DPolyDataMapper.cxx.o
[ 42%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DNoRenderWindow.cxx.o
[ 46%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DRenderPass.cxx.o
[ 46%] Built target VTKExtensionsRendering-hierarchy
[ 48%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DRenderer.cxx.o
[ 51%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DOrientationMarkerWidget.cxx.o
[ 51%] Building CXX object library/VTKExtensions/Rendering/CMakeFiles/VTKExtensionsRendering.dir/vtkF3DRendererWithColoring.cxx.o
[ 53%] Linking CXX static library ../../../lib/libVTKExtensionsRendering.a
[ 53%] Built target VTKExtensionsRendering
[ 55%] Building CXX object library/VTKExtensions/Applicative/CMakeFiles/VTKExtensionsApplicative.dir/vtkF3DObjectFactory.cxx.o
[ 57%] Linking CXX static library ../../../lib/libVTKExtensionsApplicative.a
[ 57%] Built target VTKExtensionsApplicative
[ 65%] Building CXX object library/CMakeFiles/libf3d.dir/src/camera_impl.cxx.o
[ 65%] Building CXX object library/CMakeFiles/libf3d.dir/src/engine.cxx.o
[ 63%] Building CXX object library/CMakeFiles/libf3d.dir/src/animationManager.cxx.o
[ 65%] Building CXX object library/CMakeFiles/libf3d.dir/src/config.cxx.o
[ 67%] Building CXX object library/CMakeFiles/libf3d.dir/src/factory.cxx.o
[ 69%] Building CXX object library/CMakeFiles/libf3d.dir/src/image.cxx.o
[ 78%] Building CXX object library/CMakeFiles/libf3d.dir/src/interactor_impl.cxx.o
[ 76%] Building CXX object library/CMakeFiles/libf3d.dir/src/init.cxx.o
[ 78%] Building CXX object library/CMakeFiles/libf3d.dir/src/loader_impl.cxx.o
[ 78%] Building CXX object library/CMakeFiles/libf3d.dir/src/log.cxx.o
[ 78%] Building CXX object library/CMakeFiles/libf3d.dir/src/interactor.cxx.o
[ 82%] Building CXX object library/CMakeFiles/libf3d.dir/src/window_impl.cxx.o
[ 82%] Building CXX object library/CMakeFiles/libf3d.dir/src/options.cxx.o
[ 84%] Linking CXX shared library ../lib/libf3d.so
[ 84%] Built target libf3d
[ 86%] Generating F3DIcon.h, F3DIcon.cxx
[ 92%] Building CXX object application/CMakeFiles/f3d.dir/F3DOptionsParser.cxx.o
[ 94%] Building CXX object application/CMakeFiles/f3d.dir/F3DStarter.cxx.o
[ 92%] Building CXX object application/CMakeFiles/f3d.dir/F3DIcon.cxx.o
[ 96%] Building CXX object application/CMakeFiles/f3d.dir/F3DSystemTools.cxx.o
[ 92%] Building CXX object application/CMakeFiles/f3d.dir/F3DConfigFileTools.cxx.o
[ 98%] Building CXX object application/CMakeFiles/f3d.dir/main.cxx.o
[100%] Linking CXX executable ../bin/f3d
[100%] Built target f3d

That's weird. I'll take a closer look.

I think that's because VTK is using nlohmann_json and indirectly define the target.
If you look at /usr/lib/cmake/vtk/VTK-targets.cmake (or wherever VTK is installed), you'll find:
# Create imported target VTK::nlohmannjson
add_library(VTK::nlohmannjson INTERFACE IMPORTED)

set_target_properties(VTK::nlohmannjson PROPERTIES
  INTERFACE_LINK_LIBRARIES "nlohmann_json::nlohmann_json"
)

https://github.com/f3d-app/f3d/pull/840

@Meakk Your last comment is very helpful to clarify the confusion, thanks. I also see the similar thing at /usr/lib64/cmake/vtk/VTK-targets.cmake file of my installed vtk-devel package.


docs: update Russian translation

Update some outdated Russian translations, checked all of them. Fixed some type in Russian docs.

/ping @Alex-Sokolov
Can you review this PR?

@sh7dm Thanks for PR! :) Can you commit fixes to my comments?

@Alex-Sokolov Thanks!
@Alex-Sokolov Спасибо!

Could you re-review it?

@sh7dm Thanks!
@kazupon Done :)

@Alex-Sokolov Thanks!


"Error: All configured authentication methods failed" after update to 1.2.6

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed: https://github.com/icetee/remote-ftp/issues

Description
After updating to version 1.2.6 on 1.21.2, all previously working SFTP configurations do not work any more. The error message is: Error: All configured authentication methods failed
Rewriting a new configuration using the template provided by the "create sftp config file" menu item did not help.
My config files look like this (working until before the update):
{
    "protocol": "sftp",
    "host": "mybox",
    "port": 22,
    "user": "myuser",
    "pass": "",
    "promptForPass": true,
    "remote": "/srv/www/myvhost/html/mydir",
    "keyboardInteractive": true
}

Steps to Reproduce

Open project with pre-update configuration.
Click "Connect" in the Remote FTP menu

Expected behavior: [What you expect to happen]
Connect successfully.
Actual behavior: [What actually happens]
"Error: All configured authentication methods failed"
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions
Atom    : 1.21.2
Electron: 1.6.15
Chrome  : 56.0.2924.87
Node    : 7.4.0
Windows 10
Additional Information
Console shows:
IntersectionObserver.observe(target): target element is not a descendant of root.
TreeView @ <embedded>:119177
<embedded>:116344 spell-check:en-us Can't load en_US: Cannot find dictionary for en_US.
[Violation] Long running JavaScript task took 475ms

Any advice how to solve this would be great. Thanks!

@bkroll See https://github.com/icetee/remote-ftp/issues/698#issuecomment-340923241


Field is still saved even though it is set to read-only

Link to reproduction
No response
Describe the Bug
I've set a field (a transaction status) to read-only so that it is visible in the admin but the user can't change it through normal means (because it would cause a problem with the user opening the form to change something else, the system updating the status elsewhere in the meantime and then the user saving the form and inadvertedly resetting the transaction status back to what it was before).
However, I noticed it's still sent in the form payload and overwrites the data in the database when saved. I don't see why it would need to be sent here, if it's not meant to be changed anyway.
(Yes, I could use access to prevent writing to it, but that's not good either because other parts of the system may want to write to this field through the API, in a controlled manner, but also with the user's credentials.)
To Reproduce
Set a field to read-only.
Open the edit form.
Change the field through API or directly in the DB.
Submit the edit form.
Note that the value was reset to what it was when the edit form was opened.
Payload Version
2.12.1
Adapters and Plugins
db-mongodb, bundler-webpack

Hey @CherryDT — there are a few complexities with this that make it somewhat difficult to accomplish what you're looking for without some side-effects.
Marking a field as readOnly indeed keeps the field in the form state so that you can access / manipulate it. It also means that when you run functions like form.getData(), that field will indeed be included in the data from the form. But you're right, the field's data will indeed be sent through the REST request for create / update.
There are some alternatives, though. You can use admin.disabled: true to completely disable the field, which will then completely hide the field from the admin UI. You could then use a custom UI component to show the field's value in a read-only fashion.
Alternatively, you could add a beforeValidate hook that simply takes the field's originalDoc value and returns that, omitting whatever was passed from the API, and reverting back to the value you want.
We might be able to solve for this at some point in the near-future, but it likely will be against 3.0. I will mark this as a Feature Request for now and we will keep an eye on interest for this topic. If more people show interest, we will prioritize a way to make this happen!


Icon Missing on FF74 x64

The HZ icon isnt present on toolbar
To Reproduce
Click on Add Extension and accept...
Expected behavior
Icon should appear on Toolbar...
Win10x64
FF74 x64

Fixed. The icon now should appear in address bar


TypeError: Cannot read property 'lat' of undefined

I'm using react-leaflet-markercluster with with children markers and getting TypeError: Cannot read property 'lat' of undefined when I update the markers. From the readme it looks like this is not fully supported yet. Could you expand on this?
I think the cause might be how keys are applied to the cloned marker element.
From my understanding React uses the key to determine on update if the item is new or an updated earlier one and the react docs advise against using index as a key.
https://facebook.github.io/react/docs/lists-and-keys.html

Keys help React identify which items have changed, are added, or are removed. Keys should be given to the elements inside the array to give the elements a stable identity:

When you don't have stable IDs for rendered items, you may use the item index as a key as a last resort

I'm trying to debug this but having issues building the project. At first glance I thought it was the node version. I went from v8 to v4 but still not building. Could you let me know which node version the project targets. Might also be worth adding the engines property in the package.json with the targeted node. I can also create a seperate issue for this specifically if you think it might be best.

@whyvez I'll try to test react-leaflet markers update during this week.
You could be right because there is really simple logic for rendering react-leaflet Marker component.

Perfect. Could use the marker id. What version of node should I use to build?

I'm seeing this issue as well and would love to help push a fix forward. @whyvez @YUzhva did either of you make any progress on a resolution?
I'm going to pull this project locally to npm link it and see if I can figure something out. I'll use what's been mentioned above as a starting point but if someone has already made progress that would be helpful to know.

@whyvez I'm was able to clone and build though I did have to make a few tweaks. I'm on Node v6.9.4 and NPM v3.10.10. Let me know if you're still interested in this as I could share a fork.
@YUzhva there are probably a few things that could be simplified in relation to config and deployment. Typically it's not recommended to ship to npm with CSS require baked in (related to #40). This means all consumers must be using webpack and have a css-loader configured. Instead users can just decide whether or not to include the CSS as they see fit. Also, I would recommend just using webpack over both webpack and gulp. Everything this package does with gulp could also be accomplished with webpack. Anyway, just thought I'd mention the things I noticed while going through this as some clean up might make the package easier to maintain/contribute to.

@skipjack your advises is really nice.
It's been a while since I create that wrapper, so I learned new things, but I didn't have enough time to improve them(

your advises is really nice.

Happy you found it helpful!

It's been a while since I create that wrapper, so I learned new things, but I didn't have enough time to improve them

Yeah I totally get that, it's just the nature of open source work, right? 😜
So after digging into this for a few hours yesterday, here's a summary of what I found...
Actual Error
@whyvez I'm not sure what the stack trace was for you, however the core of it for me was:

project | @ | leaflet-src.js:1612
latLngToPoint | @ | leaflet-src.js:1452
project | @ | leaflet-src.js:3834
_removeFromGridUnclustered | @ | leaflet.markercluster.js:6
_removeLayer | @ | leaflet.markercluster.js:6
removeLayer | @ | leaflet.markercluster.js:6
_moveChild | @ | leaflet.markercluster.js:6
_childMarkerMoved | @ | leaflet.markercluster.js:6
fire | @ | leaflet-src.js:588
setLatLng | @ | leaflet-src.js:7654
updateLeafletElement | @ | CircleMarker.js:31
componentDidUpdate | @ | MapLayer.js:50
componentDidUpdate | @ | Path.js:33
...

So, after digging into various fixes within this library for a while with no luck, I decided to come back to the highlighted lines. Here's what I found:
    if (toProps.center !== fromProps.center) {
      this.leafletElement.setLatLng(toProps.center)
    }

These lines within CircleMarker are the "source" of the error. Seeing that the center prop is either an array, object, or LatLng instance -- the equality check doesn't actually work (though I'm guessing it's dependent on object identity or something). Those two arrays were actually equal in my case and when the check is replaced with a latLng(...).equals call...
if ( latLng(toProps.center).equals(fromProps.center) ) {

The setLatLng code is never executed, thus resolving the error. The thing I still haven't been able to figure out is why the setLatLng call fails in the first place. The thing is toProps.center is defined when it's called so something else must be going on behind the scenes. Maybe we can ping the leaflet and react-leaflet maintainers to get a better idea.
Thoughts on this Package
So, while the bug may not be related to this package, and aside from what I mentioned above re CSS and build process, there were some other things I noticed about the base component.
First, I don't think you should support markers and markersOptions props. They increase the complexity of your component significantly and aren't available as options in the base leaflet.markercluster package as far as I can tell. Rather, I think you should just support markers as children as it's fairly painless for users to consume it this way, e.g. instead of markers={ points } they could just write:
<MarkerClusterGroup ...>
  { points.map(point => <Marker position={ point } />) }
</MarkerClusterGroup>

This would be a breaking change obviously, but I think it's a worthwhile one. Which leads me to my second point. With markers and markersOptions removed, I was able to simplify this component a great deal:
import React from 'react';
import PropTypes from 'prop-types';

import L from 'leaflet'
import 'leaflet.markercluster';

import { MapLayer } from 'react-leaflet';

import './style.css';

export default class MarkerClusterGroup extends MapLayer {
  static propTypes = {
    children: PropTypes.node,
    options: PropTypes.object,
    wrapperOptions: PropTypes.object
  }

  static defaultProps = {
    wrapperOptions: {}
  }

  static childContextTypes = {
    layerContainer: PropTypes.object
  }

  getChildContext() {
    return {
      layerContainer: this.leafletElement
    }
  }

  componentWillMount() {
    super.componentWillMount()

    let { enableDefaultStyle, disableDefaultAnimation } = this.props.wrapperOptions

    if ( enableDefaultStyle ) this.context.map._container.className += ' marker-cluster-styled'
    if ( !disableDefaultAnimation ) this.context.map._container.className += ' marker-cluster-animated'
  }

  createLeafletElement(props) {
    return new L.markerClusterGroup(props.options)
  }
}

This offsets most of the work child elements calling addLayer on the marker container and avoids cloning or any react element generation which feels a bit funny imho. Also if you rethink the CSS stuff and offset that to consumers as well the whole componentWillMount method goes away.
Anyway, I just figured I'd share what I'd found. I'm still fairly new to react-leaflet but it seems this direction would be closer to what's recommended in their guide. As mentioned above, I'd be happy to push my changes to a fork or branch (if given permissions). I don't have enough bandwidth to take this all the way on my own atm, but I'd be happy to advise someone who does. I maintain the new webpack documentation so I'd definitely be able able to help guide the build process refactoring if desired.
For now, I'm just going to create a custom CircleMarker instance with that fix.

@skipjack Your solution is awesome.
I was "playing" with it last weekends and there everything was awesome!
So, during those weekends I decided to implement it and publish to npm with test coverage... (you know, all those cool labels at repository)
I supposed to finish with your solution and test coverage during the next weekends.
Hope to publish it (=

@YUzhva great! Feel free to ping me if you need anything clarified or want someone to test the update.

Getting the same issues with the cluster children, "Uncaught TypeError: Cannot read property '0' of undefined", after updating a cluster.

@skipjack so you have to make the change inside the node_modules?

@skipjack Thanks for your work, but still it cant make it happen...
the equality check isn't possible since the file looks completely different in react-leaflet-markercluster@next which i just updated. Also in the earlier version the latlng.equals doesnt make any sense to me, since latlng is/was just a react proptype, and therefore holds no usable methods.
In the 2.4.0 version of react-leaflet the proptypes completely vanished, which makes the latlng.equals solution even more confusing.
as you can see im still slightly confused by your fix, even though i think you know what you are doing and found.  I hope you can reach out again to help me / us getting this to work properly.
-->

Unfortunately my PR has not been accepted. I don't know why exactly the !== method makes more sense than the equals method with is catching any non usable values and proceed with the computation. I would love to resolve this, asap.

@Falkyouall did you try to upgrade your dependencies to that latest v.2.x?
yarn add react-leaflet-markercluster@next

I confirm that this was happening to me when using CircleMarker inside MarkerClusterGroup
I found the fix for this on @Nadhum's comment here https://github.com/Leaflet/Leaflet/issues/6257
and passing not once center but also position into the CircleMarker

@YUzhva Hey, sorry for late answer, i should subscribe this thread. And Yes i'm using the latest react-leaflet version
"react-leaflet": "^2.4.0",     "react-leaflet-markercluster": "^2.0.0-rc3"
I still have a working npm-patch script that fixes the issue by npm postinstall with the above solution.

Hi, maybe you should to review the dependency tree, I had the same problem, from a library load leaflet from its node_modules folder, also, my app was loading leaflet from its node_modules folder,  Leaflet did a instanceOf comparison. Some as:
https://github.com/Leaflet/Leaflet/blob/master/src/geo/LatLngBounds.js#L246
export function toLatLngBounds(a, b) {
	if (a instanceof LatLngBounds) {
		return a;
	}
	return new LatLngBounds(a, b);
}

For some reason, a is a instance of LatLngBounds loaded from my app node_modules folder leaflet loaded and b is null, but toLatLngBounds is from a library node_modules folder, of course, a instanceof LatLngBounds returns false, its going to return new LatLngBounds(a, b); line, and returns a LatLngBounds empty.
I was finally able to fix the error, setting the leaflet load on config-overrides.js
addWebpackAlias({
    ....,
    'leaflet': path.resolve('node_modules/leaflet')
})

@elesdoar can you describe your solution in more detail? I'm using plain leaflet without react. How can i setup this override in a simple TypeScript with Webpack Application?
My Problem in more detail:
Leaflet Markercluster TypeError: Cannot read properties of undefined (reading 'lat')

@elesdoar : thanks, you save my day :tada:


add cidr "by" handler which uses range by handler for inet:ipv4 types

getTufosBy('cidr','<IP_ADDRESS>/24')

done!


Getting incorrect ambiguity errors in project

Environment data
dotnet --info output:
.NET Core SDK (reflecting any global.json):
Version:   2.1.403
Commit:    04e15494b6
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.15063
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.403\
Host (useful for support):
Version: 2.1.5
Commit:  290303f510
.NET Core SDKs installed:
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.103 [C:\Program Files\dotnet\sdk]
2.1.201 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.400 [C:\Program Files\dotnet\sdk]
2.1.403 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
VS Code version:  1.29.1
C# Extension version:  1.17.1
Steps to reproduce

I've been working on a C# project for a while - up until a couple weeks ago, I haven't had any issues.  However, in the last 2 weeks, each time I add a new file I keep getting ambiguity errors during the real-time compiling of the project.  The errors go away as soon as I debug the project and the compiler re-compiles the project.  As shown in the attached screen shot, it seems to think that there are two different folders with the same files in it - the only difference is the case of the folders (one is in all caps where the other one is not).  I circled what I'm referring to in the screen shot.  Is there a setting somewhere to tell it to ignore case of the folder?  I thought this was the default on Windows OS.

Expected  behavior
No errors
Actual behavior
Getting Ambiguity Errors

Just to clarify - there is only one folder and the MessageType.cs file is only there once...see attached screen shots...

@motor75 Is it possible to share a sample folder that would help us analyze the issue ?

@akshita31 - I have attached a zip file with any sensitive connection strings in the JSON files removed (just the values, not the keys).
Also - as seems to be the case when OmniSharp stops compiling altogether as I noted in my other issue, I closed VS Code and reopened it and everything is fine.  I was thinking of uninstalling and reinstalling Omnisharp - but I don't want to adjust my environment if these are true issues that need to be fixed.
cdmrest.zip

@motor75 I opened your project and tried to add a file as well but everything seems to work fine for me.

I faced a similar issue in vscode when once I renamed a folder and changed the case, somehow it was thinking I still have the old folder as well as the new one. Not sure though if that might be the case here. Maybe something messing with git ?
Does this problem happen if you do a new dotnet console project.

I don't specifically recall renaming the file above "MessageType.cs" - but after I did get all the ambiguity errors, I did rename the directory from "CDMRest" to "cdmrest".  That seemed to have no effect on the errors.  I'll see if I can recreate the issue by renaming a file and report back.

@motor75 I believe this was fixed with https://github.com/OmniSharp/omnisharp-roslyn/pull/1357. Can you try setting the option omnisharp.path to latest to and see if that helps?

Here is how i got the problem
I cloned a project. Then it had few errors so i had to clone again. Thats the problem i used the same name and saved in the same location as the previous one.
Here is how I fixed it
Step 1: Open vs code and remove all the Recent open projects.
Step 2: I removed all the repos from my device that had the same location. In my case was the folder. I deleted the folder
Step 3: Create a new folder and clone again.

Any updates on this issue?
I just added a "@inject" at my document and now I can't get rid of this annoying message (project compiles just fine, btw)

Is there any update on this I'm having the same issue with Chillicream's Strawberry Shake code generation in VS Code. Visual Studio 2022 doesn't show the errors, only VS Code.

A lot has changed with project loading and source generation since this issue as opened. If you are still running into problems, please open a new issue.


Proguard rules Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'

Hello,
first thank you for the new Venpath Android-SDK! I tried to build my app in release mode (I have Proguard enabled) and after including the new library <IP_ADDRESS>, the build failed on this error
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'android.content.Context access$000(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced class com.navisens.motiondnaapi.MotionDnaApplication
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced class com.navisens.motiondnaapi.MotionDnaApplication
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'com.navisens.motiondnaapi.MotionDnaApplication access$100(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced class com.navisens.motiondnaapi.MotionDnaApplication
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'com.navisens.motiondnaapi.MotionDnaApplication access$102(com.venpath.sdk.VenPath,com.navisens.motiondnaapi.MotionDnaApplication)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'void runDna(java.lang.String)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'void scheduleAlarm(int)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'boolean access$200(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'void access$300(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$1$1: can't find referenced method 'boolean access$202(com.venpath.sdk.VenPath,boolean)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$10: can't find referenced class com.navisens.motiondnaapi.MotionDna$ErrorCode
Warning: com.venpath.sdk.VenPath$8$1: can't find referenced method 'android.content.Context access$000(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$9: can't find referenced method 'java.util.Map access$700(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$9: can't find referenced method 'com.venpath.sdk.VenPath$Callback access$1200(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$9: can't find referenced method 'void access$1300(com.venpath.sdk.VenPath,com.venpath.sdk.VenPath$Callback,com.venpath.sdk.generic.VenpathGeneric)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.VenPath$9: can't find referenced method 'android.content.Context access$000(com.venpath.sdk.VenPath)' in program class com.venpath.sdk.VenPath
Warning: com.venpath.sdk.service.AlarmReceiver: can't find referenced method 'void trackPath()' in program class com.venpath.sdk.VenPath

Do you plan include some Proguard rules to the library? Debug build works fine (disabled Proguard).
My temporary solution in proguard-rules.po:
# VenPath
-keep class com.venpath.sdk.** { *; }
-dontwarn com.venpath.sdk.**

Thank you.

Good find! We're on it.

Closed in 1.8.03


npm run build (bug)

npm run build

<EMAIL_ADDRESS>build E:\wamp64\www\reactpro
react-scripts build

Creating an optimized production build...
Failed to compile.
Module build failed: BrowserslistError: Unknown version 56 of and_chr
at error (E:\wamp64\www\reactpro\node_modules\browserslist\index.js:25:15)
at Function.select (E:\wamp64\www\reactpro\node_modules\browserslist\index.js:458:21)
at E:\wamp64\www\reactpro\node_modules\browserslist\index.js:111:38
at Array.forEach (native)
at browserslist (E:\wamp64\www\reactpro\node_modules\browserslist\index.js:97:16)
at isSupported (E:\wamp64\www\reactpro\node_modules\caniuse-api\dist\index.js:66:37)
at E:\wamp64\www\reactpro\node_modules\postcss-merge-rules\dist\lib\ensureCompatibility.js:87:66
at E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:170:26
at Selector.each (E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:153:22)
at Selector.walk (E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:169:21)
at E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:173:31
at Root.each (E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:153:22)
at Root.walk (E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\selectors\container.js:169:21)
at Processor.func (E:\wamp64\www\reactpro\node_modules\postcss-merge-rules\dist\lib\ensureCompatibility.js:80:17)
at Processor.process (E:\wamp64\www\reactpro\node_modules\postcss-selector-parser\dist\processor.js:34:14)
at E:\wamp64\www\reactpro\node_modules\postcss-merge-rules\dist\lib\ensureCompatibility.js:121:12
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\User\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "build"
npm ERR! node v7.2.0
npm ERR! npm  v4.0.2
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build: react-scripts build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script 'react-scripts build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the reactpro package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     react-scripts build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs reactpro
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls reactpro
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     E:\wamp64\www\reactpro\npm-debug.log

Is there browserslist entry in your project's package.json or any package.json in parent folders?

@gaearon  i dont think so, here is my package.json:
`{
"name": "reactpro",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-core": "^6.21.0",
"babel-loader": "^6.2.10",
"babel-preset-env": "^1.1.6",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"bootstrap": "^4.0.0-alpha.6",
"css-loader": "^0.26.1",
"jquery": "^3.1.1",
"react-scripts": "0.8.4",
"script-loader": "^0.7.0",
"style-loader": "^0.13.1",
"webpack": "^1.14.0"
},
"dependencies": {
"axios": "^0.15.3",
"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-router": "^3.0.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"eject": "react-scripts eject",
"test": "react-scripts test --env=jsdom"
}
}
`

Have you checked if E:\wamp64\www\package.json, E:\wamp64\package.json, or E:\package.json exist?

I’m also very confused by your package.json. Why do you have Babel or css-loader there? You don’t need to install any of these tools explicitly. In fact it can break Create React App.

@gaearon  yes checked, package.json doesnt exist in parent folders

@gaearon  only used babel for es6

Create React App already supports ES6 out of the box. Please delete Babel, css-loader, and Webpack from dependencies. They are not doing anything, and might break something.
Where did you read that you need to add any of them to a Create React App project? Did something not work, causing you to try that?

@gaearon No, everything is working fine on my localhost. btw I was following a udemy course. Ty for the response , I finally make  it  work.

I'm happy to look into this but I need a full project that consistently reproduces the problem. If you can isolate and share it on GitHub I can take a look.

Can you point me to the Udemy course too? If it's asking people to install Babel/Webpack on top of CRA project then it's a pretty big mistake in the course and we should get in touch with author to correct it.

@gaearon project is working fine now ,still this is the repo: https://github.com/yash2code/ReactWeatherES6


Share operator don't work correctly

Sorry if i disturb you guys. What i want to ask is whether the share operator works correctly.
I know that the document is still incomplete but based on what i read: "share operator makes the stream hot". Because if it doesn't, i should have another implementation of it. So what i expect is the following program don't log anything:
const source = of(1, 2, 3, 4).pipe(
  share()
)

source.subscribe(val => console.log(val))

I try to inspect into the source and i found these two lines:
https://github.com/ReactiveX/rxjs/blob/6.3.2/src/internal/operators/multicast.ts#L66-L67
So in order to make it correct, it may be re-ordered like this:
const proxySub = source.subscribe(subject)
const subscription = selector(subject).subscribe(subscriber);
subscription.add(proxySub);

Is it correct or am i missing something? Is there any reason behind this? 🤔
Sincerely

You're expectation is incorrect. The share operator reference counts subscriptions to the shared source. Some time ago, I wrote a blog article to explain the publish and share operators and their variant. You can find it here.

@cartant I'm not talking about publish and its variant because it use the same implementation of multicast. I purpose is not multicast or unicast by the way.
Can you explain clearly because in the example of Ben Lesh. Two method makeHotRefCounted and share have the same meaning but got two different outputs ?!?!?!

For more clearly i will show you my JSBin version: http://jsbin.com/voruhow/22/edit?html,js,console,output
And it works exactly what i expected!

The real reason i post this thread is because i want to clean up the history of an observable. And i remember the article of Ben Lesh about the Hot and the Cold. First i think it about side effects and sharing state between stream (multicast or unicast). But when i apply to my case it turn out the technique of adding a Subject proxy between a RelaySubject and your subscription is to forget it previous history of actions. It turns out the technique of making a cold stream to be hot is for optimization.  But in the above example. of(1, 2, 3) is a cold stream it values have been emitted. So it should be forget. When we add delay(1000) the value is add at the duration 1s after we turn it to hot. So its value is emitted.
The controversal here is what is origin coordinates of the timeline when turning a cold stream into a hot stream. If the 0s milestone is from the time you turn it to hot. So all the values should be forget each time you subscribe to that stream, the multicast really take into its meaning, previous values haven't been subscribed will be forgetted. If the 0s milestone is from the time you subscribe, it means that you totally mirror the cold stream. So we can not called it hot, because such a mirror need ReplaySubject, we gain no benefit from this. Consider my comment below your article too!
https://medium.com/@clitetailor/whether-or-not-an-observable-is-capable-of-multicasting-depends-upon-whether-that-observable-is-1a37a26506fe

For example, if you use ReplaySubject the result will actually what you think about, not the current implementation of multicast:
http://jsbin.com/qilaza/2/edit?html,js,console,output
multicast(() => new ReplaySubject())

StackOverflow is the preferred forum for these sorts of questions. You are likely to receive more timely help if you post general RxJS questions there.


What is the best way to reset the value of the text area bound to code mirror

Hi I am trying to reset the value of the text area (bound to a code mirror instance) and for some reason it does not work .
What is the best way or standard practice to reset the value of the editor or the underlying text area to blank as what I figured out that setting it to '' (empty string does not work) but setting to a blank space ' ' sets the value but then again it's more of a hack. It would be nice come to know the standard way to this.
As of now, we have ko observables bound to the text area.

Use the setValue method on your CodeMirror instance. Also, this is not a bug report, and thus does not belong in the bug tracker. Use http://discuss.codemirror.net for such questions.


CO-2183_CoExpirationPolicy_Model_does_not_implement_Changelog_behavior

CoExpirationPolicy model should implement changelog behavior

In schema.xml by convention the changelog foreign key (co_expiration_policy_id) should be defined after modified, with the other changelog metadata. Also, the actor_identifier field appears to be missing.


Unable to commit from VSCode UI with MiniConda and Pre-Commit

Type: Bug
Manually running pre-commit from the python or powershell terminal is working, both on the base and the projects custom conda environment (environment have pre-commit, pytest, mypy,... installed). However a commit from VSCodes UI is not possible, if VSCode was started normally.
It only works, if VSCode is started using the Anaconda Prompt!
Seems like a different python interpreter is used during the pre-commit checks otherwise. Weirdly enough project code runs normally with the correct conda environment being enabled before runs.

This is a duplicate of https://github.com/microsoft/vscode-python/issues/10165 .

 Some of them require Python to run and if you don't have that set up appropriately before you run your hooks, they can fail.
And in this specific case, conda environments must be activated to work appropriately or run via conda run. Since the Python extension doesn't participate in git hooks, git just runs python which can easily fail in this situation as python may not point at the right binary or have the environment set up as required (in the case of conda).


How to gracefully exit SyncTrayzor through command line?

This isn't a bug or feature request, sorry if this isn't the right place to ask this question. I tried to find a SyntTrayzor user forum or someplace where it would make more sense to post about this but couldn't find anything. Is there a better place to ask this?
Does anyone know if it is possible to gracefully exit SyncTrayzor through command line on Windows 10?
I have a batch script that closes a lot of background programs that I usually have running and I'd like to add SyncTrayzor to it.
I tried taskkill /im synctrayzor.exe and I get this response:
SUCCESS: Sent termination signal to the process "SyncTrayzor.exe" with PID 8784.
but synctrayzor doesn't actually exit.
I know I can add /f to force close synctrayzor, but if I do that then synctrayzor will exit but syncthing will still be running of course.  And I don't want to /f syncthing because I don't want to risk corrupting syncthing's database.
I want to close syntrayzor to properly shutdown as if I right clicked on the icon and selected "exit," which will also properly shutdown syncthing.
Thanks!

In the next version, you'll be able to run SyncTrayzor.exe --shutdown. I'll try and get that version out soon.


Address list

PR Type

[x] Bug fix
[ ] Feature
[ ] Code style update (whitespace, formatting, missing semicolons, etc.)
[x] Refactor (i.e., no functional changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation changes
[ ] Other (please describe below):

Description
Several updates and fixes included in this PR:

Uses new SlicesTable for displaying Addresses List
Fixes bug in Receive view where the address wouldn't update after deposit was received
Refactor WalletDeposit to use selectors for keeping track of "depositable" addresses and updating when deposit is received
Updates to the Slices Table to support additional functionality in the address list view, namely: sorting, filtering, different display of spent addresses, and a container that connects the table to the redux store.
Code update for using "slice" in favor of "node" in more places.

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Does this PR fixes open issues?

[ ] Yes
[x] No

Demo of some of the updates:

Latest wallet-dev merged in with copy snack bar display.

What do you think about left justifying the slice tabs? I find that it makes the page jump around less:

I think I'm still partial to center only because one challenge I was having in the address list view was ensuring that the detail panel was visually distinct from the rows of the table themselves. In the center, with space on either side, feels like it's adding some visual separation. It's not a huge difference but to me it does make it clear that it's definitely not a row.


chore: update gpu image

we can still release this crate under v1.1.0, lmk if you want it before or after this change


ddclient does not work with Gandi.net

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[X] I have searched the existing issues, open and closed, and I'm convinced that mine is new. (Existing issue didn't use template, #3072 )
[X] The title contains the plugin to which this issue belongs

Describe the bug
Configuring ddclient for the first time with a new domain using Gandi.net for dynamic dns and the logs show that gandi is not a valid protocol in the ddclient config and falls back to dyndns.org.
To Reproduce
Steps to reproduce the behavior:

Go to Services > Dynamic DNS > Settings
Add a new account, select Gandi.net as service, check ip method interface, monitor WAN, set hostname foo.bar.net, then save and apply. The username/password is irrelevant given ddclient is trying to use the wrong provider.

Expected behavior
DNS record updated in Gandi.net
Relevant log files
2022-09-29T16:38:49	Notice	ddclient[2350]	 13803 - [meta sequenceId="25"] FAILED:   updating foo.bar.net: badauth: Bad authorization (username or password)
2022-09-29T16:38:49	Notice	ddclient[2350]	 13348 - [meta sequenceId="24"] RECEIVE:  badauth
2022-09-29T16:38:49	Notice	ddclient[2350]	 12773 - [meta sequenceId="23"] RECEIVE:
2022-09-29T16:38:49	Notice	ddclient[2350]	 12460 - [meta sequenceId="22"] RECEIVE:  Connection: close
2022-09-29T16:38:49	Notice	ddclient[2350]	 11944 - [meta sequenceId="21"] RECEIVE:  X-User-Status: vip
2022-09-29T16:38:49	Notice	ddclient[2350]	 11404 - [meta sequenceId="20"] RECEIVE:  Accept-Ranges: none
2022-09-29T16:38:49	Notice	ddclient[2350]	 11039 - [meta sequenceId="19"] RECEIVE:  Content-Type: text/plain
2022-09-29T16:38:49	Notice	ddclient[2350]	 10367 - [meta sequenceId="18"] RECEIVE:  Vary: Accept-Encoding
2022-09-29T16:38:49	Notice	ddclient[2350]	 9484 - [meta sequenceId="17"] RECEIVE:  Strict-Transport-Security: max-age=31536000
2022-09-29T16:38:49	Notice	ddclient[2350]	 9012 - [meta sequenceId="16"] RECEIVE:  Server: Apache/2.4.18 (Ubuntu)
2022-09-29T16:38:49	Notice	ddclient[2350]	 8451 - [meta sequenceId="15"] RECEIVE:  Date: Thu, 29 Sep 2022 16:38:49 GMT
2022-09-29T16:38:49	Notice	ddclient[2350]	 7838 - [meta sequenceId="14"] RECEIVE:  HTTP/1.1 200 OK
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="13"] SENDING:
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="12"] SENDING:
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="11"] SENDING:   Connection: close
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="10"] SENDING:   User-Agent: ddclient/3.9.1
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="9"] SENDING:   Authorization: Basic <redacted>
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="8"] SENDING:   Host: members.dyndns.org
2022-09-29T16:38:49	Notice	ddclient[2350]	 6995 - [meta sequenceId="7"] SENDING:  GET /nic/update?system=dyndns&hostname=foo.bar.net&myip=xx.xx.xx.xxx HTTP/1.0
2022-09-29T16:38:49	Notice	ddclient[2350]	 6241 - [meta sequenceId="6"] CONNECTED:  using SSL
2022-09-29T16:38:49	Notice	ddclient[2350]	 5409 - [meta sequenceId="5"] CONNECT:  members.dyndns.org
2022-09-29T16:38:49	Notice	ddclient[2350]	 4604 - [meta sequenceId="4"] UPDATE:   updating foo.bar.net
2022-09-29T16:38:49	Notice	ddclient[2350]	 3999 - [meta sequenceId="3"] INFO:     setting IP address to xx.xx.xx.xxx for foo.bar.net
2022-09-29T16:38:49	Notice	ddclient[2350]	 3546 - [meta sequenceId="2"] WARNING:  file /usr/local/etc/ddclient.conf, line 12: Invalid Value for keyword 'zone' = ''
2022-09-29T16:38:49	Notice	ddclient[2350]	 2798 - [meta sequenceId="1"] WARNING:  file /usr/local/etc/ddclient.conf, line 8: Invalid Value for keyword 'protocol' = 'gandi'

Environment
Opnsense 22.7.4

same here

I just ran into this issue as well.
The version of ddclient included with opnsense doesn't support Gandi at all (https://github.com/opnsense/ports/blob/master/dns/ddclient/Makefile), version 3.9.1 is what opnsense is using right now.  So including Gandi support in this plugin doesn't make any sense at all. Version 3.9.1 is almost 3 years old.
A commit was made back to update to the newest release candidate, but it was reversed: https://github.com/opnsense/ports/commit/063479f94c97bb21d09233c7a54159d0bfaeebba
This PR is what added Gandi support, but in addition to not being supported by the ddclient version currently being used by opnsense, this PR doesn't update the dialog form to give users the text field for entering a zone, which is a required configuration variable for Gandi (again, in the version of ddclient that isn't being used by opnsense).
https://github.com/opnsense/plugins/pull/2797 This PR at least includes code for back-porting Gandi support into an older version of ddclient, but again, not part of https://github.com/opnsense/ports/

Same here. Need the Gandi. Please get this thing going asap. Devs chose to replace the running plugin with this. Now apparently, they chose an outdated version, that makes it harder to keep up.
Extremely frustrating to read:
johnnyslee commented on 063479f on Jul 11
@fichtner Reverted, built, and installed. IP updates successfully for both HE.net TunnelBroker and Gandi.net (These two are all I'm actually using)
Exactly that is what i need as well. HE.net and Gandi.net. Works perfectly in the old plugin.
Get it done, please.

@tspr final warning

Looks like this has hit opnsense stable (tested opnsense 23.1_6).  Just install os-ddclient (It should be version 1.11_1 or later).  Fill in values such as the following:
Service: gandi.net
Username: (leave blank)
Password: Your api key
Zone: Your domain name you own with Gandi - e.g. example.com
Hostname(s) The Fully Qualified Domain Names you wish to update. - e.g. router.example.com
I think this issue could be closed.
@tspr By the way, you can set up ddclient or whatever tooling you like on non-opnsense appliances or devices... devs aren't preventing you from doing this.

@winny- Thanks for posting the how-to :)

Hostname(s) The Fully Qualified Domain Names you wish to update. - e.g. router.example.com

As a side note to this, if you want to update the base domain you will have to enter @.example.com.
Just entering example.com will instead create a subdomain like example.com.example.com.
Also, TTL is set to 3h by default which is way too high for dynamic DNS but can be set to 5 minutes in the config file at /usr/local/etc/ddclient.conf by adding ttl=300 on the corresponding entry.
Other than that everything seems to work perfectly fine.

settings->backend : ddclient ?

Why is this not the default? What a headache. I wasted a solid half-hour on this alone. 😕

long story I'm afraid (project was sunsetting, then it wasn't (sort of), in the meantime we build a python implementation https://docs.opnsense.org/manual/dynamic_dns.html#general-settings) , we prefer the native backend, but supported options differ.


502 on https://schema.ocsf.io

I am not sure whether this is the correct place, but I can't access the website any longer and am greeted by nginx's 502 error page.

Server available as of 04/15/2024 15:30:00 UTC.


Calling a degenerative ->with()

Hello,
I have a test that checks that a method has been called with some specific arguments. Each argument must be passed only once.
Here's the failling test case:
public function testBug() {
	$expectedZipNames = ['name1', 'name2', 'name3'];

	$zip = \Mockery::mock('zip', function($mock) use (&$expectedZipNames) {
		$mock->shouldReceive('getFromName')
			->times(2)
			->with(\Mockery::on(function($argument) use (&$expectedZipNames)  {
				// check if the argument is in the valid list, and remove it to not be able to validate it again.
				if (($key = array_search($argument, $expectedZipNames)) !== false) {
					array_splice($expectedZipNames, $key, 1);
					return true;
				}
				return false;
			}))
			->andReturn(false);
	});

	$zip->getFromName('name1');
	$zip->getFromName('name2');
	// The error show should be
	// Mockery\Exception\InvalidCountException:
	// 		Method getFromName(object(Mockery\Matcher\Closure)) from Mockery_0__zip
	// 		should be called exactly 2 times but called 3 times.
	// but I get
	// Mockery\Exception\NoMatchingExpectationException:
	// 		No matching handler found for Mockery_0__zip::getFromName("name3").
	// 		Either the method was unexpected or its arguments matched no expected argument list for this method
	$zip->getFromName('name3');

	$this->assertCount(0, $expectedZipNames);
}

I think that it can be fixed by changing ExpectationDirector@_findExpectationIn
https://github.com/padraic/mockery/blob/master/library/Mockery/ExpectationDirector.php#L173
if ($exp->matchArgs($args) && $exp->isEligible()) {
to
if ($exp->isEligible() && $exp->matchArgs($args)) {
but I do not know all the underlying implications.
Thanks.

I'm not sure either! I can't think of anything off the top of my head, perhaps try changing it and running mockery's test suite?

@vizath I've no idea off hand. Switch the order of the statements, and run the unit tests. If they all pass, and it resolves your problem, you can open a PR and we'll take it into consideration as a fix for this particular scenario.


Allow login with decentralized identifier

User story
As user, I can login with my own identity so that I don't have to use passwords
Best solution for this problem
Support universal identity resolver like https://github.com/decentralized-identity/universal-resolver/
MVP
Support one identity provider (like blockstack)
Metrics
Usage
Documentation
Integration for the front end is described on docs.blockstack.org
Integration for the server is not clear to me, as I haven't found the location of the authentication flow
This tries to improve the authentication like #1738 and #1746

User story
As user, I can login with my own identity so that I don't have to use passwords
Best solution for this problem
Support universal identity resolver like https://github.com/decentralized-identity/universal-resolver/
MVP
Support one identity provider (like blockstack)
Metrics
Usage
Documentation
Integration for the front end is described on docs.blockstack.org
Integration for the server is not clear to me, as I haven't found the location of the authentication flow
This tries to improve the authentication like #1738 and #1746

I think the idea of using blockstack is great. I wonder if they might be able to put a bounty on it.

Design suggestion for "Create Profile"

Design suggestion for "Sign In"

I'm asking Patrick Stanley @ blockstack if they are interested in placing a bounty for it.  We can't this on right now ourselves and we don't have the expertise.
https://twitter.com/PatrickWStanley/status/1130973861162496000
Feel free to jump on the thread to encourage.

There is a bounty of $500 if done by 4th June (https://community.blockstack.org/evil/)

For the backend, I suggest that the signin request returns an encrypted signin link if a public key was provided:
const user = { email: userData.email, publicKey:getPublicKeyFromPrivate(userData.appPrivateKey) }
signin(user).then(response => {
            navigateTo(decrypt(response.encryptedLink, userData.appPrivateKey))
          });

In https://github.com/opencollective/opencollective-api/pull/2034 the suggested addition of publicKey has been implemented.
Both PRs together gives you a flow where users can login with their Blockstack ID.


Deleting whole line of closing tag leaves open tag in an incorrect state

VS 17.10.0 P3
Place caret on closing tag name and press Shift+Del:
https://github.com/dotnet/razor/assets/9047283/8430fd1f-792b-4545-a797-5e8e62098eda
Repro:
<div>
</div>

It doesn't happen if I manually select the whole line and delete it.
It doesn't happen in a pure HTML editor, only in Razor.

@Peter-Juhasz , can you log a VS Feedback ticket, potentially attaching the video you have already recorded, so we can most easily get it to the correct team?

 I'll log an issue, don't sweat it.

Logged https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2030987 internally

Internally, a PR has been opened to fix this issue at the VS level.

PR has been merged. I expect the fix will be in the first preview of the next minor release.


[fix] fix the problem that the relative path and absolute path of the same file are not equal

Fix the problem that the relative path and absolute path of the same file are not equal
Update sdk version to 0.1.1

邮件已收到，谢谢啦~


HDDS-5193. change to use getShortUserName instead of getUsername

HDDS-5193. change to use getShortUserName instead of getUsername
What changes were proposed in this pull request?
IMHO, in kerberized cluster identity<EMAIL_ADDRESS>and pakapoj_tul are equal so I propose to use getShortUsername() instead of getShortUsername() from UGI interface when assign and/or compare any ACLs. To leverage auth_to_local property to translate any identity from auth:KERBEROS to plain username which should be consistent with identity from auth:TOKEN
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5193
Please replace this section with the link to the Apache JIRA)
How was this patch tested?
I manually tested on my ozone cluster, bare metal deployment. there are following tests
ozone sh vol create /vol1
ozone sh bucket create /vol1/bucket1
ozone fs -put sample_seq_data.snappy.orc /vol1/bucket1
ozone sh vol addacl --acl=user:pakapoj_tul:a /vol1
ozone sh bucket addacl --acl=user:pakapoj_tul:a /vol1/bucket1
ozone sh key addacl --acl=user:pakapoj_tul:a /vol1/bucket1/sample_seq_data.snappy.orc
ozone sh token get -t ozone.token
ozone s3 getsecret --om-service-id=dev-ozone
aws configure
aws s3 ls --endpoint http://mtg8-devozonem-01.dev.tap:9878 s3://common-bucket
aws s3api --endpoint http://mtg8-devozonem-01.dev.tap:9878 create-bucket --bucket buckettest
aws s3api --endpoint http://mtg8-devozonem-01.dev.tap:9878 delete-bucket --bucket buckettest
aws s3 cp --endpoint http://mtg8-devozonem-01.dev.tap:9878 README.md s3://common-bucket
aws s3 rm --endpoint http://mtg8-devozonem-01.dev.tap:9878 s3://common-bucket/README.md

also test by running spark application in cluster mode
val data = spark.read.format("orc").load(src)
data.write.format("orc").save(des)

given
src = "ofs://dev-ozone/vol1/bucket1/sample_seq_data.snappy.orc"
des = "ofs://dev-ozone/vol1/bucket1/mykey"

hey @pakapoj-tul ~ would you mind rebasing this PR with the latest master branch? Some links referenced from your comments seemed to mismatch with the current master branch codes~ (Tried to follow up with your above comments & found that) Thanks!

As the user name related part of this PR is already included in #2466 and we have recent progress on that one, and also because the rest of the patch should not be pulled in (see below) I would suggest to close this PR for now.
@pakapoj-tul @kerneltime what do you think?
On the ACL inheritance:
The Posix draft withdrawn but applied by many nix systems do specify that only the default ACLs are inherited from a parent directory. If we start to inherit ACCESS ACLs as well, that is pretty much against this standard, and with that it seems pretty much unexpected by any kind of user, especially as HDFS earlier, and all linux systems inherit just the default ACLs from the parent.
With that I think we should not inherit the ACCESS ACLs.
References:
Usenix: https://www.usenix.org/legacy/publications/library/proceedings/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher_html/main.html
Solaris: https://docs.oracle.com/cd/E36784_01/html/E36883/acl-5.html
SLES: https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-security-acls.html
FreeBSD: https://man.freebsd.org/cgi/man.cgi?query=setfacl&sektion=1&apropos=0&manpath=FreeBSD+13.1-RELEASE+and+Ports


Support setting IP address on wep for k8s backend

By supporting an Apply action, the CNI plugin now triggers an update to Felix much sooner than would have before, meaning policy is programmed sooner and time to first connectivity is significantly shorter.

lgtm


Query parameter authentication

This PR adds support for authenticating requests with a token in the url:
https://example.com/sql-explorer/query/1/?token=hello-world

The token is EXPLORER_TOKEN, the same as currently used with header based authentication. Query parameter authentication is useful in the cases where clients do not provide access to custom headers.

Looks great, thanks!


Apply scroll area to hover content, not status bar

Fixes #97016

Really tall case works fine too:


Page needs clarification on 'only accessible via API management process'

It is unclear what 'only accessible via API management process' means. Please clarify.

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

ID: 0d141300-f812-2678-6dbd-3095b18ba06b
Version Independent ID: ec62e5b2-64a8-6d99-7df2-987dc78b2707
Content: SitePatchResource.HostNamesDisabled Property (Azure.ResourceManager.AppService.Models) - Azure for .NET Developers
Content Source: xml/Azure.ResourceManager.AppService.Models/SitePatchResource.xml
Service: azure
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Thank you for your feedback.  Tagging and routing to the team member best able to assist.