NIFI-7229 - Upgrade jackson-databind direct dependencies

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[x] Have you verified that the full build is successful on both JDK 8 and JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

LGTM 👍
Sidenote: the following modules directly refer the jackson-databind library with explicit version instead of using the jackson-databind.version variable:

nifi-elasticsearch-client-service-api (2.9.8)
nifi-graph-processor (2.9.9)
nifi-easyrules-service (2.9.10)

I don't know if these are intentional or need to be updated as well.

Thanks @adenes for the feedback, I updated the PR to reference the property instead of hard-coded versions in the modules you listed.

I actually reverted the change for the bundles you mentioned as I'm not sure about the impact it could have. I filed a specific JIRA for this:
https://issues.apache.org/jira/browse/NIFI-7253

Also reviewing...

There appears to be a number of transitive dependencies on jackson-databind.

work/nar/extensions/nifi-jolt-record-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.9.4.jar
work/nar/extensions/nifi-hadoop-libraries-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.9.8.jar
work/nar/extensions/nifi-elasticsearch-client-service-api-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.9.8.jar
work/nar/extensions/nifi-datadog-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.4.2.jar
work/nar/extensions/nifi-proxy-configuration-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.9.4.jar
work/nar/extensions/nifi-enrich-nar-1.12.0-SNAPSHOT.nar-unpacked/NAR-INF/bundled-dependencies/jackson-databind-2.9.5.jar

I went through each and while some offer a newer version of our dependency in question, only the enrich-nar could offer a newer version of jackson-databind. I will create a follow on JIRA to address this instance.

JIRA created: https://issues.apache.org/jira/browse/NIFI-7254

Thanks @pvillard31 and @adenes! This has been merged to master.


\usepackage{enumitem} crashes

I'd really like to use the enumitem package, for both spacing and custom bullets in enumerations. Sadly, I get an infinite recursion error (I believe):
TeX capacity exceeded, sorry ...

Any idea where this clash would happen? It's not gemini I don't think, like you said it's a short style file, so it might be a beamerposter thing?

I think this is a beamer issue, not a gemini issue in particular (I get the same issue after removing the gemini-specific stuff).
From a quick google search, it seems like it takes some effort to get beamer and enumitem to work together nicely (e.g. see this).

I... really should have been able to find that SE question on my own. Thanks @anishathalye, let's not mar your pristine issue section any longer.

Haha no worries :)
Hope you fix the issue, and let me know if you have any feedback about Gemini!

On Mar 23, 2019, at 5:03 PM, Ruben Vereecken<EMAIL_ADDRESS>wrote:
I... really should have been able to find that SE question on my own. Thanks @anishathalye, let's not mar your pristine issue section any longer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Sure, off-topic but I love what you've created here. It's between 100 and 200 lines so it's simple, and still so elegant looking. I had to change some things to get them more to my liking but that's also exactly the point and it was easy to do so.
I ended up using Gemini after over an hour of looking around, trying to decide between beamerposter and tikzposter etc. As a compliment to yourself: the first three people who saw my final version immediately asked how I'd made it. It was based off the MIT colorscheme.
You write good stuff. Works out of the box, screenshots in the readme, examples included, extensible. I'm adding this because I've been using dotbot for two years and have even shared a plugin for it I think at some point.


equal matcher should handle \n

This fails:
describe "equal"
  it 'handles \n character'
    string_with_new_line="x\ny"
    output='x
y'
    assert equal "$string_with_new_line" "$output"
end_describe

According to the opengroup (POSIX) definition, the string "x\ny" should be four characters long, and not contain a newline character.  This assertion should fail.


Application at startup

Suggested new feature or improvement
Make your application open automatically at startup of pc.
Scenario
So, in this feature, application will be opened with dashboard section, so I can access all my dev application (or even folders) in one window. For example, I'm too lazy to open application by myself, so at startup dev home will open it for me (for example it will open VS Studio and CMD).
Also it would be better if you give us access to pin those widgets to home screen (Desktop).
Additional details
No response

@mathewleeza Could you assign this issue to me? I will work on it.

/dup https://github.com/microsoft/devhome/issues/624


Patch request: overwrite notes/annotations API endpoint

Over at https://github.com/janeczku/calibre-web/issues/2155 we are trying to figure out how to redirect the syncing of notes and annotations to a different URL, to replace the remote sync server.
As you can see on the issue this particular endpoint cannot be configured so I though that maybe the only solution would be to use a new patch for it ? Are you by any chance familiar with this built-in feature ? Do you know if this would be a viable option ?
Apologize if this is not the right place, I saw on MR that we could also open requests here.
Thanks in advance for any help

I've already been playing around with the annotations API (back in August), but I don't remember the details about the endpoints. I'll take another look when I have time.

Really interested in this and want to help make this happen, but will need a holding hand. I'm not familiar with reverse-engineering but am familiar with the rest of the development process (For Linux, not Kobo).
I suppose I need to find the function, and specific location in that function that defines the URL Endpoint (https://readingservices.kobo.com/, you mentioned it in your notes, and then I can define a patch in the src file that overwrites or replaces this data.
I don't know what to do in order to find this location though.

Really interested in this and want to help make this happen, but will need a holding hand. I'm not familiar with reverse-engineering but am familiar with the rest of the development process (For Linux, not Kobo).
I suppose I need to find the function, and specific location in that function that defines the URL Endpoint (https://readingservices.kobo.com/, you mentioned it in your notes), and then I can define a patch in the src file that overwrites or replaces this data.
I don't know what to do in order to find this location though.

I did some reverse engineering on this:
The reading_services_host is sent through the regular store API as part of the initialization command. Maybe it's empty for you because you're syncing through calibre-web? The good news is that this means it doesn't require any firmware patches to swap the endpoint.


Created walkthrough notebook

The goal in this example notebook is to provide a simple demonstration of getting a useful leaderboard on AutoArena. The notebook explains the core principles of AutoArena's Elo leaderboard, and how it works.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.86%. Comparing base (96ea032) to head (20bb190).

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk      #88   +/-   ##
=======================================
  Coverage   96.86%   96.86%
=======================================
  Files          34       34
  Lines        1434     1434
=======================================
  Hits         1389     1389
  Misses         45       45

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

How are users intended to run this notebook?

How are users intended to run this notebook?

For people who are not familiar with environments/notebooks, I've added a link to a Google Colab equivalent. The caveat of using Colab (for now) would be needing to unzip a downloaded folder of models to upload into AutoArena.
I think writing requirements (i.e. pip install numpy pandas plotly tqdm) isn't useful for people who have their own preferences for running notebooks.


FZF_DEFAULT_COMMAND resets on shell startup

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
When using export FZF_DEFAULT_COMMAND, it resets on shell startup. For example, running export FZF_DEFAULT_COMMAND='ag -g ""' will work for the rest of the terminal session, but in the next terminal session, running echo $FZF_DEFAULT_COMMAND gives rg --files --hidden.

Closing as this is not an issue of fzf but a generic question on shell behavior.
You might want to ask the question on https://unix.stackexchange.com/

Hey so how are you using export? At the command line or In your .zshrc basically any environments variable you run on the cmd line is set per session and is only Available  to child processes (Command you run under your init file like a tree it connects downwards) when you restar it’s like generating a new tree if you want to keep the process it needs to be in your startup fia (for loca user your ~/.zshrc) it gets called at start up and then every process infer that will have the variable

I put it in my .zshrc, but I figured it out. There was another line that was changing FZF_DEFAULT_COMMAND, so I just removed that line, and it now works.

Excellent thanks for posting your solution too


SV-Add system starting status.

System status to show starting when start button selected. Important as updating events for a system when starting may take some time.

Added functionality but can lock system start/stop if times out. To review.


CardGame task always runing

Verification process stuck here ...
Is there a problem with docker communication？

I have encountered the same problem here, do we need to configure the environment?
Suggestions:

Introduces how to configure the environment in doc;
Raise timeout & exit when the environment is unavailable.

I had the same error. Tried with workers=16, which worked.

I had the same error. While workers=16, does not work. It seems that  it is hang on myAI.run(). Could someobe give a detail example of how the run cardGame?

I had the same error and I solved this by running on docker. You can use command in ./scripts/eval_utils.sh or create your own assignment by using create_assignmnet.py(https://github.com/THUDM/AgentBench/blob/main/docs/tutorial.md) to run the evaluation on docker.


[clcrunner] add pod ip to request header

What does this PR do?
Adds the CLC runner pod IP to the request header to avoid any confusion with the advanced dispatching logic and pod/node IPs.
Motivation
Related to https://github.com/DataDog/datadog-agent/pull/4386
Additional Notes

Tested it and it works as expected with DCA 1.4.0 🎉
In the DCA client unit tests we mock the token config and verify if it's in the headers, could you add a similar logic to make sure the clc runner ip is there as well?

definitely, thanks for testing it out @ahmed-mez !


Add cost per tx byte and use new cost constants

This is the last PR before we can enable new cost tables
Thie PR adds the following:

ability to charge based on TX size
cost calibration for Cast*
measurement functions which transform measured values into real cost times. This is because the measured values can contain parasitic instructions (usually Pop)

Next steps:

Cut over to using new cost table values. This requires coordinating with dependent services
Storage rebate/non-rebate improvements

Thanks! I have a few questions:

Why do we need u128 for the size?

Simply because it was the largest deterministic size. I'm flexible on this.

How to ensure that when a data structure is modified (e.g. fields are added), the calculated size also changes?

Good question: I will do something similar to what I did here for checking DBMaps except I'll check all struct members impl the deterministic size trait.

What does the transaction size-dependent fee represent in terms of computation cost? i.e. which part of our computation depends on the tx size. Is it mostly the signature verification?

Good question: we will have a max TX size, so this size dependent pricing serves as one way to bound TX sizes. It's also the fee for validators deserializing off of the network.

It seems that until we implement something better for the module verification cost, size-based linear cost is still going to be much better than a constant flat cost. What's your thought there?

I lean towards the argument for flat fee because we already charge for TX size (which includes the package being published), and object storage.
Plus the feedback from @sblackshear  and @tnowacki was to keep things flat.
But we can always model this as a linear equation with a base constant set to to 0, and we can tweak as we go. I think that's a good middle ground which also maintains backward compat.

Good question: we will have a max TX size, so this size dependent pricing serves as one way to bound TX sizes. It's also the fee for validators deserializing off of the network plus any other book-keeping.

How does size-dependent pricing serve as TX size bound? I assume we would simply compare the tx size to a constant for the size bound.

I lean towards the argument for flat fee because we already charge for TX size (which includes the package being published), and object storage. Plus the feedback from @sblackshear and @tnowacki was to keep things flat.

TX size must not include package verification cost because it's generic to all TX. Now, there are definitely benefits of keeping things flat: it's simple. But I find it conflicting that we choose to charge TX fee based on size (which is much more complex to implement), but not charge package verification based on size. What's the rational behind the feedback?

Good question: we will have a max TX size, so this size dependent pricing serves as one way to bound TX sizes. It's also the fee for validators deserializing off of the network plus any other book-keeping.

How does size-dependent pricing serve as TX size bound? I assume we would simply compare the tx size to a constant for the size bound.

Right. We can set the the gas_per_tx_byte such that gas_per_tx_byte * tx_size_bytes deters abuse. For example I could spam a validator (intentionally or not) with a ton of large bogus TXes which I may not be able to pay for, but the validator will have done book-keeping for. The idea is people will now think more about how to structure their TXes to minimize fluff.

I lean towards the argument for flat fee because we already charge for TX size (which includes the package being published), and object storage. Plus the feedback from @sblackshear and @tnowacki was to keep things flat.

TX size must not include package verification cost because it's generic to all TX. Now, there are definitely benefits of keeping things flat: it's simple. But I find it conflicting that we choose to charge TX fee based on size (which is much more complex to implement), but not charge package verification based on size. What's the rational behind the feedback?

I think the rationale was indeed simplicity over implementing something which was complex and potentially unfair due to verification nuances.

I lean towards the argument for flat fee because we already charge for TX size (which includes the package being published), and object storage. Plus the feedback from @sblackshear and @tnowacki was to keep things flat.

TX size must not include package verification cost because it's generic to all TX. Now, there are definitely benefits of keeping things flat: it's simple. But I find it conflicting that we choose to charge TX fee based on size (which is much more complex to implement), but not charge package verification based on size. What's the rational behind the feedback?

I think the rationale was indeed simplicity over implementing something which was complex and potentially unfair/misguided due to verification nuances.

I think it is quite difficult to come up with a cost for verification, though it is conceptually possible. I think the size maybe isn't the best estimator here because you can have very short programs that take a long time to verify quite easily.
I still think we should consider running verification in certificate generation with a time out to help alleviate this problem a bit (it would make me feel better with the flat fee. If we had X gas per ms as a baseline, then added the timeout as 500 ms, we could then do 500 * X as the flat fee.

Using time is tricky as validators are heterogenous and could have varying levels of load, which may cause more or less actual compute time.
For now I will model this as a size-dependent linear equation and we can adjust the offset and gradient as we go.

@lxfind @tnowacki
This PR has diverged a lot. I will make another one with the comments addressed and close this out.
However for the unanswered questions: they're tracked here

Calibration PR is here

Two items left:

Deterministic sizing: we will use @aschran solution
Calibration formulae: I will add this in subsequent PR


Allow using authenticator object for http

This PR implements the auth keyword argument (the default is auth=None) indownload() for http. It can take any authenticator objects accepted by requests as described here:
https://requests.readthedocs.io/en/latest/user/authentication/
At the moment, only a single authenticator can be specified. So when multiple URLs are used in download() the same authenticator will be applied for all.

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


Adding SameSite keyword

This is PR for #1556
Added same_site keyword to Response.set_cookie method.

@vytas7 this PR is still in the WIP stage.
Also, I have one more question - Should we handle here whether a value is equal to Lax or Strict? because my God tells me that, we need to do it, and raise an error if a value wasn't equal.

@RonRothman @vytas7 Sorry for extremely delay with that Pull request, I plan to fix the review comments in 2-3 days. After that it will be ready for code review.

Hm, I can't understand why I the PR failed, on my local machine everything were passed.

@mikeyusko Tests seem to fail on all Python environments because of quite mundane reasons.
Is it possible that you have some uncommitted fixture or tweak in your local checkout that helps in passing tests, or some local library on your system? Could you take a look?

@vytas7 Ok, I did an investigation, and unfortunately, we will able to add SameSite cookie since python3.8 and later.
The reason is - we're using a built-in http package, and the cookie was introduced in the python3.8 version.
Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from http import cookies
>>> cookies.Morsel._reserved
{'expires': 'expires', 'path': 'Path', 'comment': 'Comment', 'domain': 'Domain', 'max-age': 'Max-Age', 'secure': 'Secure', 'httponly': 'HttpOnly', 'version': 'Version'}

Python 3.8.0a1 (v3.8.0a1:e75eeb00b5, Feb  3 2019, 12:33:49)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from http import cookies
>>> cookies.Morsel._reserved
{'expires': 'expires', 'path': 'Path', 'comment': 'Comment', 'domain': 'Domain', 'max-age': 'Max-Age', 'secure': 'Secure', 'httponly': 'HttpOnly', 'version': 'Version', 'samesite': 'SameSite'}
>>>

Hi @mikeyusko ,
There is a new option coming for SameSite according to this article https://blog.chromium.org/2019/10/developers-get-ready-for-new.html
AFAIK your code will support it but the docstring needs to be corrected.

Hi @mikeyusko, just checking in to see where we you with this? I'd love to get it over the finish line soon if we can.

Hi @mikeyusko, just checking in to see where we you with this? I'd love to get it over the finish line soon if we can.

Hi @kgriffs I'm going to finish it by the end of the week.

Re the absence of Morsel.samesite in Python < 3.8.0... I guess we could ship our own Morsel class to enable our test client? Particularly considering PyPy is probably a couple of light-years apart from 3.8.0 compatibility...
If we don't provide any alternatives, any API user testing on pre-3.8.0 would run into the very same issue in their own unit tests.

@mikeyusko I've got some time to work on this. If you don't mind, I can add a couple patches to address remaining comments.


Unable to install discord.js using npm

I have tried the "npm install discord.js" after installing node.js the latest version.
But I recieve an error:
+--<EMAIL_ADDRESS>+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>`-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN enoent ENOENT: no such file or directory, open 'C:\Windows\System32\package.json'
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN System32 No description
npm WARN System32 No repository field.
npm WARN System32 No README data
npm WARN System32 No license field.
I have tried to get node-opus, I have no idea how to get oppusscript. I used npm install node-opus command then I recieve another error:
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "node-opus"
npm ERR! node v7.2.0
npm ERR! npm  v3.10.9
npm ERR! code SELF_SIGNED_CERT_IN_CHAIN
npm ERR! self signed certificate in certificate chain
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     https://github.com/npm/npm/issues
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Windows\System32\npm-debug.log
I have recieved the error shown on top when doing "npm install discord.js" but fixed after installing the latest version. But now its again not working, please help me!

That's not an error.  Don't worry about it unless you need voice.  Also, you seem to be trying to install discord.js in System32 which is inadvisable.  Make a directory for your project, npm init, and try again.
P.S. node-opus is harder to install on Windows than opusscript.


Update with newsletters

Besides updating manifest.json with links to the community newsletter and the soon-to-be leaders newsletter (after the respective PR is accepted), I've created a .prettierignore and ran Prettier. npm run build appears to build fine.

📝 Changed routes:

/[slug]

(view full size)

And 2 other routes:

/api/[key]
/api/auth/[...nextauth]

Commit 32592ddf4843e13607883ebd7d255b1f10c308cb (https://toolbox-lpzfun7nl.hackclub.dev).


[WIP] new bond page with nft

Description
Implement nft discount feature on MAI-CLAM(4, 4).
Tasks

[x] refactor redux actions
[x] refactor component structure
[x] add nft button section on bond dialog
[x] add nft select dialog
[x] fix double scroller issue
[ ] add nft display on bond list
[ ] fetch chain data

To be QA

[ ] bond process with NFT discount
[ ] NFT discount only show on MAI-CLAM(4, 4)
[ ] NFT discount calculation
[ ] no double scroller on bond dialog
[ ] Bond list display order
[ ] Redeem view in Bond dialog layout

01 / 07 d0c0q QA
style bug

[ ] bond hero area bg color does not show correct dark mode color
[ ] bond dialog does not show preview after selecting one nft discount
[ ] bond list layout does not fit UI

function bug

[ ] clicking bond on sidebar not shows the bond dialog


[test-only] apiTest. Delete group from the space

Tests for removing a group from a space

this needs also to go into the stable branch

yes, but now tests fail in stable-2.0. I'll do cherry-pick later


When i toggle Dynamic Lights my game crash

When i toggle Dynamic Lights my game crash.

http://prntscr.com/jeesu7 -- Doesnt crash for me // invalid issue


Have Inspector trim leading zeros in years when displaying date ranges

What's your idea for a cool feature that would help you use OHM better.
The inspector prints leading zeroes when showing date ranges. Ideally, this wouldn't happen.
e.g., instead of showing "0001 - 0531", it would show "1 - 531"
Note: there's probably a BCE / CE tagging ticket related to this, but that'll require more digging...

@danrademacher - how much of a pain is working with the inspector & upstream catchup? I'd like to add in a few minor updates to tidy that up & then figure out how to make it easier to add this info, either in JOSM or in iD templates.

The main thing with upstream catchup and the inspector is that if the HTML structure of the sidebar upstream changes, then that often breaks our inspector injection, but typically it's just a matter of reviewing the upstream HTML change and re-targeting the injection of the enhanced inspector elements. And the breakages will occur regardless of whether we modify the OHM inspector elements or not.


Added CoC link in the summit page

As discussed, I added the Code of Conduct link in the summit page.

I changed it to relative linking and merged :)


Avoid Instant and LocalDate GSON serialization errors (Java 17+)

Mailersend uses the default GSON serializer for serializing some classes when using then com.mailersend.sdk.emails.Email.serializeForSending method. The default GSON serializer uses reflection to serialize such classes; this is not compatible with a change made in the JDK for Java 17 (see JEP 403 or https://github.com/google/gson/blob/main/Troubleshooting.md#-inaccessibleobjectexception-module--does-not-opens--to-unnamed-module) regarding reflection, causing a com.google.gson.JsonIOException to be thrown when calling the com.mailersend.sdk.emails.Email.serializeForSending method.
For the Mailersend client, this problem usually happens when you pass an Object that contains fields of type java.time.LocalDate or java.time.Instant to the com.mailersend.sdk.emails.Email.addPersonalization method and then send the email using the com.mailersend.sdk.emails.Emails.send method.
GSON's suggested solution says:

Write custom Gson TypeAdapter implementations for the affected classes or change the type of your data. If this occurs for a field in one of your classes which you did not actually want to serialize or deserialize in the first place, you can exclude that field, see the user guide.

As the second option would imply changing the com.mailersend.sdk.emails.Email.addPersonalization method or restricting the classes that can be serialized, I have implemented the first solution by adding TypeAdapters for the java.time.LocalDate and java.time.Instant classes.

thanks for this pr, merging


Create dependabot.yml

This allows to get updates for GitHub actions automatically - it is basically an equivalent of CompatHelper. I have used this for my own packages, the Trixi.jl framework, and the SciML organization. After merging this, you could also enable other Dependabot actions in 'Settings -> Code security and analysis -> Dependabot alerts' and '... -> Dependabot security updates'.
See https://github.com/SciML/MuladdMacro.jl/pull/37

Bump

I'm not convinced the noise this will add to the repo is worth it, given the limited maintainer time we have.


use tilde range for inner untool dependencies

In order to make sure that the untool packages that are used in combination does not differ too much I propose to use (at least) tilde ranges. I think it would even be ok to use the exact version as long as we always publish all packages.
IMO what we should use here is the peer dependencies feature, but as that is a breaking change we have to wait for untool 2.0.

I cannot find the relevant PR, but this it the commit where this happened: https://github.com/untool/untool/commit/92551065bd51a2c19cb82843f1c76e031578eae6
From today's perspective, however, I completely agree with you, @jhiode.

I have checked/thought again and did not come up with a satisfactiry solution except for specifying exact dependency versions. Due to our (documented) semver interpretation, I would consider that the best approach.

Oh, I do not necessarily agree with the peerDependencies idea, though. Most packages directly require @untool/core, meaning that at least that needs to be a proper dependency, I think.
@jhiode, would you mind clarifying your reasoning?

I think exact versions would be okay, as long as we keep in mind that we should be careful when updating other dependencies (such as webpack or react).

Once concern I have with pinned version is the following scenario:

our internal hops packages use the external hops in version 11.5.0
untool gets updated to 1.5.
hops upgrades untool to 1.5
hops is released in version 11.5.1
our internal packages are not yet updated
consumers that use our internal and some external hops packages (like hops-typescript or hops-styled-components can now easily end up with multiple hops and untool versions wreaking havoc

@robin-drexler that could possibly be mitigated by re-exporting the optional external hops packages internally, could it not? I mean we could internally publish a package that essentially pins the versions of any optional external hops packages we might want to provide...
Consumers would then, for example, have to use the preset @xingternal/hoptional/typescript instead of hops-typescript. And yes, this very approach would imply they have to explicitly configure their presets...

hoptional
🤜 🤛

And yes, this very approach would imply they have to explicitly configure their presets...

If we instead published an internal package for each external one, we didn't have to force teams to do that, right?

Regarding peerDependencies: With nmp we have to live with the "nested packages" feature. To work around that we have peerDependencies. But we have two different kinds of dependencies even in untool. If the package only has some helper functions it is totally fine do define that as dependency. But packages that requires to be shared across multiple other packages we should define them as peer dependency to make that requirement clear instead of relying on the hoisting "optimisation".
So yes, some untool packages can be just dependencies but other should be defined as peer dependencies - but as that is a breaking change we can't do that right now.
So I think tilde range is still the best option we have if we also want to support a mix of internal and external packages.

@robin-drexler true, we can of course mirror the optional externals - it won't be too many, I guess.
@jhiode tilde ranges are unfortunately not supported by Lerna, so if we do not want to try and convince them to add support for them - or build our own tooling - we will probably be out of luck. It will be exact or caret for now, I am afraid...
Maybe we can at least warn in case of duplicates - using bash, we could add something like this as the postinstall hook of our main @xingternal/hops package:
npm ls --parseable 2>/dev/null | awk '!/untool/ && !/hops/' | xargs -L1 sh -c 'basename $1' dummy | sort | uniq -c | grep -v "^ *1 " | sort -rn | awk '{print "Dupe Warning:" $0}'

Hat tip: https://stackoverflow.com/questions/35144327/how-to-find-npm-duplicate-packages

Ok, then let's stick with caret range for now. I'm afraid that pinning the versions could make the situation even worse.

@jhiode are you sure? I would have preferred exact plus postinstall, to be honest.

I'm still planning to provide a postinstall hook. Using exact versions could work if developers would use untool directly. But as we have multiple packages that depends on untool I think it might get out of hand very easily. And as the postinstall hook would fix the issue anyway I'm not convinced to make our lives any harder with stricter rules 😬


Adding Printfs Cause Bounds Check Failures in Auto-Parallelized Code

Attached in is modified version of the parallelize_tests1.rg test from the Regent test suite. The only modifications are to

Run the big test only
Not do code generation for OpenMP
Print out some of the values inside the two stencil tasks

The print statements have exactly the same expressions as the inputs and outputs of the computations being performed. However, putting in the print statements causes a bounds check failure:
tests/regent/run_pass/parallelize_tasks1.rg:58: pointer int2d(fs(), $r#86) is out-of-bounds
Reproduce as follows in the master branch:
SAVEOBJ=1 ./regent.py tests/regent/run_pass/parallelize_tasks1.rg -fbounds-checks 1 -fdebug 1 -fparallelize-dop 5 -fjobs 1 -fvectorize 0
mpirun -n 2 --bind-to none -x LD_LIBRARY_PATH ./parallel1 -ll:cpu 4 -dm:map_locally
Already tried disabling the vectorizer (see command line above) so I don't think that is to blame. My suspicion is that we were getting lucky before with the data placement that allowed us to get the right answer while reading data out of bounds. I'm guessing the bounds checks get turned off by the auto-parallelizer in some way.
parallelize_tasks1.txt

This bug doesn't seem to reproduce anymore. @lightsighter Can you try again and see if it still reproduces for you?

I've confirmed that this bug is now fixed. Closing.


feat: build modal updates

Will require some refactoring of the current Modal setup (or refactor elements of Realms Playlist) to enable next previous Realm


内存一直没减下来

😂 Found the reason by accident in another project I am currently doing today...
Forgot to add UIGraphicsEndImageContext in a capture method. Sorry, I will push a new version later today.

Already fixed~


Tips of setting threshold

Hello.
First, I would like to thank you for conducting such progressive and impressive research.
I was surprised when I saw the impact of point adjustment (PA) on an anomaly detection task.
I want to ask some tips of setting threshold in the situation that labels(anomaly detected or not) of the test dataset is unknown or private. Most of the anomaly detection research finds the threshold value by utilizing adjusted best F1 to evaluate the anomaly detection performance. However, this method can only be used when the labels are given.
Now, I utilize train errors to set the threshold value like below code. Would it be useful to evaluate your model on a custom dataset in this way? I would like to ask for advice on how to set the threshold in this situation.
train_errors = []
with torch.no_grad():
    for batch in train_loader:
        inputs = batch["input"].cuda()
        targets = batch["target"].cuda() # original values
        outputs = model(inputs) # predicted values
        errors = torch.mean(torch.abs(targets - outputs), dim=1).cpu().numpy()
        train_errors.extend(errors)

threshold = np.mean(train_errors) + 2 * np.std(train_errors)

Thank you for reading my issue.

Thank you for your kind words about the research!
We use the best-F1 threshold (without adjustment) for our evaluation, a practical approach. This method allows for a fair comparison of anomaly detection performance by optimizing the threshold to maximize the F1 score during evaluation. However, we do not use any labels in the training phase, and all of the datasets except Yahoo that we used do not have labels in the training set.
Setting a threshold when labels are unknown or private is indeed challenging. As shown in the code, this approach of using train errors to set the threshold aligns with our model’s approach and is reasonable. By calculating the mean and adding a multiple of the standard deviation (e.g., mean + 2 * std), you set a threshold that can capture anomalies based on the distribution of errors during training.
Here are some additional tips to refine your threshold setting:

Validate on a Known Subset: If possible, use a small subset of data where labels are known to validate the threshold. This helps fine-tune the multiplier of the standard deviation (e.g., adjusting from 2 to 3) based on actual performance.
Adjust for Sensitivity/Specificity Balance: Adjust the threshold accordingly depending on the criticality of false positives vs. false negatives in your application. Lowering the threshold increases sensitivity but also false positives, and vice versa.
Use Percentiles: Instead of mean and standard deviation, consider using percentiles (e.g., 95th percentile) of the train errors to set the threshold, which can sometimes provide a more robust cutoff in skewed error distributions.
Monitor Model Performance Over Time: Continuously monitor the model's performance and adjust the threshold as needed, especially if data distributions change over time.


Hyper and ACE units don't seem to appear.

Firstly - A BIG thankyou for developing this interface. definitely more reliable than using the MQTT feed.
Describe the bug
The new Hyper and ACE devices do not seem to be picked up and delivered in the feed.
Zendure has just started sending the information via the MQTT connection - so I am assuming it should also be available via the API.
I do not however see the devices appearing in the IOBroker Object list.
I do receive the data when using the MQTT connection.
Any chance that you could take a look at the issue.
If you don't have those devices I would be more than happy to assist with testing
I have:
Solarflow 1200 (3 units)
Solarflow 2000 (3 units)
AIO (1 unit)
Hyper 2000 (3 units)
ACE (1 unit)

There will be an update in the next days which includes support for the ACE 1500 and the Hyper 2000.

Update 1.7.0 is available. Please Test this version, as I don‘t have a ace of hyper for direct testing.

version 1.7.0 doesn't appear to be showing up in the list of available adaptors - its still the old version. I also tried switching to the beta repository and it still didn't appear :-(

Hm, that's strange. Can you try to use the "Install from Github" option in ioBroker (Advanced Mode) and install the current version from Github?
The Beta repo should contain version 1.7.2 from tomorrow.

Sorry but i have no idea how to install something in iobroker directly from github. never done that before.
What I did was select the adaptor an tell it to install a specific version and then i specified 1.7.2
It appeared to work and the adaptor is now saying its version 1.7.2
However, I still see that its detecting no additional devices - It says in the log that it detected 7 solarflow devices (that would be my 3 1200 Hubs, my 3 2000 hubs and my AIO.  It is not seeing the  3 Hypers - although I am seeing those devices on the direct MQTT feed that I have running in parallel to your plugin.
is it possible to but the adaptor into a debug logging mode so that we can determine why it doesn't see the devices?
Also for the existing Solarflows it has a new "control" value (control.setInputLimit) - but it doesn't create the object and therefore throws an error in the log.

zendure-solarflow.0 | 2024-07-31 12:02:00.286 | warn | State "zendure-solarflow.0.A8yh63.YrQ1X08v.control.setInputLimit" has no existing object, this might lead to an error in future versions
-- | -- | -- | --
zendure-solarflow.0 | 2024-07-31 12:01:59.269 | warn | State "zendure-solarflow.0.A8yh63.14CWUD28.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:57.725 | warn | State "zendure-solarflow.0.A8yh63.Yy912A87.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:57.113 | warn | State "zendure-solarflow.0.73bkTV.hCNDkQfy.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:56.253 | warn | State "zendure-solarflow.0.73bkTV.Mu49k0SQ.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:54.773 | warn | State "zendure-solarflow.0.73bkTV.M5qsmu87.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:52.357 | warn | State "zendure-solarflow.0.yWF7hV.NL9W6xs0.control.setInputLimit" has no existing object, this might lead to an error in future versions
zendure-solarflow.0 | 2024-07-31 12:01:47.374 | info | [onConnected] Connected with MQTT!
zendure-solarflow.0 | 2024-07-31 12:01:46.478 | info | [onReady] Found 7 SolarFlow device(s).
zendure-solarflow.0 | 2024-07-31 12:01:45.892 | info | [login] Login to Zendure Rest API successful!
zendure-solarflow.0 | 2024-07-31 12:01:43.818 | info | starting. Version 1.7.2 in /opt/iobroker/node_modules/iobroker.zendure-solarflow, node: v18.20.3, js-controller: 5.0.19

It's possible by activating the "advanced mode" on the command bar when you navigated to "adapters". Then there will be an Icon to install from Github (just use the dropdown to select the Zendure Solarflow adapter).
Otherwise, version 1.7.3 should be in the beta repository... 1.7.4 from tomorrow... this will also fix the "setInputLimit" issue.
Do you use the adapter in "Fallback"-Mode? I'm not sure if this will work with the Hyper.

Many thanks. Found it. Never used that option before.
It installed 1.7.4
still no new object created in the objects view. Still says only found 7 devices.
No, I don't have the "fallback mode" selected.

zendure-solarflow.0 | 2024-07-31 14:45:51.655 | info | [onConnected] Connected with MQTT!
-- | -- | -- | --
zendure-solarflow.0 | 2024-07-31 14:45:50.740 | info | [onReady] Found 7 SolarFlow device(s).
zendure-solarflow.0 | 2024-07-31 14:45:50.010 | info | [login] Login to Zendure Rest API successful!
zendure-solarflow.0 | 2024-07-31 14:45:47.026 | info | starting. Version 1.7.4 (non-npm: nograx/ioBroker.zendure-solarflow) in /opt/iobroker/node_modules/iobroker.zendure-solarflow, node: v18.20.3, js-controller: 5.0.19
zendure-solarflow.0 | 2024-07-31 14:45:43.250 | info | Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
zendure-solarflow.0 | 2024-07-31 14:45:43.249 | info | terminating
zendure-solarflow.0 | 2024-07-31 14:45:43.248 | info | Got terminate signal TERMINATE_YOURSELF

If I "Shared" my Hypers with you in the Zendure app would you then be able to pick them up in your feed?

I have a suspicion: Do you use your 3 Hypers as a cluster? Maybe the cluster will appear as a different product...
Are you a member in the iobroker Forum? Maybe you can send me a PN there and I will give you the e-mail for my Zendure dev account.

no I'm not clustered - each hyper is on its own phase.
I will try to reach out to you in the forum

Issues now solved in latest release - Thanks. You can close the ticket.


Simplify service:install command.

What does this PR do? :robot:

Ask fewer questions when running the service:install command.
Remove "name" from all serviceables.

Does this relate to any issue? :link:
Closes #1

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.02% :warning:

Comparison is base (834d02e) 90.11% compared to head (98a01aa) 90.09%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #11      +/-   ##
============================================
- Coverage     90.11%   90.09%   -0.02%
- Complexity      160      161       +1
============================================
  Files            21       21
  Lines           526      525       -1
============================================
- Hits            474      473       -1
  Misses           52       52

Files Changed
Coverage Δ

src/Console/Commands/Install.php
100.00% <100.00%> (ø)

src/Console/Commands/MakeProvider.php
100.00% <100.00%> (ø)

src/DataTransferObjects/Merchant.php
100.00% <100.00%> (ø)

src/DataTransferObjects/Provider.php
100.00% <100.00%> (ø)

src/DataTransferObjects/Service.php
100.00% <100.00%> (ø)

src/Models/Merchant.php
63.63% <100.00%> (ø)

src/Models/Provider.php
36.36% <100.00%> (ø)

src/Models/Service.php
100.00% <100.00%> (ø)

src/Traits/AsksQuestions.php
100.00% <100.00%> (ø)

src/Traits/ServesConfig.php
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fixing type validation in some props

I followed the guide at http://framework7.io/docs/init-app.html
This improves the intellisense sugestions too.

Enumerating possible string values instead of just having a string is always good. Merged, thanks!


BUG: Mapper class is not generated

Hi,
using Sample.CodeGen project from git repo extracted as separate project the tool fails to generate Mapper class
Sample.CodeGen.zip
.
 <ItemGroup>
    <PackageReference Include="Hellang.Middleware.ProblemDetails" Version="5.1.1" />
    <PackageReference Include="Mapster.Core" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.7" />
    <PackageReference Include="Microsoft.AspNetCore.OData" Version="7.4.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.7" />
    <PackageReference Include="Scrutor" Version="3.2.1" />
  </ItemGroup>

 <Target Name="Mapster">
    <Exec WorkingDirectory="$(ProjectDir)" Command="dotnet build" />
    <Exec WorkingDirectory="$(ProjectDir)" Command="dotnet tool restore" />
    <Exec WorkingDirectory="$(ProjectDir)" Command="dotnet mapster model -a $(TargetDir)$(ProjectName).dll -n Sample.CodeGen.Models -o Models -r" />
    <Exec WorkingDirectory="$(ProjectDir)" Command="dotnet mapster extension -a $(TargetDir)$(ProjectName).dll -n Sample.CodeGen.Models -o Models" />
    <Exec WorkingDirectory="$(ProjectDir)" Command="dotnet mapster mapper -a $(TargetDir)$(ProjectName).dll -n Sample.CodeGen.Mappers -o Mappers" />
  </Target>

Sorry I can build normally on the solution. If you would like to test Sample.CodeGen as a separate project. Please follow dotnet tool installation instruction (https://github.com/MapsterMapper/Mapster/wiki/Mapster.Tool).

I looked at this @chaowlert and my current interim solution is to "build twice" so that any newly added/updated Models are included into the $(ProjectName).dll so will get picked up by the 'dotnet mapster extension' command - This is the issue.


Requesting new release

It seems like the package is already null safe and in this repo, the sdk version is already set to 2.12.0, so it should just be a matter of releasing a new version.
Thank you for considering!

This package is discontinued, unfortunately.

For those looking for an alternative, you can now pass a shape to the Material Checkbox. Like so:
    final Widget control = Checkbox(
      shape: CircleBorder(),
      value: value,
      onChanged: onChanged,
      activeColor: activeColor,
      checkColor: checkColor,
      materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
      autofocus: autofocus,
      tristate: tristate,
    );

It's not as nicely padded as this package's checkbox, but it's definitely an improvement.

@Florian-Schoenherr I believe this is since Flutter 2.1 (currently 2.2 is in stable).
@proninyaroslav Interesting. Mind posting a short code sample?

Transform.scale(
  scale: 1.3,
  child: Checkbox(
    value: true,
    onChanged: (value) {},
    shape: const CircleBorder(),
    materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
  ),
),


[SPARK-20900][YARN] Catch IllegalArgumentException thrown by new Path in ApplicationMaster

What changes were proposed in this pull request?
Catch IllegalArgumentException which might be thrown if SPARK_YARN_STAGING_DIR is not set or empty.
How was this patch tested?
Manually tested by running ApplicationMaster with SPARK_YARN_STAGING_DIR unset.

Why? instead of check the value of the env variable directly.

Can one of the admins verify this patch?

@srowen Because Path will perform multiple checks. E.g. check for null or empty string and then URI syntax exception.

I'm not sure how this could be happened, "SPARK_YARN_STAGING_DIR" is a Spark internal environment variable which should be empty, unless you deliberately unset it.
In the JIRA you mentioned you directly running ApplicationMaster, so that you met this issue, I'm not sure why you need to directly call ApplicationMaster?
BTW seems you submitted a PR against branch 2.1, why not against master branch?

@jerryshao You're right, it won't be empty if I run the app using spark-submit. The whole reason I encountered this bug is that in my project I'm running Spark job remotely (via YARN's REST API) from the node which doesn't have Spark distro.
My motivation for running it is another story but in short: I don't want to upload my keytab to HDFS to run spark-submit and instead I request delegation tokens for the services my job uses.

I don't think we'd change this then if it's kind of complicating the code and for a non-standard usage anyway.


Process::Modules::GetExport return null on windows10

Hello, GetExport return null on windows10, any way to resolve it?

Could you please provide an example so we can reproduce it?

Could you please provide an example so we can reproduce it?

blackbone::Process process; 	process.Attach(GetCurrentProcess()); 	auto module = process.modules().GetModule(L"Engine.dll"); 	auto exp = process.modules().GetExport(module, "?GetMip@UTexture@@QAEPAUFMipmapBase@@H@Z");

blackbone::Process process; 	process.Attach(GetCurrentProcess()); 	auto module = process.modules().GetModule(L"Engine.dll"); 	auto exp = process.modules().GetExport(module, "?GetMip@UTexture@@QAEPAUFMipmapBase@@H@Z");

Can you post this dll somewhere?

So, as i figured ProcessModules::GetModule(or GetAllModules) return null on windows10 x64 in x32 process. And if i trying construct ModuleData manually, GetExport also returns null.

Do you have any other issues that may be related to insufficient access rights?

No other issues.

For me, process.Attach(GetCurrentProcess()); reproduces this, but process.Attach(GetCurrentProcessId()); doesn't. And the issue only appears to happen when building for x86.

Inject() should verify that kernel32.dll actually exists, rather than assuming it does. If you create a process suspended via CreateProcess(), then attach to it using blackbone::Process, the GetExport() code will crash the program.


Missed element in replaysubject

You can miss an element in replaysubject in on_next is called between line 167 and 170 of file https://github.com/Reactive-Extensions/RxCpp/blob/master/Rx/v2/src/rxcpp/subjects/rx-replaysubject.hpp
We should lock a mutex between on_next and add in replay_observer in order to avoid that.
PS: Can be difficult to reproduce, but it easy to see the issue here.
You can see a ugly fix here: https://github.com/diorcety/RxCpp/commit/3fdfd9bf0bbc0c08af81e7c5f54fb6fc33fbfd8e

thank you for the report!
yes, you are correct values arriving during that window in subscribe are lost for that subscriber.
this is a case of tradeoffs.
The current code drops events from the middle which is unexpected. the expectation is to drop only from the front.
Using a mutex to prevent new items would block all subscriptions receiving incoming values until all new subscriptions caught up. (potentially forever in the case of slow consumers and large replay buffers and many new subscriptions)
Using a queue per subscription to buffer values that arrive before all the pending values are consumed. (potentially infinite queueing in the case of slow consumers and large replay buffers and many new subscriptions)
replay is often used to limit queueing and so a queueing solution would not be expected anymore than the current dropping of the events from the middle.
replay is a subject and therefore it is at times used to feed output values back in as input. the mutex option would potentially make this a deadlock.
perhaps another option would be to interleave replay values with live values. I expect that this violates the expectations as well.
This will require some time to check with other implementations of replay to see how they are implemented and pick the best outcome for rxcpp.
I would appreciate more opinions and options from anyone.

Maybe I use the wrong tool then. I'm using a subject that emit reply from network communication. The subscription of the listener can occurs after the first received reply. I'm need a tool that can ensure that all received reply will be handle (not like replaysubject here) and cached until processed.

usually Rx expressions are structured so that the request is not made until the listener has subscribed.
one way to structure the expression to allow the listener to subscribe later would be to reduce all the replies into a container, like a vector<> and then, after all the replies are complete, emit the final vector. another option is to use scan instead of reduce then the whole container would be emitted every time a reply was added (this works best with an immutable collection, not a std::vector).

I maybe found a difference between rxpy and rxcpp.
https://github.com/Reactive-Extensions/RxCpp/blob/master/Rx/v2/src/rxcpp/subjects/rx-replaysubject.hpp#L166
https://github.com/ReactiveX/RxPY/blob/master/rx/subjects/replaysubject.py#L68
In case of rxpy event if the on_completed even is received from the source, the replay observer subscribe after this on_completed, the replay subject replay all the on_next events then the on_complete event.
In rxcpp it only send the on_complete event.


Add the ability to get the ip address of the client in websocket

Environment Details

Helidon Version:4.0.9
Helidon SE
JDK version:21
OS:mac
Docker version (if applicable):

Problem Description
In actual use, often need to get the ip address of the client, in the websocket server development.

One option would be to make the SocketContext available from the WsSession, and then:
WsSession ws = ...
PeerInfo peer = ws.socketContext().remotePeer();

Are you using the Proxy Protocol in your app?

Yes, you might.

One option would be to make the SocketContext available from the WsSession, and then:
WsSession ws = ...
PeerInfo peer = ws.socketContext().remotePeer();

Are you using the Proxy Protocol in your app?

Yes, I might, thanks!

If using https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt then there's already support for it (it just needs to be enabled by turning it on the listener) and you get host and port info in the request headers X-Forwarded-For and X-Forwarded-Port (automatically added by Helidon). Note that the proxy protocol preamble is not optional, if enabled, then it must be present. If that's what you need, then it's already in 4.0.9.

One option would be to make the SocketContext available from the WsSession, and then:
WsSession ws = ...
PeerInfo peer = ws.socketContext().remotePeer();

Are you using the Proxy Protocol in your app?

Yes, I might, thanks!

If using https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt then there's already support for it (it just needs to be enabled by turning it on the listener) and you get host and port info in the request headers X-Forwarded-For and X-Forwarded-Port (automatically added by Helidon). Note that the proxy protocol preamble is not optional, if enabled, then it must be present. If that's what you need, then it's already in 4.0.9.

OK,thanks!


Add IdentityMessageFormatter

Sometimes, a message should be rather destructured that assembled into a different object. In that case, the format message of the MessageFormatter should just return its argument.

Closed via #3


random.choice: 0 samples from 0 candidates

Inconsistency in
>>> numpy.random.choice(0, size=(3, 0, 7))
array([], shape=(3, 0, 7), dtype=int64)
>>> numpy.random.choice([], size=(3, 0, 7))
array([], shape=(3, 0, 7), dtype=float64)

vs
>>> cupy.random.choice(0, size=(3, 0, 7))
ValueError: a must be greater than 0
>>> cupy.random.choice([], size=(3, 0, 7))
ValueError: a must be non-empty

Note that
>>> numpy.random.choice(0)
ValueError: a must be greater than 0 unless no samples are taken

randint has the same difference.
>>> numpy.random.randint(0, 0, size=0)
array([], dtype=int64)
>>> cupy.random.randint(0, 0, size=0)
ValueError: low >= high

I'll try to fix this inconsistency and check for more and try to fix them.


test: turn off pytest-cov on PyPy

Although I remember this being an issue, I don't see any segfaults now, with or without codecov:

So I'll close this PR without merging it.


Can you add also Unit_VMeter_M5CoreS3 sketch for M5CoreS3?

Hello,
I find Unit_VMeter_M5Core2.
Can you add also Unit_VMeter_M5CoreS3 ?
Regards

I try to adapt the code from Core2 to CoreS3 and get the following error: Unit_VMeter_M5CoreS3.ino
'PGA_512' was not declared in this scope
C:\Users\user\Documents\Dev\Unit_VMeter_M5Core3\Unit_VMeter_M5Core3.ino\Unit_VMeter_M5Core3.ino.ino:36:26: error: 'PGA_512' was not declared in this scope
 ADS1115Gain_t now_gain = PGA_512;
                          ^~~~~~~
C:\Users\user\Documents\Dev\Unit_VMeter_M5Core3\Unit_VMeter_M5Core3.ino\Unit_VMeter_M5Core3.ino.ino:36:26: note: suggested alternative: 'PAG_512'
 ADS1115Gain_t now_gain = PGA_512;
                          ^~~~~~~
                          PAG_512
C:\Users\user\Documents\Dev\Unit_VMeter_M5Core3\Unit_VMeter_M5Core3.ino\Unit_VMeter_M5Core3.ino.ino: In function 'void setup()':
C:\Users\user\Documents\Dev\Unit_VMeter_M5Core3\Unit_VMeter_M5Core3.ino\Unit_VMeter_M5Core3.ino.ino:54:23: error: 'PGA_512' was not declared in this scope
     voltmeter.setGain(PGA_512);
                       ^~~~~~~
C:\Users\user\Documents\Dev\Unit_VMeter_M5Core3\Unit_VMeter_M5Core3.ino\Unit_VMeter_M5Core3.ino.ino:54:23: note: suggested alternative: 'PAG_512'
     voltmeter.setGain(PGA_512);
                       ^~~~~~~
                       PAG_512

exit status 1

Compilation error: 'PGA_512' was not declared in this scope

How can I correct this mistake?

Any news about this?

Added https://github.com/m5stack/M5-ADS1115/blob/129349489310a96feed15f9d922081aa641c62f9/examples/Unit_VMeter_M5Core3/Unit_VMeter_M5Core3.ino#L25-L26


Converge on a single instrumentation codebase?

/to @dtinth @bcoe
/cc @davglass
Hi guys,
I started to work on istanbul v1 after a 6 month hiatus of totally ignoring it. I have, like, 3 weeks
to get a reasonable "v1" out and I'm also looking for an exit strategy in terms of handing modules over
to people who can actually work on it and make it better. Nowadays, it is getting harder and harder for
me to work in this.
In the process, I discovered the new babel plugin-based instrumenter by @dtinth and there are a lot of
good ideas in it, not to mention the simplicity of the code since Babel handles the heavy lifting of
the AST transformation.
The thing that bothered me, though, is that it is yet another variant of code coverage transformations and has different semantics from istanbul's instrumenter (notably the inability to ignore code for instrumentation and a bunch of other smaller differences). Now there is istanbul 0.x, istanbul 1.x-alpha and the __coverage__ babel plugin each of which do subtly to wildly different things and cause friction for the end user who wants to move between ES5/ Typescript/ ES6.
So, @dtinth I see your "shamelessly copied from istanbul" code and raise you my version of shameless copies from your code.
The babel branch in this repo is a sketch of an implementation of instrumentation as a AST babel visitor. It implements "ignores" and steals/ incorporates all the good ideas from the __coverage__ implementation. (There may be some differences that I need to reconcile in a second pass based on what you guys think).
The istanbul instrumentation API is now witten in ES6, and adapted to use Babel under the covers. The programVisitor that is exposed can be be used by a babel plugin that implements source file filters and calls the visitor only when code needs to be instrumented. This, IMO, gives us some semblance of consistency for ES5/ ES6 code coverage.
I'll let you guys check out the code and play with it. All my current tests pass, although es6 tests are pretty light.
I would love to get some early feedback on whether this looks like a promising approach that can be taken to completion.
Also, we can open up this repo for commit access to more folks so you don't have to deal with the
"@gotwarlost is unresponsive" issue :)
Please add more people to the thread as you see fit. I also have some other ideas re: the CLI (TLDR; make nyc the default CLI for istanbul) that we can discuss as we go.
Thanks,
Krishnan

This is really cool. The babel-plugin-__coverage__ project also has some tests regarding ES6, so please feel free to copy them. Your version of the code also looks very clean.
The way babel-plugin-__coverage__ treats statements is quite unconventional, and if it wouldn’t become utterly inefficient, it would have treated every kind of expression as a statement. For example, in my “ideal” version (that doesn’t exist) this line of code would be 5 statements.
    doSomethingWith(objectA, objectB, objectC)
//  <-------------> S1
//                  <-----> S2
//                           <-----> S3
//                                    <-----> S4
//  <----------------------------------------> S5

This is because objectB may be undeclared, which causes a ReferenceError, and that means S4 and S5 will not be evaluated.
I’m not sure, but I have this speculation that what I’ve been doing in babel-plugin-__coverage__ may be more adequately covered using “branch coverage”, and if it makes CodeCov turn yellow in report, then I’m also fine with that. For example, an AssignmentPattern can be a “branch” rather than a “statement” instead.

@dtinth - thanks for the prompt reply and encouragement. Let me take a stab at implementing missing es6 tests and a few other changes.
Re, your doSomethingWith example, I'm not sure that we should worry about getting coverage numbers right on reference errors and such - I think it is OK to say that coverage is accurate only if all tests pass. Otherwise we might end up with too much information and counters that cannot be intuitively explained. From the very beginning my mantra was not to get code coverage "right" in some technical sense of the word but be "good enough" in a way that helps the user with an actionable item that the user can choose (or not) to deal with.
I agree that assignment patterns and for statement update expressions are better represented as branches. Let me go down this path and see if this can be done. This might also need a couple of fixes to the logic of how branches are colored in the HTML report.
The idea behind my "spec" tests are sound in the sense that these tests have helped me completely change the internals of the implementation (from uglify to esprima to babel) and have some confidence that the changes are correct. However, the implementation is quite horrible and I plan to fix this as well.
I'll also add more spec tests for es6 features.
Let me work on this for a day or two and I'll show you a more refined product and maybe send a PR for the __coverage__ plugin to use it. I'll also do a PR for this repo so I can get review comments from you and others. My experience with writing ES6 code is a whopping 2 days and I'm sure the code that I write will not be idiomatic ES6.
Thanks again for the quick feedback.

@gotwarlost @dtinth this seems like a wonderful idea, and I'm excited to keep working with you to help make nyc extensible, so that folks can plugin whatever instrumenters they see fit -- I imagine we'll move towards this being the default one.
I'll dive into this branch on weeknights this week, and will carve out some time on the weekend for hacking as well.

@gotwarlost have a look at https://github.com/douglasduteil/isparta also

Here's a link directly to that coverage project https://github.com/dtinth/babel-plugin-coverage

Ping @deepsweet @douglasduteil

@gotwarlost Is the plan that Babel need to be a dependency for the new version? You also have a ES2015 compiler - Buble. With current version it works, but will not work if Babel is a required dependency.

@Kflash babel-plugin-__coverage__ only needs:
"babel-helper-function-name": "^6.5.0",
"babel-template": "^6.8.0",
"test-exclude": "^1.1.0"

all it does is add the coverage object to the correct location in the code.

@graingert I know, but I got a hard time getting it working with Buble. In fact I couldn't. Isparta and current Istanbul is the only version that works it seems. Istanbul-alpha-2 too give issues.
@gotwarlost Another strange thing in this is the CLI isn't working without issues on a Windows computer, but works smooth on a Mac. Isparta was mentioned here, and that CLI works without any issues with Windows. Maybe study that code?

@Kflash - there are 2 ways to use the library.

As a babel plugin that uses the exposed programVisitor to do the instrumentation
By calling the instrumentation API which is (mostly) backwards-compatible to the current istanbul API. It uses babel libraries under the covers but does not expose its internals outside.

It should work based on all my unit tests that continue to pass for all node versions.
See: https://github.com/istanbuljs/istanbul-lib-instrument/pull/5
Hope this clarifies.

Resolved via #5

@gotwarlost Can you look at this command, and let me know why it doesn't generate any report? Tests run just fine: https://github.com/jeibo/workflow/blob/master/scripts/coveralls.sh


Fixes #4222 Don't automatically bring up completions after 'for'

Fixes #4222 Don't automatically bring up completions after 'for'
Fixes handling of completions for For statement.

It's working at global scope, but inside a function, completions still appear.


Trying RTI DDS TCP in ROS 2, but failed

Error report:
`DDS_ResourceLimitsQosPolicy_is_consistent_w_historyI:inconsistent QoS policies: history.depth and resource_limits.max_samples (max_samples_per_instance is unlimited)
DDS_Subscriber_create_datareader_disabledI:ERROR: Inconsistent QoS
DDSDataReader_impl::create_disabledI:!create reader
DDSDataReader_impl::createI:!create reader
initialize:!create DataReader
connext::details::EntityUntypedImpl::initialize:!failed (see previous errors)
[rcutils|error_handling.c:107] rcutils_set_error_state()
This error state is being overwritten:
'C++ exception during construction of Requester, at /tmp/binarydeb/ros-eloquent-rcl-interfaces-0.8.0/obj-x86_64-linux-gnu/rosidl_typesupport_connext_cpp/rcl_interfaces/srv/dds_connext/get_parameters__type_support.cpp:704'
with this new error message:
'failed to create replier, at /tmp/binarydeb/ros-eloquent-rmw-connext-cpp-0.8.1/src/rmw_service.cpp:138'
rcutils_reset_error() should be called after error handling to avoid this.
terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
what():  could not create service: failed to create replier, at /tmp/binarydeb/ros-eloquent-rmw-connext-cpp-0.8.1/src/rmw_service.cpp:138, at /tmp/binarydeb/ros-eloquent-rcl-0.8.4/src/rcl/service.c:179`
Required Info:

Operating System:
Ubuntu 18.04
Installation type:
sudo apt install ros-eloquent-rmw-connext-cpp
Version or commit hash:
5.3
DDS implementation:
RTI Connext
Client library (if applicable):
rclcpp

Steps to reproduce issue
publisher_ = this->create_publisher<std_msgs::msg::String>("topic", rclcpp::SystemDefaultsQoS());
export NDDS_QOS_PROFILES=/home/kaeyan-1804/test_exe_ws/src/test_exe/USER_QOS_PROFILES.xml
test_exe_ws.zip
Additional information
I need the RTI in ROS 2 to create a tcp client with the QOS file. The QOS file I have tested with regular RTI DDS application, it works. Furthermore, do you have any example code to configure the RTI in ROS 2 to create a TCP client connecting to an RTI ROS 2 TCP server? Thanks.

`DDS_ResourceLimitsQosPolicy_is_consistent_w_historyI:inconsistent QoS policies: history.depth and resource_limits.max_samples (max_samples_per_instance is unlimited)
DDS_Subscriber_create_datareader_disabledI:ERROR: Inconsistent QoS
DDSDataReader_impl::create_disabledI:!create reader
DDSDataReader_impl::createI:!create reader
initialize:!create DataReader
connext::details::EntityUntypedImpl::initialize:!failed (see previous errors)

I've been able to reproduce the problem.
Somehow, data reader resource limit max_samples is being set to 256, instead of the default -1.
I have to investigate more, I'm not pretty sure of what's happening.

@KaeYan ROS2 always uses the default qos profile, so the Client_Profile and Server_Profile you created aren't going to be used.

The default max_samples for the parent profile you're specifying (BuiltinQosLibExp::Generic.StrictReliable) is 256.
One of the parameter services that are automatically created uses a history depth of 1000.
If you're not interested in changing parameters from an external process, you can disable those services (if not, they are automatically created).
You can also pass a custom qos to them with a smaller history depth.
If not, you can add this to your QoS profile file:
      <datareader_qos>
        <resource_limits>
          <max_samples>-1</max_samples>
          <max_samples_per_instance>-1</max_samples_per_instance>
        </resource_limits>
      </datareader_qos>


Add GNU Make to non-DinD images

Could you add GNU Make to non-DinD images, please? It's a very lightweight package and I believe many people use it on their CI.

I'm a bit confused -- what does GNU Make have to do with Docker-in-Docker?
I think this is conceptually a duplicate of https://github.com/docker-library/docker/issues/56 and https://github.com/docker-library/docker/issues/57 (which are asking for openssl and curl to be included, which were rejected for similar reasons to what I'd give here -- GNU Make, however popular, is not necessary nor even used by a stock Docker installation, so doesn't really make much sense for us to include, especially given how quickly and painlessly it installs via apk add).

Yes, this is conceptually a duplicate of the mentioned issues and I agree with you. However, what's up with the git variant of this image? Does Docker require Git or was the variant added because of popularity/demand?

Docker has built in functionality that invokes Git directly, but it's not
popular or well-known and Git is somewhat bulky so that optional
functionality got it's own tag instead.


Issue mocking Notification

Hi,
I'm seeing an issue when trying to use window-mock with Notification.requestPermission.
The issue is that typeof Notification is function where window-mock returns a bound version of it.

But somehow creating a bound instance of Notification erases its "static" methods.

I think we could fix this by adding "Notification"  to the list of proxyFactory users. If that's ok, I can open a PR for it.
edit: nvm. I think that doesn't really work

@makepanic I think I have found a fix here: #86
Could you try that branch to confirm it fixes your problem?

Tried it for the error I've encountered and it looks fine.
The proxied static method is now there and usable.
Thanks for the quick fix

Good to hear, thanks for the quick feedback!

published 0.5.3!


feat(WebTerminal): Releases the WebTerminal 🚀

Contributes to #1415
This releases the WebTerminal component
What did you change?
packages/cloud-cognitive/carbon.yml
packages/cloud-cognitive/src/components/_index-released-only.scss
packages/cloud-cognitive/src/global/js/package-settings.js

@AlexanderMelox I think we just need to update snapshots here. 🤞


Fade in Header component before fully scrolled through Large Header

Taking a look at your Twitter example, it suffers the same issue I’m facing. I have a relatively large “LargeHeader” component. Scrolling through the header causes the main title to go off screen long before I reach the bottom of the component (which triggers the transition to show the “Header” component.
Hopefully that made sense. I can explain further if needed.
Maybe I’m missing something, but is there a way to trigger the “transition” much earlier in the scroll position?
Thanks.

There isn't a way at the moment, however I was already thinking about adding something like this. If I understand you correctly, you want the transition between the LargeHeader and Header component to begin at some arbitrary y value, rather than the end of the LargeHeader correct?

It doesn't actually. It ends up being a child component of the ScrollView, or swapped in as the HeaderComponent of the virtualized lists. Check out the source code, it's pretty straightforward.
If you have a screenshot or video, it'll help me figure out what space you're specifically referring to.

This is intended by the implementation. At the moment, the HeaderComponent will sit above the scroll container, and the LargeHeaderComponent will end up as a child of it.
When I originally designed this, I made it so that the Header will stay fixed at the top, and have a general height that is similar to native primitives, and the LargeHeader would be a component that has a dynamic height.
So in your case, it's somewhat intended that the Header stay smaller, and you add the extra space as part of the LargeHeader instead.

I'm working on this right now and will have a PR up in a few minutes. Sorry for the delay, have been quite busy with an application I was building.

https://github.com/codeherence/react-native-header/pull/17

This is released in 0.10.0, let me know if it works.


Error when loading assets

You can find my Flutter sample project here and the Nima sample here
I follow the steps define in the documentation

Export the Nima project with Generic. The export make a nma file extension instead of nima extension in your exemple. I try to rename the file with nima extension and the stacktrace error is the same
Declare assets in pubspec.yaml
Import nima dependency in pubspec.yaml
Add a NimaActor widget in the widget tree

import "dart:typed_data";

import 'package:flutter/material.dart';
import "package:flutter/services.dart" show rootBundle;
import 'package:nima/nima_actor.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // FIXME: To be removed, this is for testing the .nma asset is loaded
    rootBundle.load("assets/testBZ.nma").then((ByteData data) {
      debugPrint('DATA LOAD $data.runtimeType');
    }).catchError((error) {
      debugPrint('LOAD DATA ERROR, $error');
    });

    return Column(
      children: <Widget>[
        NimaActor("assets/testBZ",
            alignment: Alignment.center,
            fit: BoxFit.contain,
            animation: "idle"),
        Image.asset(
          'assets/testBZ.png',
        ),
      ],
    );
  }
}

As you can see, i add an Image widget for testing that the png asset in accessible in context, and i read the nma file too, it works.
Stacktrace
Launching lib/main.dart on iPhone X in debug mode...
Starting Xcode build...
Xcode build done.                                            6.2s
flutter: DATA LOAD Instance of '_ByteDataView'.runtimeType
[VERBOSE-2:shell.cc(184)] Dart Error: Unhandled exception:
Unable to load asset: assets/testBZ
#0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
<asynchronous suspension>
#1      FlutterActor.loadFromBundle (package:nima/nima.dart:190:38)
<asynchronous suspension>
#2      NimaActorRenderObject.filename= (package:nima/nima_actor.dart:197:11)
#3      NimaActor.createRenderObject (package:nima/nima_actor.dart:44:9)
#4      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4482:28)
#5      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
#6      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4965:32)
#7      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
#8      Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
#9      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3732:16)
#10     Element.rebuild (package:flut<…>
flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during performResize():
flutter: NimaActorRenderObject object was given an infinite size during layout.
flutter: This probably means that it is a render object that tries to be as big as possible, but it was put
flutter: inside another render object that allows its children to pick their own size.
flutter: The nearest ancestor providing an unbounded height constraint is:
flutter:   RenderFlex#c9289 NEEDS-LAYOUT NEEDS-PAINT
flutter:   creator: Column ← MyApp ← [root]
flutter:   parentData: <none>
flutter:   constraints: BoxConstraints(w=375.0, h=812.0)
flutter:   size: MISSING
flutter:   direction: vertical
flutter:   mainAxisAlignment: start
flutter:   mainAxisSize: max
flutter:   crossAxisAlignment: center
flutter:   verticalDirection: down
flutter: The constraints that applied to the NimaActorRenderObject were:
flutter:   BoxConstraints(0.0<=w<=375.0, 0.0<=h<=Infinity)
flutter: The exact size it was given was:
flutter:   Size(375.0, Infinity)
flutter: See https://flutter.io/layout/ for more information.
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      RenderBox.debugAssertDoesMeetConstraints.<anonymous closure> (package:flutter/src/rendering/box.dart:1749:9)
flutter: #1      RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:1823:6)
flutter: #2      RenderBox.size=.<anonymous closure> (package:flutter/src/rendering/box.dart:1543:17)
flutter: #3      RenderBox.size= (package:flutter/src/rendering/box.dart:1543:65)
flutter: #4      NimaActorRenderObject.performResize (package:nima/nima_actor.dart:228:5)
flutter: #5      RenderObject.layout (package:flutter/src/rendering/object.dart:1619:9)
flutter: #6      RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:738:15)
flutter: #7      RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
flutter: #8      RenderView.performLayout (package:flutter/src/rendering/view.dart:147:13)
flutter: #9      RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1509:7)
flutter: #10     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:768:18)
flutter: #11     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:281:19)
flutter: #12     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:677:13)
flutter: #13     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:219:5)
flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
flutter: #15     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
flutter: #16     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
flutter: #18     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
flutter: #19     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
flutter: #20     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
flutter: (elided one frame from package dart:async)
flutter:
flutter: The following RenderObject was being processed when the exception was fired:
flutter:   NimaActorRenderObject#57fda NEEDS-LAYOUT NEEDS-PAINT
flutter:   creator: NimaActor ← Column ← MyApp ← [root]
flutter:   parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
flutter:   constraints: BoxConstraints(0.0<=w<=375.0, 0.0<=h<=Infinity)
flutter:   size: Size(375.0, Infinity)
flutter: This RenderObject has no descendants.
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: NimaActorRenderObject object was given an infinite size during layout.
Syncing files to device iPhone X...
flutter: Another exception was thrown: A RenderFlex overflowed by Infinity pixels on the bottom.
flutter: Another exception was thrown: NimaActorRenderObject object was given an infinite size during layout.

@umberto-sonnino Sorry for the late answer, I didn't have much time on this subject. I update flutter on my maschine and the issue is solved ..... So i close this issue, thanks for your help ;)


Set up a 2-nodes ams-db backend with consistency/failover/load-balancing

This is a duplicate of ooni/backend#471


Add limit=0 option to display everything

Currently the limit=0 parameter actually shows no items in the list when looking at alerts or clients.
It would be helpful to have the Show All things option set limit=0 instead of setting the limit to whatever the current max number of things is.
It would be even better if the limit was saved in a cookie or browser storage.

@nhooey thank you for this submission. We're categorizing this issue as part of an ongoing issues triage and will provide another update if/when this is scheduled for implementation. At this time we're targeting the 0.15 release.


Provide extension points to handle errors

Call elfeed-handle-http-error or elfeed-handle-parse-error when a feed cannot be updated. This enables me to handle errors in https://github.com/remyhonig/elfeed-org. I would like to use "defadvice" there to mark the feed in my org tree as unretrievable so I can identify bad feeds and maybe ignore them when they fail consistently.

This is a great idea and I'll definitely merge this in, or at least something close to it.
My one concern is that I generally consider advice as being a last resort since it's so clunky. I don't want to design an interface to require it. I was thinking about changing those functions to elfeed-handle-http-error-function and elfeed-handle-parse-error-function variables (or something along those lines) instead, to be funcalled on error. But you probably wouldn't want elfeed-org to completely take over error handling. You just want to know when it happens.
So it really calls for a hook, perhaps prepopulated with the default printed message handler. The problem is that there's not really a convention for prepopulating a hook, Removing prepopulated entries from a hook is complicated business. It depends on whether or not Elfeed has been loaded, and whether extensions that would use it, like elfeed-org, have loaded. That means something nasty like eval-after-load would be needed. It's too bad there's no JavaScript-like bubbling convention that allows a hook function stop the hook invocation propagating.
Thoughts? Are there any existing projects out there that have dealt with this asynchronous error handling issue?

Hi Chris, thanks for considering this. How about keeping the message calls in the elfeed-update-feed function like they are in master but add right after those calls a call to a new hook. This would avoid the complications of pre-populating that hook, but would enable anyone to be notified of errors. You're right, elfeed-org does not need to handle the errors at all, it just needs to be notified.
In javascript this type of handling is done with promises (https://www.promisejs.org/) and for elisp there is a package that can help with this as well. It is https://github.com/kiwanami/emacs-deferred . For a usage exampel look at this section https://github.com/kiwanami/emacs-deferred#deferred-combination--try-catch-finally . Using this package would require quite some refactoring though and you'd still have to create a hook where other packages can register their handling functions.
I'm willing to create a new PR with a hook if you like.

Ok, I like this idea. Could you modify your PR to do this? Keep those
two new functions defined like you have it. I like having them for
last-resort advice. Put the run-hooks call in those functions. I'll
merge it with that change.
Sorry, I traveled about 5,000 miles last week and was too busy to
respond earlier.

No worries, I'll make the adjustment to the PR in the coming week

@skeeto Fixed, let me know if you'd like me to correct anything.

Rebased onto master as bc860f6 and 4df2c83. Thanks!
Nice commit logs, too.


Feature Request: Expand array into multiple lines

Just as a rough idea, it would be useful if outdent can automatically expand this:
outdent`
  data: ${"foo\nbar".split("\n")}
`

To be:
"data: foo\ndata: bar"

Without this feature, I have to do a quite verbose thing, compared to what it does:
const prefixedMultilineText = "foo\nbar"
  .split("\n")
  .map(s => `data: ${s}`)
  .join("\n")
outdent`
  id: ${Date.now()}
  ${prefixedMultilineText}
`

Prefixing entire text is a pretty common pattern for some cases such as logging, and very much similar to indentation.
This feature could be behind an option, but I believe embedding raw arrays is not a common way to interpolate a template, so maybe it's not that surprise to users to change the default behavior (still being a breaking change though). Anyway, I'd love to file a PR if you think this is a reasonable feature.
Thank you for all the great effort to create such a wonderful package!

Not sure this fits cleanly into outdent; should be a separate function like prefixLines.  Outdent is focused on adjusting the static template, leaving interpolated values intentionally untouched.  It tries to behave as if indentation removal were a native feature of the JS language syntax.
We'd need clearer examples showing what's a static string and what's a dynamic runtime value.  The example shows a static "foo\nbar" , but I'm guessing in practice, it's a runtime value: you want to prefix every line of some text you read from a file, an input box, an error message, a stack trace.
Also, the example appears to describe a yaml-style key-value syntax, but there are duplicate data:  fields. Yes, some formats do use duplicate field names.  But I wonder if a more realistic example is prefixing every line of an Error message with a logging level, something like:
console.log(outdent `
    WARN: ${warningMessage}
    Resolve this warning or remove the --fatal-warnings flag.
`)

You can write a function prefixLines('data: ', multiLineString) and combine it nicely with outdent.
outdent`
console.log(outdent `
    ${totalWarnings} warnings encountered:
    ${prefixLines(`WARN: `, warningMessage)}
    Resolve this warning or remove the --fatal-warnings flag.
`)
`

I'll close this since I don't think it fits well into outdent and is 3 years old, but anyone feel free to write up some usage examples that clearly and completely describe an intended API.


Big-M Tightness

IntervalArithmetic won't necessarily give you the tightest Big-M value for nonlinear GDP.

Need to throw an error when Big-M is applied to a nonlinear constraint and no M value was provided

An possible feature would be to build and solve an NLP to get the maximum big-M value for the nonlinear constraint.


E format doesn't work

>>> import fortranformat as ff
>>> line_format = ff.FortranRecordWriter('(E10.0)')
>>> line = line_format([1])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/chris/.local/lib/python2.7/site-packages/fortranformat/FortranRecordWriter.py", line 48, in write
    return _output(self._eds, self._rev_eds, values)
  File "/home/chris/.local/lib/python2.7/site-packages/fortranformat/_output.py", line 118, in output
    sub_string = _compose_float_string(w, e, d, state, val, 'E')
  File "/home/chris/.local/lib/python2.7/site-packages/fortranformat/_output.py", line 267, in _compose_float_string
    return  _output_float(w, d, e, state, ftype, buff, sign_bit, zero_flag, ndigits, edigits)
  File "/home/chris/.local/lib/python2.7/site-packages/fortranformat/_output.py", line 346, in _output_float
    ex = int(buff[ndigits + 3:]) + 1
ValueError: invalid literal for int() with base 10: '000000e+00

Writing exponential format seems to produce an error (both on Python2 and Python3).

This actually crashes GFortran on which this code is based

Can someone who has access to the ifort compiler please try running this and post the output?


[Feature Request]: Signin/singnup with github

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Login with github will be an wonderful feature
Use Case
It helps many users login easily
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

lets first implement google auth functionality then you can work on this


SCRUM-1765 Bring editing of DA relatedNotes in line with conditionRelations

Validation occurs on row edit save rather than on clicking 'Keep Edits'.
'Keep Edits' button not enabled unless valid edits in place.
Fixes bugs in display of error messages.
Also fixes bug on conditionRelations editing where the 'Keep Edits' button was enabled when invalid edits were in place, thus bypassing validation.

Commits on correct branch this time!


Minimal generic SSR with steal seems to fail with a const declaration (again?)

Clone this gist, npm i and then npm run server
If you hit the page, you'll see one good Server-Side Render, then if you refresh or hit it from another window, it will crash the server because of a double const declaration.
Did this regress somehow?

Closing in favor of https://github.com/canjs/can-zone-jsdom/pull/8


add disabled state on TabGroup

Description
TabsGroup doesn't support disabled property like Tab component. Must be added in config, to apply it on every single Tab

deadline: friday


Add initial node support TCK implementation

Begin to implement the new TCK for node support, starting with the event sourced TCK model. The node support event sourced implementation doesn't emit events immediately, so this currently applies the event handler to the command-local state as well, so the updated state can be returned in the response. And because events are not emitted immediately, there's no need to add the restart option for emit-then-fail, so the TCK is updated to test failures with or without the restart. See also #375.
I'll follow up later with the other TCK models, publishing a docker image, enabling for native image TCK, and so on.

Not having any luck with the Travis build, keeps getting stuck without any progress at different points.


NPM Script explorer: support a "Collapse all" action

extracted from #51613.

There is currently no API in a custom view to collapse a tree.

API is in place and has been adopted.


dbt ls fails on "Error" string in stdout

This error check https://github.com/astronomer/astronomer-cosmos/blob/635fb7badfd1fea560923d3f959ab7d021dba83d/cosmos/dbt/graph.py#L253C1-L255C111
if returncode or "Error" in stdout:
    details = stderr or stdout
    raise CosmosLoadDbtException(f"Unable to run dbt ls command due to the error:\n{details}")

Causes a failure when stdout includes (in my example)
Broken DAG: [/usr/local/airflow/dags/playground.py] Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/cosmos/dbt/graph.py", line 132, in load
    load_method[method]()
  File "/usr/local/lib/python3.11/site-packages/cosmos/dbt/graph.py", line 255, in load_via_dbt_ls
    raise CosmosLoadDbtException(f"Unable to run dbt ls command due to the error:\n{details}")
cosmos.dbt.graph.CosmosLoadDbtException: Unable to run dbt ls command due to the error:
12:48:41  Sending event: {'category': 'dbt', 'action': 'invocation', 'label': 'start', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0xffff85fc0110>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0xffff860efe50>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0xffff85dfbc90>]}
12:48:41  Running with dbt=1.6.7
12:48:41  running dbt with arguments {'printer_width': '80', 'indirect_selection': 'eager', 'log_cache_events': 'False', 'write_json': 'True', 'partial_parse': 'True', 'cache_selected_only': 'False', 'warn_error': 'None', 'debug': 'True', 'profiles_dir': '/tmp/tmp1v3xloax', 'log_path': '/tmp/tmp6rmp2huk/logs', 'fail_fast': 'False', 'version_check': 'True', 'use_colors': 'True', 'use_experimental_parser': 'False', 'no_print': 'None', 'quiet': 'False', 'warn_error_options': 'WarnErrorOptions(include=[], exclude=[])', 'static_parser': 'True', 'introspect': 'True', 'invocation_command': 'dbt ls --output json --exclude tag:qc_test --select stage --project-dir /tmp/tmp6rmp2huk --profiles-dir /tmp/tmp1v3xloax --profile vulcan_profile --target pr', 'target_path': '/tmp/tmp6rmp2huk/target', 'log_format': 'default', 'send_anonymous_usage_stats': 'True'}

Specifically "Error" is being found in the last line here
'warn_error_options': 'WarnErrorOptions(include=[], exclude=[])'

This check is overly broad and doesn' allow people to have ie. directories, model names, tags, schemas etc. with "Error" in them.

Hi @adammarples, I'm sorry you're facing this issue. I fully agree we need to improve this.
This was introduced because the dbt may times raise errors, but without using the adequate OS process return code.
Would you like to contribute to improving this part of Cosmos?

I would love to help, it sounds like an issue with dbt-core primarily though. Do you have any info about when these errors occur without adequate returncodes or why you started searching for the "Error" string in the first place? Thanks

@adammarples, I agree that, ideally, this would be resolved in dbt itself.
The dbt documentation states the exit code would be 0 only if the dbt invocation is completed without error:
https://docs.getdbt.com/reference/exit-codes
However, it seems there was a decision to have dbt ls always return 0, which is not compatible with the documentation:
https://github.com/dbt-labs/dbt-core/pull/2892
I remember two scenarios when we needed to capture errors raised while running dbt ls:

When there were missing adapters: https://github.com/astronomer/astronomer-cosmos/issues/445
If using a user-defined profiles.yml that contained references to unset environment variables

As a workaround, I wonder if something like
if returncode or "Error" in stdout.replace("WarnErrorOptions", ""):

Would be acceptable because I suspect that WarnErrorOptions is going to turn up a lot

@adammarples yes, I believe this would be a valid workaround - would you like to make this contribution to Cosmos?

@adammarples yes, I believe this would be a valid workaround - would you like to make this contribution to Cosmos?

would be happy to

@tatiana https://github.com/astronomer/astronomer-cosmos/pull/692

@adammarples Since we've released the workaround in 1.2.5 and don't have a better solution now, I'm closing this ticket. Please, feel free to reopen or open a new one if you have any suggestions of how we could better handle this.

@tatiana actually I think I have a very simple workaround for this if it isn't fixed in dbt-core. We can force specific warnings to become errors for the dbt ls command and force them to return exit code 2.
For example, to raise an error for the issue that dbt-core were initially trying to fix, no nodes selected on dbt ls, we could catch that warning and turn it into an error when running ls.
dbt --warn-error-options '{"include": ["NoNodesForSelectionCriteria"]}' ls

For the issues you mentioned:

When there were missing adapters: https://github.com/astronomer/astronomer-cosmos/issues/445
If using a user-defined profiles.yml that contained references to unset environment variables

I tested 2 and it actually already returns an error code 2. I'm not sure what 1 exactly is, but it seems to be the same env_vars issue?


Access physical USB disk ?

I want t use a external USB hard drive in Ubuntu guest and I found no option in Settings->Drives
How to access physical USB hard disk in Ubuntu guest ?

You can't do this at the moment, but external drive support is in development

You can't do this at the moment, but external drive support is in development

@BluDood any news here ?

I found it, but now it hangs on start (again) 🥲

Is there anything installed on the VM's main (internal) drive?

@hannesa2 If you have found a resource or a guide that you have tried to follow there, then could you link it as well?