[Ubuntu 20.04] Version 1.1.4 does not load Python lib and it hangs during launch

I downloaded the AppImage v1.1.4 and tried to run it on Ubuntu 20.04, but I am getting the following error:
gmellone@gmellone-TP ~/Downloads> ./tiplot-1.1.4.AppImage
Found available port: 5000
[48291] Error loading Python lib '/tmp/.mount_tiplotCvnaJX/resources/api/server/libpython3.10.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/.mount_tiplotCvnaJX/resources/api/server/libpython3.10.so.1.0)

The GUI hangs here:

The v1.1.3 runs with no issues on my machine.

Hi @wico-mellone,
We've updated the build environment and recompiled the app against Ubuntu 20.04, so you should now be able to use the latest version without any problems.
Release v1.1.5

Thanks @HmZyy!


Path to binaries broken

@awf, I'm having trouble understanding the intent of this change.  It adds "\$script:buildtype" to the path to each tool except DiffSharp.  But the tools don't have that in their path, at least not when I run on Azure DevOps.
The path to the generated Manual binary is tools\Manual\Tools-Manual-GMM.exe but, with this change, the script looks for it in tools\Manual\Release\Tools-Manual-GMM.exe.
Was it perhaps supposed to be -neq, or something else?
https://github.com/awf/autodiff/commit/06ee8d1f911d019098505552887fcc8f48c08ef2#diff-098416d604d473d6991aa60aad51b3bcL165

Apparently, this change made run_all.ps1 use the paths produced by cmake's Visual Studio generator, which differ from those produced by Ninja and Unix Make. See https://cmake.org/cmake/help/v3.5/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.html#prop_tgt:RUNTIME_OUTPUT_DIRECTORY

Closing as fixed by https://github.com/awf/ADBench/pull/39


Build of vsgPoints failes on macOS due to missing header file

My build sequence:
rm -rf vsgPoints
git clone https://github.com/vsg-dev/vsgPoints.git
cd vsgPoints
cmake  .
make
The code references a missing header, so the build fails:
[ 10%] Building CXX object src/vsgPoints/CMakeFiles/vsgPoints.dir/AsciiPoints.cpp.o
[ 20%] Building CXX object src/vsgPoints/CMakeFiles/vsgPoints.dir/BIN.cpp.o
[ 30%] Building CXX object src/vsgPoints/CMakeFiles/vsgPoints.dir/Brick.cpp.o
[ 40%] Building CXX object src/vsgPoints/CMakeFiles/vsgPoints.dir/Bricks.cpp.o
[ 50%] Building CXX object src/vsgPoints/CMakeFiles/vsgPoints.dir/BrickShaderSet.cpp.o
/Users/rainerge/Soft/Entwicklung/VSG3/vsgPoints/src/vsgPoints/BrickShaderSet.cpp:13:10: fatal error: 'vsgPoints/BrickBuilder.h' file not found
#include <vsgPoints/BrickBuilder.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Sorry about that.  I refactored vsgPoiunts to clean it up but didn't spot this include error as I had installed vsgPoints and my build was picking up on an installed but now deleted header.
I have fixed this in the commit:  2e65c74181d0ed5be0de99d774c1e8823bfcf478


Add text to README.md

Add text to basic training README.md describing:

Call to action to star the repo
Link to AirSwap, key resources, AIP-30
Describe the target audience
Brief Motivation to create repo (as per AIP-30)
Motivation for a dev to contribute to the repo
Overview of the Web App

added a draft, will improve...

sweet, let me know if you need me to add anything to the draft beforehand. Or as a Pull Request afterwards.


question: does etcd v3 transfer password in plaintext or in hash over gRPC?

In another words: etcd convert password in hash on client and then comparing hashes on server side or on server side?
(client: password --> hash; server: hash <-> hash_stored)  or (server: password_received --> hash; hash <-> hash_stored)

@idonin it's plaintext to authenticate and a token thereafter. See https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/api_reference_v3.md#message-authenticaterequest-etcdserveretcdserverpbrpcproto


Use youtrack format to render image with properties

JetBrains change format for images with proprieties at YouTrack, so we need to add some changes at jira2markdow

I've made a small fix. Everything else is well prepared. Thank you!


[release-4.16] OCPBUGS-42441: Add O-RAN v3.0 Compliant API to PTP Event Producer

Backport O-RAN v3.0 compliant event API to 4.16.
Included in this PR:

https://github.com/redhat-cne/cloud-event-proxy/pull/316
https://github.com/redhat-cne/cloud-event-proxy/pull/315
https://github.com/redhat-cne/cloud-event-proxy/pull/320
https://github.com/redhat-cne/cloud-event-proxy/pull/323
https://github.com/redhat-cne/cloud-event-proxy/pull/326
https://github.com/redhat-cne/cloud-event-proxy/pull/329
https://github.com/redhat-cne/cloud-event-proxy/pull/336
https://github.com/redhat-cne/cloud-event-proxy/pull/335
https://github.com/redhat-cne/cloud-event-proxy/pull/338
https://github.com/redhat-cne/cloud-event-proxy/pull/361

/label cherry-pick-approved


[c++] Always init all SimpleJsonReader members

In one of the ctor overloads the _input member wasn't being copied from
the source reader.

Added some more assertions.
Removed an unused private ctor.

I think it would be better to update the PR title.

I've addressed all the comments save the one about moving the input buffer into the stream. I need to look more deeply at that one yet.

In the latest commit RapidJsonInputStream now owns its input buffer.


Debug L2 pay workflow

PR adds

an ack step to in-channel state changes.
some logging
various small tweaks

PR removes

signature verification - it is broken

closes #91

@NiloCK I've fixed some merge conflicts on this branch.
I've also started to cherry pick work see #118 .
I would be in favour of chopping this up a bit before merging?


api, debugapi, internal, sctx, tags: tags cleanup

This PR aims to solve issue #563, which is about moving back the tags API from debugapi and iterating on it.
TODO:

[ ] add tests for new/changed endpoints

closes #563

requesting preliminary reviews from @janos, @acud and @zelig while i add new tests, the rest of the code should be ready

i've created a follow-up issue here: #576.


cdc,script(ticdc): add more logs to AsyncClose

What problem does this PR solve?
Issue Number: close #5403
Check List
Tests

Manual test (add detailed scripts or steps below)

Close a TiCDC node.
Release note
None

/merge

/merge


Added support for the Windows 10 platform.

Hi guys,
Here I've done the work to create icons for the Windows 10 platform.
This PR supports "MRT" icons for Windows, which is Windows' version of resolution scaling, and Cordova's recommended approach as outlined on their Windows platform guide.
Implementation details
Like Android and iOS, Windows needs to generate lots of images at different scales, but unlike the other platforms it then summarises those images together using "targets" in the configuration, meaning the code needs to generate more images than it writes to the config file.
This is achieved in code by adding a target attribute into the resources definition, and ensuring that that only images with that attribute are written to the config file. Likewise, the MRT approach also needs the summary image filename to NOT have an actual file for MRT to work. To do this, I implemented a Format of NONE for those records.
Example
e.g. Here's a snippet from the resources definition:
{ src : 'windows/icon/Square44x44Logo.png', format: Format.NONE, width: 44, height: 44, target: WindowsTarget.SQUARE_44_X_44_LOGO },
{ src : 'windows/icon/Square44x44Logo.scale-100.png', format: Format.PNG, width: 44, height: 44 },
{ src : 'windows/icon/Square44x44Logo.scale-125.png', format: Format.PNG, width: 55, height: 55 },

For the above example, the first line results in the config entry below, but no file is generated:
<icon src="res/windows/icon/SmallTile.png" target="Square71x71Logo" />

The other resource lines that follow generate the actual files normally:
Square44x44Logo.scale-100.png
Square44x44Logo.scale-125.png
Square44x44Logo.scale-140.png
Square44x44Logo.scale-150.png
Square44x44Logo.scale-200.png
Square44x44Logo.scale-240.png
Square44x44Logo.scale-400.png

MRT means that when res/windows/icon/Square44x44Logo.png is not found, that Windows looks instead for the scaled version of the image — e.g. res/windows/icon/Square44x44Logo.scale-100.png.
The end result is 57 files generated and 7 config lines added.
Code changes

A new Format.NONE type indicates that the file should not be written
A new Platform.WINDOWS type defines the Windows platform
A new WindowsTargets enum holding all the Windows targets
Added target to the types that define and pass around the source images.
Added support through various parts of the code for the windows platform
Added a test.

Results in the config look like this:
    <platform name="windows">
        <icon src="res/windows/icon/SmallTile.png" target="Square71x71Logo" />
        <icon src="res/windows/icon/Square150x150Logo.png" target="Square150x150Logo" />
        <icon src="res/windows/icon/Wide310x150Logo.png" target="Wide310x150Logo" />
        <icon src="res/windows/icon/Square310x310Logo.png" target="Square310x310Logo" />
        <icon src="res/windows/icon/Square44x44Logo.png" target="Square44x44Logo" />
        <icon src="res/windows/icon/StoreLogo.png" target="StoreLogo" />
        <splash src="res/windows/splash/Splash.png" target="SplashScreen" />
    </platform>

Testing
I added a test to cover it, at the same standard as the existing tests. I also am running it for a production app I'm generating at present so I have real-world experience.
Usage
A sample run of this patch looks like this:
$ cordova-res --resources res --icon-source res/icon.png --splash-source res/splash.png

Generated 18 resources for android
Generated 45 resources for ios
Generated 57 resources for windows
Wrote to config.xml

@sc0ttdav3y First off, thanks for the PR!
As Ionic continues to improve desktop support, the cordova-windows platform will be a desktop target platform to watch. I can't say we have full support in mind at this time, as there are several options such as desktop web, cordova-electron, vanilla Electron, etc. and we want to support the most popular options first, of course.
Since we have to weigh the value of shipping this with the inevitable maintenance load, I have to ask: are you willing to play an active part in maintaining cordova-windows support in this tool? 😇

Sure, let’s call me "semi-active”.
We’ll be using this for our own purpose, so I’m happy to maintain it at a level that is needed for our use-case.  I’m pretty busy generally, so being  active hanging around in forums and with non-coding support is probably beyond me though.
Cheers, Scott

On 30 Aug 2019, at 8:49 am, dwieeb<EMAIL_ADDRESS>wrote:
@sc0ttdav3y https://github.com/sc0ttdav3y First off, thanks for the PR!
As Ionic continues to improve desktop support, the cordova-windows platform will be a desktop target platform to watch. I can't say we have full support in mind at this time, as there are several options such as desktop web, cordova-electron, vanilla Electron, etc. and we want to support the most popular options first, of course.
Since we have to weigh the value of shipping this with the inevitable maintenance load, I have to ask: are you willing to play an active part in maintaining cordova-windows support in this tool? 😇
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ionic-team/cordova-res/pull/41?email_source=notifications&email_token=AADDAZY7UDETPRPH5SMVDBTQHBG53A5CNFSM4IMDLGLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QBG2A#issuecomment-526390120, or mute the thread https://github.com/notifications/unsubscribe-auth/AADDAZ6BPJKGE7D3EJGLXNLQHBG53ANCNFSM4IMDLGLA.

We have a Cordova Windows UWP app where we use the store to distribute it, so would be very interested in this feature.

@sc0ttdav3y Thanks for your response, that's perfect.
I'm wondering if it makes sense to change the behavior of cordova-res with this PR such that it only generates resources for platforms that exist in config.xml.
For example, our starters come with <platform name="android"></platform> and <platform name="ios"></platform>, but it may be strange when this tool adds config for a platform that people may not want.
They would have to add <platform name="windows"></platform> to generate resources for Windows. Similarly, they could remove the Android or iOS platform to stop automatically generating resources for them.

@sc0ttdav3y Can you allow edits from maintainers for this PR? https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork
I have a commit that adds the functionality I was talking about above.

This is sounding very promising!! I was almost resigned to the fact I have to do all this manually; I will now wait. Awesome guys!

@dwieeb Sounds like a good idea to only build platforms in config.xml.
I read the page you linked about allowing edits, and it seems "Allow edits from maintainers" is already checked for this PR so you should already have the access you need ¯_(ツ)_/¯

@dwieeb are there plans to merge @sc0ttdav3y fork in and release?

@sc0ttdav3y I couldn't get it to work, but here's the commit if you want to peruse: https://github.com/ionic-team/cordova-res/commit/ab2d6754dc3fc11b4ce7ed847a18beafbdfd78e0

@sc0ttdav3y @adamcweitzman @pjc2007 There is now a testing release you can use:
npm i -g<EMAIL_ADDRESS>
Please test! Let us know how it works.

@dwieeb Excellent, I'll delete my PR and switch my build system back to this one and let you know how I go.
In the meantime, your idea of only generating icons for added platforms may have a flaw, so it's probably best you didn't get it working. I noticed today that the Android platform (as of 8.1.0 I think) now fails to add if the icons are not already in place. This broke my CI build recently. The fix is, of course, to run cordova-res before running cordova platform add android. If your work had have made it, then this would have become a circular dependency.
Anyway, just sharing as an FYI for future. If you do add the feature to generate only icons for added platforms in future, also add a flag to generate a specific platform's icons even if it's not currently added.

@sc0ttdav3y The code for doing that is already in master 😂 I'll add a reminder for myself to look at it.

@dwieeb - sorry for the delay trying this out!
I installed the<EMAIL_ADDRESS>I removed all my existing windows images (backuped up of course), and remove any references to them from config.xml.
I ran the command ionic cordova resources windows.
 Looking in the above config.xml I can see some file names that don't match, eg Square44x44Logo.png. All the files generated have a .scale-xxx usffix, eg Square44x44Logo.scale-100.png.
Not sure if they should match?

In response to my above comment, when I built and ran a test version, I had a couple of "file" types errors, but this was just coincidence and not related to the resources (I still got it when I reverted).
I tried the build on a different test machine with the new resources, (Surface tablet) and all seems fine!
So can ignore my "should these match" it appear under the hood perhaps it looks for such suffixes.

Thanks @pjc2007!
@sc0ttdav3y I don't think what you described is an issue. It looks like it only fails if config.xml contains the references to the files before adding the platform. This won't be the case for vanilla Cordova apps or Ionic starter apps, as the former does not contain the generated images nor the references to them, but the latter is shipped with both. This seems like the correct behavior to me.

One very small thing I since noticed, is which ever icon is selected for the star menu when running on a PC, has a small border around the graphic....
I have zoomed in a little (so is a bit blurry), but if we look at my app icon (the arrow), can see if has a small dark grey border...

None of the generated images have this, so not quite sure what Windows is doing there.
Anyway, this is a very minor issue

0.7.0 is out!

@pjc2007 Yes, I get this too.
I'm not adding padding to our icons. Windows is doing that. It's called "plating".
If you've got some time, the docs for Windows icons start here:
https://docs.microsoft.com/en-us/windows/uwp/design/style/app-icons-and-logos
On that page, it says:

You don't have to add padding to these assets; Windows adds padding if needed.

It then calls the padded icons "Plated assets".  There is apparently an option for "unplated assets" which is what you want, but the docs don't tell us how to do it and I haven't been able to work it out in the time I've had.
I'd encourage you to read the article and see if you can understand it better than me.
I think the key paragraph is this one:

By default, Windows uses a target-based asset on top of a colored backplate by default. If you want, you can provide a target-based unplated asset. "Unplated" means the asset will be displayed on a transparent background. Keep in mind that these assets will appear over a variety of background colors.

then

The user's selected theme determines the color of the taskbar. If the unplated asset isn't specifically qualified for the current theme, the system checks the asset for contrast. If it has enough contrast with taskbar, the system uses it. Otherwise, the system looks for a high-contrast version of the asset. If it can't find one, the system draws the plated form of the asset instead.

Unfortunately the docs don't tell us explicitly how to create or submit unplated assets, and I haven't had the time to dig deeper.  There may be a switch to flip in Visual Studio for this, and if so, we'd need to first find out how to do it manually, and then get Cordova's windows platform devs to flip that switch for us.
If you'd like to dig deeper and find out how to manually set the assets as plated, then I'd be happy to make changes to the icon generation if any are needed.

@pjc2007 Update on plated assets — there is a discussion below the article I linked to, and it has some other links. Apparently we may just need to add "_altform-unplated" suffix to your file names.
Perhaps you could try this manually and see if it works as advertised? If it's that easy, then we could probably add a plating option.
Some further info:

https://docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-manual-conversion#optional-add-target-based-unplated-assets
https://docs.microsoft.com/en-us/windows/uwp/app-resources/tailor-resources-lang-scale-contrast#shell-light-theme-and-unplated-resources

@dwieeb If that's the case then all is good. 👍

@sc0ttdav3y  - thanks for all that info! (my bad for the delay on reading it). I shall check all that out and give it a go shortly when have a spare moment, and get back to looking at the resources.

@sc0ttdav3y Question for you--are we unnecessarily generating windows/splash/Splash.png? It looks like we already generate a splash screen at 100% scale:
https://github.com/ionic-team/cordova-res/blob/b1f400e5d2966c6a5d5d4a958140780390093c02/src/resources.ts#L366-L367


Return gRPC errors from instrumentedService

Signed-off-by: Justin Terry (VM<EMAIL_ADDRESS>

@Random-Liu account issue with travis

@Random-Liu - ? This didnt fail any tests that I can understand. Can we re-run?

/test pull-cri-containerd-verify

@yujuhong ping.. having a GCP service account issue..

/test pull-cri-containerd-verify

/retest

@jterry75 my bad I didn't expand the log and misread it.. you need to run gofmt
I0619 15:42:00.653] !!! 'gofmt -s' needs to be run on the following files:
120
I0619 15:42:00.654] ./pkg/server/instrumented_service.go
121
I0619 15:42:00.654] Makefile:71: recipe for target 'gofmt' failed
122
W0619 15:42:00.662] make: *** [gofmt] Error 1
123
W0619 15:42:00.662] Traceback (most recent call last):
124
W0619 15:42:00.662]   File "/workspace/./test-infra/jenkins/../scenarios/execute.py", line 50, in <module>
125
W0619 15:42:00.662]     main(ARGS.env, ARGS.cmd + ARGS.args)
126
W0619 15:42:00.662]   File "/workspace/./test-infra/jenkins/../scenarios/execute.py", line 41, in main
127
W0619 15:42:00.663]     check(*cmd)
128
W0619 15:42:00.663]   File "/workspace/./test-infra/jenkins/../scenarios/execute.py", line 30, in check
129
W0619 15:42:00.663]     subprocess.check_call(cmd)
130
W0619 15:42:00.663]   File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
131
W0619 15:42:00.663]     raise CalledProcessError(retcode, cmd)
132
W0619 15:42:00.663] subprocess.CalledProcessError: Command '('./test/verify.sh',)' returned non-zero exit status 2

@mikebrow - Thanks for looking. I don't understand where you saw that though. It looked like a permissions issue to me as well. Sorry for the confusion PR updated

@mikebrow - Thanks for looking. I don't understand where you saw that though. It looked like a permissions issue to me as well. Sorry for the confusion PR updated

Yeah when I saw other builds passing.. I took another look.. the log scraper cut off the important part of the log (the first error). When that first error caused the build check to fail.. it then caused the pull to fail do to the pre-req of passing the first check... doh :)

I believe we moved make verify to kubeinfra because travis' would intermittently timeout on the lint test bucket. Maybe we should some of the make verify targets back into the travis bucket as travis is a little easier to manage.

All green! Thanks @mikebrow

@Random-Liu - PTAL I would love to get the context PR rebased on this so we can get those fixes in

@Random-Liu ?

@Random-Liu - ping?

@Random-Liu is out of office.
/lgtm

Thanks @yujuhong! I will rebase the other PR now.


Add test for apostrophes in string literals

https://github.com/jzaia18/RockstarProjects/blob/master/primechecker/primechecker.rock had an example that Maiden couldn't parse :)

Could you just add a newline at the end of the .rock file, but then we're good to go.

@cwfitzgerald I'm fairly sure I've just done this (shows up in my local system)


Question: using Fetch to supply Data

Hi,
I am trying to provide data to Dropdown using an aysnc Fetch call. I wanted to know if that was possible.
So far, was I have been doing is:
function getEndpointsFromApiAsync() {
    return fetch('https://<url>myJson.json')
        .then((response) => response.json())
        .then((responseJson) => {
            return responseJson.value;
        })
        .catch((error) => {
            console.error(error);
        });
}

and from inside the constructor of the class calling
 this.data = getEndpointsFromApiAsync();
then passing
<Dropdown
                        data={this.data}
                        label='Source'
                        labelExtractor={({name}) => name}
                        valueExtractor={(value) => value}
                        onChangeText={(value) => {this.handleChange('source', value)}}
/>

But everytime it just throws me back an error. What is confusing for me is that if instead of using the Fetch request, if I load the same json, from my machine using import, it all works, the only change I do is
this.data = myJson.value;

The console logs in both cases show exactly the same data being returned.
Can someone help?

Thanks for question. fetch() returns a Promise, so you should not put it directly into component props, but get value from it when it will be resolved and render component with this value. However when you are loading json from a local machine, you get data directly without Promise wrapper.


Add CSS reset

Belatedly adds a CSS reset to the site so that it's starting from zero, so to speak.
This has required some adjustments to the existing styling and also been a nice excuse to use the OutlineCardGrid component more widely, which further tidies up the MDsveX files.

Missed that lists need a margin after:

[ ] Fix


RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'

I am trying to use Roberta NER and BERT NER uncased but for both of the models I am getting the following issues. Is it something which is still under development or anything wrong from my side?
Error:
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'

please tell me the code you used.

normally, that error occurs when you use LayerNorm layer on CPU.


Requests for SSO sample using ASP.NET

Feature Request
Use the 'Enhancement' query to search for the most popular feature requests.
The Sample tag also lists examples and implementations that have already been requested.
Is your feature request related to a problem? Please describe.

Currently we have SSO sample using node.js https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/07.advanced-web-chat-apps/e.sso-on-behalf-of-authentication
And we know that there are requests for SSO sample using ASP.NET in an internal email thread.
Describe the suggestion or request in detail

Formalize these existing samples:
https://github.com/EricDahlvang/WebChatSSO
https://github.com/microsoft/BotBuilder-Samples/tree/swagatm/webchatsso/experimental/sso-with-webchat/SSOBotCSharp
Describe alternatives you have considered

Maybe it is good to put them in BotBuilder-Samples, since samples here are js only
https://github.com/microsoft/BotBuilder-Samples/issues/2590
Additional context

[Enhancement]

@swagatmishra2007 @tdurnford What do you think?

The only thing that would change from the existing SSO sample is the bot - everything else would be the same. I don't think it's worth maintaining another sample.


Determine how secret information should be stored in our API

Currently, secret information related to communicating with brokers or that is sent to brokers as part of an OSB request payload has been discussed as being stored in kubernetes secrets.  However, the kubernetes roadmap for secrets says that secrets are only for consumption by pods, and that API resources holding secret information for other purposes should be encrypted at rest.
We need to determine if this means that the following things should be stored directly in the relevant API resources and those resources encrypted at rest:

Broker credentials (Broker resource)
Instance parameters (Instance resource)
Binding parameters (Binding resource)

@nilebox has pointed out that this would mean that a user with permission to read these resources would be able to read the secret information.  We should also determine if storing secret information directly in the resource implies that there should be a read-only virtual resource for a particular API resource which does not have fields known to store secret information to permit low-privileged users and service accounts to be able to do things like check the status of a resource without being able to see the secret information.

Re-cap of many lengthy discussions:

Secret information should be stored in secrets and referenced from other API resources


Link to local images and hard-wrap README text

The big change here is just to link to local images in kudos_csh/images/ so that assets will stay up-to-date. The 80-col wrap is just for better plaintext readability.

Thanks! Merged #1


Using query form for pow source list queries

Was preventing successful use with DWEDS kind argument

Coverage decreased (-0.2%) to 71.909% when pulling<PHONE_NUMBER>3dc9b0073fcf95ed34adfa4511b2b0 on lg01 into 4cc343403521f8f4c62f256225b96d2b2108d90c on dev.


Phen2Gene package vs publication

Hi!
Looking into this repository, it seems like it is built to replicate the results from the publication. Am I right?
We are going to deploy Phen2Gene, which means we will probably remove the items that are intended for the publication only. To keep full traceability with you it may make sense if you could split it and we fork the new repository intended for the code of Phen2Gene only. My point is that from my point of view any development we do on the package should point to Wang Lab's Github and with the current status both repositories will quickly diverge.
Suggestion: simply create a copy of this named Phen2Gene-publication (or something like that) and we would work on a fork of this current repository.
The first step for us would be to remove unnecessary files and add a dockerfile.
Any thoughts about this? :)

Hey Pablo,

Yes, this sounds like a cool idea.  I discussed with Kai, and we think the best idea, since this repository is in the paper, is to keep this the same URL and we can fork a new URL: WGLab/Phen2Gene2.  We can call it Phen2Gene2 and treat it as a tool-only repo (taking out all the extra figure generation stuff and benchmark data if you like) and upgrade it and the databases and all that.  Does that sound good to you?
We certainly are interested in keeping the tool improved and up-to-date and incorporating new databases, and I'm sure Mengge and I would have stake in that.
Please let me know.
Sincerely,
Jim

Hi,
Yes, that was my point. Maybe something more explicit that Phen2Gene2? You might want to create a real v2 of Phen2Gene at some point. Maybe something like Phen2Gene-package? I don't know, up to you :)

My hope is any improvements you all make we can also incorporate into v2 if
that is something you're interested in.  I've done that for now (
https://github.com/WGLab/Phen2Gene2) and we'll see where it goes from
there.  I can always change the repo name later.
On Tue, Sep 1, 2020 at 4:48 AM Pablo Botas<EMAIL_ADDRESS>wrote:

Hi,
Yes, that was my point. Maybe something more explicit that Phen2Gene2? You
might want to create a real v2 of Phen2Gene at some point. Maybe something
like Phen2Gene-package? I don't know, up to you :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/WGLab/Phen2Gene/issues/23#issuecomment-684596092, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSDYBFWAOYFZEJGSG3YVHLSDSYPVANCNFSM4QQL7AUA
.

Yes, you are right. That should work :)


add 404 page

Signed-off-by: relativelyrehan<EMAIL_ADDRESS>Solve #974
This 404 page can be accessed by going to any unavailable route
Desktop

Mobile

See https://docs.netlify.com/routing/redirects/redirect-options/#custom-404-page-handling

@wallrj that 404 image has that design, in which the 404 seems to be cropped. That is intentional design to indicate the idea of a broken page.
For users without JS, I think it's not an issue as on build all of this will be a static HTML with image url and homepage url, both of them are static sources.

@wallrj that 404 image has that design, in which the 404 seems to be cropped. That is intentional design to indicate the idea of a broken page.

It's an interesting idea, but my first reaction was that the image is broken.
Please use a non cropped image and then I'll be happy to merge this.

@wallrj I will have a look at the documentation for netlify, because there it doesn't seems to work.
I have one question though, are we using netlify for the production deploy too?

It might be worth investigating that in a separate PR though. What you've got in this branch is nice and self contained and is a clear improvement which I think should work for people who have JavaScript enabled and who are simply clicking around the site.

/ok-to-test

@wallrj no problem. Thanks for the merge. I also wanted to check with you if there is any open position for a partime paid frontend developer in your org.


Update Docs

Included PR welcome badge by replacing build badge

What kind of change does this PR introduce?
Included feature change

Did you add tests for your changes?
yes

Does this PR introduce a breaking change?
yes

What needs to be documented once your changes are merged?

cc @evilebottnawi

cc @sokra

Thanks


add Debian packaging for python-twodict

Related to https://github.com/MrS0m30n3/youtube-dl-gui/pull/189
The best and recommended practice is to only push the debian/ directory to a separate branch (eg. debian-packaging), so that it does not interfere with your master branch. When you want to release a new package, just git checkout debian-packaging; git merge master, bump the package version/changelog/etc and rebuild.
But Github doesn't let me create a Pull Request for a new branch, so you'd have to merge this manually:
git remote add nodiscc https://github.com/nodiscc/twodict
git remote update
git checkout debian-packaging
git push -u origin debian-packaging

If you want to maintain the .deb packages in the future (I don't know if/how much you use Debian) You may also want to edit the Maintainer: field in debian/control. You should also create a GnuPG key for package signing. Otherwise let me know and I'll try to keep them updated.

@MrS0m30n3 ok to merge?

@MrS0m30n3 I can also move everything (including twodict packaging) to a packaging/debian/ directory in https://github.com/MrS0m30n3/youtube-dl-gui/ if you don't want debian directories in all your projects.

Regarding the debian directory i have no problem to keep it the main directory as long as we use a different branch.

I also created a new branch debian-packaging. Now you should be able to push your changes there.

Thanks, I made the required changes in , but I am getting warnings unknown substitution variable ${...:Depends}, there is no python3-twodict package produced, and lintian complains about the python2 package. I'm attaching the log, at this point I have no clue but will investigate, please let me know if you have more info on how to fix this
build@machine:/mnt/DEB-PACKAGING/twodict (debian-packaging=)$ cd .. && mv twodict python-twodict && tar -cJvf python-twodict_1.2.orig.tar.xz python-twodict && cd python-twodict && dpkg-buildpackage -rfakeroot
python-twodict/
python-twodict/.git
python-twodict/MANIFEST.in
python-twodict/README.md
python-twodict/LICENSE
python-twodict/debian/
python-twodict/debian/changelog
python-twodict/debian/source/
python-twodict/debian/source/format
python-twodict/debian/control
python-twodict/debian/README.md
python-twodict/debian/compat
python-twodict/debian/watch
python-twodict/debian/copyright
python-twodict/debian/rules
python-twodict/test_twodict.py
python-twodict/twodict.py
python-twodict/setup.py
dpkg-buildpackage: info: source package python-twodict
dpkg-buildpackage: info: source version 1.2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by nodiscc<EMAIL_ADDRESS>dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build python-twodict
 fakeroot debian/rules clean
rm -rf build
rm -f *.pyc
dh_clean
 dpkg-source -b python-twodict
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building python-twodict in python-twodict_1.2.tar.xz
dpkg-source: info: building python-twodict in python-twodict_1.2.dsc
 debian/rules build
dh build --with python2
   dh_testdir
   dh_update_autotools_config
   dh_auto_configure
   dh_auto_build
	python setup.py build --force
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying twodict.py -> build/lib.linux-x86_64-2.7
   dh_auto_test
   create-stamp debian/debhelper-build-stamp
 fakeroot debian/rules binary
dh binary --with python2
   create-stamp debian/debhelper-build-stamp
   dh_testroot
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory '/mnt/DEB-PACKAGING/python-twodict'
dh override_dh_auto_install --with python2,python3 --buildsystem=pybuild
make[1]: Leaving directory '/mnt/DEB-PACKAGING/python-twodict'
   dh_installdocs
   dh_installchangelogs
   dh_python2
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: Depends field of package python-twodict: unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: Depends field of package python-twodict: unknown substitution variable ${python:Depends}
dpkg-gencontrol: warning: Depends field of package python-twodict: unknown substitution variable ${python3:Depends}
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'python-twodict' in '../python-twodict_1.2_all.deb'.
 dpkg-genbuildinfo
 dpkg-genchanges  >../python-twodict_1.2_amd64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build python-twodict
dpkg-buildpackage: info: full upload; Debian-native package (full source is included)
 signfile python-twodict_1.2.dsc

 signfile python-twodict_1.2_amd64.buildinfo

 signfile python-twodict_1.2_amd64.changes

build@machine:/mnt/DEB-PACKAGING/python-twodict $ ls ../python-twodict*.*
../python-twodict_1.2.dsc          ../python-twodict_1.2.tar.xz   ../python-twodict_1.2_amd64.buildinfo
../python-twodict_1.2.orig.tar.xz  ../python-twodict_1.2_all.deb  ../python-twodict_1.2_amd64.changes

build@machine:/mnt/DEB-PACKAGING/python-twodict $ lintian ../python-twodict_1.2_all.deb
W: python-twodict: empty-binary-package

My bad, I actually had edited the wrong target in debian/rules. Building the package seems to work, no python3-twodict package is produced, I will check if this is expected. The following lintian warnings have appeared, I will try to deal with them ASAP
E: python-twodict: package-installs-python-pycache-dir usr/lib/python3.5/dist-packages/__pycache__/
W: python-twodict: python-module-in-wrong-location usr/lib/python3.5/dist-packages/__pycache__/ usr/lib/python3/dist-packages/__pycache__/
W: python-twodict: python-module-in-wrong-location usr/lib/python3.5/dist-packages/__pycache__/twodict.cpython-35.pyc usr/lib/python3/dist-packages/__pycache__/twodict.cpython-35.pyc
W: python-twodict: python-module-in-wrong-location usr/lib/python3.5/dist-packages/twodict-1.2.egg-info usr/lib/python3/dist-packages/twodict-1.2.egg-info
W: python-twodict: python-module-in-wrong-location ... use --no-tag-display-limit to see all (or pipe to a file/program)

package-installs-python-pycache-dir the main reason for this (probably), is that twodict uses the distutils module instead of the newer setuptools in the setup.py file.
I guess we could add a rule in the debian/rules file to remove the __pycache__ dir before packaging.

https://lintian.debian.org/tags/package-installs-python-pycache-dir.html:

The package installs a __pycache__ directory, which is normally only used to store compiled Python source files. Compiled Python source files must not be included in the package, instead they should be generated at installation time in the postinst.

I'll try to find a similar debian package to see how this is done.

Adding the rule below in debian/rules seems to work. Not sure if this is the proper way to do it though.
override_dh_lintian:
    rm -rfv debian/python-twodict/usr/lib/python3.4/dist-packages/__pycache__/
    dh_lintian

$ lintian python-twodict_1.2_all.deb
W: python-twodict: python-module-in-wrong-location usr/lib/python3.5/dist-packages/twodict-1.2.egg-info usr/lib/python3/dist-packages/twodict-1.2.egg-info
W: python-twodict: python-module-in-wrong-location usr/lib/python3.5/dist-packages/twodict.py usr/lib/python3/dist-packages/twodict.py


coprocessor: add SQL statement tracing in tikv slow log

What is changed and how it works?

Issue Number: Close #15513

coprocessor: add SQL statement tracing in tikv slow log

new entries connection_id and session_alias will be added to slow log:
[2023/09/05 15:09:24.768 +08:00] [INFO] [tracker.rs:269] [slow-query] [perf_stats.internal_delete_skipped_count=0] [perf_stats.internal_key_skipped_count=9184] [perf_stats.block_read_byte=28635] [perf_stats.block_read_count=39] [perf_stats.block_cache_hit_count=5] [scan.range.first="Some(start:<PHONE_NUMBER>000000F35F728000000000002E4000 end:<PHONE_NUMBER>000000F35F7280000000000C4979)"] [scan.ranges=1] [scan.total=9185] [scan.processed_size=1175552] [scan.processed=9184] [scan.is_desc=false] [tag=select] [table_id=243] [txn_start_ts=444045135633973251] [total_suspend_time=2.459µs] [total_process_time=3.577208ms] [handler_build_time=10.375µs] [wait_time.snapshot=8.75µs] [wait_time.schedule=10.416µs] [wait_time=19.166µs] [total_lifetime=3.610125ms] [remote_host=ipv4:<IP_ADDRESS>:61687] [region_id=18007] [session_alias=alias123] [connection_id=2172649476]

Check List
Tests

No code

Release note
coprocessor: add SQL statement tracing in tikv slow log

/merge

/merge

/merge


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 308

Questions ?
Please refer to the Backport tool documentation


Badge not working

I am trying to add support for badging in bottom navigation view. As per your examples you used "ActivityBadgeViewBinding" , but this class does not exisit anywhere in library. Pleas help to resolve this.

Add badge lib
compile 'q.rorbin:badgeview:1.1.0'

Bind bottom view
// add badge
addBadgeAt(2, 1);

private Badge addBadgeAt(int position, int number) {
    // add badge
    return new QBadgeView(this)
            .setBadgeNumber(number)
            .setGravityOffset(12, 2, true)
            .bindTarget(bind.bnve.getBottomNavigationItemView(position))
            .setOnDragStateChangedListener(new Badge.OnDragStateChangedListener() {
                @Override
                public void onDragStateChanged(int dragState, Badge badge, View targetView) {
                    if (Badge.OnDragStateChangedListener.STATE_SUCCEED == dragState)
                        Toast.makeText(BadgeViewActivity.this, R.string.tips_badge_removed, Toast.LENGTH_SHORT).show();
                }
            });
}

@ittianyu  Thanks for reply, I did add the same but it gives error at below line
.bindTarget(bind.bnve.getBottomNavigationItemView(position))
Can you please tell me how you getting bind object ?

Oh, you means ActivityBadgeViewBinding ?
That is generate by DataBinding plugin.
You no need use it. Just use findViewById to get BottomNavigationViewEx.

Thank you for clarification. It works now!!


only support IPv6 socket?

in aioquic/asyncio/client.py file, line 70
# explicitly enable IPv4/IPv6 dual stack
sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)         // **only support IPv6 socket ?**
completed = False
try:
    sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
    sock.bind((local_host, local_port, 0, 0))
    completed = True
finally:
    if not completed:
        sock.close()

This is not v6-only.  IPv6 can do both v4 and v6 on one socket via IPv4-mapped IPv6 addresses provided it's enabled.  This code is explicitly enabling the IPv4 mapped addresses just in case the default has been set to off on a platform.  Basically it's ensuring the IPv6-only option is off.  If you look a bit above, you can see it constructing an IPv4 mapped address if needed:
if len(addr) == 2:
        addr = ("::ffff:" + addr[0], addr[1], 0, 0)

So, all is ok!

@rthalley I'd like you to reconsider this issue. I'm porting it to OpenBSD and OpenBSD has different stack for IPv4 and IPv6.
So, current code is really IPv6 only on OpenBSD and on machine which has only IPv4 it fails as:
aioquic $ python3 examples/http3_client.py https://google.com/
Traceback (most recent call last):
  File "/home/catap/src/aioquic/examples/http3_client.py", line 564, in <module>
    asyncio.run(
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/catap/src/aioquic/examples/http3_client.py", line 387, in main
    async with connect(
  File "/usr/local/lib/python3.11/contextlib.py", line 210, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aioquic/asyncio/client.py", line 73, in connect
    sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
OSError: [Errno 22] Invalid argument
aioquic $

A PR which fixes it: https://github.com/aiortc/aioquic/pull/516


[cudaaligner] FormattedAlignment should include | and x symbols

FormattedAlignment in cudaaligner returns aligned strings in the following format:
ACCGTCA
ACGC--A

This would be preferable:
ACCGTCA
||xx  |
ACGC--A

@ohadmo This task is to update the function in the Alignment object in cudaaligner that returns a formatted alignment string pair. The ask is to format the strings in a way that shows the match, mismatch and insertion/deletion more clearly.
Some background here - https://users.ugent.be/~avierstr/principles/aligning.html


More docs on using Gitops to create new workload clusters

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.13


xml_file

TypeError: init() got an unexpected keyword argument 'xml_file'

Did you move textures to correct directory?
mv /path/to/mil_data/textures /path/to/gym/envs/mujoco/assets/sim_push_xmls/

https://github.com/tianheyu927/mil/blob/master/scripts/get_data.sh
(I could run this repository before)


Add Command: Keyboard assignable DebugOutput Copy All

Add complementary keyboard command to copy all debug output.
Use new base from recently added Context Menu option

@cleidigh thanks for creating a follow up issue!
After thinking about it I agree with your original proposal of creating a general command.
So what needs to be done is to register this action globally in the command palette somewhere around here
Let me know if you want to do a PR. If not, I can look into this.

@isidorn
Excellent. Very happy to do a PR ! ;-)    (I have to learn to insert emojis)
I have one open PR waiting for review and I'm working on issue #25965, should be pushing something on that in a day or so. I can work on this while  the others are spinning.
@Tyriar - does this overlap/replace the need for terminal.CopyAll ?

if so have you started on it?

@isidorn  - From your original comments/thoughts , should Problems output be excluded?
Name possibilities: (no current  " .panel " name space
workbench.action.currentPanelViewCopyAll
workbench.panel.currentCopyAll
workbench.panelCopyAll
I'm not sure what I like.
Do you both agree focus is not required?
Thanks

@cleidigh the terminal's getting a select all command when the work for https://github.com/Microsoft/vscode/issues/9958 completes.
@isidorn wouldn't focus/select commands be better than copying?

part of my main impetus was keyboard/steps conservation
my general idea of the use case:

person is debugging or following output while in the editor view
wants a snapshot - one keyboard action - pastes into current editor/new editor - no navigation needed

@Tyriar  select all command would be better than copying however we are not supporting this. You can read more about it here
@cleidigh as I already mentioned in the other issue it is hard to have one action which will do it for all the panels. Let's just do a PR to add a Debug: Copy All From Debug Console same as there is already Debug: Focus into Console and Debug: Clear Console

@isidorn
@Tyriar
Sounds good, I'll take that route.
(have to get a Chrome plug-in  for Windows  ;-)

@isidorn

In order to make copy work we would need to append selected textas we are scrolling in the tree.

I don't think your assertion is correct here, you want to listen to the copy event and then set the text based on what the selection is, similar to this https://github.com/sourcelair/xterm.js/blob/35b32b721e9be175c2eedb83c264442d171152b5/src/handlers/Clipboard.ts#L59

@Tyriar yes but the tree is virtualised so the native selection can never span more than a page of text in the tree. For more details you can read up on that whole issue

@isidorn ah yeah, a copy all command is definitely the easy way to go. If you're interested how I'm solving that problem in the terminal you can check out https://github.com/Tyriar/xterm.js/tree/207_selection_manager, it's probably easier to do within the VS Code codebase though thanks to ScrollableElement.

@isidorn
@Tyriar
I got a chance to start looking at the code today. it seems to copy all action has a different signature
for the constructor that wants the internal tree perimeter. as far as I can tell it is not possible
to register the command in this form. I'm looking for similar examples perhaps an overloaded constructor?
I'll still have to deal with scope access to the tree and not break any layering.
this is probably something fairly basic I'm missing.

looks like maybe adding to DebugActions/repl services to expose a get repl tree contents and then
redo the copy all action to have a signature2 style and then register that  command replacing the old style.

@cleidigh you are right this is something which I missed. The constructore signiture makes this a bit more complicated and would break the layering.
Due to that I propose we introduce a top level debug panel action next to the Clear Console. This way keyboard users need to press shift + tab 3 times to get to this action. They of course need to be in "Tab moves focus" mode. For this we would just need an icon but I can come up with on.
Let me know if you think this is not a good solution and I can think of how we can fix the layers to support the top level command palette action.

@isidorn
I think the copy all icon makes sense. I still kind of lean to a global command as well, but not a
super high priority as you said. I think I see a couple of ways to expose the action
with clean layering. I will try to come up with a possible solution and run it by you here.

@cleidigh sounds good, thanks

@cleidigh let me know if there are some updates here, if you did not find a neat solution for the global command I might add it to the title bar.

@isidorn
I've looked at the code quite a bit, the repl object seems buried in the panel part.
I believe only one object is instantiated, but I don't see an accounting mechanism.
adding an ID to the create call, would allow for subsequent queries to gain access
to the tree object. that could then be exposed either through the panel interface,
or perhaps the debug actions service.
I think the above would still be necessary for adding anything to the title bar as well
can you think of another way to expose the object without breaking layering?

@cleidigh yeah the issue is that the tree is not globaly accessible, and it can be passed only in the local actions. Or we could surface the tree which feels quite ugly to me

@isidorn
the other output sources are accessible via ID. why should the depot console not somehow be integrated this way. I saw another issue post talking about a copy all. it still seems like this make sense
to expose some how. is the repl object meant to be singular? if so then exposing the tree contents
would not be a big issue.

@isidorn
I also see that the tree is registered with the list server, this might be another way to expose it.
but I still think there needs to be some sort of ID.

@isidorn
Added copy all to the private service interface
added an editor command
use the private service accessor that gives access to the tree object (I cannot figure out why this does not need an object reference)
duplicated the copy all code from the context menu
everything is done in repl.ts
@editorAction
class ReplCopyAllAction extends EditorAction {
constructor() {
	super({
		id: 'repl.action.copyall',
		label: nls.localize('actions.repl.copyall', "Copy All"),
		alias: 'Copy All',
		precondition: null ,
		kbOpts: {
			kbExpr: EditorContextKeys.textFocus,
			primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_A,
			weight: 50
		}

	});
}

public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void | TPromise<void> {
	accessor.get(IPrivateReplService).copyRepl();
}

}
public copyRepl(): void {
	console.log('CopyAll Repl');
	let text = '';
	const navigator = this.tree.getNavigator();
	// skip first navigator element - the root node
	while (navigator.next()) {
		if (text) {
			text += `\n`;
		}
		text += navigator.current().toString();
	}
	clipboard.writeText(text);
}

@cleidigh I like this solution a lot! Can you create a nice PR please and ping me on it?
Thanks!

@isidorn
Cool
I will clean it up and do a PR
I will set it up with no preassigned key
-global context as well

@cleidigh FYI there is a new command workbench.action.terminal.selectAll in the latest Insiders which selects all text. Bound by default on macOS to cmd+a but not Windows/Linux (as ctrl+a is a command shell shortcut).


devise_for don't work with rails 4.2

/usr/local/rvm/gems/ruby-2.1.2/bundler/gems/devise-6e95b66b5446/lib/devise/rails/routes.rb:457:in ensure in with_devise_exclusive_scope': undefined method merge!' for #ActionDispatch::Routing::Mapper::Scope:0x00000003fedaf0 (NoMethodError)
rails 4.2, mongoid 4, devise 3.3 && master branch

i am new to ruby and going through a tutorial adding devise was used for the login and it seems like it doesn't work with the version of rails am running 4.2.x if i change the devise_for command in routes.rb to resources it works but does not update my db wen i run db migrate. i need help to go pass this stage . thanks


Unable to fetch asset group details

After successfully logging in for the first time under admin, the portal gives me an "Unable to Fetch Asset Group Details!" message. How do I troubleshoot this?

disregard.


[5.0] [Bug?] Push queues serialization problem (unserialize(): Error at offset ...)

I'm deploying my laravel project to Google App Engine (gae) and I'm trying to use their push queue.
For accomplishing this, GaeSupportL5 package is being used. This should work very similar to iron.io, but the problem that I'm facing suggests for me that this is something more related to laravel itself rather than this plugin, and this will be more clear at the end of my explanation. Even then, I opened an issue there as well for something else that I've noticed wrong.
What I do is dispatching a job to gae push queue to release the user request right way.
This is my controller.
        $this->dispatch(
            new DispatchPendentSceneToVM(
                $scene_id
                , Request::get('type')
            )
        );

And here is the job class.
<?php namespace App\Commands;

use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Queue;
use Illuminate\Support\Facades\Log;

use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldBeQueued;

class DispatchPendentSceneToVM extends Command implements SelfHandling, ShouldBeQueued {

    use InteractsWithQueue, SerializesModels;

    public $i_scene_id;
    public $s_type;

    public function __construct($i_scene_id, $s_type) {
        $this->i_scene_id = $i_scene_id;
        $this->s_type = $s_type;
    }

    public function handle() {

        /*
         * Queue the job to crop the image and update the scene table
         */
        try {
            Log::info('Going to connect to beanstalkd');

            Queue::connection('images_connection')->push(
                new ProcessSceneImage(
                    $this->i_scene_id
                    , $this->s_type
                )
            );
        } catch (\Exception $e) {
            Log::error('Could not connect to beanstalkd');
            $this->release(60); //1 minute waiting
        }
    }

}

Inside this dispatched job to gae push queue, I'm simply dispatching another job to a different queue.  I'm doing this just because sometimes the connection to images_connection would take longer and I don't want the user request to be hold by that, or rather it would fail and the user experience would be poor. (I want the job to keep trying to connect to this external queue. This external one is a beanstalkd queue).
For receiving the task, I'm just marshalling it on the route /tasks.
$route->post('tasks', array('as' => 'tasks',
    function()
    {
        return Queue::marshal();
    }));

Before I was receiving weird unserialize() php error with a string similar to this
{
  "job": "Illuminate\\Queue\\CallQueuedHandler@call",
  "data": {
    "command": "O:37:\"App\\Commands\\DispatchPendentSceneToVM\":3:{s:49:\""
  },
  "attempts": 1,
  "queue": "default"
}

I noticed that this string was looking strange and missing my class properties. Then I realized that I had my properties as private. Accordingly to PHP.net documentation for serialize:
Note:
Object's private members have the class name prepended to the member name; protected members have a '*' prepended to the member name. These prepended values have null bytes on either side.

Then I changed both $s_type and $i_scene_id variable to public. That seemed to have worked. But the next problem would look like this:
{
  "job": "Illuminate\\Queue\\CallQueuedHandler@call",
  "data": {
    "command": "O:37:\"App\\Commands\\DispatchPendentSceneToVM\":3:{s:10:\"i_scene_id\";i:18;s:6:\"s_type\";s:4:\"cube\";s:6:\""
  },
  "attempts": 1,
  "queue": "default"
}

So, I was noticing that my serialized object string was indicating that the class DispatchPendentSceneToVM has 3 properties, but in fact I was using only two, namely $s_type and $i_scene_id.
It turned out that this third mysterious variable was coming from the InteractsWithQueue trait. Namely, the protected variable $job.
<?php namespace Illuminate\Queue;

use Illuminate\Contracts\Queue\Job as JobContract;

trait InteractsWithQueue {

	/**
	 * The underlying queue job instance.
	 *
	 * @var \Illuminate\Contracts\Queue\Job
	 */
	protected $job;

      (rest of code ...)
}

I changed this variable to public just to test, and surprisingly (or maybe not), everything worked fine!
Now I didn't get an unserialize exception.
Below is the stack track from when I get the error (when the $job variable is set as protected).
in CallQueuedHandler.php line 36
at HandleExceptions->handleError('8', 'unserialize(): Error at offset 96 of 99 bytes', '/base/data/home/apps/s~panopla-1010/alpha-0.386779994424105697/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php', '36', array('job' => object(GaeJob), 'data' => array('command' => 'O:37:"App\Commands\DispatchPendentSceneToVM":3:{s:10:"i_scene_id";i:3;s:6:"s_type";s:4:"flat";s:6:"')))
at unserialize('O:37:"App\Commands\DispatchPendentSceneToVM":3:{s:10:"i_scene_id";i:3;s:6:"s_type";s:4:"flat";s:6:"') in CallQueuedHandler.php line 36
at CallQueuedHandler->call(object(GaeJob), array('command' => 'O:37:"App\Commands\DispatchPendentSceneToVM":3:{s:10:"i_scene_id";i:3;s:6:"s_type";s:4:"flat";s:6:"')) in Job.php line 126
at Job->resolveAndFire(array('job' => 'Illuminate\Queue\CallQueuedHandler@call', 'data' => array('command' => 'O:37:"App\Commands\DispatchPendentSceneToVM":3:{s:10:"i_scene_id";i:3;s:6:"s_type";s:4:"flat";s:6:"'), 'attempts' => '1', 'queue' => 'default')) in GaeJob.php line 56
at GaeJob->fire() in GaeQueue.php line 163
at GaeQueue->marshal()
at call_user_func_array(array(object(GaeQueue), 'marshal'), array()) in QueueManager.php line 223
at QueueManager->__call('marshal', array()) in Facade.php line 207
at QueueManager->marshal() in Facade.php line 207
at Facade::__callStatic('marshal', array()) in routes_web.php line 16
at Queue::marshal() in routes_web.php line 16
at RouteServiceProvider->{closure}()
at call_user_func_array(object(Closure), array()) in Route.php line 157
at Route->runCallable(object(Request)) in Route.php line 129
at Route->run(object(Request)) in Router.php line 701
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Router.php line 703
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 670
at Router->dispatchToRoute(object(Request)) in Router.php line 628
at Router->dispatch(object(Request)) in Kernel.php line 214
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 23
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 115
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84
at Kernel->handle(object(Request)) in index.php line 53

Changing the variable from protected to public, and making the request again, the server only returns with a 200 OK message.
I'm doing something wrong, or should this variable really be public for the sake of serialization?
Thank you

5.0 is not supported.

@GrahamCampbell I looked at the branch 5.1 and the InteractsWithQueue trait also has this variable set as protected. This is my major concern in this issue.
So I believe my topic here is pertinent still.

Why were you setting the job variable? That's not meant to get set until after wakeup.

Queue marshal stuff isn't supported either. It's deprecated and was removed in 5.2.

I'm not sure, but I believe that this variable for being protected is causing the serialization problems that I'm having. I just though that queue marshal was still around in laravel 5.1 or higher.
I mean, this is perfect for working with google app engine because they have this push queue thing, similar to iron.io I believe (but I've not worked with iron.io).
Anyway, changing the privacy scope of the variable solved the serialization problem for me. What should I do in that case? I could just keep my alteration on laravel framework code, although this would not be a good practice, but at least it fixes my problem.
Of course I could just not use the InteractWithQueue trait, but I would be unable to use something like $this->release(30), and this is very helpful for me in that scenario.
Some suggestion on that matter?

The issue is basically you can't use that trait when you're using iron push queues.

@GrahamCampbell I may sound crazy, but what about doing the follow;
Instead of using the InteractWithQueue trait, rather use the DispatchesCommands trait since it has no variables in it.
Instead of calling
$this->release(30);

call
$this->dispatch($this);

But I'm afraid to create an endless process.
Another idea that I had just now was using a sleep inside a loop with a maximum of three executions. This is to simulate the release command. But I don't now how this affects the queue. Would that freeze all the queue and the other jobs on it?
something like
for (i = 0; i < 3; i++){
   try{
      (code)
   } catch (Exception $e){
     sleep(30);
   }
}

I'd like to do with the sleep, but again, I'm not sure about the consequences. If you could shed some light upon it, I'd be glad :grinning:


Require Chef 12 or later

Description
This PR deprecates support for Chef releases before Chef 12 and in doing so allows us to remove providers that are now part of core chef. That reduces the size of the cookbook and speeds up client runs.
Issues Resolved
NA
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] The CLA has been signed. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Can you remove windows_package as well? In 2015-12 we said we would remove it in the next major release of this cookbook in 1a7ad4d402d0926078ecc196e873f5c7f6778cb2, and this looks like a major release. :)

@btm we still haven't added all the package types to core chef so that needs to stay. Once we do that we can wait a few years and nuke it from here ;)

@tas50 Actually, I think we have moved all the package types over. (most were in https://github.com/chef/chef/pull/4193)

Yeah, I thought we had. Can you be more specific about what you think is missing?

Well snap I stand corrected on the other types of packages. We still can't nuke it though since it only shipped in 12.6. There's plenty of people still rocking < 12.6 out there. Wait till it's been out for at least a year and then we can nuke it.

So @btm @smurawski @mwrock Any reason not to merge it?

:+1:

:+1:


orb_slam2 + autoware

I am doing a project that navigate with monocular camera only and then I found this wonderful software.
After reading the Manual and Readme, it seems that autoware is available only with the pointcloud map data created by LIDAR scan. Am I correct? Is it possible to navigate using 3D (maybe sparse) pointcloud map data created by monocular camera with ORB_SLAM2?
Thanks for your attention to this matter.

Thanks for using Autoware and for your question. However the issue tracker is for posting confirmed bugs and feature requests.
We ask that you please ask questions on the Autoware Discourse category following our support guidelines: https://github.com/autowarefoundation/Autoware/wiki/Support-guidelines. Please pay particular attention to the information we ask you to provide.


Update CI workflow

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

Project coverage is 100.00%. Comparing base (7d22fb3) to head (187a131).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #112   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           13        13
  Lines          996       996
=========================================
  Hits           996       996

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


DotNetCore 2.2.6 is slow on connecting and publish messages to AWS AMQ

DotNetCore 2.2.6 on linux forever to make connections and publish messages to AWS AMQ
General
We run dotnetcore in containers on our OpenShift cluster. Most recently they failed on all environments because they can no longer connect to AWS AMQ. It feels like it's running against a timeout of something. This issue only occurs when running dotnetcore on linux.
My linux guest system is an ubuntu 18.04 ( see dotnet --info below ). It also occurs on RHEL 7 containers
I eliminated the network as culprit:

I can connect from my windows machine, but it takes a long time from my linux guest OS in the same machine.
My linux guest OS can connect and post messages to AWS AMQ from a java program ( fast ).
I asked our network guy to allow outgoing network traffic from my machine to that specific instance.
I used wireshark to monitor the network traffic from my PC to see if it connected somewhere else ( which it didn't ).

I eliminated AWS AMQ as the culprit:

The AWS logs show no sign of something wrong
The same queue works in a java
We set up a different queue from scratch and the issue still occurs.

Wireshark shows pauses of ~20seconds at certain intervals. It is consistently around 20seconds, so it does feel like a timeout of some sort...
Wireshark shows dotnetcore connecting with TLS 1.0 connection in both windows & linux using the same cipher suite ( TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ).
When executing the same code on windows it can connect just fine. When trying to connect to the AWS AMQ in java it is able to connect fine as well.
The only remaining "culprit" I can think of is something going wrong in the dotnetcore runtime itself unless I am missing something.
Below you have a C# code sample ( taken from the amazon documentation ).
Building and running on windows - it works perfect.
Build and running on Linux - It takes forever to connect and post messages ( > 50s ).
Note: I just noticed there is a slight version difference between my linux & windows regarding dotnetcore. I will update it and try that as well and add it as output.
System Information
Host System: Windows 10
Guest System: Linux 18.04

Dotnet SDK was installed through https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-current

AWS AMQ Information
Instance Type: mq.t2.micro
Deployment mode: single-instance broker
Broker Engine: ActiveMQ
Broker engine version: 5.15.9
Build command
dotnet build --force -c Release dotnet publish -c Release -o ../publish/exploded
Run command
dotnet AWSMQSend.dll $@
Application output on linux: ( notice gaps in timestamps )
9/9/19 11:54:56 AM :: Creating Factory
9/9/19 11:54:56 AM :: Factory Created
9/9/19 11:54:56 AM :: Connection...
9/9/19 11:54:56 AM :: Done
9/9/19 11:54:56 AM :: Creating Session.....
9/9/19 11:55:27 AM :: Done
9/9/19 11:55:27 AM :: Using destination: queue://queue_filip
9/9/19 11:55:57 AM :: Start the connection so that messages will be processed
9/9/19 11:55:57 AM :: Sending message....
9/9/19 11:56:17 AM :: Received message with ID:   ID:fluxbox-34467-637033634349736262-1:0:1:1:1
9/9/19 11:56:17 AM :: Received message with text: Hello World!

Application output on windows:
9-9-2019 12:01:39 :: Creating Factory
9-9-2019 12:01:39 :: Factory Created
9-9-2019 12:01:39 :: Connection...
9-9-2019 12:01:40 :: Done
9-9-2019 12:01:40 :: Creating Session.....
9-9-2019 12:01:40 :: Done
9-9-2019 12:01:40 :: Using destination: queue://queue_filip
9-9-2019 12:01:40 :: Start the connection so that messages will be processed
9-9-2019 12:01:40 :: Sending message....
9-9-2019 12:01:40 :: Received message with ID:   ID:BEZAV1CL13911-53543-637036270142492136-1:0:1:1:1
9-9-2019 12:01:40 :: Received message with text: Hello World!

Application Code C# code
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

using System;
using Apache.NMS;
using Apache.NMS.Util;

namespace Apache.NMS.ActiveMQ.Test
{
public class Program
{
    public static void Main(string[] args)
    {
        string host = "<your-host>.mq.eu-central-1.amazonaws.com";
        string port = "61617";
        string userName = "<queue-username>";
        string password = "<queue-password>";

        Uri connecturi = new Uri("activemq:ssl://" + host + ":" + port);

        Console.WriteLine( DateTime.Now + " :: Creating Factory" );

        // NOTE: ensure the nmsprovider-activemq.config file exists in the executable folder.
        IConnectionFactory factory = new NMSConnectionFactory(connecturi);

        Console.WriteLine( DateTime.Now + " :: Factory Created" );

		Console.WriteLine( DateTime.Now + " :: Connection...");
		IConnection connection = factory.CreateConnection( userName, password);
		Console.WriteLine( DateTime.Now + " :: Done");
		Console.WriteLine( DateTime.Now + " :: Creating Session.....");
		//The line below takes 20 seconds to complete!
		ISession session = connection.CreateSession( AcknowledgementMode.AutoAcknowledge );
		Console.WriteLine( DateTime.Now + " :: Done");

		IDestination destination = SessionUtil.GetDestination(session, "queue://queue_filip");
		Console.WriteLine( DateTime.Now + " :: Using destination: " + destination);

		// Create a consumer and producer
		using(IMessageConsumer consumer = session.CreateConsumer(destination))
		using(IMessageProducer producer = session.CreateProducer(destination))
		{
			// Start the connection so that messages will be processed.
			Console.WriteLine( DateTime.Now + " :: Start the connection so that messages will be processed" );
			connection.Start();
			producer.DeliveryMode = MsgDeliveryMode.Persistent;

			// Send a message
			ITextMessage request = session.CreateTextMessage("Hello World!");
			request.NMSCorrelationID = "abc";
			request.Properties["NMSXGroupID"] = "cheese";
			request.Properties["myHeader"] = "Cheddar";

			Console.WriteLine( DateTime.Now + " :: Sending message...." );

			producer.Send(request);

			// Consume a message
			ITextMessage message = consumer.Receive() as ITextMessage;
			if(message == null)
			{
				Console.WriteLine( DateTime.Now + " :: No message received!");
			}
			else
			{
				Console.WriteLine( DateTime.Now + " :: Received message with ID:   " + message.NMSMessageId);
				Console.WriteLine( DateTime.Now + " :: Received message with text: " + message.Text);
			}
		}
    }
}
}

dotnet --info [Linux]
$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   2.2.401
 Commit:    729b316c13

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.401/

Host (useful for support):
  Version: 2.2.6
  Commit:  7dac9b1b51

.NET Core SDKs installed:
  2.2.401 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

dotnet --info [Windows]
$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.104
 Commit:    73f036d4ac

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.16299
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.104\

Host (useful for support):
  Version: 2.2.2
  Commit:  a4fd7b2c84

.NET Core SDKs installed:
  2.2.104 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Note: Updated to the latest version of dotnetcore SDK on windows and the result is the same. It's still fast on Windows. This leads me to believe there is something wrong when running dotnetcore on linux when connecting to AWS ActiveMQ.
``
.NET Core SDK (reflecting any global.json):
Version:   2.2.401
Commit:    729b316c13
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.16299
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.2.401\
Host (useful for support):
Version: 2.2.6
Commit:  7dac9b1b51
.NET Core SDKs installed:
2.2.104 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
``

Updated original post with ActiveMQ information


DCE loss and Variance loss

Hi, Authors,
Thank you for publishing code! I am now learning how metric loss is realized. When I read code in , (1) I could not find DCE loss and (2) it seems the commented 'Inter_loss' is variance loss (VL) introduced in paper.
I feel like I may miss something. Could you please advise?
Regards,
Gary

https://github.com/Jun-CEN/Open-World-Semantic-Segmentation/blob/main/anomaly/models/models.py

Hi,
For the open-set semantic segmentation task, the Euclidean Distances with each prototype are calculated at line 638-656. Then the DEC loss is simply the cross-entropy of Euclidean Distances, which is at line 42. The VL is at line 69. 'Inter_loss' is not used.


nixpkgs.haskellPackages; changing a packages revision doens't update its pkg-db id

Describe the bug
When updating a haskell dependency,  even if its hash changes, the actual package db id doesn't change. this makes it such that cabal cannot detect what should be rebuild.
Notify maintainers
@sternenseemann @maralorn
Add a :+1: reaction to issues you find important.

Can you provide an example with steps to repro?

I think Cabal (we don't choose it) changes the hash based on name, version and hashes of used dependencies (maybe more?). I don't see why a revision would warrant a change in the database at all. Cabal itself doesn't know about revisions (it's an extra field not part of the cabal spec as far as I know) since it is introduced/understood by Hackage and cabal-install.
I gathered from Matrix that the revision is used (in your case) to indicate that the package source changed. I think this is wrong according to how Cabal and Hackage work: The source of a package may only change between distinct versions, revisions may only change certain meta data. This can influence the hash in the package db if before and after different install plans are possible and/or used. If the same install plan is used before and after a revision the hash stays (and should stay) the same.
It could be interesting to make the hash in the package db more like the drv hash of Nix if this is allowed by Cabal/GHC. There may be some pitfalls associated with that, though, at least “unnecessary” rebuilds.

I’m not entirely sure I can follow your arguments, according to what I know cabal decides whether it needs to rebuild based on the package ids in the package db. The package db of globally installed packages is normally just a name without anything, however, in case of the nixpkgs package db it’s a name + suffix, the question is, who picks this suffix and based on what criteria. I say it should be dependent on the hash of the entire package, that way, we could be sure cabal realises it has to rebuild if nix has been rebuilding the package db

Cabal creates the so called “installed package ID”, as you can see Cabal considers the source as uniquely identified as name plus version: https://cabal.readthedocs.io/en/stable/package-concepts.html#package-names-and-versions. Name without anything is only the case if the package db entry stems from GHC's core package db.

For us the package db is always installed with ghc, no? + it’s not always just name + version, look at ghc-pkg describe  when in a devShell

For us the package db is always installed with ghc, no? + it’s not always just name + version, look at ghc-pkg describe when in a devShell

No, every package-db entry is first and foremost only installed in the package's store path. All of these packages' entries are created by Cabal and have a “installed package ID” hash.
All packages that are bundled with GHC (core packages) are installed in a shared package db in GHC's store path. These packages don't have a hash, just the plain package ID.
For ghcWithPackages we create the illusion that everything is installed in the same place. You'll see (via readlink) that all packages without a hash stem from GHC.

I say it should be dependent on the hash of the entire package, that way, we could be sure cabal realises it has to rebuild if nix has been rebuilding the package db

Note also that this only affects ghcWithPackages and manually used Cabal. For Nix-built packages we always rebuild when it is necessary. Thus we could, in theory, contemplate to change the package ids (based on drv hashes or similar) in order to get the desired rebuild-behavior. The question is if this is possible at all. Cabal upstream says the hashes are an implementation detail we may or may not be able to change them arbitrarily.

Yes. It only affects ghcWithPackages but it wouldn’t affect anything else anyway as derivations aren’t incremental?

The package db of globally installed packages is normally just a name without anything, however, in case of the nixpkgs package db it’s a name + suffix

The suffix is from Cabal, nixpkgs doesn't influence the “installed package ID” in any way.
I also want to say that Cabal itself is quite clear on the matter of rebuilds at the moment: A package should only be rebuilt if its source changes or maybe its configuration flags. The source is identified by package name and version.
These assumptions may or may not be wise (disregarding the possibility of patches is clearly not ideal in the face of conventional linux distributions), but they are Cabal's so we need to be careful when changing anything in this regard.

Im challenging exactly that assumption and I wonder whether we can do something about it! :)

I think we definitely should because having to cabal clean after refreshing your devShell is not very nice UX wise

Im challenging exactly that assumption and I wonder whether we can do something about it! :)

We are a distribution, i.e. we package software, may it be flawed or not. In the spirit of that we should always determine if what we want to change is “permissible” or not.
So: Before we decide to do anything, we should determine if we may arbitrarily change package ids in a package db. Ideally, this would be possible via ghc-pkg. We then should also consult Cabal upstream whether it relies on the specificity of package ids, i.e. it could be possible that cabal-install checks for the presence of certain (calculated package ids) in the database in certain situations which would make changing the ids problematic.

What kind of changes do you do where recompilation is needed and the package db surface does not change. It sounds kinda rare to me. e.g. how does a revision matter to a downstream package?
What I struggle with is that sometimes Cabal doesn’t notice changes to the package db surface. E.g. No build plan because of a missing dependency -> I update the Nix shell -> cabal doesn’t pick up the now available package -> cabal clean -> now it works

What I struggle with is that sometimes Cabal doesn’t notice changes to the package db surface. E.g. No build plan because of a missing dependency -> I update the Nix shell -> cabal doesn’t pick up the now available package -> cabal clean -> now it works

yeah this is what I was talking about

But that doesn’t sound like the issue we are describing here, does it? Because there the pkg-db actually changes, right? That behaviour sounds a lot more like a cabal-install bug to me.

No it sometimes doesnt.

I e the package id (what cabal uses to detect whether a dep changes) doesn’t update if you change sources

(Which is Cabal working as intended.)


Compiling for x86 ?

Hi ! I'd like to use the unity plugin and cpp browser with the Hololens V1. unfortunatly, it's only supporting x86, not 64. For my knowledge, why is it not allowed to compile both libs in 32bits mode ? could it be possible ?
David

Hi David,
the biggest problems are alignment issues for math structures provided by eigen.
One may disable simd instructions, which leads to performance degradation. You may try that, I can actually assure you that someone else has already tried that and it is possible.
It would be even better to actually ensure correct alignment in the code. I would gladly accept a PR if you manage to make it work without disabling simd.
Let me know if you find any other problems.


[REFACTOR]: [Globalpay] MCA metadata validation

:memo: Feature Description

We don't have validation for MCA metadata, So while creating MCA we are allowing any json value. Because of which RequestEncodingFailure happening during payments for the MCA which doesn't have the expected fields

:hammer: Possible Implementation

While adding Merchant Connector Account we want that metadata field should be validated.
You can check this PR for further reference https://github.com/juspay/hyperswitch/pull/2746
:bookmark: Note: All the changes needed should be contained within hyperswitch/crates/router/src/connector/globalpay and crates/router/src/core/admin.rs

:package: Have you spent some time checking if this feature request has been raised before?

[X] I checked and didn't find a similar issue

:package: Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

:sparkles: Are you willing to submit a PR?

@swangi-kumari can you assign this issue to me?

Sure @smeet07 ,
I have assigned this issue to you.
Please let us know if you need any help

Hey @smeet07 ,
Are you still working on this issue?
Please let us know if you need any help.

Hi, working on it

Hi @swangi-kumari , can I know the status of this issue, if this still needs to be worked on?

Yes @smeet07 , This issue is still open. If you're willing to work on it, you can take it up.


Feature: add firstDayOfWeek prop

This PR tries to provide a solution to #363.
We urgently needed this feature in our app. Right now a forked react-dates with this implementation is running in production, all good. We use just <DayPicker /> components in two different pages.
~For now it's missing passing along prop firstDayOfWeek from DateRangePicker and SingleDatePicker and write some new tests for this functionality.~
The big change here is the [almost] rewrite of getCalendarMonthWeeks. The logic now is that every operation involving weekdays needs the firstDayOfWeek parameter (0-Sun...6-Sat locale independent). And then firstDayOfWeek prop from components gets the default value according to Moment's global locale (so we're not breaking anything).
I'd be happy if I receive feedback of this implementation. I'll update the PR very soon with the rest.

Oh, I forgot to mention. This implementation also fixes a bug in an edge case I found:
// We have Moment's global locale starting the week on Sundays
moment.locale('some-sunday-based-locale');

// For some reason in initialVisibleMonth we return a moment object set
// with another locale that starts the week on Mondays
<DayPicker initialVisibleMonth={() => moment().locale('some-monday-based-locale')} />

In react-dates v8.1.1 we'll have a calendar that the shows weekdays header starting on Monday, but the actual days arranged as starting on Sunday.

Coverage decreased (-0.2%) to 81.981% when pulling 092e01c626830de441adbe4a113e51cdc01da1fb on daltones:feat/first-weekday into abd0b1bc48d6ad3fb20a8f3f06d57149f769460f on airbnb:master.

Coverage increased (+0.1%) to 87.436% when pulling b62a3aad902873a1aea29ac4cadf456dbe4e8075 on daltones:feat/first-weekday into b90ee78e39278069da420914cc725340b81da1d4 on airbnb:master.

@daltones would you please rebase this branch to ensure there's no merge commits in it?

Coverage increased (+0.2%) to 87.563% when pulling c2c333fb30719368e35fbb483a64ad0c2edc5269 on daltones:feat/first-weekday into b90ee78e39278069da420914cc725340b81da1d4 on airbnb:master.

What's the current status of this PR?
I'm glad to see someone else also having this issue. I've made the same changes for other "date-picker"-libraries as this is a major blocker for the company where I work. 👍

Hi @CarlRosell, I can take a look at this tomorrow/early next week.

Hi there, is this feature in the todo pipeline? It would be great to see this one working, because our company need to set the first day to monday.... or is there another way to set this?

@ljharb since I updated this PR with my own changes/rebase/etc. can you please sanity-check it for me before I merge it in?

Coverage increased (+0.04%) to 86.243% when pulling dfbf84e7e447b5c93c98c38200d034d043867b46 on daltones:feat/first-weekday into<PHONE_NUMBER>74726228d09cc834e240e5976caf70 on airbnb:master.

Coverage increased (+0.04%) to 86.243% when pulling 071d78bd904a2e530137185944a5a36ba1946acb on daltones:feat/first-weekday into<PHONE_NUMBER>74726228d09cc834e240e5976caf70 on airbnb:master.

Coverage increased (+0.04%) to 86.243% when pulling 55c7d3713a636357e291ab17c541e389ea8a74cc on daltones:feat/first-weekday into 19a10f7efb242297a506fb25d1453fc56884c8f3 on airbnb:master.

Coverage increased (+0.04%) to 86.243% when pulling 55c7d3713a636357e291ab17c541e389ea8a74cc on daltones:feat/first-weekday into 19a10f7efb242297a506fb25d1453fc56884c8f3 on airbnb:master.

@ljharb addressed your comments!

Naw this is good! You're catching all the things I've missed. :) I addressed the prop types issue @ljharb, can you take another look?

Coverage increased (+0.04%) to 86.243% when pulling 139e274abb08eca130ee9409827535fb4b0741d9 on daltones:feat/first-weekday into 19a10f7efb242297a506fb25d1453fc56884c8f3 on airbnb:master.

🎉

Nice! Just in time for a component I'm doing in spanish ^^ Any ideas when this patch will be released?

Should be live in v12.3.0! :)


Fix web platform checks

This PR fixes a couple of web platform checks which determine the underlying storage mechanism to use for storing session data.
Related issue(s)

Checklist

[x] I have read the contributing guidelines
and signed the CLA.
[x] I have read the security policy.
[x] I confirm that this pull request does not address a security
vulnerability. If this pull request addresses a security vulnerability, I
confirm that I got green light (please contact
<EMAIL_ADDRESS>from the maintainers to push
the changes.
[ ] I have added tests that prove my fix is effective or that my feature
works.
[ ] I have added necessary documentation within the code base (if
appropriate).

Further comments

Sorry, misunderstood the logic


[Impeller] SVGs are not properly rendered on iOS simulators

Steps to reproduce
Create a new project with new flutter version (3.16.8)
Import flutter_svg on new version (2.0.9)
Add a new svg image
Run app with impeller, the bug should occurs
Run app without impeller (--no-enable-impeller), the bug should disappear
I found this other issue but it's not solving the problem

Expected results
Actual results

Code sample
Link to repository: https://github.com/IsabelaPSouza/flutter_svg_bug/tree/main
Flutter Doctor output

Hi @IsabelaPSouza, are you only seeing this on simulators or do you experience this on physical devices as well?
Can you share the other issue you found? The current link you have shared points to this issue.

Sorry, the other issue is https://github.com/flutter/flutter/issues/138598

This example is using the "multiply" advanced blend mode.  It's running into a known issue where Impeller's EntityPass is not correctly providing the destination color for advanced blends if framebuffer fetch is not supported.
https://github.com/flutter/engine/pull/48646 was an attempt to fix this but had to be reverted.  I'm planning to revisit this soon.

This should work now because we always have a render pass. But need to verify.

Confirmed that this works correctly.
I believe this actuall only happens on iOS simulators, so I don't think we'll consider a cherry pick.


Issues with perform_val

The function perform_val (from modules.evaluations) seems to have two issues:

it evaluates the test data without converting from BGR to RGB: in the test data archives (lfw_align_112.zip, ...) the images are provided in BGR Format, and that is used in evaluation. But the training procedure uses the RGB format (as obtained from tf.image.decode_jpeg). Evaluating on RGB images instead of BGR can slightly (but consistently) improve the results, e.g. with the pretrained ResNet50 from 99.35% to 99,42% for LFW and from 90.36% to 92.56% for CFP-FP.
when providing the parameters is_ccrop=True, is_flip=False, center cropping is performed twice, drastically reducing the performance in that case.

Hey @krumnack,
Thank you for the heads-up!
I had already fix this two problem in the latest commit 6447e9d04451aba1ef262f43c77ae50cdfaf19f8.
Enjoy it! Have a good day :) ~

That was quick - thanx!


Add option for bi-directional door swing (using rotation tween)

This adds the ability for doors that rotate using the Tween Parameters to open bi-directionally, depending on the position of the interactor (player). It also adds an example door in the demo scene, as you can see in the video.
Note that this PR's implementation is based on the existing open_rotation_deg and closed_rotation_deg, which seems to denote the global transform's rotation, not the local transform's.

https://github.com/Phazorknight/Cogito/assets/12206156/0413e050-ea0b-455c-aa46-44ef970bf8fc
Also for reference, there was an issue here for bi-directional door animations. This PR is different because it doesn't use custom animations.

Thank you! this looks super elegant codewise.
The door script has had some changes in the experimental branch, so I will try to properly review this today or tomorrow and then hopefully merge it in.


Assertion error when api is called

when I tried api.getFriends() threw an assertion error that came from _callApi in the init file

I tried to execute a example on README.md and I met the same error.
I found that the root cause of this issue is a user agent restriction. It seems that VRChat API no longer accepts python requests module's default user agent.
The API endpoint,'https://api.vrchat.cloud/api/1/config', returns 403 status with default client settings and assertion fails.
When I overwrite client's user Agent by one of current version browser's , it works.
However this workaround is hard to recommend to everyone because user agent restriction may intend to prevent server overloads recently.