Disable win32 input mode on exit

When ConPTY exits it should attempt to restore the state as it was
before it started. This is particularly important for the win32
input mode sequences, as Linux shells don't know what to do with it.
Related to #16343
Validation Steps Performed

Replace conhost with this
Launch a Win32 application inside WSL
Exit that application
Shell prompt doesn't get filled with win32 input mode sequences ✅

I believe that's possible. For instance, if you run ConPTY inside ConPTY right? I was unsure how to solve that issue, but felt like that doing nothing is worse, as it breaks shell input in WSL instantly.
But I just realized that if we encounter a \033[?9001l sequence to disable win32-input-mode inside ConPTY, we should simply not bubble it up, but only disable it locally (i.e., for the output of this particular ConPTY instance only). That would make it work correctly, right?

you start off with win32-input mode enabled, you initiate a conpty session which enables it again, but when the conpty session ends we're now disabling it

I think this is pretty similar to "I need DECKPAM but I need to spawn an application that might reset it." Applications that host other applications and need specific input modes are, unfortunately, at the mercy of the applications they host. :/

I was unsure how to solve that issue, but felt like that doing nothing is worse, as it breaks shell input in WSL instantly.

Absolutely. Even if that is all that it fixes, I'd be happy with this PR. It would be great if we could also restore the win32-input when it was actually wanted, but it wouldn't be the end of the world if we can't.

But I just realized that if we encounter a \033[?9001l sequence to disable win32-input-mode inside ConPTY, we should simply not bubble it up, but only disable it locally (i.e., for the output of this particular ConPTY instance only). That would make it work correctly, right?

I honestly don't have a great understanding of what's going on when we're nesting conpty instances like this, but that sounds right to me.

@j4james I tried to draw up a diagram, as I was having trouble understanding it myself. Here's what terror I came up with.

All this aside, this collection of PRs (mainly #16407) doesn't fix the deadlock when run under Terminal Stable. Here's my proposal...

What if we move this down here? It should only serve to improve the DSR-CPR startup exchange.

All this aside, this collection of PRs (mainly #16407) doesn't fix the deadlock when run under Terminal Stable. Here's my proposal...

@DHowett For this to be of any benefit, your proposed fix would assumedly have to make its way into the inbox conhost before Terminal Stable gets the #16407 fix. Am I understanding that correctly?
If that's a likely scenario, then it probably is worth doing. The only downside I can see is if the CPR response is slow, it might be possible that some keypresses arrive in VT format before win32-input mode kicks in. But that doesn't seem like a massive issue, assuming it's even possible at all.


Slave-side key presses are not registered by master side

Current situation:
Left and right board soldered diodes + reset + TRRS + socketed Pro Micro.
Both sides have a Pro Micro flashed with default firmware (cooked by 'https://config.qmk.fm')
Both the left and right side work by themselves, all keys are working.
When testing for continuity (USB disconnected) and TRRS connected, the 'data' pin of the left Pro Micro is connected to the right Pro Micro 'data' pin. VSS and GND are also showing continuity.
So currently I suspect the firmware to not recognize that it should act as 'slave'.
Any suggestions/pointers are very much appreciated at this point.

For my master/slave boards with Pro Micro I had to add the following define into config.h:
#define SPLIT_USB_DETECT
This solved the issue of the master not receiving slave key presses since the slave side did not recognize itself correctly as slave.

From your other issue #2, it seems you are running a much earlier version of QMK. The split is defined in info.json, which is likely not read correctly by a much earlier version of QMK.

I'll create a test keymap with a keymap.c in the morning. The default keymap.json creates a simple keymap.c in the .build directory, but an explicit test and example is better.

Same here, will do a run with and without that define to see if the issue is reproducible now with the new QMK firmware.

I have removed/added my fork as well as my installation of QMK so I am now on the latest version QMK Firmware 0.16.7.
I tested as follows:

Compile my custom keymap for Hillside, test left-side and right-side
Add #define SPLIT_USB_DETECT to my config.h, compile and test left/right side

Only with 2) am I able to get key presses registered from the slave side.
Note: you can find my hillside keymap here: github.com/jurgen-kluft/qmk-keyboards/hillside

Your keymap is a tad complex, though worthy of further study. I believe SPLIT_USB_DETECT is old and no longer needed. Turning it on or off did not seem to affect the below keymap.
Here is a simple .c based default that I'll create a PR for in a bit. It builds cleanly with 0.16.7. It includes a commented out line in config.h to set MASTER_RIGHT. I have it in 0_1/keymaps/, but it seems to work fine in keymaps/. As is it works fine with left connected. With the MASTER_RIGHT uncommented it works fine with right connected.
default_dot_c.zip
Let me know if this default_doc_c works for you. What stood out to me in yours was the KYRIA_TO_HILLSIDE_LAYOUT mapping.
(My in-process design avoids this left right nonsense with a diode. Something I need to change on this PCB.)

From the conversation I had with Drasha, he mentions this "because a lot of the newer pro micro clones don't properly detect vbus levels". That means that indeed the slave will presume that it is master and that is exactly what I am seeing. So it is a hardware dependency, if you have these kind of Pro Micros you might need to define SPLIT_USB_DETECT.
https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-configuration-options
In what way did this stand out to you? What stood out to me in yours was the KYRIA_TO_HILLSIDE_LAYOUT mapping.

Drasha knows far far more than I do, but the board has fixed master behavior. It is master left, as I understand and designed, unless it is told in config to be right. So I'm not sure how a clone hardware issue could confuse that.
On the mapping, just that that looked like an extra layer of complexity that would be easy to get wrong. Though unlikely to make one side not work. So not really an issue for this problem.

Ahh, well it is fixed based on config defaults for the board. If the keymap changes those defaults, then that no longer holds.

Yes I understand that, but to get back to basics, when I use the default hillside keymap my slave side doesn't work. Then adding SPLIT_USB_DETECT to the default keymap fixes it.
You can clearly see in the QMK code that SPLIT_USB_DETECT will identify master by actual USB activity and not by reading vbus.

Oh,  I thought it did work with the default, but not with your keymap.
What about with the default_dot_c keymap folder, if you set MASTER_RIGHT in config.h?
And alternatively explicitly MASTER_LEFT?
If it is a hardware issue, I'm not sure of a solution beyond explicit config, or new hardware.

I'm assuming the code and hardware should be able to distinguish between noise vs data in from USB or TRRS and decide based on fixed master assignment what it should then do.

Did not mean to close it, fumble fingered.

I am sure this is not a hardware issue, for me the only suggestion I can give at this moment is for you to add a note in your documentation about this so that people using Pro Micro MCU's can avoid this specific issue.
I will test the zip that you posted and use MASTER_RIGHT although I am sure that this also will work. However this makes it more involved and risky as a user to flash the firmware correctly since you have to do a 'compile/flash/change/compile/flash'.
In your documentation I suggest you add the comment to enable/add SPLIT_USB_DETECT to their own config.h when they use Pro Micro MCU's.

Huh. You flash the same firmware to both sides. You do have to pick which side you want the cable to go on though.
I'll get a pair of Pro-micros to test. But you mentioned bad clones. If the issue is bad clones, that is separate.
In any case, I'll add some trouble shooting notes. Thanks for the feedback and sorry it did not work quite right with your boards.

Thanks Michael, to be honest the board is great, like the minimal feel and the low profile. So I should be the one thanking you for putting in the design work, the detailed documentation and making it open-source.
Thank you !
Note: Drashna directed me to read this article if I was interested in the details (and trouble) on how the split code is determining master/slave.
https://medium.com/@keebio/the-case-of-the-wayward-elite-c-73f0fd691f88#3bf5

Thanks! Creating it scratched an itch and having other people actually use it is really awesome. I have a version in the works that uses a diode in the key matrix on one side to know which side is which, and which has a slight ring and pinky finger splay. Once that is out I'll update this version with the same handedness detection. Hopefully one of all these works out for you.
I'll read up on that article. Thanks. I do remember a while ago reading about voltage levels detection and what not.


French translation

Adding French translations.
I tried to translate everything the best way, even used French translations from the desktop app as an inspiration. Some translations may not be perfect, especially for technical stuff, but I will try to think about how to improve them in desktop and mobile app when I will use them in the future.

:+1:


Value of cluster

little bug ?

Just use the available information to ask OSM http://www.openstreetmap.org/search?query=Château+Croque+Michotte#map=19/44.92499/-0.18328

Yeah right, you're lucky the issue is obvious this time. It's not always the case and I don't have enough time to spend in looking/figuring out what the issue is. So I ask first, sorry.
Anyway, when I look for that position on the theme I don't see the same thing:
https://www.cartes.xyz/t/9d2b70-Cartographions_les_vignes_et_chateaux_bio_naturels_#position/19/44.92510841697855/-0.18291056156158447

@GuillaumeAmat, I couldn't reproduce either. Same result as you on Iron. Nothing but the loading icon on FF (Windows and Android 6) and Safari (Android 6). Other xyz pages work.

no it seem ok now, i don't understand !! i closed

I think that issue was related to another bug you sent me by email lately. It's fixed since the 1.4.0 version.


Fix weather disable not working

During AGS v2 migration, this seems to have been missed, so the weather widget would always display, no matter the value of the setting
Closes #578

Thanks! :heart:


NativeLibraryLoader throws exception on .NET 6 Mac Monterey application

When trying to build a create a window in a .NET 6 on a Mac Pro M1 with OS Monterey (12.4) the following exception is thrown.
System.TypeInitializationException: The type initializer for 'Veldrid.Sdl2.Sdl2Native' threw an exception.
 ---> System.IO.FileNotFoundException: Could not find or load the native library from any name: [ libsdl2.dylib ]
   at NativeLibraryLoader.LibraryLoader.LoadNativeLibrary(String[] names, PathResolver pathResolver)
   at NativeLibraryLoader.NativeLibrary..ctor(String[] names, LibraryLoader loader, PathResolver pathResolver)
   at NativeLibraryLoader.NativeLibrary..ctor(String[] names)
   at Veldrid.Sdl2.Sdl2Native.LoadSdl2()
   at Veldrid.Sdl2.Sdl2Native..cctor()
   --- End of inner exception stack trace ---
   at Veldrid.Sdl2.Sdl2Native.SDL_SetHint(String name, String value)
   at Veldrid.Sdl2.Sdl2Window..ctor(String title, Int32 x, Int32 y, Int32 width, Int32 height, SDL_WindowFlags flags, Boolean threadedProcessing)
   at Veldrid.StartupUtilities.VeldridStartup.CreateWindow(WindowCreateInfo& windowCI)
   at Veldrid.StartupUtilities.VeldridStartup.CreateWindow(WindowCreateInfo windowCI)

It's weird because the libsdl2.dylib is there, but it does not seem able to load it. Happens either with x64 or Any CPU.

When trying to build a create a window in a .NET 6 on a Mac Pro M1 with OS Monterey (12.4) the following exception is thrown.
System.TypeInitializationException: The type initializer for 'Veldrid.Sdl2.Sdl2Native' threw an exception.
 ---> System.IO.FileNotFoundException: Could not find or load the native library from any name: [ libsdl2.dylib ]
   at NativeLibraryLoader.LibraryLoader.LoadNativeLibrary(String[] names, PathResolver pathResolver)
   at NativeLibraryLoader.NativeLibrary..ctor(String[] names, LibraryLoader loader, PathResolver pathResolver)
   at NativeLibraryLoader.NativeLibrary..ctor(String[] names)
   at Veldrid.Sdl2.Sdl2Native.LoadSdl2()
   at Veldrid.Sdl2.Sdl2Native..cctor()
   --- End of inner exception stack trace ---
   at Veldrid.Sdl2.Sdl2Native.SDL_SetHint(String name, String value)
   at Veldrid.Sdl2.Sdl2Window..ctor(String title, Int32 x, Int32 y, Int32 width, Int32 height, SDL_WindowFlags flags, Boolean threadedProcessing)
   at Veldrid.StartupUtilities.VeldridStartup.CreateWindow(WindowCreateInfo& windowCI)
   at Veldrid.StartupUtilities.VeldridStartup.CreateWindow(WindowCreateInfo windowCI)

It's weird because the libsdl2.dylib is there, but it does not seem able to load it. Happens either with x64 or Any CPU.

Did you manage to solve this problem?

working workaround:
brew install sdl2
then add environment variable DYLD_LIBRARY_PATH=/opt/homebrew/lib to .bash_profile or set it inside Run/Debug configuration


Audio sliders only go to 0dB max

In the webinterface you can only set a max of 0dB gain while in the advanced audio properties it goes way beyond would be great to implement this. Also if a gain is above 0 the sliders actually go out of their box while still showing 0dB as their value.

Good catch about the sliders not sticking to their box. An overall fix would be to allow sliders to go above 0 dB, so the 0 dB setting sits a little further down.


xarray.Dataset from existing netCDF4.Dataset

It would be really handy to be able to initialize a xarray.Dataset instance from an already opened instance of netCDF4.Dataset. I have a lot of code where I'm already returning an opened netCDF4 file and this would streamline the process of hooking xarray into that.
It seems like the quick solution here would be to make NetCDF4DataStore accept a netCDF4.Dataset instance as filename, which would bypass the creation of a new instance. Thoughts?

I needed this too and proposed a change which wasn't accepted a while ago: https://github.com/pydata/xarray/pull/1060 (the PR topic changed in the meantime, so it's hard to follow).
 I have a shallow subclass of NetCDF4DataStore  which I then feed to open_dataset...

We could add an alternative constructor to NetCDF4DataStore. This would work fine in most cases, with one exception: attempting to pickle the data store would fail. But as long as you mention that downside (relevant for using dask distributed) I'd be fine with this.


(fix) Gateway fails to connect to Uniswap LP

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
Resolving:GatewayV2 - Failed to connect uniswapLP#5657
The issue seems to be that the connector re-uses the Uniswap.config object that is already referenced by Uniswap. When requested the response is a string documenting the reference rather than the object content. The fix proposed is to make a copy, which could be done with the structuredClone() available in Node_17.x (we use Node_14.x ... why?)
Tests performed by the developer:
Compiled and restarted the gateway
Used the culr manual-test to verify that the GET /connectors is as expected
In HB, executed gateway connect UniswapLP and received the normal prompt asking for the network
Tips for QA testing:

This is kind of a new bug, EVM_LP was not recognized as a valid connector type in settings.py

PR update: Checked today and the issue we observed yesterday does not occur anymore.

Clone and install successfully
Create docker image for both hummingbot client and gateway-v2 locally for tests
Gateway create, pulled docker image successfully and observed "online"
Gateway connect uniswapLP (for ethereum and polygon), no errors on logpane
Gateway conenct uniswap (for ethereum and polygon), all ok
Run simple AMM-arb and UniswapLP using arbitrum, all ok
Tested on source and docker build

@Faouzijedidi1 The structuredClone() method is only available in a more recent version of Node, should we rather update the Node_14.x to Node_18.x?
I am not versed in typeScript and did not find a better way of fixing this issue. I would prefer implementing something more acceptable, in fact I was very tempted to update Node, but thought it would not be approved


Employ one milestone one method approach for engine api calls

PR Description

Make engine_forkchoiceUpdated , engine_newPayload and engine_getPayload milestone based. (look at MilestoneBasedExecutionJsonRpcMethodsResolver and ExecutionClientHandlerImpl)
Added getMilestone to ExecutionPayload

Essentially Bellatrix will call V1, Capella will call V2 and Deneb will call V3

Removed EngineApiCapabilitiesProvider and its implementation since no longer needed
Removed --exchange-capabilities-enabled option since it is no longer relevant

TODO: raise another issue to make use of engine_exchangeCapabilitiesEnabled to monitor and raise warnings if a required method is not supported for a given fork.
Fixed Issue(s)
fixes #7287
Documentation

[X] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[X] I thought about adding a changelog entry, and added one if I deemed necessary.

I wander if we should more strongly couple the versions in our code for past milestone too..
like https://github.com/Consensys/teku/pull/7319/commits/58148d7d21a5fba9e71d5eb23418dfbb8f2593e4

I wander if we should more strongly couple the versions in our code for past milestone too.. like 58148d7

Yeah we can. I was trying to more closely follow the spec, which does follow this only for V3 methods.

Ye, but we practically won't do that anymore.. and we can remove some tests..

Ye, but we practically won't do that anymore.. and we can remove some tests..

Could do that. I agree.

Ye, but we practically won't do that anymore.. and we can remove some tests..

Could do that. I agree. Will apply your changes.


Update Readme to allow for meal activity type

I'm adding @madsnedergaard as a reviewer to make sure I didn't miss anything


Code for scene completion

Thanks for your work! Will you release code for training in scene completion datasets like NYU and CompleteScanNet?

Hi thanks for your interested, the codes for completing NYU and CompleteScanNet are provided. --dataset nyu and --dataset fusion shall be used during training accordingly. The same for validation

Thanks for reply. I see the --dataset fusion but the code does not contains nyu. I'm very interested in how to train on the NYU dataset. The idea of completing both object and scene is awesome.
------------------ 原始邮件 ------------------
发件人:                                                                                "wangyida/disp3d"                                                                                @.>;
发送时间: 2022年6月10日(星期五) 下午3:25
@.>;
@.>;"State @.>;
主题: Re: [wangyida/disp3d] Code for scene completion (Issue #2)
Hi thanks for your interested, the codes for completing NYU and CompleteScanNet are provided. --dataset nyu and --dataset fusion shall be used during training accordingly. The same for validation
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>


AVRO-2987: pkg-config has a broken Requires: section

Code was expecting a double-interpolation from cmake which didn't
happen, leaving the Requires section like this:
Requires: @ZLIB_PKG@ @LZMA_PKG@ @SNAPPY_PKG@

This patch fixes that:
Requires: zlib liblzma

I am running in the same issue, when can this be merged ?

Fixed with https://github.com/apache/avro/pull/2713
Thank you!


Fixed the failed aggregate-report link issue.

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=682954&view=logs&j=0874ffeb-2919-5b4b-20de-16a97970b94c&t=2d765910-b93e-584d-b8ac-58a7c8426d4c&l=810

The fixes have been checked in. Close the issue

The fixes have been checked in. Close the issue


IE 11 animates ng-class related transition on refresh

I am using css transition to animate an element margin depending on applied class. This class is controlled by AngularJS 1.3.11 ng-class directive. Chrome and Firefox don't show the animation on page load and refresh, which is desirable. IE 11 on the other hand shows the animation if there is evaluated content within the animated element.
Compare the plunker with IE and Chrome and click refresh button on preview window to see how IE animates on page load.
Is this a bug? AngularJS documentation says "Are animations run when the application starts? No they are not. ..."

Hello friend,
I believe it is not a bug angularjs, I believe the problem is occurring because it is being rendered in index.html which is the first file to be loaded, I believe that if carrengando the template for include or route would not have this problem.
A not very correct solution would be to apply:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, $timeout) {
$scope.indent = false;
$scope.message = 'Hello World';
$timeout (function () {
$scope.indent = true;
}, 10);
$scope.isIndent = function() {
return $scope.indent;
}
$scope.toggle = function() {
$scope.indent = !$scope.indent;
}
});
Hope this helps.

Initially the problem occurs not in index.html but in a template in route. The plunker is an example to focus on the problem.
Adding timeout causes the animation appear on page load also in other browsers, which is not what I want. It is expected as class is set outside the context of page load.

Can I See,
What do I want to show is that the angle is doing its job, the problem is that it is performing the task of adding the class before the browser to render the screen, that is why you can not see the effect

@maripuhakka this actually has nothing to do with ngAnimate and Angular. Firstly because ngAnimate isn't loaded, second because transitions (without ngAnimate) are handled at the mercy of the browser.
So when the class is added (in this case .group-indent) then the transition will fire (which is on the existing class on the element). By default, any CSS classes added and removed on an element are picked up as transitions in this case. When the page loads, everything happens in the same synchronous flow (one operation after the other) without any pause. If there is a pause and then the class is added then the browser is able to do an animation. In this case there is no pause in execution, but IE doesn't care and just animates anyway.
Unfortunately the solution is to use a timeout, or you can do the following:

Add ngAnimate into your application.
Then set your transition code as follows:

.group-indent-animate.ng-animate {
  transition: 1s linear all;
}

Unfortunately there's nothing we can do on the Angular side to prevent this happening. Closing this issue for now.


-[RCTBridge setUp] adding notification observer twice

In the -loadBundleAtURL:onComplete: block, -addObserver:selector:name:object: is called twice with the same arguments in the case when there is no error.  Since the arguments are the same, there is no harm, but it's just wasted cycles.

Thanks, it was already fixed internally, it should be out on the next sync.

Removed on 5ce9fa4dda79bd925e075afcb552893acdc83628


Rare problems loading local images in the webview, url is correct, and file exists

Im having a hard time trying to eliminate this bug.
We have an app thats in production, it works online an offline, so we download any images that are needed, and display them using the built-in normalize url feature in the ionic wkwebview. For reasons, we have an onload handler, to detect image size, our code looks something like this.
let img = new Image();
img.onload = () => {
//get image size code
}

img.onerror = (onError) => {
//this should not be happening!!
//we actually use window.resolveLocalFileSystemURL, create a fileobject,
//and then check the filesize, to see if the image exist at the provided url...
//it does.

img.src =  window.Ionic.WebView.convertFileSrc(url)

This works mostly, but we use error reporting and a semi large amount of users, get failed loads from time to time, only using WKWebview on iOS.
Any good ideas to debug this edgecase?
As it works almost always, we are having a hard time reproducing it locally.
Almost forgot, when we get the Error, the error event only includes:
{ isTrusted: true }
Indicating, its from a different domain. However, both the image and the code, should be served from:
localhost:8080
So we should be getting the full event, shouldnt we?

I just tried debugging this some more..
If I log the onload or onerror event when testing, I get the full event body.
But somehow our users, when hitting the error, get the CORS error equivalent of a simple event
{ isTrusted: true }
So Im thinking maybe the WKWebview stops working our restrics the element or something completely different.
Any ideas @jcesarmobile ? you seme to be the expert around these parts.

Have you tried to downgrade the plugin @sithwarrior ? Or did you get it working (if so how)? Lots of unmerged PR waiting on a new release here even though they have all cleared testing cc @jcesarmobile

This error happens in ios. The problem is that you don't have permissions to access to the url reference, you can try to add the rights "allow" tags on the config.xml but didn't work for me.
The solution is to not use a URL that reference to the file system or a blob. For example you can transform the blob or the svg or whatever image format you have to base64 url like:
  renderPictureAsBase64(image) {
    return 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(image)))
  }

then you can do
img.src = this.renderPictureAsBase64url);

(In my case the "image" was a svg tag like <svg ...>, but you can take an image and parse it to base64 and will work, just take care or add the proper mimetype like "data:image/svg+xml;base64," for svg.)

Have you tried to downgrade the plugin @sithwarrior ? Or did you get it working (if so how)? Lots of unmerged PR waiting on a new release here even though they have all cleared testing cc @jcesarmobile

Sorry for the late reply, i have tried various release versions of the plugin without luck, This is a problem that only happen from time to time, so we are having a hard time reproducing it locally.

This error happens in ios. The problem is that you don't have permissions to access to the url reference, you can try to add the rights "allow" tags on the config.xml but didn't work for me.
The solution is to not use a URL that reference to the file system or a blob. For example you can transform the blob or the svg or whatever image format you have to base64 url like:
  renderPictureAsBase64(image) {
    return 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(image)))
  }

then you can do
img.src = this.renderPictureAsBase64url);

(In my case the "image" was a svg tag like <svg ...>, but you can take an image and parse it to base64 and will work, just take care or add the proper mimetype like "data:image/svg+xml;base64," for svg.)

Yeah this is not the issue, and would be very impractical for us, as we have a gallery of potentially hundreds of images. We use the window.Ionic.WebView.convertFileSrc() method as described in the docs.


Merge_bn error

Got below when run merge after training.
It looks my caffe version is not reading train_net? Are you using SSD`s caffe?
libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 1:10: Message type "caffe.NetParameter" has no field named "train_net".
F0517 17:10:28.006525 25372 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /examples/MobileNet-SSD/MobileNetSSD_train.prototxt

Have it figured out.


How many identities are there overlap between CASIA-webface and MsCeleb clean？

Can u share the list ? Thanks a lot.

I haven't done that. I don't like noisy datasets.
But if I have time in the future, I will do it.

You are welcomed to run the script and report the results here.

hi, do you have MS-Celeb-1M dataset? can you send me a download link? @SeuTao


JAX/TF2 on multi-GPU silently corrupted computations

When using 1 or 2 GPUs there's no problem. When using 3 or more GPUs the issue manifests itself resulting in corrupted computations. This was tested on 4 V100 GPUs. There's a workaround (see commented code).
Code for reproduction:
# The bug only shows for physical GPUs, and only when there 3 or more GPUs.
# It silently corrupts the results with no warning or error message.

import jax
import jax.numpy as jn
import numpy as np
import tensorflow as tf

# The following is a workaround from prevents the issue:
# tf.config.experimental.set_visible_devices([], "GPU")

reproduce_bug = True
noop = jax.pmap(lambda x: x)
n = jax.device_count()

def check(delta):
    v = noop(jn.ones((n, 1)) * delta).sum()
    assert v == n * delta, (v, n * delta)

check(1)
if reproduce_bug:
    data = tf.data.Dataset.from_tensor_slices(dict(x=np.random.uniform(-1, 1, size=(16, 1))))

check(2)
# Output is
# Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
#  File "<stdin>", line 3, in check
# AssertionError: (DeviceArray(7., dtype=float32), 8)

I'm having trouble reproducing this. Can you please share the versions of:

jax
jaxlib
TensorFlow
CUDA
OS image

you are using?
Do I need to do anything other than run the script (python repro.py)?

https://storage.googleapis.com/jax-releases/cuda101/jaxlib-0.1.51-cp36-none-manylinux2010_x86_64.whl
jax==0.1.72
tensorwlow.version = 2.1.0
CUDA 10.1
Linux v100-2 5.3.0-1030-gcp #32~18.04.1-Ubuntu SMP

I'm still having trouble reproducing this. Does it reproduce every time for you? I did the following:

I created a new Ubuntu 18.04 VM on GCP (an n1-standard-32 with 4xV100 GPUs):
Starting from the clean VM, I ran the following commands:

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
echo deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 / | sudo tee -a /etc/apt/sources.list.d/cuda.list
echo deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 / | sudo tee -a /etc/apt/sources.list.d/cuda.list
sudo apt update
sudo apt dist-upgrade
sudo apt install cuda-10-1 libcudnn7
sudo apt install python3-pip
pip3 install --upgrade pip
python3 -m pip install https://storage.googleapis.com/jax-releases/cuda101/jaxlib-0.1.51-cp36-none-manylinux2010_x86_64.whl
python3 -m pip install jax==0.1.72 tensorflow==2.1.0

cat > t.py <<EOF
Here I pasted the code from first Github comment, unmodified.
EOF

python3 t.py

The bug does not seem to reproduce for me...
Any hints on how I can reproduce this?

Thanks for the quick response.
I found the main difference, the issue happens with driver (which was the one available at the time I created my VMs):
NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2
Upgrading my VM to
NVIDIA-SMI 450.51.05    Driver Version: 450.51.05    CUDA Version: 11.0
Fixes the problem, or at least I couldn't reproduce in 10 tries. While before I could reproduce it under 3 tries.

I'm still having trouble reproducing this. My current attempt is a Ubuntu 18.04 VM in which I run:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
echo deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 / | sudo tee -a /etc/apt/sources.list.d/cuda.list
echo deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 / | sudo tee -a /etc/apt/sources.list.d/cuda.list
sudo apt update
sudo apt dist-upgrade
sudo apt install cuda-drivers-440 cuda-command-line-tools-10-1 cuda-cudart-10-1 libcublas10=<IP_ADDRESS>-1 cuda-cufft-10-1 cuda-cusparse-10-1 cuda-curand-10-1 cuda-cusolver-10-1 libcudnn7 python3-pip

pip3 install --upgrade pip
python3 -m pip install https://storage.googleapis.com/jax-releases/cuda101/jaxlib-0.1.51-cp36-none-manylinux2010_x86_64.whl
python3 -m pip install jax==0.1.72 tensorflow==2.1.0

cat > t.py <<EOF
Here I pasted the code from first Github comment, unmodified.
EOF

python3 t.py

and still no error even if I try a few times.
nvidia-smi reports:
$ nvidia-smi
Tue Jul 21 20:58:48 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:00:04.0 Off |                    0 |
| N/A   39C    P0    46W / 300W |      0MiB / 16160MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla V100-SXM2...  Off  | 00000000:00:05.0 Off |                    0 |
| N/A   37C    P0    40W / 300W |      0MiB / 16160MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla V100-SXM2...  Off  | 00000000:00:06.0 Off |                    0 |
| N/A   38C    P0    49W / 300W |      0MiB / 16160MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla V100-SXM2...  Off  | 00000000:00:07.0 Off |                    0 |
| N/A   39C    P0    57W / 300W |      0MiB / 16160MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

In my case, I had created an 8 GPU instance. And initially I thought the issue could be reproduced consistently but it seems stochastic. What I found is the following sequence reproduced it for me on one of the VMs:
CUDA_VISIBLE_DEVICES=0,1,2,3 python t.py
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python t.py
# This one fails
CUDA_VISIBLE_DEVICES=0,1,2,3 python t.py

I'm not sure what else to recommend if you still can't reproduce past that point except maybe giving you access to the VM on which I can reproduce the issue.

Thanks! I can now reproduce. It seems it's important to have more than 4 GPUs and then to run something using only a subset of them.

I'm able to reproduce with
tf-nightly=2.4.0.dev20200722

i.e., with an up to date TF and JAX.

A reliable reproduction on my VM (set up as described above, with 8xV100 is to run):
CUDA_VISIBLE_DEVICES=0,1,2 TF_FORCE_GPU_ALLOW_GROWTH=true XLA_PYTHON_CLIENT_ALLOCATOR=platform python t.py
TF_FORCE_GPU_ALLOW_GROWTH=true XLA_PYTHON_CLIENT_ALLOCATOR=platform python t.py

This seems to triggers a CUDA_ERROR_ILLEGAL_ADDRESS with high probability. The faulting kernel is always broadcast_2 (a JAX-generated kernel) which is almost trivial:
.version 6.0
.target sm_70
.address_size 64

        // .globl       broadcast_2

.visible .entry broadcast_2(
        .param .u64 broadcast_2_param_0,
        .param .u64 broadcast_2_param_1
)
.reqntid 8, 1, 1
{
        .reg .b32       %r<3>;
        .reg .b64       %rd<7>;

        ld.param.u64    %rd1, [broadcast_2_param_0];
        ld.param.u64    %rd2, [broadcast_2_param_1];
        cvta.to.global.u64      %rd3, %rd2;
        cvta.to.global.u64      %rd4, %rd1;
        mov.u32         %r1, %tid.x;
        ld.global.nc.u32        %r2, [%rd3];
        mul.wide.u32    %rd5, %r1, 4;
        add.s64         %rd6, %rd4, %rd5;
        st.global.u32   [%rd6], %r2;
        ret;

}

and I believe it's the ld.global.nc.u32 that is faulting because the symptom from cuda-memcheck is:
========= Invalid __global__ read of size 4
=========     at 0x00000040 in broadcast_2
=========     by thread (7,0,0) in block (0,0,0)
=========     Address 0x7efc4e200000 is out of bounds
=========     Device Frame:broadcast_2 (broadcast_2 : 0x40)

and as far as I can see there's only that one global read in the kernel.
I caught the error with both cuda-memcheck and TF_CPP_VMODULE=kernel_thunk=100 enabled, which told me that the faulting address was at one of the buffers that XLA passed to the kernel, so likely the kernel and things related to code generation are not at fault, instead something runtime-related is at fault.

Aha! I think I've figured this one out.
JAX and TF both use the stream_executor library inside the TensorFlow tree to interact with CUDA. stream_executor has an optimization where it caches the last GPU context it set in thread-local storage, and skips the call to cuCtxSetCurrent if it thinks the current CUDA context has not changed since last time it was set:
https://github.com/tensorflow/tensorflow/blob/001ec7efbed18e9581e859513c5acc76e5aabbe9/tensorflow/stream_executor/cuda/cuda_driver.cc#L204
Inside Google we like linking our binaries statically (since you get hermetic artifacts, at the cost of requiring much more rebuilding), and if we are using JAX and TF together they both share a single copy of stream_executor. So they both use the same thread-local cache.
However, in opensource, we distribute JAX and TF as separate Python plugins, each with their own copy of stream_executor, built with private symbol visibility. This means that rather than having one cache, we have two. They interact badly if you mix TF and JAX in the same binary: TF will change the current GPU, and JAX will fail to notice this, and vice versa. The net effect is that we end up running things on the wrong GPU!
I suspect the right fix is to flush the cache at the Python API boundary, which is certainly something I can do on the JAX side.
TF should probably do the same, given that this isn't a problem specific to JAX: it could be any GPU-using Python library that does this.

Apparently there are two bugs here: an illegal memory access and a wrong output.
I fixed the issue described above in my client, but it seems there's something else also going on here. Here's a slightly different repro:
from absl import logging
import jax
import jax.numpy as jn
import numpy as np
import tensorflow as tf

# The following is a workaround from prevents the issue:
# tf.config.experimental.set_visible_devices([], "GPU")

reproduce_bug = True

if reproduce_bug:
  data = tf.data.Dataset.from_tensor_slices(dict(x=np.random.uniform(-1, 1, size=(16, 1))))

logging.error("JAX time!")
n = jax.device_count()
x = jn.array(3)
y = jax.device_put(x, jax.devices()[1])
print(y)

Running this code:
CUDA_VISIBLE_DEVICES=0,3 TF_FORCE_GPU_ALLOW_GROWTH=true XLA_PYTHON_CLIENT_ALLOCATOR=platform python ~/t.py

prints
0

when it should print 3.
It appears that it matters which pair of GPUs are used. On the GCP VM I'm using, the GPU topology is:
$ nvidia-smi topo -m
        GPU0    GPU1    GPU2    GPU3    GPU4    GPU5    GPU6    GPU7    CPU Affinity
GPU0     X      NV3     PHB     PHB     PHB     NV3     PHB     PHB     0-31
GPU1    NV3      X      PHB     NV3     PHB     PHB     PHB     PHB     0-31
GPU2    PHB     PHB      X      NV3     PHB     PHB     PHB     NV3     0-31
GPU3    PHB     NV3     NV3      X      PHB     PHB     PHB     PHB     0-31
GPU4    PHB     PHB     PHB     PHB      X      NV3     NV3     PHB     0-31
GPU5    NV3     PHB     PHB     PHB     NV3      X      PHB     PHB     0-31
GPU6    PHB     PHB     PHB     PHB     NV3     PHB      X      NV3     0-31
GPU7    PHB     PHB     NV3     PHB     PHB     PHB     NV3      X      0-31

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

It appears that the example succeeds iff the two chosen GPUs are connected by NVLink. For pairs of GPUs connected only by PCIe (PHB) the example fails.
I'm now speculating this happens because of TensorFlow changing something about the GPU peer access configuration. That said, I'm fairly mystified why it would matter. My next action is to try reducing the test case further.

Here's a reproduction that requires neither JAX nor TF, which makes it highly likely to be NVidia's bug (unless I'm holding the APIs wrong):
#include <cstdlib>
#include <iostream>
#include <vector>

#include <cuda.h>
#include <cuda_runtime.h>

void CheckCuda(CUresult result, const char* file, int line) {
  if (result == CUDA_SUCCESS) {
    return;
  }
  const char* name;
  cuGetErrorName(result, &name);
  const char* message;
  cuGetErrorString(result, &message);
  std::cerr << file << "(" << line << "): " << name << ", " << message << std::endl;
  exit(-1);
}

void CheckCuda(cudaError_t result, const char* file, int line) {
  if (result == cudaSuccess) {
    return;
  }
  const char* name = cudaGetErrorName(result);
  const char* message = cudaGetErrorString(result);
  std::cerr << file << "(" << line << "): " << name << ", " << message << std::endl;
  exit(-1);
}

#define CHECK_CUDA(result) CheckCuda(result, __FILE__, __LINE__)

int main(int argc, char** argv) {
  CHECK_CUDA(cuInit(0));
  int num_devices;
  CHECK_CUDA(cuDeviceGetCount(&num_devices));
  std::vector<CUdevice> devices(num_devices);
  for (int i = 0; i < num_devices; ++i) {
    CHECK_CUDA(cuDeviceGet(&devices[i], i));
  }
  std::vector<CUcontext> contexts(num_devices);
  for (int i = 0; i < num_devices; ++i) {
    CHECK_CUDA(cuDevicePrimaryCtxRetain(&contexts[i], devices[i]));
  }
  for (int i = 0; i < num_devices; ++i) {
    CHECK_CUDA(cuCtxSetCurrent(contexts[i]));
    for (int j = 0; j < num_devices; ++j) {
      if (i != j) {
        CHECK_CUDA(cuCtxEnablePeerAccess(contexts[j], /*flags=*/0));
      }
    }
  }
  CHECK_CUDA(cuCtxSetCurrent(contexts[0]));
  CUdeviceptr buf0;
  CHECK_CUDA(cuMemAlloc(&buf0, 4));
  std::int32_t input = 3;
  CHECK_CUDA(cuMemcpyHtoD(buf0, &input, 4));

  CHECK_CUDA(cuCtxSetCurrent(contexts[1]));
  CUdeviceptr buf1;
  CHECK_CUDA(cuMemAlloc(&buf1, 4));

  CHECK_CUDA(cuCtxSetCurrent(contexts[0]));
  CHECK_CUDA(cuMemcpyDtoD(buf1, buf0, 4));

  CHECK_CUDA(cuCtxSetCurrent(contexts[1]));
  std::int32_t output;
  CHECK_CUDA(cuMemcpyDtoH(&output, buf1, 4));
  if (output != input) {
    std::cerr << "Output does not match input: " << input << " vs " << output << std::endl;
    return -1;
  }
  std::cerr << "Success; output and input match." << std::endl;
  return 0;
}

$ c++ -O3 -Wall -std=c++11  repro.cc -o repro -I/usr/local/cuda-10.1/include -lcuda -lcudart -L/usr/local/cuda-10.1/lib64
$ ./repro
Success; output and input match.
$ CUDA_VISIBLE_DEVICES=0,3 ./repro
Output does not match input: 3 vs 0

I'll follow up with NVidia.

NVidia closed the bug because they were unable to commit engineering resources to look into it.
Closing because there's no action we can take here. We can't fix NVidia driver/runtime bugs.

NVidia closed the bug because they were unable to commit engineering resources to look into it.
Closing because there's no action we can take here. We can't fix NVidia driver/runtime bugs.


Conditional signatures of generic methods.

Let's say I want to write a Promise<T>-like generic class with a method that makes sense only for certain T:
class PromiseLike<T> {
  then<U>(mapping: (value: T) => U): Promise<U> {
    /*...*/
  }

  /** if T extends U[], then the signature of this method is
      take<U>(index: number): Promise<U> */
  take(index: number) {
    return this.then(v => {
      if (index < v.length)
        return v[index];
      throw new RangeError(`Index: ${index}, array length: ${v.length}.`);
  }
}

As you see, .take is a small wrapper around .then which makes sense if T is an array type:
/** p is resolved to "B" */
const p = PromiseLike.resolve(["A", 'B", "C"]).take(1);

Unfortunately, this doesn't work because tsc tries to verify the .take method at the moment of its declaration and says that T doesn't have to be an array type in the general case and hence v doesn't have to have the .length property. A workaround would be <any>v which isn't nice because all type safety is gone.
It would be nice to somehow tell tsc that .take can be invoked only if T extends any[].

Are there other languages with this sort of support?

Does C++ have this feature? It has pretty advanced templates.
I'm not an expert in writing compilers, so my question might be naive: why is this feature hard to implement? It seems fairly trivial to just check whether an inferred type T makes sense at each use of the method. Currently tsc seems to check whether the method's implementation makes sense for every possible T (for optimisation purposes, I guess) and it only needs to make one change in this logic: if the method doesn't make sense for any T, mark this method somehow and then check whether it makes sense for every use in the code:
class Promise<T> {
  take(index: number) {
    // tsc defers type checking of take<T> because not every T has .length
    return this.then(a => index < a.length ? a[index] : null);
  }
}

Promise.resolve([1, 2, 3]).take(1); // ok, T = number[] has .length
Promise.resolve(null).take(1); // error: T = void, doesn't have .length

What you're describing is something like C++-style template instantiation, which is a very different strategy (note that they use different names; templates are not generics). That's a plausible strategy when every compilation has the source code (or equivalent) of the entire program, but that's not a luxury many other languages have.
Let's say you wrote this class:
class Foo<T> {
	method(x: T): string {
		let j = x.foo;
		let k = x.bar(j);
		let y = j + k;
		return y.substr(2);
	}
}

method should be available when:

T has a foo property
T has a bar property
T's bar property can be invoked with a single argument with the type of T.foo
T.foo and the return type of T.bar when invoked with the type of T.foo, when added together with + is a legal operation (note that it might produce string or number or be illegal)
T.foo and the return type of T.bar when invoked with the type of T.foo, when added together with + produce an object that has a substr property
T.foo and the return type of T.bar when invoked with the type of T.foo, when added together with + produce an object that has a substr property that can be invoked with a single number argument
T.foo and the return type of T.bar when invoked with the type of T.foo, when added together with + produce an object that has a substr property that can be invoked with a single number argument that produces a string

Let's not even think of the case where you wrote:
class Foo<T> {
	method<U>(x: T, z: U) {
		let j = x.foo;
		let k = z.bar(j);
		let y = j + k;
		return y.substr(0);
	}
}

Now method is available when... what?
Then imagine you're trying to produce a declaration file (.d.ts) for Promise<T> because you want separate compilation. It's simply impossible to produce a file that describes those constraints without essentially rewriting all the source code in place.
Even given the source code, it would be incredibly slow to do this kind of computation every time a generic type is instantiated. Note that C++'s template system is Turing-complete -- a good design principle we have is "try to avoid embedding programming languages into our type system" :wink:

It seems this problem can be easily solved with typed this and the bind :: operator:
function take<T>(this: Promise<T[]>, index: number): Promise<T> {
    return this.then(results => results[i]);
}

Promise.resolve(["A", "B", "C"])::take(1).then(letter => {
    letter == "B";
});

Here take acts as a sort of a partial class or class extension.

Hence, @danquirk, I'm suggesting to change the tags to "In Scope" and "Too Easy" :)


enable large file upload

Following on the work done on oras-project/oras-py/pull/150, we got chunked upload support, which enables us to upload large files e.g. model files directly.
LMK how you'd like to test this.

Looks it's all green 🤍
Now we just need to wait a release of oras-py that includes both of:

https://github.com/oras-project/oras-py/pull/150
https://github.com/oras-project/oras-py/pull/148
my2c

Thank you so much @isinyaaa for your work upstream in oras-py and on this capability! 👍 🚀


Adding a new item to a "Predefined choices" Metadata item fails

Description
Adding a new item to a "Predefined choices" Metadata item fails with the following error: "Cannot delete, change type or unassign the "products" schema when custom properties defined for it. Delete the respective properties in all the entities before removing the the schema."
Reproduction steps
Steps to reproduce the behavior:

Add a new Metadata schema "Predefined choices" item named "Products" and allow this to be used in "Environments"
Go to an Environments item and select a choice for the metadata item "Products"
Go back to Metadata and attempt to add a new item to the predefined choices list
Get an error "Request failed": "Cannot delete, change type or unassign the "products" schema when custom properties defined for it. Delete the respective properties in all the entities before removing the the schema."

Expected behavior
You should be able to add new items to a "Predefined choices" list in the Metadata schema area.
Actual behavior
Editing a "Predefined choices" list by adding a new item after initial save will fail.
Screenshots

Additional context
N/A

@RaynaLT None of our team members could reproduce your issue. Could you retry it to see if you are still getting an error?
My attempt at reproducing the issue:

I created a new pre-defined choices metadata property "products" with 3 values: product1, product2, product3. I made it required for environments and not applicable for other resource types.
I edited one of my environments to specify "products2".
I edited the metadata property to include one more option product4 and saved it.
I edited the metadata property to remove product2 from the options and saved it.

All the operations succeeded without any errors.


Throw an exception in case of a fault

@lstrojny can you tell me why you chose passing a variable by reference to determine if the request is a fault or not? I guess there was a reason for that.
IMO throwing a fault exception would be somewhat better. WDYT?

Agreed, fixed in the combined repository in https://github.com/lstrojny/fxmlrpc/commit/3079f5cf1c839f601e1a88b97dbe77c75295014a


Keep whole history for text input

When i write some text in the text translate tab, and then switch languages, i lose text history and i can't press ctrl+z to undo text.
It's bad UX. I want to i can anytime press ctrl+z and undo changes.
Of course, this must not remember history after close window, because it's will big privacy problem, it's must keep history in the RAM only.
Expected behavior:

Open text translator
Write "Hello world"
Swap languages
Press ctrl+z
Text must be undone and text input must have text "Hello world"

A bug cause is browsers behavior. undo/redo stack are reset after set value on element.
FF bug: https://bugzilla.mozilla.org/show_bug.cgi?id=158071
Repl to reproduce bug: https://jsfiddle.net/saokhrpw/

insert any text
press button
press hotkey to undo changes

This behavior is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1523270#c0
We would preserve changes and manage state by undo events, but https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/inputType event fires only when undo stack is not empty, so we can't use it in our case.
We would handle ctrl+z and ctrl+shift+z, but it is not a crossplatform.
So, it is possible to implement, but hard to maintain


update: update the brocker of SMS

update: update the brocker of SMS

update: update the brocker of SMS


chore(derive): Remove IndexedBlobHash

Description
Removes the IndexedBlobHash using the upstream alloy type instead. Thought I had deletiod this, not sure how it slipped back in.

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#847 👈
main

This comment was automatically generated by st.

Note, this replaces #846


Migrate senzing/senzingapi-runtime-beta to senzing/senzingsdk-runtime-beta

See https://github.com/senzing-garage/template-go/issues/176
Change
serve-http/Dockerfile:ARG IMAGE_FINAL=senzing/senzingapi-runtime-beta:latest
serve-http/package.Dockerfile:ARG IMAGE_SENZINGAPI_RUNTIME=senzing/senzingapi-runtime-beta:latest

Pull requests:

https://github.com/senzing-garage/serve-http/pull/144


[IMRF-98] Add different service integrations and REAME badges

This PR adds next badges and service integrations:
LICENSE: MIT
Code coverage with Coveralls
HLint warnings with Code Climate

Changes Unknown when pulling 2cbdb6acc754046c08ead9e73cbbd6ab66dd53b2 on chshersh/imrf98-badges into ** on master**.


Telescope Error

Installing the boilerplate from scratch it will give an error that can be solved updating the laravel/telescope version to 2.0 in composer

Hi there @hwmb
Thanks for reporting this, I think this is the only thing I missed during the 5.8 upgrade ! I also updated the collision dep as Laravel has recently upped that to v3.


Fixed defaultIfEmpty incorrect type with strictNullChecks off

Description:
defaultIfEmpty(null) or defaultIfEmpty(undefined) always returns the observable of type Observable<any>
Expected behavior
When strictNullChecks is off null type is ignored so it should just return the type of the source observable as it is.
Expected behaviour in strictNullChecks: false
const test$ = of(1).pipe(defaultIfEmpty(null)); // Observable<number>
Instead we get
const test$ = of(1).pipe(defaultIfEmpty(null)); // Observable<any>
This PR fixes the issue by adding explicit overloads for null and undefined

Related issue (if exists): #7280

ping @benlesh

ping @jakovljevic-mladen

What happenened to this pr?

Honestly, I remember glancing at it, and thinking about it, but deciding (at the time) that it doesn't seem like something we want to support. If people want to turn off strict settings in TypeScript, that's their business. I left it here because I wasn't totally convinced I was correct, but every time I revisited it, I had the same thought. That it wasn't the right thing to do.
Sorry @shessafridi I should have more openly written out my thoughts. Thank you for your contribution.


I want to add data augment function in this frame work,where could I add these augment function?

From now on,I find that MMdetection only use random flip function to data augment in the dataset/transform.py file.so just fix transform.py to add augment function is OK or need to fix any other code?

Checkout extra_aug as shown here
https://github.com/amirassov/kaggle-imaterialist

@gittigxuy Currently you need to modify the code by yourself to make more data augmentation. You can try to include your augmentation code in transform.py and used them in the data loader (get_item). There is also a PR ongoing #935 .

@codeislife99 ,thanks ,a good repo,I will read it


Sim tweak

Fixes an issue noticed by @licode working on suitcase (the timestamps never changed) + added support for subscriptions while I was poking around.

Codecov Report

Merging #498 into master will increase coverage by 0.29%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #498      +/-   ##
==========================================
+ Coverage   89.24%   89.54%   +0.29%
==========================================
  Files          51       51
  Lines        6946     7001      +55
==========================================
+ Hits         6199     6269      +70
+ Misses        747      732      -15

Impacted Files
Coverage Δ

ophyd/sim.py
66.97% <100%> (+4.79%)
:arrow_up:

ophyd/tests/test_sim.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


feat: ability to flag words based on patterns

This is a *feature request
Problem
Our current word/spelling check library, cSpell, does not offer a feature to flag words based on patterns/regex.
This introduced leaks that need to be manually resolved: https://github.com/waku-org/js-waku/pull/1703
Proposed Solutions

change word-check library from cSpell to a library that supports flagging words with patterns
write a utility script that parses & replaces words based on a pattern

Do we even need this cspell? 😅

https://cspell.org/configuration/patterns/

Action items per js-waku pm 2023-11-07

research existing solutions
implement homegrown solution (less desirable) -- will require ongoing maintenance.

Danish:

We should come to consensus on how we should handle theses cases.

I have an MR which adds an eslint rule that uses regex to forbid any identifiers which contain pubSub or PubSub: https://github.com/waku-org/js-waku/pull/1709
I think it should cover most cases.


Pin exact version of dependencies

Since NightShift is an application and not a package it is safer to pin dependencies to a particular version when ready.
Make appropriate changes in pyproject.toml.

Or keep pyproject.toml open while requirements.txt pin dependencies.
This should facilitate testing updated dependencies.


markpoint可以实现如图的效果吗

What problem does this feature solve?
markpoint可以实现如图的效果吗
What does the proposed API look like?
无

Maybe you can do like this!

Result:

The detailed configuration can be referenced in the documentation.

@yufeng04

The value disappears in the emphasis state.

The normal value of label replaced by the value in  emphasis state. @zwb910615

How to keep it down in the emphasis state

@yufeng04

I don't know how to keep it down in the emphasis state. But I tried the following way:
formatter: [         '{a|这段文本采用样式a}',         '{b|{c}}'     ].join('\n')
{b|{c}} will show the normal value of label, and you can set the style in rich.b.
Hope it helps!

thanks


asyncHandler, second callback argument name 'b'- types of return value

In my personal project I have this usage of restless solutions:
my point of Route, method post:
route.post('/login', asyncHandler( sanitize({
    body: asObject({
      username: asString,
      password: asString,
    })
  }),
  (reqData) => {
  const {username, password} = reqData.body;
  findUser('user', username)
    .then((user: User) => {
      if(user.password === password) {
        responseOf(user, 200)
      }
      else {
        responseOf('user not found', 400)
      }
    })
    .catch(err => {
      responseOf('internal server error', 500)
    })
  }
));

TypeScript compiler error:
Type void is not assignable to type ResponseFunction | Promise<ResponseFunction>
When I change code to marked returns type like belowe
... function(reqData): ResponseFunction | Promise<ResponseFunction> { ...
I have another ts compiler warrning
Does anyone have any idea how to solve this issue?

asyncHandler expects that the last argument is a function that returns ResponseFunction | Promise<ResponseFunction>. This means that you need to use the return keyword instead of just calling responseOf.
Try this
.then((user: User) => {
  if(user.password === password) {
    return responseOf(user, 200)
  }
  else {
    return responseOf('user not found', 400)
  }
})
.catch(err => {
  return responseOf('internal server error', 500)
})


navbar track links (#track) links are incorrect

earlier sessions was at index.html
no it is on sessions.html so should handle that properly

Ok thanks @championswimmer  it's merged


Nearby doesnt work in beta

While you use Nearby feature in new beta it doesnt show any nearby items; warning "No places nearby is shown instead. GPS on; Android 6.0

This could be related to this: https://github.com/commons-app/apps-android-commons/issues/674
Moving around might solve the issue because the location is updated. But I am not totally sure how we currently do locations.

I just tested this another time with the Android 7 emulator. For some reason the app ended up not having the location permissions. I had to manually go to the settings and allow the app to access the location. Maybe that is the cause of this issue?

Interesting. The original implementation did ask for permissions at runtime - was this removed? If so, we definitely need to put permissions back in.
That being said, I don't think that is the sole cause of the issue. I was experiencing it to an extent with my phone in Svet Hub and in Jufa - going outside seemed to fix the problem for me, so I thought that it was just my hardware. But if other people are facing the same problem as well, then we do need to look into it further.

Tested a fresh install again and am experiencing the same issue as you guys - location permissions are not asked.

Probably the same issue: https://github.com/commons-app/apps-android-commons/issues/291


Programmatically change swatches with JS

Hi, I'm aware this isn't being maintained for new features much and is mostly just getting bug fixes.
That being said, I feel like I could at least write down my idea here in case anyone wants to try their hand (or in case there is a way to do it I didn't see in the docs)
I think the ability to change the swatches with JS would be useful. For my use case, I would just be setting them to the most recent colors, but perhaps they could favorite/save colors.
Obviously as a color picker in a simple form or setting where you're just choosing one color for one purpose, this feature doesn't have much use, but in a dedicated color / palette application this could be very useful, and having the ability to control it programmatically would enable complete freedom from the programmer's point of view.

Duplicate of #70?

Closing because of inactivity.


Upgrade calico canal to 3.8

Ref #15090.
/cc @neolit123

LGTM,
but i think we should only update one language per PR.
/sig cluster-lifecycle

It is also possible with 1 PR, but /approve from each language codeowner is needed. :)

yeah, i was told by sig-docs to don't mix languages, so i will defer to them on comments on that + approval.

This one is safe to merge although it touches more than one language. Actually, I'd like to think of this as an example where sometimes we should favor PRs that make changes to more than one language.
/lgtm
/approve


Conflict in VM Limits

[Enter feedback here]
Hello,
I pulled up my customer's information in ASC and the VM limits listed there for this B2s VM is different in ASC than in the official documentation, https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable. Please see below my findings.

Please verify what is the correct limits for this VM.

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

ID: 0cd2e24b-0fd3-d698-2840-3f8206933026
Version Independent ID: 832dc371-480a-c74a-e956-e1904473af31
Content: B-series burstable - Azure Virtual Machines
Content Source: articles/virtual-machines/sizes-b-series-burstable.md
Service: virtual-machines
Sub-service: sizes
GitHub Login: @rishabv90
Microsoft Alias: risverma

@camaier
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@rishabv90
Can you please check and add your comments on this doc update request as applicable.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


Unable to load library: %1 is not a valid Win32 application

i am getting above error please give me solution
i am using epass2003 token

You are most likely trying to load 32-bit unmanaged PKCS#11 library into 64-bit application or vice versa. Please take a look at similar discussion for more details and let me know if you need further explanation.

Have you been able to resolve your problem with provided information?

yes thnks Jaroslav Imrich
is there any demo Application for Pkcs11Interop implementation...
On Tue, May 3, 2016 at 1:14 AM, Jaroslav Imrich<EMAIL_ADDRESS>wrote:

Have you been able to resolve your problem with provided information?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Pkcs11Interop/Pkcs11Interop/issues/25#issuecomment-216341111

--
Thanks & Regards
Bhavneet Singh Thakur
(Software Engineer)
Mobile:<PHONE_NUMBER>7
Pl. Save a tree. Please don't print this e-mail unless you really need
to...

Code samples can be found at https://github.com/Pkcs11Interop/Pkcs11Interop/blob/3.1.0/doc/CODE_SAMPLES.md
I am closing this issue since original problem has been resolved.

ok thnks again.........
On Tue, May 3, 2016 at 1:20 PM, Jaroslav Imrich<EMAIL_ADDRESS>wrote:

Code samples can be found at
https://github.com/Pkcs11Interop/Pkcs11Interop/blob/3.1.0/doc/CODE_SAMPLES.md
I am closing this issue since original problem has been resolved.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Pkcs11Interop/Pkcs11Interop/issues/25#issuecomment-216461139

--
Thanks & Regards
Bhavneet Singh Thakur
(Software Engineer)
Mobile:<PHONE_NUMBER>7
Pl. Save a tree. Please don't print this e-mail unless you really need
to...


wfnews-1991

No longer needed. We're moving to the AGO layer for now until we can get the cloudfront cache in place. I've put your change here into the WMS version of that layer and merged already.


Extend flags and mask of ssl_method_st to 64-bit

Fixes #23260: The bit count for SSL_OP_* flags has exceeded 32 bits, making it impossible to handle newer flags and protocol extensions with the existing 32-bit variables. This commit extends the flags and mask fields in the ssl_method_st structure to 64-bit, aligning them with the previously extended 64-bit options field.

@nhorman The one build failure is because of a "500 internal error" server status, not related to the build. Everything else seems to be fine. Is there a way to restart these checks at a later time?

yeah, its fine, its been happening all day, I'm restarting it

@paulidale It may indeed seem excessive, but having a flags variable that is too short to handle all defined flags would also be problematic unless clearly documented. I created this pull request to address the future extensibility of the library, as described in issue #23260. This change allows the impact to be analyzed thoroughly. I neither recommend nor discourage its use at this point, but agree with the author of the issue to address it in some way for long-term compatibility.

flags only seems to use 4 bits of the integer. Seems like overkill making it 64.

Not sure where you 4 from. I can only see 2 bits being used:
/*
 * Flags for SSL methods
 */
# define SSL_METHOD_NO_FIPS      (1U<<0)
# define SSL_METHOD_NO_SUITEB    (1U<<1)

I agree with @paulidale here. Changing flags to 64 bit is excessive. Unlike options these flags are not exposed via public API, so it is much easier to change the field in the event that we needed to at any time.
I think the flags change should be dropped from this PR.

@paulidale @mattcaswell I reverted the flags change as suggested, only the mask change remains in the PR.

@paulidale or @nhorman  - please reconfirm

Approval reconfirmed

This pull request is ready to merge

merged, thank you!


Change def on label size to be size constant rather then calculated c…

…lass, led to validation error on render.

This is correct. The helper should only contain the raw size, it is then converted to the correct gds class, "govuk-label--" when the template node is rendered.


Clerk's Express helper functions don't support Http.IncomingMessage (used in apollo websocket)

Preliminary Checks

[X] I have reviewed the documentation: https://clerk.com/docs

[X] I have searched for existing issues: https://github.com/clerk/javascript/issues

[X] I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)

[X] This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.

Reproduction
n/a
Publishable key
pk_test_c21pbGluZy1tb2NjYXNpbi01NS5jbGVyay5hY2NvdW50cy5kZXYk
Description
When using clerk with Apollo Graphql's server and more precisely with the Websocket enhancement to support Subscriptions, you would normally pass the request object (handed through ctx.extra.request) to the authentication logic (the middleware or the authenticateRequest function) and then pass the authed user to the context.
This is currently not possible with any of the helper functions since they all require the Request to be an express request. But Apollo injects the request as Http.IncominMessage, without a response (since there's no Http Response in WS connection).
The only working solution we found so far is to go to the lowest available backend abstraction and verify the cookie ourselves which is quite complicated.
Expected behavior:
Allow the ClerkExpressWithAuth or authenticateRequest function to take Http.IncominMessage objects. They do already all the necessary parameters to authenticate it.
Actual behavior:
authenticateRequest and ClerkExpressWithAuth fail when trying to authenticate the IncomingMessage.
What we would like to be accomplish but what doesn't work:
 const serverCleanup = useServer(
        {
            schema,
            context: async (ctx, message, args) => {
               const state = await Clerk.clerkClient.authenticateRequest(ctx.extra.request)
               const auth = state.toAuth()

               if (!auth) {
                     throw new GraphQLError("User is not authenticated", {
                          extensions: {
                            code: "UNAUTHENTICATED",
                            http: { status: 401 },
                          },
                     });
                }

               const user = await validateAuth(auth);

               return {
                     user,
                     prisma,
               }

            },
        },
        wsServer,
    );

What we have to do although all relevant props are written onto IncomingMessage:
 const serverCleanup = useServer(
        {
            schema,
            context: async (ctx, message, args) => {
                /*  return {
                    prisma,
                };*/

                // Get the __session cookie and the Bearer token from the incoming message
                const cookies = ctx.extra.request.headers.cookie;
                const bearer = ctx.extra.request.headers.authorization;

                // Parse the session cookies string using the library cookie
                const sessionCookie =
                    cookies && cookie.parse(cookies).__session;

                const bearerToken = bearer && bearer.replace("Bearer ", "");

                // Log when session or bearer token is missing
                if (!sessionCookie) {
                    console.log("No session cookie found");
                    if (!bearerToken) {
                        console.log("No bearer token found");
                    }
                }

                // If there is no session cookie or bearer token, return null
                const token = sessionCookie || bearerToken;

                const error = new GraphQLError("User is not authenticated", {
                    extensions: {
                        code: "UNAUTHENTICATED",
                        http: { status: 401 },
                    },
                });

                if (!token) {
                    console.error("No token found");
                    throw error;
                }

                const authorizedParties = [
                    process.env.DOMAIN_NAME
                        ? process.env.DOMAIN_NAME
                        : undefined,
                    process.env.APP_DOMAIN ? process.env.APP_DOMAIN : undefined,
                ].filter((x) => x) as string[];

                const verifiedToken = await Clerk.clerkClient.verifyToken(
                    token,
                    {
                        authorizedParties,
                    },
                );

                if (!verifiedToken.sub) {
                    console.error("Token verification failed");
                    throw error;
                }

                // Now get the user
                const user = await validateAuth({
                    userId: verifiedToken.sub,
                    orgId: verifiedToken.org_id,
                    orgPermissions: verifiedToken.org_permissions,
                    orgRole: verifiedToken.org_role,
                    orgSlug: verifiedToken.org_slug,
                    sessionId: verifiedToken.sid,
                }) // Custom logic to get the user from our db

                return {
                    user,
                    prisma,
                };
            },
        },
        wsServer,
    );

Environment
Using:

NodeJS
Express
Apollo Graphql (Server)
graphql-ws

Hi @wobsoriano ,
thanks for the response but as mentioned it's not typesafe + throws during runtime:

Hi @luap2703, thanks for replying quick. What's the runtime error you're getting?

@luap2703 Hey! Just checking if the solution above worked for you 👍

Hi @wobsoriano ,
thank you for doublechecking!
Works!
We used the authenticateRequest on the higher level sdk node package before where it was failing, but seems to be smooth with this one!
Closing the thread!


New version: Amazon.WorkspacesClient version 5.9.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@JamieSabbatella Just an fyi: The PR has been manually validated and is waiting on you to resolve the comments before merge.

@JamieSabbatella Just an fyi: The PR has been manually validated and is waiting on you to resolve the comments before merge.

Yes - sorry about these Internal-Error-Dynamic-Scan errors. They're caused by Automated Validation pipeline interference, and the package did pass our alternate Manual Validation pipeline.


Add CHAIN_SYNC_APPLICATION command

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/approve


HumanoidCharacterAppearance.SkinColor is not used anywhere

It can't be set in the character editor and is not read anywhere in the code to actually set the skin color of a character.

Nevermind, skin color and eye color are the two values that aren't used in HumanoidCharacterAppearance, every other value is passed correctly.


CUDA.jl kernel errors with Julia 1.9.0-rc3

I am on main (4c30ed8b693a7a1d41f03bb4ef295201e26435bb) and CUDA 4.1.4. I have a GPU kernel where gradients work on Julia 1.8.5 and error on Julia 1.9.0-rc2.
The error is attached as error.txt due to the size limit. If required I can minimise but it depends on other packages so maybe there is a quicker fix.

Yeah I think we need the code that produces this.

Minimal reproducer below. This is on Julia 1.9.0-rc3, Enzyme main (4a0cb2b2a1bc71e7aaab641ccbb66126c7055fc1), CUDA 4.2.0 and StaticArrays 1.5.24.
It does not error on Julia 1.8.5 and also if you replace T = Float32 with T = Float64, suggesting some issue with Float32 in static arrays.
using Enzyme, CUDA, StaticArrays, LinearAlgebra

function force(coord_i, coord_j)
    ab = coord_j - coord_i
    c = norm(ab) - 1.0
    f = c * normalize(ab)
    return f
end

function kernel!(fs, coords, is, js)
    inter_i = (blockIdx().x - 1) * blockDim().x + threadIdx().x
    @inbounds if inter_i <= length(is)
        i, j = is[inter_i], js[inter_i]
        f = force(coords[i], coords[j])
        fs[1, i] += f[1]
    end
    return nothing
end

function grad_kernel!(fs, d_fs, coords, d_coords, is, js)
    autodiff_deferred(
        Reverse,
        kernel!,
        Const,
        Duplicated(fs, d_fs),
        Duplicated(coords, d_coords),
        Const(is),
        Const(js),
    )
    return nothing
end

T = Float32
coords = CuArray(rand(SVector{3, T}, 10))
fs = CuArray(zeros(3, 10))
is = CuArray([Int32(i) for i in 1:9])
js = CuArray([Int32(i) for i in 2:10])
d_coords = zero(coords)
d_fs = zero(fs)

CUDA.@sync @cuda threads=10 blocks=1 grad_kernel!(fs, d_fs, coords, d_coords, is, js)

Error in error.txt.

@vchuravy this feels like a version of https://github.com/EnzymeAD/Enzyme.jl/issues/683 per the sqrtf. However we should hypothetically have resolved this already in preservenvvm from the llvm level.

Also an issue with Julia 1.9.0, Enzyme main (96ddde314a14d44c0358213195c5f39d1a2bfc5d), CUDA 4.2.0 and StaticArrays 1.5.25. Error in error.txt.

@wsmoses tells me this might be fixed by https://github.com/EnzymeAD/Enzyme/pull/1233


Memory overflow

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"
    width="934.975830078125" height="1024" viewBox="0 0<PHONE_NUMBER>78125 1024">
    <defs>
        <filter id="master_svga_90_04879" filterUnits="objectBoundingBox" color-interpolation-filters="sRGB" x="-120"
            y="-120" width="619.9678649902344" height="376.67909240722656">
            <feFlood flood-opacity="0" result="BackgroundImageFix" />
            <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
            <feGaussianBlur stdDeviation="30" result="effect1_foregroundBlur" />
        </filter>
    </defs>
    <g>

        <g filter="url(#master_svga_90_04879)">
            <path
                d="M246.02157592773438,863.812059375L410.03657592773436,978.622359375L625.9895759277344,841.943359375L410.03657592773436,913.016459375L246.02157592773438,863.812059375Z"
                fill="#FEFFE1" fill-opacity="1" />
        </g>
    </g>
</svg>

just try this svg.
version 0.42.0~0.43.0

Yes, this is an expected behavior. There are no memory usage limits in resvg.
I assume you wanted to use filterUnits="userSpaceOnUse" instead of filterUnits="objectBoundingBox". Because right now your SVG requesting a 235567x51484px image.

Yes, this is an expected behavior. There are no memory usage limits in resvg. I assume you wanted to use filterUnits="userSpaceOnUse" instead of filterUnits="objectBoundingBox". Because right now your SVG requesting a 235567x51484px image.

Thank you for your response. I'm not an SVG expert; I'm just using resvg as the solution for rendering SVGs in my application.
I'm currently using it as a dynamic link library to meet the SVG rendering needs in mobile. This leads to unbounded memory usage, causing the application to crash. Do you have any suggestions for this?

Currently, there are no plans on adding memory usage limits.
All you can do right now is too walk over nodes and check their bboxes. But if you're using resvg as a C library then there is no way to do so either.
Or you can fork resvg and add necessary checks yourself.
I have added #815 to track this issue.


test:unit with jest can't find babel in freshly created project

Version
3.0.0-beta.15
Reproduction link
https://github.com/davestaab/vue-cli-jest-broken.git
Steps to reproduce

install the new 3.0.0-beta.15 cli
create a new app with vue create test-app
select pwa, eslint, unit-jest e2e-cypress as the features
run unit tests with npm run test:unit

Unit tests fail with error:
Test suite failed to run
Cannot find module '@babel/core'
    at Object.<anonymous> (node_modules/babel-core/index.js:2:18)

What is expected?
The basic unit test is expected to run and pass
What is actually happening?
The unit tests can't run and fails.
Error message is:
Test suite failed to run
Cannot find module '@babel/core'
    at Object.<anonymous> (node_modules/babel-core/index.js:2:18)

It seems to be related to the e2e-cypress plugin.
 I managed to make a vue cli preset without babel but with jest.
Here's my preset:
 "res-standard": {
      "useConfigFiles": true,
      "plugins": {
        "@vue/cli-plugin-pwa": {},
        "@vue/cli-plugin-eslint": {
          "config": "prettier",
          "lintOn": ["save", "commit"]
        },
        "@vue/cli-plugin-unit-jest": {},
        "@vue/cli-plugin-e2e-cypress": {}
      }
    }

Notice no mention of @vue/cli-plugin-babel.
So the question is how can we prevent someone else from making this mistake?
Is it true that jest is dependant on babel? If so should jest not be an option if you don't choose babel?


[schema] Batch message should propagate the schema version from single message

Motivation
Schema version is set on single message's header. But it isn't propagated to
the batch message's header. So when the consumer receives the message batch,
it doesn't contain the schema version.
Modifications
When intializing a message batch, propagate the schema version from single message to batch message header.
Verify this change
Verified with an integration test.


吆西

吆西，你滴大大滴棒

😆
On Tue, Sep 17, 2024 at 10:32 PM 13wenwen @.***> wrote:

吆西，你滴大大滴棒
—
Reply to this email directly, view it on GitHub
https://github.com/mobaisilent/Aircraft_Wars/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQRAQBU2H4GSNJM7U22T42TZXA4PXAVCNFSM6AAAAABOLT4PYOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZTCMZTGE2TOOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


ui: Updated units names

Description
This PR...

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[X] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

Before the fix

After the fix

@OlegChuev any opinion on our comments? we are planning for 4.18.2 and it would be nice to resolve this before then.

@blueorangutan ui

@rohityadavcloud a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/8543 (QA-JID-370)


Under events timeline, every single event seems to be displayed twice

This happens under both Keyboard and Component events (while Mouse show no events whatsoever).
Example when hitting the A key once:

The first two events are identical keydown events, then two identical keypress events and lastly two identical keyup events.
Another example with component events:

Also, do the different colors have any specific meaning?

Never mind, it was me 😞

Wait a minute. It just happened again. Every event displayed twice. I tried disabling Chrome DevTools (F12) en re-enabling it again (F12). Now every event is displayed 12 (!) times. There's something going on.

Things tried:

I was on 7.0.0 beta 12, by the way, but switching to 7.5.6 didn't change the behavior.

Disabling + enabling Chrome DevTools some more times (F12 + F12) worsens the problem. Right now every event is displayed hundreds of times.

Stopping + starting recording doesn't help.

Disabling + enabling Component events doesn't help.

Disabling + enabling the Vue DevTools extension doesn't help.

Reinstalling Vue DevTools  doesn't help.

Restarting Chrome completely (without continuing to run some processes in the background) just sets the count back to events displayed twice. Same if i create a new browser tab and F12.

Just found a way to make it work:
After restarting the Vite development server, every event is only displayed once, as it should be (until I reopen Chrome DevTools). 🎉
My script in package.json:
"scripts": {
   "dev": "SET NODE_ENV=development && vite --force -d"
}

This lead me to the (now) quite obvious conclusion: Just reloading the page also fixes it. (How did I miss to test that one!?)


Error: Building package boost-regex:x64-windows failed with: BUILD_FAILED

The following packages will be built and installed:
boost-regex[core]:x64-windows
Starting package 1/1: boost-regex:x64-windows
Building package boost-regex[core]:x64-windows...
-- Using cached D:/vcpkg/downloads/boostorg-regex-boost-1.70.0.tar.gz
-- Using source at D:/vcpkg/buildtrees/boost-regex/src/ost-1.70.0-e31fa0647d
CMake Error at ports/boost-regex/portfile.cmake:19 (include):
include could not find load file:
D:/vcpkg/installed/x64-windows/share/boost-build/boost-modular-build.cmake

Call Stack (most recent call first):
scripts/ports.cmake:74 (include)
Error: Building package boost-regex:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: boost-regex:x64-windows
Vcpkg version: 2019.07.18-nohash
Additionally, attach any relevant sections from the log files above
win10, vs2017, cmake 3.14.
I've checked the file boost-modular-build.cmake, actually it does not exist.
And I've followed several of the issue suggestions, like git pull vcpkg, update boost to the newest version,  filepath without whitespace, modify vs2017 and so on, but the same error still occurs···
Thank you for any help.

@ZoeZhang91, could you remove boost-build:x64-windows and reinstall boost-regex[core]:x64-windows again?

@ZoeZhang91, could you remove boost-build:x64-windows and reinstall boost-regex[core]:x64-windows again?

thank you for your reply.
yes，i‘ve tried these before，but still got the error.
and i successfully built the total boost  just now by the following solutions：
vcpkg remove boost-modular-build-helper:x64-windows --recurse
vcpkg install boost-modular-build-helper:x64-windows   --recurse

@ZoeZhang91, this should be regression issue involved recently, thanks for reporting this issue!

estou com o mesmo problema, ja tentei de tudo principalmente os posts anteriores que vcs falaram sobre solução e nada...
-- Cleaning sources at C:/vcpkg/buildtrees/boost-regex/src/ost-1.74.0-ccd5cfd86e.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/vcpkg/downloads/boostorg-regex-boost-1.74.0.tar.gz
-- Using source at C:/vcpkg/buildtrees/boost-regex/src/ost-1.74.0-ccd5cfd86e.clean
-- Including C:/vcpkg/ports/boost-regex/b2-options.cmake
-- Building x64-windows-rel
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:108 (message):
Command failed: C:/vcpkg/installed/x64-windows/tools/boost-build/b2.exe --stagedir=C:/vcpkg/buildtrees/boost-regex/x64-windows-rel/stage --build-dir=C:/vcpkg/buildtrees/boost-regex/x64-windows-rel --user-config=C:/vcpkg/buildtrees/boost-regex/x64-windows-rel/user-config.jam -j4 --debug-configuration --debug-building --debug-generators --disable-icu --ignore-site-config --hash -q -sZLIB_INCLUDE=C:/vcpkg/installed/x64-windows/include -sBZIP2_INCLUDE=C:/vcpkg/installed/x64-windows/include -sLZMA_INCLUDE=C:/vcpkg/installed/x64-windows/include -sZSTD_INCLUDE=C:/vcpkg/installed/x64-windows/include threading=multi threadapi=win32 runtime-link=shared link=shared address-model=64 architecture=x86 -sZLIB_BINARY=zlib -sZLIB_LIBPATH=C:/vcpkg/installed/x64-windows/lib -sBZIP2_BINARY=bz2 -sBZIP2_LIBPATH=C:/vcpkg/installed/x64-windows/lib -sLZMA_BINARY=lzma -sLZMA_LIBPATH=C:/vcpkg/installed/x64-windows/lib -sZSTD_BINARY=zstd -sZSTD_LIBPATH=C:/vcpkg/installed/x64-windows/lib variant=release debug-symbols=on
Working Directory: C:/vcpkg/buildtrees/boost-regex/src/ost-1.74.0-ccd5cfd86e.clean/build
Error code: 1
See logs for more information:
C:\vcpkg\buildtrees\boost-regex\build-x64-windows-rel-out.log
Call Stack (most recent call first):
installed/x64-windows/share/boost-build/boost-modular-build.cmake:346 (vcpkg_execute_required_process)
ports/boost-regex/portfile.cmake:12 (boost_modular_build)
scripts/ports.cmake:136 (include)
Error: Building package boost-regex:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: boost-regex:x64-windows
Vcpkg version: 2020.11.12-nohash

@jadsonleno123, please report a new issue with failures logs instead.

Novo Documento de Texto.txt

Esses são minhas falhas...!

@jadsonleno123, please install English language pack via vs installer and try again,
If the issue persist, pelease open a new issue with failure log 'C:\vcpkg\buildtrees\boost-regex\build-x64-windows-rel-out.log'.


buildDotnetModule: bump default dotnet version from 5 -> 6

Description of changes
This updates the default version of dotnet for buildDotnetModule from 5 -> 6, seeing how dotnet 5 has reached its EOL. For more information see https://github.com/NixOS/nixpkgs/issues/173115.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 173304 run on x86_64-linux 1

15 packages built:

ArchiSteamFarm
alttpr-opentracker
btcpayserver
depotdownloader
discordchatexporter-cli
formula
inklecate
jackett
nbxplorer
netcoredbg
opentabletdriver
osu-lazer
pinta
ryujinx
xivlauncher

Result of nixpkgs-review pr 173304 run on x86_64-darwin 1

3 packages failed to build:

depotdownloader
formula
inklecate

2 packages built:

jackett
netcoredbg

Logs of failed builds:

dotnet-runtime-3.1.21.log
depotdownloader-2.4.5.log
formula-dotnet-2.0.log


Added favicon image

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

Done


Need a system for toggling collision properties on "on floor" entities when they are still.

Stuff like corpses, items, open lockers, etc... all need to have collision while they are moving, so that they can actually run into things, but they also need to have their collision gone while they are still, so that you can walk over them.
@InquisitivePenguin

Could this be solved with just collision layers in some way? Or is the issue that open lockers should collide with standing humans if the locker itself is the thing moving?

We can make that a virtual controller. The controller will check if LinearVelocity == Vector2.Zero. If so, it will set Hard to false, otherwise it will set Hard to true.


[Hotfix] fix role assignment when update feature store (#35751)

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

Please update the target branch to 1.16.1 for hotfix

updated


Support for azure functions v2 and v3?

Hi. Will you add support for v2 and v3 of functions API?

Hello @lisamariet,
I'll check once more but since Microsoft changed the way it works, it has become much more tricky. Don't count on it too much
Best regards

Perhaps have a look at this as well https://github.com/meanin/azure-apim-vsts

This is a fork of my extension in its early days. It won't help since the guy only fixed a typo 2 years ago it seems...:)

did you see he seem to have a functionsv2 ? https://github.com/meanin/azure-apim-vsts/tree/apim_upgrade/apimfunctionv2versioned


Add butlast algorithm to return a range without the last element

I found myself writing the line
filename.splitter('.').array[0 .. $-1].joiner(".").to!string ~ ".cpp";

and figured there needs to be an improvement. Enter butlast
filename.splitter('.').butlast.joiner(".").to!string ~ ".cpp";

This is really an exercise in ranges, still it might be useful.

Oh, there is dropBack in std.range and it is based on popBackN. It seems to require a bidirectional range. Problem solved. Please discard this request.


Recreate index.html

Project List Page Improvement
Problem Statement
Our current Project List page is very simple and lacks a visually appealing design. We need to enhance this page to make it more user-friendly and aesthetically pleasing.
Objective
The goal is to create a new Project List page with the following requirements:

Single Page Implementation: Everything should be on the same page to keep it simple and straightforward.
Technologies: The page should be developed using simple HTML, CSS, and JavaScript. This will ensure that new contributors can easily understand, modify, and improve the page in a short amount of time.
Design: I've added an image of the expected UI for the new Project List page. The current page is located here.
Check current page preview

How to Contribute
If you’re interested in contributing to this project, please fork the repository, make your changes, and submit a pull request. Your contributions will be greatly appreciated!
Expected UI Design

@ianshulx can you pease assign me this issue ?

@georgioupanayiotis, Okay I'm assigning you for this issue, Please follow the objective of this issue carefully.

@ianshulx I’ve noticed the open issue related to the UI. I believe I could contribute by helping to resolve this issue. may i work on it ?

okay i've assigned you for this issue @akshatazore

@akshatazore , Wow! This UI is absolutely stunning! 😍 Your contribution has really taken the design to the next level. Massive thanks for your hard work and dedication, it’s contributions like yours that make open-source so awesome! 🙌✨

@akshatazore, Overall UI is amazing but there is one issue occurs in the contributor list, names of all contributors is available in the repo but not on the page you created recently, like your's name, can you please check that also what's the issue there.

Thank You @ianshulx !!


parse() should trim input strings

This leads to a TypeError:
let c = " #bada55"; // Notice the leading space
let color = new Color(c);

There's the same problem with CSS named colors, leading or trailing spaces produce errors.

Otherwise fantastic library !

Sure, sounds good! This should be a very easy PR for any new contributors, so I'll leave it up for grabs :)

And thanks for the kind words! ❤

@LeaVerou  could it be as easy as modifying parse.js like that ?
(I'm not familiar with complex project like this one)
export default function parse (str) {
	let env = {"str": str.trim()};
	// ...

Yup, pretty much! 😄

I'd do str?.trim() to avoid errors in case