Close delegate resolver from RoundRobinInetAddressResolver

Motivation:
RoundRobinDnsAddressResolverGroup ultimately opens UDP ports for DNS resolution. Callers likely expect that RoundRobinDnsAddressResolverGroup#close() will close those ports, but that is not currently true (see #9212).
Modifications:
Overrode RoundRobinInetAddressResolver#close() to close the delegate name resolver, which in turn closes any UDP ports used for name resolution.
Result:
RoundRobinDnsAddressResolverGroup#close() closes UDP ports as expected. This fixes #9212.

I'm very, very open to feedback on the test for this case. I had to bend a lot of stuff to make the Channel in question visible to the test, and none of the options felt really great to me.

I threw in 12616f0 as a suggestion to relieve some (but not all) of the visibility tension in the test. I realized that even though RoundRobinInetAddressResolver isn't specifically about DNS in theory, it's used exclusively by RoundRobinDnsAddressResolverGroup in practice. With that in mind, I moved it to the resolver-dns module and made it package-private.
I can think of lots of reasons this is perhaps not the best idea (chief among them: folks may already be depending directly on RoundRobinInetAddressResolver in the wild), but wanted to throw it out as a suggestion all the same. I'm happy to drop it or move it to its own pull request if it seems controversial.

Lee’s just ship the guy for now

Am 03.06.2019 um 13:05 schrieb Jon Chambers<EMAIL_ADDRESS>@jchambers commented on this pull request.
In resolver/src/main/java/io/netty/resolver/InetSocketAddressResolver.java:

@@ -91,6 +91,10 @@ public void operationComplete(Future<List> future) throws Exception
});
}

public NameResolver nameResolver() {
I lied.

Moving the test to the resolver module means that we lose visibility on InflightNameResolver. That does have a FIXME, though:
// FIXME(trustin): Find a better name and move it to the 'resolver' module.
We could try to resolve that as part of this pull request, but that feels like a lot of added scope to me.
So to recap, I think our options are:
Do what we have here and publicize some stuff we'd rather not publicize.
Narrow the test to cover RoundRobinInetAddressResolver instead of RoundRobinDnsAddressResolverGroup and resolve the FIXME in InflightNameResolver.
Forget about the test and just ship the simple fix if we think the other two options are too costly.
What do you think?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Stripped it down to the basics. Think we're good to go.

@netty-bot test this please

@jchambers thanks a lot!

🤘


User cant copy deleted processes

Currently pasting a process that was copied and then deleted causes:

The Copy modal should not open instead.

#391


Add testing matrix to tox for Django 1.8-2.0, Wagtail 1.10-2.0, and Python 2.7 and 3.6

Per discussion last week with @chosak @higs4281 @hillaryj @richaagarwal, this PR makes significant changes to our tox.ini to add the ability to run tests on different versions of our major dependencies, Django, Wagtail, and Python.
tox now supports the following env matricies:

lint-py{27,36} to run flake8 and isort on Python source files
unittest-py{27,36}-dj{18,110}-wag{110,113}-{fast,slow}, to run Python unittests
unittest-py{36}-dj{20}-wag{20}-{fast,slow}, to run unittests on Django 2.0+
missing-migrations-py{27,36}-dj{18,110}-wag{110,113}, to check for missing migrations
acceptance-py{27,36}-dj{18,110}-wag{110,113}-fast, to run acceptance tests

In addition, our currently used envs are still supported and use the underlying settings for unittest-py27-dj18-wag110-fast as their basis:

lint
fast
missing-migrations
acceptance
validate-assets

Travis will continue running lint, fast, and missing-migrations as it has done.
When you invoke tox without a -e argument locally, it will run a simple matrix of:

lint-py27
lint-py36
unittest-py27-dj18-wag110-fast
unittest-py27-dj18-wag113-fast
unittest-py27-dj111-wag110-fast
unittest-py36-dj111-wag113-fast

To support this the requirements files are refactored to add the following files:

django.txt is our pinned version of Django
wagtail.txt is our pinned version of Wagtail
libraries.txt includes all our minor dependencies that used to be in base.txt

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the development playbook
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Browsers

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer 8, 9, 10, and 11
[ ] Edge
[ ] iOS Safari
[ ] Chrome for Android

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

Note: After the merge of the PR that adds tox-pip-enstensions and tox_pip_extensions_ext_venv_update=True, we have dependency conflicts that prevent this from running. I'm trying to work through those now.

FYI: I have resolved the awesome-slugify Unidecode dependency conflict with Wagtail by removing our dependency on awesome-slugify in https://github.com/cfpb/cfgov-refresh/pull/3894/commits/8c982e28c98f9aa0254eadc762ead0d155dabfc0. We were just using it in the agreements management commands to generate a lowercase slug. I presume this was a legacy need, but Django 1.8's slugify will generate lowercase slugs the same as awesome-slugify, so this doesn't seem necessary anymore.

I do fear for someone who errantly runs `tox'

@higs4281 I know we're going to have errors, but I feel like we should encourage folks to start matrix testing their code. Fixing the Django 1.11 and Wagtail 1.13 errors seems out of scope for this PR.
Should we make tox simply run lint-py27 and unittest-py27-dj18-wag110-fast for now and then add things back as they succeed?

add things back as we make them succeed?

That would be friendly, but I don't feel strongly either way. It's easy enough to bail from the bare tox command if you want.
I favor going forward with the matrix. Its complexity is worth the price because it moves us closer to modern code, and to a time when we won't need such an involved matrix.

I would vote to exclude the Django 1.11 and Wagtail 1.13 environments from the default tox for now if they don't already succeed. The cf.gov-backend-tests job in GHE currently runs vanilla tox and so would need to be updated to skip any non-working environments. Generally also developers new to a project or to parts of the code might reasonably expect that tox works out of the box.

Alrighty, I've modified the default tox run to behave exactly like our bare tox does currently and rebased.
Could I get a final 👍 or 👎 on this PR?
--
I would highly encourage folks to feel empowered to make their code support future versions of things by running tests they're actively working on selectively with the following envs:
tox -e lint-py27
    -e lint-py36 \
    -e unittest-py27-dj18-wag110-fast \
    -e unittest-py27-dj18-wag113-fast \
    -e unittest-py27-dj111-wag110-fast \
    -e unittest-py27-dj111-wag113-fast \
    -e unittest-py36-dj18-wag110-fast \
    -e unittest-py36-dj18-wag113-fast \
    -e unittest-py36-dj111-wag110-fast \
    -e unittest-py36-dj111-wag113-fast \
    my.great.test_case

I'll try to do what I can to make it possible for the tests to run with dj111 and wag113. Right now we're importing models too early in v1/__init__.py so everything breaks, so testing against Django 1.11 isn't even possible. And wag113 fails on a wagtail-inventory version conflict.
Right now it is possible to run this matrix without error:
tox -e lint-py27
    -e lint-py36 \
    -e unittest-py27-dj18-wag110-fast \
    -e unittest-py36-dj18-wag110-fast \
    my.great.test_case

Which at least ensures Python3-compatibility.
But in general, this will greatly help us start writing future-friendly code and reduce the burden on anyone who has to handle these upgrades in the future. Which is just best practice anyway.

:+1: Let's do it. Thanks for restoring tox.

And wag113 fails on a wagtail-inventory version conflict.

Not sure if you want to include it in this PR, but wagtail-inventory 0.4.1 supports Wagtail 1.13.

Right now it is possible to run this matrix without error

By "without error", do you mean that Python 3.6 tests actually pass, or that tox works as it should and reports the various errors?

Right now it is possible to run this matrix without error

By "without error", do you mean that Python 3.6 tests actually pass, or that tox works as it should and reports the various errors?

What I mean is it's possible to run actual test cases — with dj111 and wag113, we currently have errors that cause tox to bail before running any test cases. with py36-dj18-wag110 we can run actual test cases. The test cases themselves might (and do, if you run the full suite) fail, but it's possible to run individual tests and have them succeed.
tox -e unittest-py36-dj18-wag110-fast regulations3k will succeed on #3909, for example.
tox -e unittest-py36-dj18-wag110-fast will run all the tests, and some tests will error or fail.
tox -e unittest-py27-dj18-wag113-fast regulations3k will not run the regulations3k tests because tox will bail out before running tests on the wagtail-inventory dependency conflict.

Not sure if you want to include it in this PR, but wagtail-inventory 0.4.1 supports Wagtail 1.13.

Yup, will do. That fixes the dj18-wag113 envs, but we still have some other dependency conflicts with dj111. Fixing those will be another PR I think.

So I think the final combination of envs that it will be possible to run individual tests with are:
tox -e lint-py27
    -e lint-py36 \
    -e unittest-py27-dj18-wag110-fast \
    -e unittest-py27-dj18-wag113-fast \
    -e unittest-py36-dj18-wag110-fast \
    -e unittest-py36-dj18-wag113-fast \
    my.great.test_case

Next steps for being able to run the full matrix:

[ ] Resolve dependency version conflicts with Django 1.11
[ ] Resolve the AppRegistryNotReady error with Django 1.11 caused by model imports in v1/__init__.py and another in-code problems that prevent the test environment from running


Shader Painter

I cannot get Shader Painter to work with RealTime CSG.

I cannot get Shader Painter to work with RealTime CSG.

Hi, can you give me some more information? What do you see happening when you try to paint?

I just cannot get it to show.Even if I add a Mesh Render, which helps me create the painting material, but still can not paint on CSG model. The paint brush just does not show up.It works fine with Probuilder.


ffmpeg{_3_4,_4,-full}: updates

Motivation for this change
Commits are on top of just-submitted libaom fix PR,
since without that fix newer ffmpeg builds break.
Didn't find changelogs that weren't git commit logs, FWIW.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

(this should be rebased on top of whatever we end up merging re:libaom over in #52443)

Works for me? (not sure it matters but using git 2.20.1)
Tried using git am on patch generated with git format-patch as well as by github via this URL:
https://github.com/NixOS/nixpkgs/pull/52444/commits/f773cb2e4d82c005fc2476d914dada7f5d01f7eb.patch
However sounds like these cute arrows aren't worth the trouble, was hoping it was a solved problem by now :(.
(and they look terrible in the patch text? eep)

Ah, you are correct, I was actually seeing a bug in tig 2.2's rendering of commits in the commit list.

Okay, well glad to hear it! Dropped them anyway to be safe and potentially easier to read in whatever tooling folks prefer :+1:

@GrahamcOfBorg build ffmpeg

Good to merge, any objections/thoughts?

The darwin build seems to be failing?

Well I built ffmpeg_3_4 on Darwin myself and it built fine.
Something else I just noticed, you have ffmpeg: 4.0.2 -> 4.0.3 in the commits, but ffmpeg = ffmpeg_3 = ffmpeg_3_4 by default. ffmpeg-full however is a 4.* version, which is a bit odd.

Ruhroh, that looks like it was introduced with #52443 sorry! Investigating... :male_detective:

@GrahamcOfBorg build libaom

@GrahamcOfBorg build ffmpeg_4

Hrmm, not sure how to view (or trigger?) darwin builds-- wanted to see if bumping helped the issue...

(still the same error when building)

Thank you for testing this and for the feedback!  What's going on? Hmm..
Did aom build previously? Yes, it appears so: https://hydra.nixos.org/job/nixpkgs/trunk/libaom.x86_64-darwin (for example: https://hydra.nixos.org/build/86083792/log).
If I'm understanding this right, Borg did try building latest on Darwin... and libaom built successfully, with the failure occurring during the ffmpeg build:
[...]
LD      libavdevice/libavdevice.58.dylib
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSDictionary", referenced from:
      objc-class-ref in avfoundation.o
  "_OBJC_EHTYPE_$_NSException", referenced from:
      GCC_except_table4 in avfoundation.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffbuild/library.mak:103: libavdevice/libavdevice.58.dylib] Error 1
builder for '/nix/store/4633kfnwrbqfb6j0xd5hnj1m40g4kjm0-ffmpeg-full-4.1.drv' failed with exit code 2
error: build of '/nix/store/4633kfnwrbqfb6j0xd5hnj1m40g4kjm0-ffmpeg-full-4.1.drv' failed

And yes indeed ffmpeg_4 currently ("previously") builds on Darwin: https://hydra.nixos.org/job/nixpkgs/trunk/ffmpeg_4.x86_64-darwin (example: https://hydra.nixos.org/build/86416146).  This is expected but just checking :).
@Infinisil are you seeing the same behavior/error as Borg? And if it's not too much trouble: was the last commit (https://github.com/NixOS/nixpkgs/pull/52444/commits/d349cfee88384b4cc353dba8d1154f230520bcc4) necessary to fix libaom for you (if indeed it now builds again)?

Ah yes, seeing the same as ofborg, here's a reference of the build logs:
On 8ac99ab1f4691ed50a65258b2424d4cd0ba8ff72, libaom failing:

[ 80%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_dsp_common_ssse3/aom_subpixel_bilinear_ssse3.asm.o
[ 81%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_dsp_encoder_ssse3/fwd_txfm_ssse3_x86_64.asm.o
[ 81%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_dsp_encoder_ssse3/ssim_opt_x86_64.asm.o
[ 81%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_dsp_encoder_ssse3/quantize_ssse3_x86_64.asm.o
[ 81%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_dsp_encoder_avx/quantize_avx_x86_64.asm.o
[ 82%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_ports/emms.asm.o
[ 82%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_av1_encoder_sse2/dct_sse2.asm.o
[ 82%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_av1_encoder_sse2/error_sse2.asm.o
[ 82%] Building ASM object /tmp/nix-build-libaom-1.0.0.drv-0/aom/build/asm_objects/aom_av1_encoder_sse2/temporal_filter_apply_sse2.asm.o
Scanning dependencies of target aom
[ 82%] Building C object CMakeFiles/aom.dir/aom/src/aom_codec.c.o
[ 82%] Building C object CMakeFiles/aom.dir/config/aom_config.c.o
[ 82%] Building C object CMakeFiles/aom.dir/aom/src/aom_decoder.c.o
[ 83%] Building C object CMakeFiles/aom.dir/aom/src/aom_encoder.c.o
[ 83%] Building C object CMakeFiles/aom.dir/aom/src/aom_image.c.o
[ 83%] Building C object CMakeFiles/aom.dir/aom/src/aom_integer.c.o
[ 83%] Linking C shared library libaom.dylib
[ 83%] Built target aom
Scanning dependencies of target set_maps
Scanning dependencies of target lightfield_decoder
Scanning dependencies of target scalable_encoder
[ 83%] Building C object CMakeFiles/set_maps.dir/examples/set_maps.c.o
[ 83%] Building C object CMakeFiles/scalable_encoder.dir/examples/scalable_encoder.c.o
[ 83%] Building C object CMakeFiles/lightfield_decoder.dir/examples/lightfield_decoder.c.o
[ 84%] Linking CXX executable examples/scalable_encoder
[ 84%] Linking CXX executable examples/lightfield_decoder
[ 84%] Linking CXX executable examples/set_maps
Undefined symbols for architecture x86_64:
  "_aom_read_obu_header", referenced from:
      _obudec_read_obu_header_and_size in obudec.c.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/lightfield_decoder.dir/build.make:147: examples/lightfield_decoder] Error 1
make[1]: *** [CMakeFiles/Makefile2:6180: CMakeFiles/lightfield_decoder.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 84%] Built target scalable_encoder
[ 84%] Built target set_maps
make: *** [Makefile:130: all] Error 2
builder for '/nix/store/9s8fdm2b051j6kxx1z0ki2a5r98zn07c-libaom-1.0.0.drv' failed with exit code 2
cannot build derivation '/nix/store/9q1cd26q3kz6igknmrlr97z53dyzx1gh-ffmpeg-full-4.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/9q1cd26q3kz6igknmrlr97z53dyzx1gh-ffmpeg-full-4.1.drv' failed

On d9c1dd28027343ff8ebc145f809d42f969836e59, libaom failing:

[ 72%] Linking C shared library libaom.dylib
[ 72%] Built target aom
Scanning dependencies of target lightfield_bitstream_parsing
Scanning dependencies of target set_maps
Scanning dependencies of target scalable_encoder
Scanning dependencies of target test_aom_common
[ 72%] Building C object CMakeFiles/set_maps.dir/examples/set_maps.c.o
[ 72%] Building C object CMakeFiles/scalable_encoder.dir/examples/scalable_encoder.c.o
[ 72%] Building C object CMakeFiles/lightfield_bitstream_parsing.dir/examples/lightfield_bitstream_parsing.c.o
[ 72%] Building CXX object CMakeFiles/test_aom_common.dir/test/aom_integer_test.cc.o
/tmp/nix-build-libaom-1.0.0.errata.1.drv-0/aom/examples/lightfield_bitstream_parsing.c
:
393:31: warning
: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
  int num_tile_lists = tl_pts - pts;

      ~~~~~~~~~~~~~~   ~~~~~~~^~~~~

1
 warning
 generated.
[ 72%] Linking CXX executable examples/set_maps
[ 73%] Linking CXX executable examples/scalable_encoder
[ 73%] Linking CXX executable examples/lightfield_bitstream_parsing
Undefined symbols for architecture x86_64:
  "_aom_read_obu_header", referenced from:
      _obudec_read_obu_header_and_size in obudec.c.o
  "_aom_wb_write_literal", referenced from:
      _process_tile_list in lightfield_bitstream_parsing.c.o
  "_aom_wb_write_unsigned_literal", referenced from:
      _process_tile_list in lightfield_bitstream_parsing.c.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/lightfield_bitstream_parsing.dir/build.make:161: examples/lightfield_bitstream_parsing] Error 1
make[1]: *** [CMakeFiles/Makefile2:432: CMakeFiles/lightfield_bitstream_parsing.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 73%] Built target scalable_encoder
[ 73%] Built target set_maps
[ 74%] Building CXX object CMakeFiles/test_aom_common.dir/test/decode_test_driver.cc.o
[ 74%] Building CXX object CMakeFiles/test_aom_common.dir/test/test_vectors.cc.o
[ 74%] Built target test_aom_common
make: *** [Makefile:130: all] Error 2
builder for ‘/nix/store/szw9i81ss8a9a5fkmql8hf8cvyfhxlii-libaom-1.0.0.errata.1.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/z2h2m1fv4fdd9vyn2x3j8yq28159kz38-ffmpeg-full-4.1.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/z2h2m1fv4fdd9vyn2x3j8yq28159kz38-ffmpeg-full-4.1.drv’ failed

On d349cfee88384b4cc353dba8d1154f230520bcc4, libaom succeeding, ffmpeg-full failing:

skipping strip -x libswresample/x86/rematrix.o
CC      libswresample/x86/rematrix_init.o
X86ASM  libswresample/x86/resample.o
STRIP   libswresample/x86/resample.o
skipping strip -x libswresample/x86/resample.o
CC      libswresample/x86/resample_init.o
GEN     libswresample/libswresample.ver
LD      libswresample/libswresample.3.dylib
LD      libavcodec/libavcodec.58.dylib
LD      libavformat/libavformat.58.dylib
CC      libavresample/audio_convert.o
CC      libavresample/audio_data.o
CC      libavresample/audio_mix.o
CC      libavresample/audio_mix_matrix.o
CC      libavresample/dither.o
CC      libavresample/options.o
CC      libavresample/resample.o
CC      libavresample/utils.o
X86ASM  libavresample/x86/audio_convert.o
STRIP   libavresample/x86/audio_convert.o
skipping strip -x libavresample/x86/audio_convert.o
CC      libavresample/x86/audio_convert_init.o
X86ASM  libavresample/x86/audio_mix.o
STRIP   libavresample/x86/audio_mix.o
skipping strip -x libavresample/x86/audio_mix.o
CC      libavresample/x86/audio_mix_init.o
X86ASM  libavresample/x86/dither.o
STRIP   libavresample/x86/dither.o
skipping strip -x libavresample/x86/dither.o
CC      libavresample/x86/dither_init.o
GEN     libavresample/libavresample.ver
LD      libavresample/libavresample.4.dylib
LD      libavfilter/libavfilter.7.dylib
LD      libavdevice/libavdevice.58.dylib
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSDictionary", referenced from:
      objc-class-ref in avfoundation.o
  "_OBJC_EHTYPE_$_NSException", referenced from:
      GCC_except_table4 in avfoundation.o
ld: symbol(s) not found for architecture x86_64
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffbuild/library.mak:103: libavdevice/libavdevice.58.dylib] Error 1
builder for ‘/nix/store/4633kfnwrbqfb6j0xd5hnj1m40g4kjm0-ffmpeg-full-4.1.drv’ failed with exit code 2
error: build of ‘/nix/store/4633kfnwrbqfb6j0xd5hnj1m40g4kjm0-ffmpeg-full-4.1.drv’ failed

Darwin failure looks awfully similar to this:
https://github.com/NixOS/nixpkgs/pull/51027#issuecomment-441632673
Let's see if the same fix works here? (commit coming soon)

Well ofborg still says it failed, or am I misinterpreting something


ClassCastException on onAllMarketTickersEvent stream

I am getting a class cast exception when using the market ticker event stream.
Caused by: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.binance.api.client.domain.event.AllMarketTickersEvent

Is anyone else having this issue? Code below for reference.
mWebSocketClient.onAllMarketTickersEvent(new BinanceApiCallback<List<AllMarketTickersEvent>>() {
    @Override
    public void onResponse(List<AllMarketTickersEvent> events) throws BinanceApiException {
        Log.d(TAG, events.get(0).toString());
    }
});

I think the reason here is that Q A v q cannot be parsed as long. Maybe because of a recent update.

Yes, I am facing the same issue and it is really annoying. Pleace fix this fast!

The problem is the constructor
 public BinanceApiWebSocketListener(BinanceApiCallback<T> callback) {     this.callback = callback;     this.eventTypeReference = new TypeReference<T>() {};   }
You can't get the Typereference of the callback that way. As a quick fix change the onMessage method of the same class as follows:
@Override   public void onMessage(WebSocket webSocket, String text) {   	if (webSocket.request().url().toString().endsWith("ticker@arr"))   	{   		eventTypeReference = (TypeReference<T>) new TypeReference<List<AllMarketTickersEvent>>(){};   	} 	     ObjectMapper mapper = new ObjectMapper();     try {       T event = null;       if (eventClass == null) {         event = mapper.readValue(text, eventTypeReference);       } else {         event = mapper.readValue(text, eventClass);       }       callback.onResponse(event);     } catch (IOException e) {       throw new BinanceApiException(e);     }   }
This is only a temporary solution of course.

Hi everyone, I'm unable to reproduce this problem, please make sure you update your repository and you're using the latest version, since there were some recent updates on the websocket-based client.

For reference, I'm using Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

I think this is an issue related to the Runtime Environment. I switched to yours an it is working fine. When I am using my default which is 1.8.0_144 it is throwing errors. Could you pleace consider testing the API with newer Runtime versions?

Have the same problem, also the quick fix did not work. Will try with different version now.

Hi, I used this code;
        for (Iterator<AllMarketTickersEvent> iter = response.iterator(); iter.hasNext(); )

{
            ObjectMapper mapper = new ObjectMapper();

            AllMarketTickersEvent allMarketTickersEvent = mapper.convertValue(iter.next(), AllMarketTickersEvent.class);

}

Pull request https://github.com/binance-exchange/binance-java-api/pull/117 fixes this issue.

Still not fixed? Struggling with it 👎

This is now fixed, please update your repo.


Formatter breaks inline if/else statement different than Black when used on function argument

Hey!
I have the following snippet of code:
def my_function(argument: str | None):
    print(argument)

super_duper_very_long_variable_name = "foo"

my_function(argument=super_duper_very_long_variable_name if super_duper_very_long_variable_name else None)

Line 6 surpasses the maximum length of 88 so the line has to be broken.
black produces:
my_function(
    argument=(
        super_duper_very_long_variable_name
        if super_duper_very_long_variable_name
        else None
    )
)

ruff produces:
my_function(
    argument=super_duper_very_long_variable_name
    if super_duper_very_long_variable_name
    else None
)

I am just running ruff format this-file.py using the default settings and version 0.3.7.
I believe the black output to be more readable. I am willing to try to open a PR myself if you confirm that this is a change you'd be interested in.

I'd like to add a second example to illustrate why the current output is not very readable. In a scenario where we have a function call with many arguments:
from dataclasses import dataclass

@dataclass
class MyClass:
    attr_1: str
    attr_2: str | None
    attr_3: str

super_duper_very_long_variable_name = "foo"

c = MyClass(
    attr_1="my_value_1",
    attr_2=super_duper_very_long_variable_name
    if super_duper_very_long_variable_name
    else None,
    attr_3="my_value_3",
)

whereas black produces:
c = MyClass(
    attr_1="my_value_1",
    attr_2=(
        super_duper_very_long_variable_name
        if super_duper_very_long_variable_name
        else None
    ),
    attr_3="my_value_3",
)

Hy @kikefdezl
I agree that Black's formatting looks better in this specific case. This is a known and intentional deviation. We want to explore alternative formatting that makes long-subexpressions more readable without needing to use parentheses (which is something that Black otherwise tries very hard to avoid). See known deviation for more details.

Understood, thank you :+1:

As feedback, I'd like to say that aligning the rest of the if/else expression with keyword arguments looks confusing to me. I'd at least indent them in this specific case, was that considered as an option?


Code reuse between InputType and ObjectType

Hi!
In many cases in my schema I have a situation where InputType and ObjectType have exactly the same shape.
So right now I am forced to write it like this:
@InputType()
export class ContactInput implements IContactSchema {
  @Field({ nullable: true })
  phone: string;
  @Field({ nullable: true })
  name: string;
  @Field({ nullable: true })
  email: string;
  @Field({ nullable: true })
  id?: string;
}

@ObjectType()
export class ContactResponse implements IContactSchema {
  @Field({ nullable: true })
  phone: string;
  @Field({ nullable: true })
  name: string;
  @Field({ nullable: true })
  email: string;
  @Field({ nullable: true })
  id?: string;
}

I've tried using @InterfaceType as follows:

@InterfaceType()
export abstract class IContactResource implements IContactSchema{
  @Field({ nullable: true })
  phone: string;
  @Field({ nullable: true })
  name: string;
  @Field({ nullable: true })
  email: string;
  @Field({ nullable: true })
  id?: string;
}

@InputType()
export class ContactInput extends IContactResource {
}

@ObjectType({implements: IContactResource})
export class ContactResponse extends IContactResource {
}

But this doesn't work since it requires me to add atleast one field to input (error is: Input Object type ContactInput must define one or more fields.)
What would be a better way to handle this?
Thanks in advance!

Already discussed in #62 😉
GraphQL distinguish InputType and ObjectType for a reason.
These are different things and shouldn't be mixed together - it makes more problems than the duplication introduce.

I've reviewed that discussion, and it's quite a shame that there is no way to reuse the interface. It could be helpful in alot of cases. Right now I have about 10 large ObjectTypes that look identical to InputTypes and I'll have to duplicate their definition due to this limitation. Partial doesn't help here.

If they are identical, you can write it once:
@InputType("PersonInput")
@ObjectType("PersonType")
export class Person {
  @Field()
  name: string;

  @Field()
  dateOfBirth: Date;
}

Until the time when it will contain fields that express circular references or references to interfaces and unions, which will make Input side crash.
And please don't mix GraphQL interfaces, which are separate types existing in schema, with virtual TS interfaces and the inheritance. If you need your ObjectType match InputType to easily transfer input data to output, you can use pure interfaces:
interface IPerson {
  name: string;
  sex: SexEnum;
}

@InputType()
class PersonInput implements IPerson {
  @Field()
  name: string;

  @Field(type => SexEnum)
  sex: SexEnum;

  @Field()
  dateOfBirth: Date;
}

@ObjectType()
class Person implements IPerson {
  @Field()
  name: string;

  @Field(type => SexEnum)
  sex: SexEnum;

  @Field()
  age: number;
}

TypeGraphQL is sometimes opinionated for a reason. It's not my first project using decorators when there's discussion about code duplication as well as TypeGraphQL project arise based on experience from over a dozen months of developing GraphQL APIs in TypeScript.
It's technically possible to create virtual containers that are type (input, interface, object) agnostic just to get GQL field and TS properties types and then extend it in other classes. But as GraphQL spec puts a clear line separating input types from interfaces/object types, I won't contrive to create a inheritance workaround which will solve one problem and introduce plenty more weird bugs. Sorry 😉

I've tried combining the decorators, but got the following error:
[0] Error: Schema must contain unique named types but contains multiple
types named "ContactResponse".
This happens because I have two objects (one InputType and one ObjectType)
that have:
@Field(type => ContactResponse, { nullable: true })
So I guess in this case I am fresh out of luck?
On Thu, May 10, 2018 at 3:06 PM Michał Lytek<EMAIL_ADDRESS>wrote:

If they are identical, you can write it once:
@InputType("PersonInput")
@ObjectType("PersonType")export class Person {
@Field()
name: string;
@Field()
dateOfBirth: Date;
}
Until the time when it will contain fields that express circular
references or references to interfaces and unions, which will make Input
side crash.
And please don't mix GraphQL interfaces, which are separate types existing
in schema, with virtual TS interfaces and the inheritance. If you need your
ObjectType match InputType to easily transfer input data to output, you can
use pure interfaces:
interface IPerson {
name: string;
sex: SexEnum;
}
@InputType()class PersonInput implements IPerson {
@Field()
name: string;
@Field(type => SexEnum)
sex: SexEnum;
@Field()
dateOfBirth: Date;
}
@ObjectType()class Person implements IPerson {
@Field()
name: string;
@Field(type => SexEnum)
sex: SexEnum;
@Field()
age: number;
}
TypeGraphQL is sometimes opinionated for a reason. It's not my first
project using decorators when there's discussion about code duplication
https://github.com/typestack/routing-controllers/issues/147 as well as
TypeGraphQL project arise based on experience from over a dozen months of
developing GraphQL APIs in TypeScript.
It's technically possible to create virtual containers that are type
(input, interface, object) agnostic just to get GQL field and TS properties
types and then extend it in other classes. But as GraphQL spec puts a clear
line separating input types from interfaces/object types, I won't contrive
to create a inheritance workaround which will solve one problem and
introduce plenty more weird bugs. Sorry 😉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/19majkel94/type-graphql/issues/76#issuecomment-388034666,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGtNK33S0_YAocoi63b7amhEJV1FoIpks5txC0_gaJpZM4T5ixl
.

@InputType()
@ObjectType()
export class Person {}

By default the name of the type is the name of the class.
So in this case it would try to create both input and object type with the same Person name.
So you need to provide the name explicitly to avoid the conflict:
@InputType("PersonInput")
@ObjectType("PersonType")
export class Person {}

Amazing. Works. Thank you so much!
On Thu, May 10, 2018 at 3:15 PM Michał Lytek<EMAIL_ADDRESS>wrote:

@InputType()
@ObjectType()export class Person {}
By default the name of the type is the name of the class.
So in this case it would try to create both input and object type with the
same Person name.
So you need to provide the name explicitly to avoid the conflict:
@InputType("PersonInput")
@ObjectType("PersonType")export class Person {}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/19majkel94/type-graphql/issues/76#issuecomment-388036557,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGtNIBz75x8XO6bRaZGX21vM58sKm6Fks5txC9_gaJpZM4T5ixl
.

is that approach still recommended?

Hello,
What brought me here was a missing registerEnumType(MyEnum, { name: 'MyEnum' });.
Hope it helps.


Add support for 4.7 typescript extensions

https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#new-file-extensions

Thanks!


Need to way to get Package.md, Module.md and resources from a Project through Project API.

Description:
Currently there is no way of getting the Package.md, Module.md(s) and resources through a io.ballerina.projects.Project(parent of BuildProject or BaloProject) object. The implementations are different for each type of project if we want to get the mentioned files. If there is a way to get these mentioned files from within io.ballerina.projects.Project object then it would be satisfied.
Example requirement: https://github.com/ballerina-platform/ballerina-lang/blob/master/misc/docerina/src/main/java/org/ballerinalang/docgen/docs/BallerinaDocGenerator.java#L561-L592
Suggested fix:
Package.getAdditionalDocument(Type.Package_MD)
Steps to reproduce:
Affected Versions:
SLP6-Snapshot
OS, DB, other environment details and versions:
Mac

This is implemented


Use electron-builder to publish releases

WIth this PR electron-builder is usued to release on github, with the advantaged of improved workflow and build time.
Please wait for builds for this to be green
A Protected environmental variable called GH_TOKEN needs to be set in travis for this PR to work https://github.com/electron-userland/electron-builder/wiki/Publishing-Artifacts

example draft release https://github.com/fermiumlabs/jupyterlab_app/releases/tag/v0.0.7

@lucbouchard1


Check if an integer is greater than some value

Hello!
When dealing with floats we can do:
req.checkBody('var', 'var must be float and greater than 0.0').isFloat({ gt: 0.0 });
Is there any particular reason why it is not possible to do this with isInt()?
Thanks

Hello @icaroharry!
I couldn't reproduce your issue. Can you show an example request that fails?
I'm suspecting that if isFloat works for you, the middleware is receiving float values.

Sorry. I think I wasn't very clear about my issue.
Also, I just realized that the library already supports what I was requesting. I wanted to do a similar checking as the example I gave above, but instead of using isFloat(), I wanted to use isInt(). Something like:
req.checkBody('var', 'var must be an integer greater than 3').isFloat({ gt: 3 });
For some reason it seemed to me that it wasn't possible to do this with the library, also I didn't see this in the docs. So I realized that what I said makes no sense :P
Sorry about that.

I don't think you can compare two items and determine if one is greater using the library..

@dmaish I would love to get your input in a new issue demonstrating what you have tried.


Yolo v8 conversion model, no output during inference

Hi! I am currently trying your repo for converting a yolo v8 model (yolov8s.pt) using a Jetson Orin. I have been trying the export-det.py and then the build.py script. The model is converted but when I do inference with the produced engine I get an output always containing zeros and no detection is produced. Can you help me to understand where is the issue?
Thanks a lot
Andrea

Hi! I am currently trying your repo for converting a yolo v8 model (yolov8s.pt) using a Jetson Orin. I have been trying the export-det.py and then the build.py script. The model is converted but when I do inference with the produced engine I get an output always containing zeros and no detection is produced. Can you help me to understand where is the issue?
Thanks a lot
Andrea

Could you please show me your infer script or your onnx model?
or how could I reproduce your issue？

root@ubuntu:/YOLOv8-TensorRT# python3 export-det.py --weights yolov8s.pt --iou-thres 0.65 --conf-thres 0.25 --topk 100 --opset 11 --sim --input-shape 1 3 640 640 --device cuda:0
Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt to yolov8s.pt...
100%|██████████████████████████████████████| 21.5M/21.5M [00:04<00:00, 5.01MB/s]
YOLOv8s summary (fused): 168 layers, 11156544 parameters, 0 gradients, 28.6 GFLOPs
[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)
[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)
[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)
[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)
====== Diagnostic Run torch.onnx.export version 2.0.0a0+ec3941ad.nv23.02 =======
verbose: False, log level: Level.ERROR
======================= 0 NONE 0 NOTE 4 WARNING 0 ERROR ========================
4 WARNING were not printed due to the log level.

Simplifier failure: 'NoneType' object has no attribute 'simplify'
ONNX export success, saved as yolov8s.onnx
root@ubuntu:/YOLOv8-TensorRT# ^C
root@ubuntu:/YOLOv8-TensorRT# python3 build.py --weights yolov8s.onnx --iou-thres 0.65 --conf-thres 0.25 --topk 100 --fp16  --device cuda:0
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:375: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped
[03/01/2023-14:28:21] [TRT] [W] input "images" with shape: (1, 3, 640, 640) dtype: DataType.FLOAT
[03/01/2023-14:28:21] [TRT] [W] output "num_dets" with shape: (1, 1) dtype: DataType.INT32
[03/01/2023-14:28:21] [TRT] [W] output "bboxes" with shape: (1, 100, 4) dtype: DataType.FLOAT
[03/01/2023-14:28:21] [TRT] [W] output "scores" with shape: (1, 100) dtype: DataType.FLOAT
[03/01/2023-14:28:21] [TRT] [W] output "labels" with shape: (1, 100) dtype: DataType.INT32
[03/01/2023-14:46:25] [TRT] [W] TensorRT encountered issues when converting weights between types and that could affect accuracy.
[03/01/2023-14:46:25] [TRT] [W] If this is not the desired behavior, please modify the weights or retrain with regularization to adjust the magnitude of the weights.
[03/01/2023-14:46:25] [TRT] [W] Check verbose logs for the list of affected weights.
[03/01/2023-14:46:25] [TRT] [W] - 1 weights are affected by this issue: Detected NaN values and converted them to corresponding FP16 NaN.
[03/01/2023-14:46:25] [TRT] [W] - 59 weights are affected by this issue: Detected subnormal FP16 values.
[03/01/2023-14:46:25] [TRT] [W] Build tensorrt engine finish.
Save in /YOLOv8-TensorRT/yolov8s.engine
root@ubuntu:/YOLOv8-TensorRT# python3 infer-det.py --engine yolov8s.engine --imgs data --show --out-dir outputs --device cuda:0

The final script infer-det.py does not produce any detection results. I noticed that warning in the engine conversion:
[03/01/2023-14:46:25] [TRT] [W] - 1 weights are affected by this issue: Detected NaN values and converted them to corresponding FP16 NaN.
[03/01/2023-14:46:25] [TRT] [W] - 59 weights are affected by this issue: Detected subnormal FP16 values.

Is that an issue? I have also tried using fp32 precision, I did not get that warning but same results without detections produced. Can you help me?

root@ubuntu:/YOLOv8-TensorRT# python3 export-det.py --weights yolov8s.pt --iou-thres 0.65 --conf-thres 0.25 --topk 100 --opset 11 --sim --input-shape 1 3 640 640 --device cuda:0

Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt to yolov8s.pt...

100%|██████████████████████████████████████| 21.5M/21.5M [00:04<00:00, 5.01MB/s]

YOLOv8s summary (fused): 168 layers, 11156544 parameters, 0 gradients, 28.6 GFLOPs

[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)

[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)

[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)

[W shape_type_inference.cpp:1913] Warning: The shape inference of TRT::EfficientNMS_TRT type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function. (function UpdateReliable)

====== Diagnostic Run torch.onnx.export version 2.0.0a0+ec3941ad.nv23.02 =======

verbose: False, log level: Level.ERROR

======================= 0 NONE 0 NOTE 4 WARNING 0 ERROR ========================

4 WARNING were not printed due to the log level.

Simplifier failure: 'NoneType' object has no attribute 'simplify'

ONNX export success, saved as yolov8s.onnx

root@ubuntu:/YOLOv8-TensorRT# ^C

root@ubuntu:/YOLOv8-TensorRT# python3 build.py --weights yolov8s.onnx --iou-thres 0.65 --conf-thres 0.25 --topk 100 --fp16  --device cuda:0

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:375: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] onnx2trt_utils.cpp:403: One or more weights outside the range of INT32 was clamped

[03/01/2023-14:28:21] [TRT] [W] input "images" with shape: (1, 3, 640, 640) dtype: DataType.FLOAT

[03/01/2023-14:28:21] [TRT] [W] output "num_dets" with shape: (1, 1) dtype: DataType.INT32

[03/01/2023-14:28:21] [TRT] [W] output "bboxes" with shape: (1, 100, 4) dtype: DataType.FLOAT

[03/01/2023-14:28:21] [TRT] [W] output "scores" with shape: (1, 100) dtype: DataType.FLOAT

[03/01/2023-14:28:21] [TRT] [W] output "labels" with shape: (1, 100) dtype: DataType.INT32

[03/01/2023-14:46:25] [TRT] [W] TensorRT encountered issues when converting weights between types and that could affect accuracy.

[03/01/2023-14:46:25] [TRT] [W] If this is not the desired behavior, please modify the weights or retrain with regularization to adjust the magnitude of the weights.

[03/01/2023-14:46:25] [TRT] [W] Check verbose logs for the list of affected weights.

[03/01/2023-14:46:25] [TRT] [W] - 1 weights are affected by this issue: Detected NaN values and converted them to corresponding FP16 NaN.

[03/01/2023-14:46:25] [TRT] [W] - 59 weights are affected by this issue: Detected subnormal FP16 values.

[03/01/2023-14:46:25] [TRT] [W] Build tensorrt engine finish.

Save in /YOLOv8-TensorRT/yolov8s.engine

root@ubuntu:/YOLOv8-TensorRT# python3 infer-det.py --engine yolov8s.engine --imgs data --show --out-dir outputs --device cuda:0

The final script infer-det.py does not produce any detection results. I noticed that warning in the engine conversion:

[03/01/2023-14:46:25] [TRT] [W] - 1 weights are affected by this issue: Detected NaN values and converted them to corresponding FP16 NaN.

[03/01/2023-14:46:25] [TRT] [W] - 59 weights are affected by this issue: Detected subnormal FP16 values.

Is that an issue? I have also tried using fp32 precision, I did not get that warning but same results without detections produced. Can you help me?

Sure. May you upload your onnx?

How can I open it and paste properly here?

How can I open it and paste properly here?

You can upload to googledrive or any web drive.

I have solved it by installing onnxsim. Now the output is correct! Thanks a lot for your help!

Sorry, last issue. I was now trying to use a yolov8 model converted using tensorrt. When I do the following command:
from ultralytics import YOLO
results= YOLO('./yolov8s.engine').predict(device=0)

I get the following error:
Ultralytics YOLOv8.0.44 🚀 Python-3.8.10 torch-2.0.0a0+ec3941ad.nv23.02 CUDA:0 (Orin, 30589MiB)
Loading yolov8s.engine for TensorRT inference...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/ultralytics/ultralytics/yolo/engine/model.py", line 201, in predict
 self.predictor.setup_model(model=self.model)
File "/root/ultralytics/ultralytics/yolo/engine/predictor.py", line 221, in setup_model
 self.model = AutoBackend(model, device=device, dnn=self.args.dnn, data=self.args.data, fp16=self.args.half)
File "/root/ultralytics/ultralytics/nn/autobackend.py", line 151, in __init__
 meta = json.loads(f.read(meta_len).decode('utf-8'))  # read metadata
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 4: invalid continuation byte

Do you have any idea here?
Thanks a lot

self.model = AutoBackend(model, device=device, dnn=self.args.dnn, data=self.args.data, fp16=self.args.half)
File "/root/ultralytics/ultralytics/nn/autobackend.py", line 151, in init
meta = json.loads(f.read(meta_len).decode('utf-8'))  # read metadata

The engine this repo export can not be used in YOLO('./yolov8s.engine').predict(device=0)
It is different from which is exported by  ultralytics.
You can see infer-det.py for more information about the engine postprocess.
It is more easier than ultralytics.

Thanks a lot


Updating quotas to be more functional

the container limits we had in place in these examples has proven to be too restrictive for real world use cases. This PR relaxes some of the limits to be more flexible.
@huddlesj @JaredBurck @pabrahamsson @sabre1041

@redhat-cop/container-cop any thoughts?


Auto-Complete

Add support for auto-complete with IDs, commands, etc. similar to how Minecraft has suggestions.

This is out-of-scope for a syntax highlighter. There are other plugins available for this; see https://github.com/SPGoding/datapack-language-server


Update translations.py

Estonian translation added.

Estonian translation! Very cool. I believe, it must be et not ee.
ee is the country code, and et is the code of the Estonian language (ISO 639-1).

It works, please test: https://et.wttr.in/Moon


Screenshots Issue

I welcome submissions for screenshots to show on the master branch Readme.MD. When outdated, I will prune this issue as necessary.

This doesn't matter anymore.


Fix blank page load

🛠 Fixes Blank Page on first ever load (#35)
Closes #35
👨💻 Changes proposed

Made refactoring to code that may be causing this issue

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
In the CONTRIBUTING guide, it's stated that:

⚠ Make sure not to commit package.json or package-lock.json file

Hence I didn't commit the package.json + package-lock.json files but I installed one library: uuid, which can be installed with: npm install uuid
Also, the file client/src/app/common.js has a helper function getServerUrl() but currently cannot return url to production server. Would work on this once @Dun-sin commits the .env files
📷 Screenshots

when making changes don't put more files, this pull request says to solve and fix the issue in #35 but it also touches another aspect like formatting other parts of the code that has nothing to do with this bug so this pull request will be closed without being merged.
Here's what you should do:

make issues for all the changes you want to make
I think you should see conventional commits (here's a link)[https://blog.pradumnasaraf.co/getting-started-with-conventional-commits]
I know you did this, but just in case you forget, wait until you are assigned or allowed to work on an issue before you do.
use comments in code to explain what you are doing, I understand that you think experts are contributing but most people who contribute here including me are still beginners

thanks for contributing appreciate your time and please make those changes thank you, for additional information on what to do in pull requests, (check out this link)[https://www.youtube.com/watch?v=VClrWETvNI4]


Added Python - Load Objects to SAS

Please include answers to these questions as part of your pull request
In the GitHub webUI, use the Write tab to modify the Markdown text that is part of the pull request. For each question simply place an X inside the square brackets, [X], that represents your answer. Make sure there are no blanks inside the brackets, otherwise MarkDown doesn't render properly. Using the Preview tab while editing this form, you can see the formatted/rendered version of the message.

Q1: Confirm that you have the right to submit the code that is being contributed. Please consider the origin of your code and confirm you have the appropriate rights to make the submission subject to the Apache 2.0 license that applies to everything in this repository of custom steps. If so, follow the instructions for the Contributor Agreement (which is based on the industry-standard Developer Certificate of Origin (DCO)).

[X] Yes, I have the right to submit the contributed code on behalf of myself, my company, or any other owner of the code. I have also attached my signed copy of the DCO to this message.
[ ] No

Q2: Confirm that your contribution does not include any personally identifiable information (PII), for example, in any examples used in your README file.

[X] My contribution does NOT include PII data
[ ] My contribution includes PII data

Q3: Confirm your contribution does not include any encryption or other export-controlled technology.

[X] My contribution does NOT contain encryption or other export-controlled technology
[ ] My contribution includes encryption or other export-controlled technology

ContributorAgreement.txt

Hi @SundareshSankaran, great that you added support for writing Python lists and dicts to SAS tables by converting those structures to intermediate Pandas Dataframes and then write them to SAS tables. This greatly enhances the built-in support for writing Pandas Dataframes to SAS tables. Have some questions/remarks though, hope you don't mind.

What is the reason you use SWAT when the user has selected a CAS table as target?

In this case the user has already created a libname to point to the caslib, otherwise they wouldn't have been able to select a CAS table in the custom step UI. Therefore, you could have used SAS.df2sd(libref.tablename), and if the libref points to a caslib a CAS table would be created.  Did you run into cases where this straightforward approach didn't work?
As part of the SAS.df2df() call you can also specify dataset options. For example SAS.df2sd(myDataFrame, "caslib.table(replace=YES promote=YES)"). So using the "same syntax" as in SAS Base language.

If SAS.df2sd could be used here, then there would be no need to retrieve the session UUID, nor a need for retrieving and passing on SAS tokens, etc. All of this would done for you as part of the SAS.df2sd calls. Wouldn't this greatly simplify your code? Or did I miss something?

Hi @snlwih , thank you for this question.  A frequent gap encountered (external and internal users) is the awareness and interaction between different analytics engines (Compute and CAS).
A nice practice is if all programmers were verbose and established a connection to CAS (and assigned related caslibs) upstream.  Using SAS.df2sd is straightforward for those knowledgeable programmers and is already available.  But current practice indicates some programmers don't follow such. The swat mechanism is a convenience for such cases.
My personal view (which may or may not come true) is that with increasing awareness & comfort level with Python - Compute / CAS interaction, we may see less reliance on these data transfer mechanisms as separate steps (programmers might include them straightaway within code).


new feature: Arduino Simulator link for RTClib examples 🙂

https://wokwi.com/arduino/projects/286712672726024717
https://wokwi.com/arduino/projects/286713783510893069
https://wokwi.com/arduino/projects/286714510843052556
https://wokwi.com/arduino/projects/286719428789273101

I have added the links.
Kindly give some time, while I create permanent links for other RTCLib Arduino examples.

Many thanks
Meanwhile, if you have any feedback, kindly share.

Thanks. Looks cool. These issues are for posting problems specific to this library repo.


Getting checksum error when trying to load lc_quad dataset

I'm having issues loading the lc_quad dataset by running:
lc_quad = load_dataset("lc_quad")

which is giving me the following error:
Using custom data configuration default

Downloading and preparing dataset lc_quad/default (download: 3.69 MiB, generated: 19.77 MiB, post-processed: Unknown size, total: 23.46 MiB) to /root/.cache/huggingface/datasets/lc_quad/default/2.0.0/5a98fe174603f5dec6df07edf1c2b4d2317210d2ad61f5a393839bca4d64e5a7...

---------------------------------------------------------------------------

NonMatchingChecksumError                  Traceback (most recent call last)

<ipython-input-42-404ace83f73c> in <module>()
----> 1 lc_quad = load_dataset("lc_quad")

3 frames

/usr/local/lib/python3.7/dist-packages/datasets/utils/info_utils.py in verify_checksums(expected_checksums, recorded_checksums, verification_name)
     37     if len(bad_urls) > 0:
     38         error_msg = "Checksums didn't match" + for_verification_name + ":\n"
---> 39         raise NonMatchingChecksumError(error_msg + str(bad_urls))
     40     logger.info("All the checksums matched successfully" + for_verification_name)
     41

NonMatchingChecksumError: Checksums didn't match for dataset source files:
['https://github.com/AskNowQA/LC-QuAD2.0/archive/master.zip']

Does anyone know why this could be and how I fix it?

Hi,
I've already opened a PR with the fix. If you are in a hurry, just build the project from source and run:
datasets-cli test datasets/lc_quad --save_infos --all_configs --ignore_verifications

Ah sorry, I tried searching but couldn't find any related PR.
Thank you!


Ensure IndexEntry.label is converted to PascalCase for DeviceRef

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

Comparison is base (c011c06) 88.58% compared to head (cbdfa27) 88.58%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #77   +/-   ##
=======================================
  Coverage   88.58%   88.58%
=======================================
  Files          23       23
  Lines        1332     1332
=======================================
  Hits         1180     1180
  Misses        152      152

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


Add postgres backend

New:

Create new PostgreSQL database backend
Add docker-compose.yml file to run a local PostgreSQL server.
Add basic password and username validation

Going to merge this PR. If someone still has comments, please leave them in this PR and I will certainly look at them/fix them in a new PR.


Can you provide a script evaluate.py please ?

Hello, thanks you for your great work! It's very interesting. I would like to evaluate this model (AP per classe and mAP) like ComplexYolov4. Can you provide a script evaluate.py please?
thank you.

Hi @maudzung , I am interested in your work as well and it would be amazing if you could share the evaluation file.
Thank you

You can refer to this PR


Show library evolution in .NET DPG GA arch board meeting

Goals
The key message we want to illustrate in this meeting is that DPG APIs can be evolved.  We will show this evolution via a series of APIView diffs.
.NET Arch board issue: https://github.com/Azure/azure-sdk/issues/4237
Concrete evolutions to illustrate

[x] Initial DPG generation from original MA swagger APIView
Add credential AADToken and AzureKey
Name the client as MetricsAdvisorClient
[x] Separation into two service clients APIView
Move the operations in MetricsAdvisorAdministrationClient out of MetricsAdvisorClient
[x] Addition of models for v1 DPG GA APIView
Add all the generated models and customization models
[x] Other swagger customizations APIView
Change some Guid in signature to string (dataFeedId, feedbackId, and metricId)
Change endpoint type from string to Uri
[ ] Client-side evolutions for various operation types and method signatures (see below section)
[x] Addition of custom MA credential type APIView Line 74,75
Add customized client (convenience layer)
Add customized credential type.
[x] Service-side evolutions
Optional input is added to a method with no other parameters (APIView Lines 19-21)
Optional input is added to a method with only required parameters (APIView Lines 63-65)
Optional input is added to a method with required and optional parameters (APIView Lines 55-57)
Required input is changed to an optional input in a method with no other parameters (APIView Lines 22-23)
Required input is changed to an optional input when it is in the last position in the path parameter (APIView Lines19-20)

Client-side evolutions
We will show APIViews of DPG and DPG + Convenience for the following client-side evolutions:

[x] Basic REST call, no required parameters: ConfidentialLedger.GetConstitution

DPG methods: APIView, line 22-23.
Convenience methods: APIView, line 24-25.

[x] Basic REST call, one required parameter:

[x] From DPG to Convenience Client: ConfidentialLedger.GetReceipt

DPG methods: APIView, line 34-35
Convenience methods: APIView, line 36-37

[x] Adding protocol method to existing Convenience Client: MetricsAdvisorAdministrationClient.DeleteDataFeed APIView, lines 217-220.

[x] Basic REST call, takes only request body parameter: MetricsAdvisorAdministrationClient.CreateDataFeed APIView, lines 205-208.
[x] Basic REST call, addition of manually-written models: MetricsAdvisorAdministrationClient.CreateDataFeed APIView, line 205,207
[x] Basic REST call, takes request body parameter + one required parameter: MetricsAdvisorAdministrationClient.UpdateDataFeed APIView, line 260,262
[x] Basic REST call, ETag parameter: DeviceUpdateClient.GetOperation APIView, line 84-85
[x] Basic REST call, name changes in Convenience API:

[x] MetricsAdvisorClient.GetMetricFeedback -> GetFeedback

DPG methods: APIView, line 44-47
Convenience methods: APIView, line 26-27

[x] MetricsAdvisorAdministrationClient.GetDataFeedById -> GetDataFeed

DPG methods: APIView, line 233-234
Convenience methods: APIView, line 231-232

[X] Takes request body: MetricsAdvisorClient.CreateMetricFeedback -> AddFeedback

DPG methods: APIView, line 14-15
Convenience methods: APIView, line 12-13

[x] Paging, no required parameters: ConfidentialLedgerClient.GetCollections

DPG methods: APIView, line 16-17
Convenience methods: APIView, line 18-19

[x] Paging, many required parameters: MetricsAdvisorAdministrationClient.GetDataFeeds APIView, line 240
[x] Paging, many optional parameters: CropsClient.GetCrops

DPG Methods: APIView, line 10-11
Convenience Methods: APIView, line 12-13

[x] Paging, takes request body and only optional parameters: MetricsAdvisorClient.GetMetricFeedbacks APIView, line 46-47
[x] Paging, takes request body and one required parameter: MetricsAdvisorClient.GetMetricDimension APIView, line 36-37
[ ] LRO, no request body: DeviceUpdateClient.DeleteUpdate APIView, line 76-77

TBV: I started this here, but found some issues I've filed.

[ ] LRO, takes request body: DeviceManagementClient.ImportDevices APIView, line 65-66

Service-side evolutions
We will show APIViews of v1 and v2 for the following service-side evolutions:

<To Be Completed>

@lirenhe, we will need APIViews for the non Metrics Advisor operations.  Is this something your team can take?  I can provide instructions for creating the APIViews if you don't yet have that knowledge on your team.  Thanks!

@lirenhe, we will need APIViews for the non Metrics Advisor operations. Is this something your team can take? I can provide instructions for creating the APIViews if you don't yet have that knowledge on your team. Thanks!

Sure. I will do the assignment for those items. Thanks.

All ConfidentialLedgerClient changes are in this PR: https://github.com/Azure/azure-sdk-for-net/pull/28679
And the corresponding API view is: https://apiview.dev/Assemblies/Review/6c11d7337755493bbe6942126b633be1

LRO, no request body: DeviceUpdateClient.DeleteUpdate

LRO, takes request body: DeviceManagementClient.ImportDevices

These two items depend on issue https://github.com/Azure/autorest.csharp/issues/2212

For

Basic REST call, no required parameters: ConfidentialLedger.GetConstitution

It would be ideal if the diff did not show any deletions (GetCurrentLedgerEntry is deleted on lines 27 & 28).  Would it be possible to create this diff?

For

Paging, many optional parameters: CropsClient.GetCrops

In the grow-up methods, we should add an Options type, such as:
           public virtual Pageable<BinaryData> GetCrops(IEnumerable<string> phenotypes = null, IEnumerable<string> ids = null, IEnumerable<string> names = null, IEnumerable<string> propertyFilters = null, IEnumerable<string> statuses = null, DateTimeOffset? minCreatedDateTime = null, DateTimeOffset? maxCreatedDateTime = null, DateTimeOffset? minLastModifiedDateTime = null, DateTimeOffset? maxLastModifiedDateTime = null, int? maxPageSize = null, string skipToken = null, RequestContext context = null);
           public virtual AsyncPageable<BinaryData> GetCropsAsync(IEnumerable<string> phenotypes = null, IEnumerable<string> ids = null, IEnumerable<string> names = null, IEnumerable<string> propertyFilters = null, IEnumerable<string> statuses = null, DateTimeOffset? minCreatedDateTime = null, DateTimeOffset? maxCreatedDateTime = null, DateTimeOffset? minLastModifiedDateTime = null, DateTimeOffset? maxLastModifiedDateTime = null, int? maxPageSize = null, string skipToken = null, RequestContext context = null);
 +         public virtual Pageable<FoodCrop> GetCrops(GetCropsOptions options, CancellationToken cancellationToken = default);
 +         public virtual AsyncPageable<FoodCrop> GetCropsAsync(GetCropsOptions options, CancellationToken cancellationToken = default);

It looks like we should update https://github.com/Azure/azure-sdk-for-net/blob/main/doc/DataPlaneCodeGeneration/DeveloperDrivenEvolution.md with this guidance as well.

For

Basic REST call, ETag parameter: DeviceUpdateClient.GetOperation APIView, line 84-85

I don't see the grow-up method added for GetOperation... where should I look?

For

Service-side evolutions

These look great - thank you!  Would it be possible to add one for the case where a new body type is added?  @pshao25 should be able to tell us what method in which library has one of these (thank you in advance, @pshao25! :) )

For

Basic REST call, no required parameters: ConfidentialLedger.GetConstitution

In the APIView diff provided, GetCurrentLedgerEntry methods are deleted on lines 27 & 28.

Would it be possible to create the APIView so only the additions are shown, no deletions? This is important because we want to illustrate how we can add convenience APIs without making breaking changes to the GA API. If there are deletions, architects might think we are making breaking changes.
Update: If we could update the APIView for the full client to show additions of convenience methods, but no deletions, that would help us with ConfidentialLedgerClient.GetCollections as well.

@annelo-msft It's actually still there. The problem is that the parameter name has been changed (see the old API spec and the new one).

I have to update to use the new swagger spec (see PR), because ConfidentialLedger.GetConstitution is only available in the new swagger spec.

For

Paging, many optional parameters: CropsClient.GetCrops

In the grow-up methods, we should add an Options type, such as:
public virtual Pageable<BinaryData> GetCrops(IEnumerable<string> phenotypes = null, IEnumerable<string> ids = null, IEnumerable<string> names = null, IEnumerable<string> propertyFilters = null, IEnumerable<string> statuses = null, DateTimeOffset? minCreatedDateTime = null, DateTimeOffset? maxCreatedDateTime = null, DateTimeOffset? minLastModifiedDateTime = null, DateTimeOffset? maxLastModifiedDateTime = null, int? maxPageSize = null, string skipToken = null, RequestContext context = null);
public virtual AsyncPageable<BinaryData> GetCropsAsync(IEnumerable<string> phenotypes = null, IEnumerable<string> ids = null, IEnumerable<string> names = null, IEnumerable<string> propertyFilters = null, IEnumerable<string> statuses = null, DateTimeOffset? minCreatedDateTime = null, DateTimeOffset? maxCreatedDateTime = null, DateTimeOffset? minLastModifiedDateTime = null, DateTimeOffset? maxLastModifiedDateTime = null, int? maxPageSize = null, string skipToken = null, RequestContext context = null);
+ public virtual Pageable<FoodCrop> GetCrops(GetCropsOptions options, CancellationToken cancellationToken = default);
+ public virtual AsyncPageable<FoodCrop> GetCropsAsync(GetCropsOptions options, CancellationToken cancellationToken = default);

This will make renaming the method unnecessary.
It looks like we should update https://github.com/Azure/azure-sdk-for-net/blob/main/doc/DataPlaneCodeGeneration/DeveloperDrivenEvolution.md with this guidance as well. The guidance for Convenience APIs is here: https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-parameters. We should call out that if the number of parameters or in general the complexity of the operation makes it qualified for the guidelines for introducing an options type, we should do that.

@annelo-msft I've updated the convenience method to adopt Options class. The API view is updated. Here is the corresponding PR.

@annelo-msft I've updated the convenience method to adopt Options class. The API view is updated. Here is the https://github.com/Azure/azure-sdk-for-net/pull/28728.

Thank you, @archerzz!  The GetCropOptions type looks great.
Would you mind also updating the method names?  Now that they take different parameter types, they won't cause an ambiguous call site and can be overloads.

@pshao25, thank you for adding those APIViews with ContentType!  A couple of comments on these:

Original content type has only one option (APIView Lines 13-14)

This is great - thank you!
One comment here is that when we show this, let's make sure if people ask about why CheckPrincipalAccessAsync is deleted (2), we let them know we just haven't added that method back manually yet, but that we would in the case of a real library.

Original content type has more than one options: WebPubSub (APIView Line 62)

I don't see any methods added in the diff, can you help me understand?  Are we just showing what it would look like if the operation started by accepting two content types, and we wouldn't need to evolve the method?

@chunyu3 , @pshao25 ,  please help to put all content together in https://gist.github.com/annelo-msft/8582310e0aab5c3dfa378de2c11849bb  Thanks.

https://github.com/Azure/azure-sdk/issues/4237


0.3.1 causes crash.

Title.
https://pastebin.com/hVTnhvqC
Something about 'com/jcraft/jorbis/StaticCodeBook', whatever this is.

You'll have to post the full log (fml-client-latest.log probably). Also, did you check that it doesn't happen with <IP_ADDRESS>?

No crash with <IP_ADDRESS>.
fml-client-latest.log

Not quite sure why this happens and I couldn't reproduce it, but I pushed a commit that might fix it. Can you try it and post a log again (regardless of whether it crashes or not)?

Yep, game loads to main menu and doesn't crash.

And the log?

Nothing in the log.

Yeah, but can you post it? I need to see it myself to verify that the fix worked.

Ah, sorry then.
This is in a modpack btw, but the crash report I gave before mentions 'com/jcraft/jorbis/StaticCodeBook', which I have no clue which mod that's from.
But here's the log.
fml-client-latest.log

Dropping cpw.mods.fml.common.asm.transformers.TerminalTransformer from cache because we don't care about it anymore.

That's strange, did you change the transformersToCache config option? Your log implies that caching was turned off for all transformers.

I have no clue which mod that's from

Jorbis is a sound library vanilla comes with, the error happened while loading one of its classes, not sure why though.

Dropping cpw.mods.fml.common.asm.transformers.TerminalTransformer from cache because we don't care about it anymore.

That's strange, did you change the transformersToCache config option? Your log implies that caching was turned off for all transformers.

I have no clue which mod that's from

Jorbis is a sound library vanilla comes with, the error happened while loading one of its classes, not sure why though.

No, default config.

Oh. Okay, that message is because of a separate bug, that one's on me. It shows up every time, and nothing actually gets dropped when it gets printed.
So there's just one more thing, can you delete your coretweaks/cache/classTransformerLite.cache and re-run the game and post the log of that run? I want to see what happens when the cache first gets constructed.

No classTransformerLite.cache exists.
fml-client-latest.log

Odd, are you perhaps using the "Kill" button to close the game instead of closing it normally?

The game crashes as soon as I open it, the Back to main menu button just closes the game.

There's a crash? I thought you said

Yep, game loads to main menu and doesn't crash.

3.0.1 causes the crash, the one from the Actions tab doesn't.

Well, what I was asking is if you were closing the game properly while using the Actions build. The cache only gets saved when the game shuts down cleanly, so if you were killing it, that would explain why it's not there.

Well, what I was asking is if you were closing the game properly while using the Actions build. The cache only gets saved when the game shuts down cleanly, so if you were killing it, that would explain why it's not there.

Ah, whoops. Since the doesn't crash I can close it just fine, I didn't Task Manager kill it or anything.

Okay, try clicking the "Quit Game" button on the main menu and see if the cache file appears.

OH. Huh... Now it created the file...
fml-client-latest.log

There we go, I'm guessing you were pressing Prism's "Kill" button without realizing.
Anyway, I looked at your logs again and noticed something... You switched modpacks after the first log! The first one was in an instance called "1.7.10", and the second one was in "LOTR The Forgotten Ages", with a different set of mods. So the results are inconclusive. The crash most likely disappeared because you switched modpacks, not because you updated CoreTweaks.
I need you to test the Actions build in the "1.7.10" pack, where the crash happened, and send me a log of the run. (And sorry for asking for so many logs, but since I can't reproduce the issue, it's the only way I have of troubleshooting it.)

I meant test the Actions build (0.3.1-3-g3f1a035), we already know 0.3.1 crashes.
And yeah, I was testing in production with Dynamic Surroundings + Sound Filters + Aether II, but no dice.

Well, the builds you did somehow work, so.

Again, I asked you to post a log.

Already did, https://github.com/makamys/CoreTweaks/issues/19#issuecomment-1778184867

I mean a log with 0.3.1-3-g3f1a035 in the "1.7.10" instance where the crash in the first post happened.

Ah, whoops.
fml-client-latest.log

That looks fine, now I just need a log after deleting classTransformerLite.cache (In the same instance with the same mods)

fml-client-latest.log

Thanks, that should be the last one I'll need.
I managed to reproduce it now in dev with no other mods by a stroke of luck, but it's very rare. I also found a way to consistently cause it to happen with development tools.
It's a race condition that happens when the thread gets interrupted while a diff is being generated. In your case this happened on the sound command thread. Since it's a rare issue, simply quietly ignoring the error and trying again on the next run is a valid solution, which I just implemented.

How to reproduce it

Disable music
Add the following breakpoints:

Thread#interrupt
CommandThread#run, line 112 (soundSystem.CommandQueue( null );)
Channels$ReadableByteChannelImpl#read, line 385 (bytesRead = in.read(buf, 0, bytesToRead);), with the following condition: !Thread.currentThread().getName().contains("Client")

Disable all breakpoints and launch the game
Once you're on the main menu, enable breakpoints
Click a button
You will hit the interrupt breakpoint on the main thread, continue that thread
You will hit the CommandThread breakpoint on the command thread, continue that thread
You will hit the Channels breakpoint on the command thread, continue the main thread
Disable all breakpoints and continue the game

Sorry for the confusion, didn't know which log files you needed before.

I find that highly unlikely, are you sure this only happens with CoreTweaks?

Apparently LUMINA (a FalsePattern mod) is the issue. 'fix_heightmap_range' has to be disabled (ometimes it causes this or just crashes).

I see, I also get a crash with it. I'll just make my mixin get disabled if LUMINA is detected, since I assume it's unnecessary anyway, being another lighting fix.

Apparently TCLPrject's Particle Distance Increaser mod is what causes the invisible world issue. So that's figured out.

I can't find a mod by that name, do you mean Entity Render Distance Extender?

https://www.curseforge.com/minecraft/mc-mods/increase-particle-distance


PlaybackSeekDataProvider can not seek to zero

Hi.
Our application use PlaybackSeekDataProvider for a seek function, but we cannot seek to position only zero.
Furthermore, sample application that made by Google (android.support.v17.leanback.supportleanbackshowcase) also occurred this error.
This error reproduce way is followings:

Play video.
Seek to zero.
Seek failed, and back before setting the position.

However, The error log on the Logcat is not displayed.
Could you tell us correct way to fix this error.

You're welcome @benbaxter!
I'm looking forward to be released it!
Thank you for good work.


Address validity

Is there are any way to check address validity?
Something like

public static bool IsValid(string address){
....
}

Bech32.IsValid() will give you true or false but it uses Bech32.Bech32Decode(...) which is not perfect yet (see #16)
@nothingalike Might be a good ExtensionMethod for string and/or Address...

yes, looks like
            var isValid =
                Bech32.IsValid(
                    "addr1qyjwch0yyszpgs9l68dn9yjmh2gee8xqvn7mthtrc7fl5p9gfjjjak6t0cutp4mg0wagzdmsn8wlvqq428u44dqyysgsxtw3jk");
            Assert.True(isValid);

Is failing on valid address
https://explorer.cardano.org/en/address?address=addr1qyjwch0yyszpgs9l68dn9yjmh2gee8xqvn7mthtrc7fl5p9gfjjjak6t0cutp4mg0wagzdmsn8wlvqq428u44dqyysgsxtw3jk

sounds good. Ill prioritize bech32 issues.

Is failing on valid addresses

@nothingalike  I bet this is the length.. cardano allows addresses longer than specified in BIP32... could be wrong

@avolkov-dev main has been updated, nuget package 0.2.2
thank you for your issue!

Thanks a lot :-)


State changes in end fail with React warning

Describe the bug
If there are any state (via useState) changes in end callback of useDrag they throw a React warning if draggable element gets hidden as result of drop.
To Reproduce
This requires quite a specific setup to reproduce:

draggable elements are visible when dragging starts (obviously), but get hidden as a result of drop on droppable
draggable elements have end callback in useDrag that modifies their state
the first time draggable is dropped a React warning is thrown:

I created a fairly minimal test case here:
https://codesandbox.io/embed/festive-resonance-ftyd1
Just drag the element, drop it on drop target and look at console for the error.
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
    in Draggable (created by App)

Expected behavior
If draggable component gets removed/unmounted as result of drop, end callback should not be called (or should not cause react warnings).
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome, Firefox
Version react-dnd 8.0.3

Additional context
Add any other context about the problem here.

Interesting - a workaround you could do would be to fire dragstart/dragend events up the chain to a parent component that manages that state.

I think I like this approach best: https://codesandbox.io/embed/elastic-lake-nnvmx
Instead of conditionally rendering your draggable, render it, but pass the show state into it. If the show state is false, it will render out null.

I think to a certain degree, this issue intersects with the boundaries of React hooks. We could look into trying to the publication order of events, but that could be really brittle. I think a workaround is your best bet in the short term

@darthtrevino Thanks for feedback.
I ended up using workaround like that:
  let isRendered = true;
  useEffect(() => {
    isRendered = true;
    return () => {
      isRendered = false;
    };
  });

  const [{ isDragging }, drag, preview] = useDrag({
    item: options.item,
    begin: () => {
      setIsGrabbing(true);
    },
    end: () => {
      if (isRendered) {
        setIsGrabbing(false);
      }
    }
  });

This at least keeps the workaround enclosed with useDrag, so I can extract it as my own hook (although it is similar in functionality to the deprecated isMounted from React, so I'm aware it may not be the best pattern to use)
But I'll give your show state a try. Not sure how well it will work in our use case (that is a bit more complicated then the test case I provided).


Transfer ownership to keep the Project up to date

Stickyfill is stil quite popular, but development is not taking place any more. I would greatly appreciate if the owner (@wilddeer) would transfer the ownership to someone else (or at least add a note that the project is not maintained any more with a link to the most recent fork - @niksy seems to have done the most work so far).

I just saw that the 2.0 branch is under active development, so I'll close this issue.


Raising errors on missing label translations?

By default, Simple Form will fall back to default human_attribute_name from Rails when no other translation is found for form labels.
I'm using config.action_view.raise_on_missing_translations = true in development to be notified of any missing translations as soon as possible.
However, this setting doesn't work with Simple Form labels because it falls back to Rails' human_attribute_name, which makes sense for most attribute names, I guess.
As far as I can tell from the code it's not possible, to skip the human_attribute_name lookup to raise an exception instead.
Is there any other way or, if not, would you be open to a patch for that?

I just found https://github.com/rails/rails/issues/6489 from 2012 and now think it makes more sense to handle this in Rails if possible, instead of Simple Form, so I will close this issue here :sparkles:


Dynamic content

Hi, still me.
I know it would require some major modifications, but is support for dynamic content planned to be implemented?
The code contains scripts like:
var Tooltips = document.querySelectorAll('[data-toggle=tooltip]'), i = 0, tpl = Tooltips.length;
for (i;i<tpl;i++){
    var item = Tooltips[i], options = {};
    options.animation = item.getAttribute('data-animation');
    options.placement = item.getAttribute('data-placement');
    options.duration = item.getAttribute('data-duration');
    options.delay = item.getAttribute('data-delay');
    new Tooltip(item,options);
}

The problem with that is that it will not work with dinamically added content (which many sites use).
There are already some events attached to document, such as in:
document.addEventListener('click', this.close, false);

There should be only one event handler for clicks, attached to the document, so that it can work with dynamic content as well.
Although the code would need to be modified in different places, it should not be a big problem per se.
The problem is when there is a FOR cycle like the one I quoted before (which, of course, could not be done), but there should be some kind of work-around for each specific case.
Thank you very much in advance!

It has been discussed before, this cannot work.

In my case, thouhg, I have to edit the content of the page using innerHTML (because I use templates).
Is there any workaround to make it work in this case?

There is no workaround, there's only the hard way, re-init the functions you need via
new Tooltip('selector');

and you are fine.

Just in case someone wants to check it out too:
https://github.com/Aspie96/bootstrap.native.dynamic

@Aspie96 You're lib is really cool, thanks ! I had typically the problem of generating tabs dynamically and I did find any options to run them properly at runtime. This work properly without any modification of my code.

Thank you, mate!
As for the reasons NOT to use my library, read this:
https://github.com/thednp/bootstrap.native/issues/102#issuecomment-274920136
I am not suggesting that you should not use it, of course (I shared it precisely so that you could use it), but I am saying that you should check that out first.

What do you mean, it renders the page slower ?

No, but the JavaScript runtime is much slower, and gets even slower the more elements you append to the document, a quick info on that here (I hope I didn't missclick the link)

Still, I am using my version on my own website and it works perfectly (and, of course, many many people use jQuery or other libraries), so it might be a completely fine solution from what you wanna do.


bootique-cayenne-test: Derby schema generation requires quotations

Derby would uppercase all names if they are not quoted. bootique-jdbc-test always quotes its identifiers, so for consistency we must tweak Cayenne to use quotation marks during schema generation no matter whether it is on or off in the original project.

Per https://github.com/bootique/bootique-jdbc/issues/28 Cayenne can now control quotation behavior for all operations executed via bootique-jdbc-test test API. So let's force all test Table objects to use quotation strategy from Cayenne DataMap.


Unable to connect with ssh

I followed the tutorial and I tried to enable ssh for my container app. I got this error

When I run locally my image, I am able to ssh into.
sudo docker run -p 2222:2222 --cap-add=NET_ADMIN --device /dev/net/tun test-azure &
ssh<EMAIL_ADDRESS>-p 2222
There is my Docker file
`FROM node:12-slim
WORKDIR /usr/src/app
RUN apt-get update
RUN apt-get install -y openvpn
COPY dist/index.js ./
COPY openvpn/. /etc/openvpn/
ENV SSH_PASSWD "root:my_passwd"
RUN apt-get update
&& apt-get install -y  dialog
&& apt-get update
&& apt-get install -y  openssh-server
&& echo "$SSH_PASSWD" | chpasswd
COPY sshd_config /etc/ssh/
COPY init.sh /usr/local/bin/
EXPOSE 80 2222
RUN chmod u+x /usr/local/bin/init.sh
ENTRYPOINT ["init.sh"]`
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f970943e-c7b4-919c-65ea-6ba20831e74d
Version Independent ID: 90c5dd06-ea6d-7af8-f88c-9d189e9ceef2
Content: Tutorial: Build and run a custom image - Azure App Service
Content Source: articles/app-service/containers/tutorial-custom-docker-image.md
Service: app-service
GitHub Login: @msangapu-msft
Microsoft Alias: msangapu

@MTA1711 - Thanks for brining this to our attention. We will investigate it further and update you shortly.

@MTA1711 Hi--I assume that the web app is running fine on App Service after deployment, correct? Have you been able to get SSH to work using the exact sample that's used in the article? I see that your Dockerfile is using Node.js? I just want to eliminate as many variables as possible first.

@MTA1711 apologies for the inconvenience this issue may have caused. We would like to do a deeper investigation of this issue. You can send me an email with the subject as "ATTN: Grace" at<EMAIL_ADDRESS>and provide me with your SubscriptionID and link to this thread so we can then enable your subscription for one time free support.
We will close this out for now, but if you feel you need more information please just let us know. Thanks!


Question in code/model/trainer.py

Hi, I read your paper and codes and there is a confusion.
in trainer.py, What does ”new_scores = test_scores + beam_probs“ mean?
Why not use 'test_scores' or 'beam_probs' directly?
Thanks~
https://github.com/shehzaadzd/MINERVA/blob/f7060812b26f9c454ac9968520a6124f1be5e644/code/model/trainer.py#L338

Hey,
In a step of the beam search, beam_probs holds the scores for the elements in the current beam head. test_scores has the scores of the next elements. So when the next elements are added to the beam, the new_scores hold these scores. You can notice that at the end of the loop that beam_probs is set to the scores of the next chosen elements. https://github.com/shehzaadzd/MINERVA/blob/f7060812b26f9c454ac9968520a6124f1be5e644/code/model/trainer.py#L357


dart [nfc]: Replace else-if's with switch.

The first commit preps for later changes to add more narrows (#807). Using switch gives us the benefit of exhaustive match checks.
narrow is refactored to become private because otherwise switch is not able to promote the type of it.
https://dart.dev/tools/non-promotion-reasons#private
The remaining commits are follow-ups to sweep the remaining TODO(dart-3) items throughout the code base.

Hmm, not sure why dart doesn't promote the type when pattern matching a record. This seems like a bug.
https://github.com/zulip/zulip-flutter/blob/51e01f416a06be746f03292f41a34bb109a8b914/lib/model/message_list.dart#L281-L288

Hmm, not sure why dart doesn't promote the type when pattern matching a record. This seems like a bug.

Yeah, not sure. Did you run into that in a new context, or only in the context illustrated by that comment?

A minimal, reproducible example:
class Foo {}

class FooA extends Foo {}

class FooB extends Foo {}

void funA(FooA first, FooA second) {}
void funB(FooB first, FooB second) {}

void demo(Foo first, Foo second) {
  switch ((first, second)) {
    case ((FooA(), FooA())):
      // The argument type 'Foo' can't be assigned to the parameter type 'FooA'
      funA(first, second);
    case ((FooB(), FooB())):
      // The argument type 'Foo' can't be assigned to the parameter type 'FooB'
      funB(first, second);
  }
}

void demoB(Foo first, Foo second) {
  final record = (first, second);
  switch (record) {
    case ((FooA(), FooA())):
      funA(record.$1, record.$2); // OK
    case ((FooB(), FooB())):
      funB(record.$1, record.$2); // OK
  }
}

I will check dart-lang/sdk's issues and see if I need to report this to them.

Updated the PR.


Handling of RTE files; --update-rte no longer default for cbuild setup

The Problem To Be Solved
cbuild has two modes:

IDE:  cbuild setup *.csolution.yml
CI/Build: cbuild *.csolution.yml

In both modes, it is possible that:

Files in the RTE folder are missing (as the repo does not contain it).
Files in the RTE folder are outdated, as there are newer packs installed.

The user should be notified about these situations.

Suggestions
Add messages:
//----- missing files
// when config files are missing
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - error csolution: file './RTE/CMSIS/RTX_Config.h.' not found; use --update-rte

// when .base files are missing
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - warning csolution: file './RTE/CMSIS/RTX_Config.h.base.' not found; base version unknown

//----- new files in packs
// when only patch version differs
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - warning csolution: file './RTE/CMSIS/RTX_Config.h.' update suggested as newer packs are installed; use --update-rte

// when minor version differs
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - warning csolution: file './RTE/CMSIS/RTX_Config.h.' update recommended as newer packs are installed; use --update-rte

// when major version differs
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - error csolution: file './RTE/CMSIS/RTX_Config.h.' update required as newer packs are installed; use --update-rte

If possible, the line reference should locate the component that these RTE files belong to.
Add information to cbuild.yml file
To show status of RTE files in a IDE project outline window, the Build Information Files should be extended with:

status under file: of a component
potentially warning or error status in cbuild-idx.yml.

--update-rte no longer default for cbuild setup
In CMSIS-Toolbox 2.5, cbuild setup has --update-rte set by default. This should be removed.
cbuild setup with option --update-rte should be called by the IDE when:

component selection is changed by the user
an explicit update for the RTE files is requested by the user

Daniel was referring to the use --update-rte at the end of your proposed messages:
C:/w/csolution-examples/Hello/Hello.cproject.yml:14:17 - warning csolution: file './RTE/CMSIS/RTX_Config.h.' update suggested as newer packs are installed; use --update-rte

Unless I am specifying --update-rte the RTE folder content remains unchanged

I can confirm this.
Even if it was agreed differently in https://github.com/Open-CMSIS-Pack/devtools/issues/1265 this is the current default behaviour which is also aligned with the documentation:
https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/2.5.0/docs/build-operation.md#details-of-the-setup-mode

works as expected


optional python support, splitting config()

I know there are a couple of issues, but wanted feedback on this:

Not sure about where to put this code

        if "zlib" in self.requires:
            if not self.options.header_only:
                self.options["zlib"].shared = self.options.shared
        if "bzip2" in self.requires:
            if not self.options.header_only:
                self.options["bzip2"].shared = self.options.shared

I've put it in config_options(), but it may go in configure() if it has to force the values AFTER the user options, thus overwriting user options.

The python path is hardcoded for Windows. It shouldn't fail in CI, because it is optional, and false by default, and only affects the test, not the library.

Yes, I think the configure method is the right place.
About the CI:

Travis is failing with 5.3 because of the lack of a library for cross compilation (nightmare of downgrading the 5.4)
But in appveyor is failing the findBoost, I don't understand why. Please make the PR to release/1.60.0 branch and see what happens

Please, change IF(CONANINFO_FILE MATCHES "shared=False") in findBoost.cmake to:
IF(CONANINFO_FILE MATCHES "Boost:shared=False") and push again, it should fix all the appveyor broken things.


Set id, exponentially backoff

1.Set id. Allow to manually assign id to job and check if it already exist at save.
usage:
job = jobs.create(type, data, id)
job.save()
if job with same id already exist, job.save callback will be called with error "job already exist"
2. Exponentially backoff. Allow to delay attempts with given multiplier.
usage:
job = jobs.create(type,data)
job.backoff(rate,custom_delay,attempts)
job.save()

This way of specifying the ID of a job is great, I want to do the same but not with an integer but a hash, is there a way to do it at the moment?
This PR is great, would love to see something like this merged.


java.lang.IndexOutOfBoundsException ArrayList.java:437

Version of react-native-iap
3.5.9
Version of react-native
0.61.2
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
No error
Actual behavior
In bugsnag this error got reported
java.lang.IndexOutOfBoundsException

ArrayList.java:437 java.util.ArrayList.get
RNIapModule.java:517 com.dooboolab.RNIap.RNIapModule.onPurchasesUpdated
RNIapModule.java:544 com.dooboolab.RNIap.RNIapModule$11.run
RNIapModule.java:103 com.dooboolab.RNIap.RNIapModule$2.onBillingSetupFinished
BillingClientImpl.java:1521 com.android.billingclient.api.BillingClientImpl$BillingServiceConnection$1.run
Handler.java:907 android.os.Handler.handleCallback
Handler.java:105 android.os.Handler.dispatchMessage
Looper.java:216 android.os.Looper.loop
ActivityThread.java:7593 android.app.ActivityThread.main
Method.java:-2 java.lang.reflect.Method.invoke
RuntimeInit.java:524 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run
ZygoteInit.java:987 com.android.internal.os.ZygoteInit.main

Tested environment (Emulator? Real Device?)
Real device (Huawei P Smart)
Steps to reproduce the behavior
Have not managed to do reproduce yet
Looks like it's coming from here:
https://github.com/dooboolab/react-native-iap/blob/1ab8be027af680f21d69a692f34d4d7bf15f958e/android/src/main/java/com/dooboolab/RNIap/RNIapModule.java#L517
Maybe need to add a check if purchases is not empty along with purchases != null check and reject if it is empty?

I'm now able to reproduce it. It happens when app is started, but only some times. Other times it succeeds, so it's 50/50. Even if I comment out all calls to RNIap it crashes

@mifi Thank you for the issue. Can you try our recent version which is 4.0.3? I've bumped up the version however, this isn't breaking updates. I've had removed deprecated methods and organize a code base. If I remember correctly, I've also fixed code on onBillingSetupFinished which resolve wrong promises. I hope you can test if updating can fix your problem.

Sorry for the horribly slow reploy. I was never able to reproduce the problem so I cannot test if your fix is working. But I'm glad you looked into this.