Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
I used winget upgrade to update all of my programs. when it was time for the parsec, it first asked for parsec installer's admin, then asked for admin permission for "uninstall.exe", then uninstaller popped up and parsec uninstalled itself. after that, it gave bunch of errors about missing VBScript files on parsec's program files folder because it was just uninstalled, then winget said its successfully installed and it kept going.... i checked the programs, and it is not there. i am not sure if that's a parsec issue or a winget issue, but running winget upgrade again does not show parsec on the list, so it's just gone now.
Steps to reproduce
have an older version of parsec installed from outside source.
run winget upgrade -h --all
Actual behavior
it uninstalled itself
Expected behavior
to not uninstall itself
Environment
C:\Users\amdin>winget --info
Windows Package Manager v1.4.10173
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.1455
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.10173.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

User Settings: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

C:\Users\amdin>

Screenshots and Logs

C:\Users\amdin>winget upgrade -h --include-unknown --all
Name                                   Id                                      Version          Available        Source
-----------------------------------------------------------------------------------------------------------------------
Spark Desktop 3.3.3                    Readdle.Spark                           3.3.3            <IP_ADDRESS>970      winget
AutoHotkey <IP_ADDRESS>                   AutoHotkey.AutoHotkey                   <IP_ADDRESS>        2.0.2            winget
Chromium                               eloston.ungoogled-chromium              109.0.5414.75    110.0.5481.100   winget
CrystalDiskInfo 8.17.11 Shizuku Editi…  Microsoft.VCRedist.2013.x64             12.0.30501.0     12.0.40664.0     winget
NDI 5 Tools                            NewTek.NDI5Tools                        <IP_ADDRESS>          <IP_ADDRESS>          winget
PowerToys (Preview) x64                Microsoft.PowerToys                     0.66.0           0.67.1           winget
Oracle VM VirtualBox 7.0.2             Oracle.VirtualBox                       7.0.2            7.0.6            winget
Google Drive                           Google.Drive                            <IP_ADDRESS>         <IP_ADDRESS>         winget
Microsoft Visual Studio Code (User)    Microsoft.VisualStudioCode              1.74.2           1.75.1           winget
Node.js                                OpenJS.NodeJS                           19.1.0           19.6.1           winget
TeraCopy                               CodeSector.TeraCopy                     3.9.2            3.9.7            winget
VLC media player 3.0.17 (64-bit)       VideoLAN.VLC                            <IP_ADDRESS>         3.0.18           winget
Cloudflare WARP                        Cloudflare.Warp                         22.12.476.0      22.12.582.0      winget
Microsoft Visual C++ 2013 Redistribut… Microsoft.VCRedist.2013.x86             12.0.30501.0     12.0.40664.0     winget
30 upgrades available.

The following installers require an install location:
 - AutoHotkey [AutoHotkey.AutoHotkey] Version 2.0.2
Specify the install root: C:\Program Files\AutoHotkey    \\ This logs are from 20.02.2023, I saw the issue and fix for this specific install root problem for the autohotkey package, so I believe its just not published or something.
(1/29) Found Spark [Readdle.Spark] Version <IP_ADDRESS>970
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://downloads.sparkmailapp.com/Spark3/win/dist/<IP_ADDRESS>970/Spark.exe
  ██████████████████████████████   126 MB /  126 MB
Successfully verified installer hash
Starting package install...
Successfully installed

...

(13/29) Found Parsec [Parsec.Parsec] Version 150-86h
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://builds.parsecgaming.com/package/parsec-windows.exe
  ██████████████████████████████  2.74 MB / 2.74 MB
Successfully verified installer hash
Starting package uninstall...
Successfully uninstalled
Starting package install...
Successfully installed

(14/29) Found PicPick [NGWIN.PicPick] Version 7.0.1
This application is licensed to you by its owner.
....

The package is being uninstalled because UpgradeBehavior: uninstallPrevious is set in its manifest installer file. Should this behavior be changed?

I should do some testing to say that. i will install older parsec version and try to update by just running the installer as if it was downloaded off the web to see if that persists. and maybe even with winget again to see if it was an one-off issue. then I'll let you know.

oookay, i did some testing and TL:DR is that yes, it should be changed. because what happens is that it triggers uninstall, but immediately says successfully uninstalled and runs the installer, installer updates the app rather quickly. Meanwhile, uninstaller screen popped up and waiting for user to click uninstall, and when you click it, it uninstalls the software that was installed seconds ago...

Parsec's installer already uninstalls the app as part of the install.
There is no need to uninstall first to upgrade.
Also, outside of quirks required due to how Winget works, there's actually no need to upgrade at all. A working Parsec install fully updates itself.

This is now fixed.


[$250] Chat - Hidden appears when mentioning a non existent user from another device

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.67-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

[User A] Sign in as a new Gmail account
[User A] Create a workspace and invite a member
[User A] Enable workflows for the workspace and make the invited user become the first approver
[User B] Sign in and mention a non existent user in the workspace chat

Expected Result:
Hidden doesn't appear for both devices
Actual Result:
The mention appears as hidden for the other device
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/1475069e-85fa-4531-b97c-eb830cba1f0b
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021864379866425027064
Upwork Job ID:<PHONE_NUMBER>425027064
Last Price Increase: 2024-12-18

Issue OwnerCurrent Issue Owner: @rayane-djouah

Some data to show on FE is short of while updating:
[info] [Report] Handled multipleEvents event sent by Pusher -
...
{"key":"personalDetailsList","onyxMethod":"merge","value":{"18802639":{"accountID":18802639,"avatar":"https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_8.png",
///////// no displayName /////////
"firstName":"","lastName":"","status":null}}}],
"eventType":"onyxApiUpdate"}],"lastUpdateID":3287938603,"previousUpdateID":3287133456}

Here above should be displayName like this: displayName<EMAIL_ADDRESS>

@rayane-djouah As a workaround w/o displayName, this code returns hidden name:
https://github.com/Expensify/App/blob/082e14b9bc1259c329c7cd186ee8f21c0397f6fb/src/libs/ReportActionsUtils.ts#L1171-L1176
As I know we can get displayName on FE. However it seems the issue is not reproducible.

https://expensify.slack.com/archives/C9YU7BX5M/p1734534892566609

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (Second week)


Blank lines emitted while spinning inside an Alpine Linux container

When a program is run inside an Alpine Linux container (the case I tested), the spinner emit blank lines and causes scrolling.
Steps to Reproduce
Example program:
using System;
using System.Threading;
using Kurukuru;

static class Program
{
    static void Main() =>
        Spinner.Start("Processing...", () => Thread.Sleep(1000 * 3));
}

Run the .NET Core 3.1 SDK image on Alpine Linux:
docker run --rm -it mcr.microsoft.com/dotnet/core/sdk:3.1-alpine

Once on the shell prompt inside the container image, copy and paste the following:
mkdir Demo
cd Demo
dotnet new console
dotnet add package Kurukuru
cat > Program.cs << EOF
using System;
using System.Threading;
using Kurukuru;

static class Program
{
    static void Main() =>
        Spinner.Start("Processing...", () => Thread.Sleep(1000 * 3));
}
EOF
dotnet run

When dotnet run executes the program, you should notice blank lines being emitted during spinning and possibly scrolling.
Here is what my session looked like:
❯ docker run --rm -it mcr.microsoft.com/dotnet/core/sdk:3.1-alpine
/ # mkdir Demo
/ # cd Demo
/Demo # dotnet new console
Getting ready...
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on /Demo/Demo.csproj...
  Restore completed in 219.52 ms for /Demo/Demo.csproj.

Restore succeeded.

/Demo # dotnet add package Kurukuru
  Writing /tmp/tmpnKJEhm.tmp
info : Adding PackageReference for package 'Kurukuru' into project '/Demo/Demo.csproj'.
info : Restoring packages for /Demo/Demo.csproj...
info :   GET https://api.nuget.org/v3-flatcontainer/kurukuru/index.json
info :   OK https://api.nuget.org/v3-flatcontainer/kurukuru/index.json 458ms
info :   GET https://api.nuget.org/v3-flatcontainer/kurukuru/1.1.0/kurukuru.1.1.0.nupkg
info :   OK https://api.nuget.org/v3-flatcontainer/kurukuru/1.1.0/kurukuru.1.1.0.nupkg 18ms
info : Installing Kurukuru 1.1.0.
info : Package 'Kurukuru' is compatible with all the specified frameworks in project '/Demo/Demo.csproj'.
info : PackageReference for package 'Kurukuru' version '1.1.0' added to file '/Demo/Demo.csproj'.
info : Committing restore...
info : Writing assets file to disk. Path: /Demo/obj/project.assets.json
log  : Restore completed in 1.38 sec for /Demo/Demo.csproj.
/Demo # cat > Program.cs << EOF
> using System;
> using System.Threading;
> using Kurukuru;
>
> static class Program
> {
>     static void Main() =>
>         Spinner.Start("Processing...", () => Thread.Sleep(1000));
> }
> EOF
/Demo # dotnet run

✔ Processing...

Notice blank lines between dotnet run and the final ✔ Processing....

FYI, the same issue occurs when the same steps are run in a WSL distribution like Ubuntu 16.04.
If you don't have .NET Core SDK setup in your Ubuntu on WSL, you can do so by running the following commands on the BASH shell:
wget -q https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --version 3.1.401
export PATH="$PATH:$HOME/.dotnet"

Then proceed with the same steps as shown in my original comment to create and run a demo application:
mkdir Demo
cd Demo
dotnet new console
dotnet add package Kurukuru
cat > Program.cs << EOF
using System;
using System.Threading;
using Kurukuru;

static class Program
{
    static void Main() =>
        Spinner.Start("Processing...", () => Thread.Sleep(1000 * 3));
}
EOF
dotnet run

Below is a recording of an Ubuntu (on WSL) session depicting the steps above and the issue, and which you can playback by just clicking the image.

Having the same behaviour on OSX 10.15.7 + dotnet 5.0.0


Bump version to 0.9.9 #105

Added the list of bug-fixes and improvements in CHANGELOG.
@skidding please review.

Nice!


Slow interchange object generation for large systems

Hello! Owen told me @mattwthompson wanted me to post an issue, so here it is!
I'm currently using the openff-toolkit to parameterize some foldamer oligomers (ranging from 197-337 atoms). Using the example jupyter-notebook here I've been assigning parameters to for a variety of these oligomers, but find for the larger systems the AM1BCC partial charges take a really long time (like an hour or more) and the Interchange object creation also takes a really long time.
I figured I could share a minimum use case for the systems I'm trying to parameterize.
I made a workaround for the larger molecules by changing the default OpenEye maximum atoms allowed for AM1BCC charges by changing line 2063 in openeye_wrapper.py to:
                oe_charge_method = oe_charge_method(maxAtoms = 500)

This allows OpenEye to use AM1BCC to calculate charges for more than 300 atoms which is normally the default value.
I've attached the .mol file and .pdb file I used to get these slow times below (I had to add the .txt extension to upload them, sorry!). These were both generated in Avogadro2 and had structures optimized using the OpenBabel plugin in Avogadro2.
terphenyl_pop_octamer.mol.txt
terphenyl_pop_octamer.pdb.txt
Below is a part of the the jupyter notebook I'm using to assigning parmameters. I use molecule.compute_partial_charges_am1bcc() and instead of having ForceField.create_openmm_system automatically calculate them using default values since AM1BCCELF10 doesn't have an option to change the number of atoms it can use in OpenEye.

# Create the OpenFF Topology.
off_topology = Topology.from_openmm(
    omm_topology, unique_molecules=[oct_pop]
)

# Modified OpenFF to increase maxAtoms for AM1BCC method to 500 atoms
oct_pop.compute_partial_charges_am1bcc()

Preparing an OpenFF ForceField
Once the ForceField class is imported, the only decision to make is which force field to use. An exhaustive list of force fields released by the Open Force Field Initiative can be found [here](from openff.toolkit.typing.engines.smirnoff import ForceField
).
Here we will use force field from the "Sage" line.
forcefield = ForceField("openff-2.0.0.offxml")

Preparing an OpenMM System
Once a force field and topology have been loaded, an openmm.System can be generated natively with the OpenFF Toolkit.
omm_system = forcefield.create_openmm_system(off_topology, charge_from_molecules = [oct_pop])
omm_system

<openmm.openmm.System; proxy of <Swig Object of type 'OpenMM::System *' at 0x7f439e930330> >

Preparing an Interchange object
To exports to engines other than OpenMM, we will make use of the Interchange project. There is a high-level Interchange.from_smirnoff function that consumes OpenFF Toolkit and ForceField objects and produces an Interchange object which can then be exported to formats understood by other molecular simulation engines. This extra step is needed to provide a clean interface between applied parameters and engines. Note also that this step does not require an OpenMM System to be generated; ForceField.create_openmm_system does not need to be called to use Amber and GROMACS.
from openff.interchange.components.interchange import Interchange

interchange = Interchange.from_smirnoff(
    force_field=forcefield,
    topology=off_topology,
)
interchange.positions = pdbfile.positions
interchange

The last code cell included here is where Interchange takes a really long time, I've had it running now for propably an hour.

And these are some warnings I was getting out from the last code cell
/home/tfobe/anaconda3/envs/terphenyl/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
/home/tfobe/anaconda3/envs/terphenyl/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  return self._float_to_str(self.smallest_subnormal)
/home/tfobe/anaconda3/envs/terphenyl/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
/home/tfobe/anaconda3/envs/terphenyl/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  return self._float_to_str(self.smallest_subnormal)

Hi @tlfobe thanks for the thorough report - I'll dig into it a bit more tomorrow but my first impression is basically that you're doing everything right and hitting an unavoidable step of charging large molecules with an AM1-based method. There's no getting around [^1] that computation [^2] but the shortcut I can recommend is that you only do it once and save the output. After you call oct_pop.compute_partial_charges_am1bcc() but before you call ForceField.create_openmm_system / Interchange.from_smirnoff, save out that object to disk. It'll have AM1-BCC ELF10 partial charges on that object and when you load that in the next time, you'll be able to skip that hour-long step. This won't get around the need to run it once per unique molecule in your project, but it will get around needing to run it multiple times; if your set of oligomers is known you should be able to generate a library in a few hours or days. (If you're generating new unique oligomers on the fly that might not work so well for obvious reasons.)
SDF is probably the best format for this; ignoring the data, something like
In [1]: from openff.toolkit import Molecule

In [2]: oct_pop = Molecule.from_file("/Users/mattthompson/Downloads/terphenyl_pop_octamer.mol.txt", file_format="mol")

In [3]: oct_pop.assign_partial_charges(partial_charge_method='gasteiger')  # Replace with 'am1bccelf10' and wait an hour ...

In [4]: oct_pop.to_file('terphenyl_pop_octamer_charges.sdf', file_format='sdf')

Now, you have the result of that long AM1 calculation saved and can load it up in a few ms:
In [5]: Molecule.from_file("terphenyl_pop_octamer_charges.sdf", file_format='sdf').partial_charges
Out[5]:
array([ 0.062521  ,  0.054548  ,  0.149598  ,  0.064346  ,  0.062459  ,
        0.052869  ,  0.062521  ,  0.064346  ,  0.062459  ,  0.062106  ,
        0.05461   ,  0.062371  ,  0.151544  ,  0.062382  ,  0.062106  ,
        0.062371  ,  0.064954  ,  0.064346  ,  0.062382  ,  0.062521  ,
       -0.042445  ,  0.062371  ,  0.062382  ,  0.062521  ,  0.062382  ,
        0.064954  ,  0.062371  ,  0.062106  , -0.042445  ,  0.064346  ,
        0.054548  ,  0.062371  ,  0.062106  ,  0.062382  ,  0.062459  ,
        0.025728  ,  0.025728  ,  0.025728  ,  0.025728  ,  0.149598  ,
        0.062382  , -0.053696  , -0.027439  ,  0.062521  , -0.294054  ,
        0.353174  , -0.035698  ,  0.054548  , -0.053298  ,  0.062371  ,
        0.062382  , -0.056241  ,  0.025728  ,  0.025728  ,  0.025728  ,
        0.025728  ,  0.025728  ,  0.062459  ,  0.062371  , -0.042382  ,
       -0.053298  , -0.042445  ,  0.149598  , -0.30478799,  0.062106  ,
        0.064954  , -0.035698  ,  0.062382  , -0.347893  , -0.347893  ,
        0.062106  , -0.04906   , -0.035698  , -0.347893  ,  0.062521  ,
        0.062521  ,  0.062521  ,  0.062371  ,  0.062106  ,  0.045839  ,
        0.244523  , -0.27018499, -0.241331  ,  0.072088  , -0.347893  ,
        0.062106  , -0.04906   ,  0.036745  , -0.010019  , -0.051011  ,
       -0.031081  ,  0.076425  , -0.023394  , -0.00774   , -0.017262  ,
       -0.017205  , -0.053696  , -0.056241  , -0.027439  , -0.056241  ,
       -0.053696  , -0.053298  , -0.04906   ,  0.036745  , -0.04906   ,
       -0.053298  ,  0.045839  , -0.30478799,  0.244523  , -0.27018499,
       -0.023394  ,  0.076425  , -0.031081  , -0.051011  , -0.010019  ,
       -0.00774   , -0.017205  , -0.017262  , -0.053298  , -0.04906   ,
        0.036745  , -0.04906   , -0.053298  , -0.053696  , -0.05624   ,
       -0.027376  , -0.05624   , -0.053696  ,  0.244523  ,  0.047669  ,
       -0.28480399, -0.27018499, -0.023394  ,  0.076425  , -0.031081  ,
       -0.051011  , -0.010019  , -0.00774   , -0.017205  , -0.017262  ,
       -0.053298  , -0.04906   ,  0.036745  , -0.04906   , -0.053298  ,
       -0.053696  , -0.056241  , -0.027439  , -0.056241  , -0.053696  ,
        0.244523  ,  0.045839  , -0.30478799, -0.27018499, -0.010019  ,
       -0.051011  , -0.031081  ,  0.076425  , -0.023394  , -0.00774   ,
       -0.017262  , -0.017205  , -0.053696  , -0.056241  ,  0.052869  ,
        0.052869  ,  0.052869  ,  0.052869  ,  0.064954  ,  0.043026  ,
        0.043026  ,  0.043026  ,  0.043026  ,  0.052869  ,  0.052869  ,
        0.052869  ,  0.052869  ,  0.052869  ,  0.052869  ,  0.052869  ,
        0.052869  ,  0.052869  ,  0.052869  ,  0.052869  ,  0.052869  ,
        0.025074  ,  0.025074  ,  0.025074  ,  0.025074  ,  0.025074  ,
        0.025074  ,  0.025074  ,  0.025074  ,  0.025074  ,  0.025074  ,
        0.025074  ,  0.025074  ,  0.062521  ,  0.054548  ,  0.149598  ,
        0.064346  ,  0.062459  ,  0.052972  ,  0.062521  ,  0.064346  ,
        0.062459  ,  0.062106  ,  0.054548  ,  0.062371  ,  0.052869  ,
        0.062382  ,  0.062106  ,  0.062371  ,  0.064954  ,  0.064346  ,
        0.062382  ,  0.062521  , -0.042445  ,  0.062371  ,  0.062382  ,
        0.062545  ,  0.062382  ,  0.064954  ,  0.062371  ,  0.062106  ,
       -0.042445  ,  0.064346  ,  0.054548  ,  0.062371  ,  0.062106  ,
        0.062382  ,  0.062459  ,  0.025074  ,  0.025074  ,  0.025074  ,
        0.052869  ,  0.149598  ,  0.062382  , -0.053696  , -0.027439  ,
        0.062521  ,  0.025074  ,  0.052869  ,  0.025074  ,  0.054548  ,
       -0.053274  ,  0.062371  ,  0.062382  , -0.056241  ,  0.025074  ,
        0.025074  ,  0.025074  ,  0.052869  ,  0.025074  ,  0.062459  ,
        0.062371  , -0.042445  , -0.053274  , -0.042445  ,  0.149598  ,
       -0.30478799,  0.062106  ,  0.064954  ,  0.025074  ,  0.062382  ,
       -0.347893  , -0.347893  ,  0.062106  , -0.048301  ,  0.025074  ,
       -0.347893  ,  0.062521  ,  0.062521  ,  0.062545  ,  0.062371  ,
        0.062106  ,  0.045839  ,  0.29355499, -0.25923499,  0.052869  ,
        0.025074  , -0.347893  ,  0.062106  , -0.048301  ,  0.046501  ,
       -0.010019  , -0.051011  , -0.031081  ,  0.076425  , -0.023394  ,
       -0.00774   , -0.017262  , -0.017205  , -0.053696  , -0.056241  ,
       -0.027439  , -0.056241  , -0.053696  , -0.053298  , -0.04906   ,
        0.036745  , -0.04906   , -0.053298  ,  0.045839  , -0.30478799,
        0.244523  , -0.27018499, -0.023394  ,  0.076425  , -0.031081  ,
       -0.051011  , -0.010019  , -0.00774   , -0.017205  , -0.017262  ,
       -0.053298  , -0.04906   ,  0.036745  , -0.04906   , -0.053298  ,
       -0.053696  , -0.056241  , -0.027439  , -0.056241  , -0.053696  ,
        0.244523  ,  0.045839  , -0.30478799, -0.27018499, -0.023394  ,
        0.076425  , -0.031081  , -0.051011  , -0.010019  , -0.00774   ,
       -0.017205  , -0.017262  , -0.053298  , -0.04906   ,  0.036745  ,
       -0.04906   , -0.053298  , -0.053696  , -0.056241  , -0.027439  ,
       -0.056241  , -0.053696  ,  0.244523  ,  0.045839  , -0.30478799,
       -0.27018499, -0.010019  , -0.051011  , -0.031081  ,  0.076425  ,
       -0.023394  , -0.00774   , -0.017261  , -0.017205  , -0.053696  ,
       -0.056241  , -0.314758  ,  0.052972  ,  0.046196  ,  0.052972  ,
        0.064954  ,  0.043026  ,  0.043026  ,  0.043026  ,  0.043026  ,
        0.052869  ,  0.052869  ,  0.149598  ]) <Unit('elementary_charge')>

A slightly more elegant approach than passing the molecule through via charge_from_molecules is to use LibraryChargeTypes generated from the same molecules via from_molecule; it does basically the same thing but stores those molecule-specific partial chargers in the force field directly.
I recognize this approach isn't perfect - storing an extra copy of each molecule on disk isn't ideal - but it at least hedges the AM1 computation time down to the minimum that it can conceptually be.
[^1]: Until GCNN-based charges do everything for free
[^2]: To be honest, I didn't really think that much above ~100 atoms even finishes!

Hey just following up! I'll make sure to save charges using what you provided above to only have to do this once! I think it's expected that AM1-BCC would take a long time for a large number of atoms, but I was confused by the Interchange running so slowly. Michael had mentioned that it's mostly just writing parameters to file in different formats, rather than doing any long calculations.
I will say I was running this over a remote filesystem, so maybe it shouldn't have taken as long as it did (I stopped the Interchange conversion after 2 or so hours). I assume since Interchange does a lot of write calls, maybe it had an issue with the remote file system. I'm trying this again with everything being stored on my local computer, so hopefully, it doesn't get stuck this time.

How are you installing Interchange and the rest of the OpenFF Stack? Could you show me a conda list output? What are your typical system sizes, and have you gotten any to finish the conversion? I'd be particularly interested in rough benchmarks of, for systems of a given size, how long it takes to prepare the Interchange object with AM1BCC charges provided and, separately, how long it takes to write the files.
I recently found a pretty bad bug in which I was looking up the non-bonded parameters for all atoms once per molecule, which makes i.e. writing out solvated systems very slow. I fixed this in #465 but I am confident there are other optimizations to be had; most of the work lately has gone to improving the OpenMM export while the GROMACS exports have been more primitive. Regardless, it should not take two hours!

So I think this issue was primarily AM1BCC charge assignment slowing things down. I did add the charge_from_molecules = [oct_pop] to the interchange object and that makes sure the calculating of the partial charges only happens once (and I'm now saving the partial charges to an .sdf file too)

Hopefully we can move away from AM1 for large systems soon!


Delete stale VPCs, subnets, route tables created from EMR DAG

Currently, the emr_eks_pi_job DAG fails intermittently due to leftover VPCs created from earlier runs.
We need to identify a reliable automation (most probably in the same example DAG) to delete these while being extremely careful to not delete the 2 Databricks-related VPCs present in the account.

we can identify the VPC with the string emr_eks_ctl

okay, will check this sometime soon.


[tool_crash] FileSystemException: Cannot create link, OS Error: Incorrect function., errno = 1

Command
flutter pub get

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot create link, OS Error: Incorrect function.
, errno = 1
#0      _Link.throwIfError (dart:io/link.dart:254:7)
#1      _Link.createSync (dart:io/link.dart:182:5)
#2      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#3      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#4      _createPlatformPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:1055:12)
#5      createPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:985:5)
#6      refreshPluginsList (package:flutter_tools/src/flutter_plugins.dart:1087:5)
<asynchronous suspension>
#7      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:355:5)
<asynchronous suspension>
#8      PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:326:7)
<asynchronous suspension>
#9      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1294:27)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:296:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:244:5)
<asynchronous suspension>
#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:91:9)

[✓] Flutter (Channel beta, 3.11.0-1.0.pre.1, on Microsoft Windows [Version 10.0.22621.1702], locale en-US)
    • Flutter version 3.11.0-1.0.pre.1 on channel beta at C:\dev\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 74e4b092e5 (11 days ago), 2023-05-10 07:08:22 -0700
    • Engine revision 992cdb6cd4
    • Dart version 3.1.0 (build 3.1.0-63.1.beta)
    • DevTools version 2.23.1

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at C:\Users\Zi\AppData\Local\Android\sdk
    • Platform android-32, build-tools 32.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.15)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.32510.428
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2021.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.78.2)
    • VS Code at C:\Users\Zi\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.64.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22621.1702]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 112.0.5615.138
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 113.0.1774.50

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: b4bce91dd0f168179d46a7ae5eceb3572ba9637a
Plugins
firebase_core-2.13.0
firebase_core_web-2.5.0

Closing this as a duplicate of https://github.com/flutter/flutter/issues/66224.


proposal feedback

Adds swift-log and swift-metrics
Makes requestTLS internal, requires configuration during connect
Makes PostgresError.Code camel case
Removes tableOID from PostgresRow (fixes #24)
Performance test cleanup, only run in release mode

Hey @tanner0101, you just merged a pull request, have a coin!
You now have 1213 coins.


Rename AutoML project to make it unique

I renamed automl project to automl-ci to make it unique in GCP.
/assign @jlewi
/cc @johnugeorge @gaocegege

@andreyvelich The namespace should match the project name.

@jlewi Does it match: https://github.com/kubeflow/community-infra/pull/16/files#diff-9e1a531995b4ca2cac009b5f05cb44d5R12 ?

Oh, sorry I will rename the folder name

Is that correct right now @jlewi ?

/lgtm
/approve


Analytics improvements for future use.

@rkuykendall what up with this?

@diezguerra Wrote it but didn't have time to actually test and deploy. It's my pattern for how we should be doing analytics in the future. I think this is still a slower week on team withdraws so I'll try to verify and release it.

Cool. Grab a copy of that product workflow book (there's many in the office), it should give you a good idea of why letting things sit is bad.

I'm getting a lot of errors trying to use this locally and no data flowing through to segment.  Try to get it up and running locally and then we can get this out

a couple questions, but mostly looks good! :+1:


[RFC] make assertions test framework agnostic

Currently, assertions have an unenforced dependency on PHPUnit. This PR adds a slim built-in assertion framework instead. When using this library with PHPUnit, the built-in assertions are converted to PHPUnit assertions.
FYI, I investigated using an existing assertion library like webmozart/assert but what I needed was the ability to hook into "assertion passed". I use this, with the PHPUnitHandler, to trigger a successful assertion. Without this, many of your tests would be marked as "risky" by PHPUnit.

Still on the fence with this one. I do now have 4 libraries that could benefit from such an "assertion" library:

(this one)
https://github.com/zenstruck/foundry
https://github.com/zenstruck/mailer-test
https://github.com/zenstruck/messenger-test

@wouterj, do you have any thoughts on this - I believe you use foundry outside of phpunit tests.


Non ZMQ doesn't work

Not sure what the problem is, but if I go backwards to version<PHONE_NUMBER> everything works fine.
One of the changes on here is causing non ZMQ to break for me:
https://dev.azure.com/monacotools/Monaco/_traceability/runview/changes?currentRunId=178730

Jupyter never responds to the waitForIdle.

This commit causes the error:
https://github.com/microsoft/vscode-jupyter/commit/7308db89073d2f3a67c03d778a0b8a19e091328b

Looking at the difference in how things are launched, with the newer change, the PATH environment variable is cased differently.
Here's a working kernelspec (from previous commit):
working.txt
Here's one that doesn't (generated with commit id: https://github.com/microsoft/vscode-jupyter/commit/7308db89073d2f3a67c03d778a0b8a19e091328b)
bad.txt
Not sure if this is the root cause or not yet, but it's at least a difference.

Casing seems to be the root of the problem. Not sure how but that fixes it for me.


use weak reference to hold bean objects so that they could be garbage collected

Fixes #1670.

Codecov Report

Merging #1676 into master will increase coverage by 0.02%.
The diff coverage is 64.7%.

@@             Coverage Diff             @@
##             master   #1676      +/-   ##
===========================================
+ Coverage     48.77%   48.8%   +0.02%
- Complexity     1906    1911       +5
===========================================
  Files           392     392
  Lines         11492   11524      +32
  Branches       1196    1204       +8
===========================================
+ Hits           5605    5624      +19
- Misses         5458    5464       +6
- Partials        429     436       +7

Impacted Files
Coverage Δ
Complexity Δ

.../framework/apollo/spring/property/SpringValue.java
87.71% <41.66%> (-12.29%)
20 <5> (+1)

...rk/apollo/spring/property/SpringValueRegistry.java
83.33% <77.27%> (-9.53%)
10 <4> (+5)

.../apollo/internals/RemoteConfigLongPollService.java
77.3% <0%> (-0.62%)
27% <0%> (-1%)

Continue to review full report at Codecov.

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

Coverage increased (+0.08%) to 52.586% when pulling 790ee89d83de4d320dc8030105f00126f55e581b on nobodyiam:fix-1670 into d93a6ba4c65c277360a9e75e3014064d09773981 on ctripcorp:master.

http://<IP_ADDRESS>:8080/notifications/v2?cluster=default&appId=SampleApp&ip=<IP_ADDRESS>&notifications=[{"namespaceName"%3A"application"%2C"notificationId"%3A-1}], reason: Could not complete get operation [Cause: connect timed out]


Foreign key names too long

Some DBMS, like MySQL, support foreign key names only up to a certain length. The current approach
generates a name that depends on multiple factors, possibly generating a FK name that is rather long.
The idea here is to use a hash function to generate parts of the name, possibly making it shorter and not exceed limits on MySQL.

Hi @speijnik
I think change the default length might be a better solution, Refer https://bugs.mysql.com/bug.php?id=13942


Support github enterprise

Describe what problem your feature request solves
The github oauth configuration assumes that you're using github.com and doesn't work with github enterprise.
Describe the solution you'd like
A configuration in .env (or equivalent for prod) that lets you specify a github enterprise url

Thanks for the great suggestion, @danielpops !
This seems like it could be a quick win.  Threat Dragon uses octonode to connect to github, and it appears to support enterprise with relatively little config.
I don't have access to an enterprise account: if I put together a PR, would you be willing to test it to ensure it's working as expected?

I am just about to release version 1.5.0 - delayed because of problems with electron-builder config file - so depending on how quick this win is it can go in 1.5.0 or if it is a bit slower we can do a version 1.5.1

@danielpops - if you have a chance, can you test out this branch? https://github.com/OWASP/threat-dragon/tree/feature/enterprise-github-config-250
I added config options for a Github enterprise hostname, and optionally port/protocol.  The only update you should need to test the change and the enterprise integration is adding GITHUB_ENTERPRISE_HOSTNAME to your env file

@lreading hey, this seems to have kind of worked. I was able to authenticate through my github enterprise / sso credentials. However, the app isn't able to view the repos, with a Bad credentials error messgae
{
    "hostname": "e2c837b09ef2",
    "level": 50,
    "msg": "[HttpError: Bad credentials] {\n  statusCode: 401,\n  headers: {\n    server: 'GitHub.com',\n    date: 'Tue, 19 Oct 2021 02:00:48 GMT',\n    'content-type': 'application/json; charset=utf-8',\n    'content-length': '80',\n    'x-github-media-type': 'github.v3; format=json',\n    'x-ratelimit-limit': '60',\n    'x-ratelimit-remaining': '53',\n    'x-ratelimit-reset': '1634610711',\n    'x-ratelimit-used': '7',\n    'x-ratelimit-resource': 'core',\n    'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset',\n    'access-control-allow-origin': '*',\n    'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',\n    'x-frame-options': 'deny',\n    'x-content-type-options': 'nosniff',\n    'x-xss-protection': '0',\n    'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',\n    'content-security-policy': \"default-src 'none'\",\n    vary: 'Accept-Encoding, Accept, X-Requested-With',\n    'x-github-request-id': 'EDBE:5D3B:37E507:3E4037:616E26D0',\n    connection: 'close'\n  },\n  body: {\n    message: 'Bad credentials',\n    documentation_url: 'https://docs.github.com/rest'\n  }\n}",
    "name": "threatdragon",
    "pid": 7,
    "req_id": "3a58fc69-3010-49f7-8270-1230848bc8c9",
    "security": false,
    "time": "2021-10-19T02:00:48.801Z",
    "userName": "dpopes",
    "v": 0
}

The relevant yet redacted .env file i'm using:
GITHUB_CLIENT_ID=<the client id>
GITHUB_CLIENT_SECRET=<the client secret>
GITHUB_SCOPE=repo
NODE_ENV=development
SESSION_STORE=local
SESSION_SIGNING_KEY=<the signing key>
SESSION_ENCRYPTION_KEYS='[{"isPrimary": true, "id": 0, "value": "<the signing key>"}]'

I haven't yet dug into this at all, but can take a pass at debugging and try to suss out what might be going on if you like. I should also note that I've not actually tried getting this to work with public github, so I may just be missing something otherwise fundamental. Feel free to point me in the right direction for things that I may have likely messed up :)

Hey @danielpops thanks for taking a look!!!
Your .env file looks to be missing GITHUB_ENTERPRISE_HOSTNAME, however I suspect that was a bad copy/paste since you're able to authenticate against the enterprise account?
I can't make sense of why it's reaching out to api.github.com after authenticating against the enterprise account.
ThreatDragon uses octonode to connect to GitHub.  According to OctoNode's Documentation, you should be able to simply add a hostname parameter to the client and it will do the rest for you.
All of the GH communication logic is in https://github.com/OWASP/threat-dragon/blob/feature/enterprise-github-config-250/td.server/src/repositories/threatmodelrepository.js#L5 and every call to the repository should be using the getClient function, which should be reading the enterprise info from the env.
I'll be taking a closer look at how octonode works, make sure we're on a relatively recent version of it, etc etc. It's also very possible that I'm missing something here; please do let me know if that's the case!

I think I found what I had missed! :sweat_smile:  Just the authentication piece of things... you know, nothing too important.
What's odd to me is that this would have the opposite effect of what you are seeing.  Currently it's authenticating against github.com, then should be using the enterprise host for api calls.  Unless I misunderstood, what you're seeing is the opposite: it authenticates against the enterprise host then attempts to use github for API calls.
Threat Dragon uses passport / passport-github for auth.  I'll be using this documentation to add the missing parameters to hopefully make authentication work.
I'll be updating the branch tonight to see if it does the trick for you.  I'll update this comment with more info when it's done, as it may require another env var.

@lreading thanks again for the support, I'm happy to work through the issues with you.
With the HEAD of your branch I now get a 404 when browsing existing repositories or creating a new threat model (this is presumably the bug you're referring to?) =>
{"name":"threatdragon","hostname":"3d2ee32f5858","pid":7,"req_id":"b425501f-a2cc-4e66-9819-4cafb1291ac3","level":50,"security":false,"userName":"dpopes","msg":"[HttpError: Not Found] {\n  statusCode: 404,\n  headers: {\n    server: 'GitHub.com',\n    date: 'Tue, 02 Nov 2021 16:59:26 GMT',\n    'content-type': 'application/json; charset=utf-8',\n    'content-length': '89',\n    'x-oauth-scopes': 'public_repo',\n    'x-accepted-oauth-scopes': 'repo',\n    'x-oauth-client-id': '34329e031934f883ac33',\n    'x-github-enterprise-version': '3.0.4',\n    'x-github-media-type': 'github.v3; format=json',\n    'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset',\n    'access-control-allow-origin': '*',\n    'x-github-request-id': '4eea910a-ea6c-45d8-9bae-37610a313aa8',\n    'strict-transport-security': 'max-age=31536000; includeSubdomains',\n    'x-frame-options': 'deny',\n    'x-content-type-options': 'nosniff',\n    'x-xss-protection': '1; mode=block',\n    'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',\n    'content-security-policy': \"default-src 'none'\",\n    'x-runtime-rack': '0.067535',\n    connection: 'close'\n  },\n  body: {\n    message: 'Not Found',\n    documentation_url: 'https://docs.github.com/enterprise/3.0/rest'\n  }\n}","time":"2021-11-02T16:59:26.805Z","v":0}

I don't believe that's the same.  Are you running npm run build before npm run start?
As an aside, we should probably change the start command to do the build step as well... It's not super streamlined or intuitive at the moment.

I've just been doing
docker build -t dpopes-owasp-threat-dragon . && docker run -it --rm -p 3000:3000 -v $(pwd)/.env:/app/.env --init --name dpopes-owasp-threat-dragon dpopes-owasp-threat-dragon

I will give it another shot on a fresh setup and/or force an npm run build

@lreading I tried the branch out on a fresh setup and still observe the same 404 when browsing existing repositories or creating a new threat model.

@lreading hey, just following-up on this thread after a while of inactivity. Is there anything else I can do to help debug what's going on here?

Hey @danielpops  - I apologize, this fell off my radar. :)
I'm at a bit of a loss here, and my GH enterprise trial expired.  It was one of those "works on my machine" type of deals, so I'm not entirely sure what went wrong or why.
We could take a look at the URLs it's connecting to as well and see if anything jumps out.  The 404 you posted is somewhat interesting, as it's pointing to the public documentation for GH Enterprise version 3, and I'm not sure why Octonode would be making a request there to beg with.

Hello @danielpops and @lreading
Version 1.6 is intended to be the last 1.x version . Could we start afresh on this feature, but targeting version 2.0?
Testing Github Enterprise has been a real problem, so we may have to lean heavily on @danielpops , but on the up-side version 2.0 code is much easier to develop and debug .
Should we close this issue, and its associated PR, and @danielpops did you want to raise a new issue for version 2.0?

@jgadsden sure, I can re-create this issue for the 2.0 release. I presume this is the v2-development branch?

Yes, thanks @danielpops , if you use the v2-development branch then this is the working version 2.x

Thanks guys! I'll take another swing at this in the v2 branch. :) I'll close this issue now and we can coordinate in the new one.


Strange evaluation results on the PoseBuster set

Dear the DiffDock team, thank you really much for your efforts in developing the new version. I'm just curious when I ran the new evaluate script of new DiffDock-L without using the confidence model on the PoseBuster set, I got quite high results of top5_rmsds_below_2 (52.47%) and min_rmsds_below_2 (55.53%) while the result reported from the paper was 50%. I can't figure out why the results were strange, did I miss any crucial step when evaluating?
The checkpoint I used is from https://www.dropbox.com/scl/fi/drg90rst8uhd2633tyou0/diffdock_models.zip?rlkey=afzq4kuqor2jb8adah41ro2lz&dl=1
The command that I ran was
python -m evaluate --config default_inference_args.yaml --data_dir data/posebusters_benchmark_set --tqdm --dataset posebusters --split_path data/splits/posebusters_benchmark_set_ids.txt --esm_embeddings_path data/posebusters_ESM.pt --num_workers 8 --samples_per_complex 10 --chain_cutoff 10 --batch_size 10 --protein_file protein --ligand_file ligands --model_dir new_ckpt/score_model --confidence_model_dir None --cache_path data/cache1 --save_visualisation
The results I got was

Performance without hydrogens included in the loss
4 failures due to exceptions
0  skipped because complex was not in confidence dataset
run_times_std 5.12
run_times_mean 11.29
mean_rmsd<PHONE_NUMBER>2572928
rmsds_below_2 39.71764705882353
rmsds_below_5 65.38823529411765
rmsds_percentile_25 1.16
rmsds_percentile_50 3.06
rmsds_percentile_75 6.67
min_rmsds_below_2 55.529411764705884
min_rmsds_below_5 81.6470588235294
mean_centroid nan
centroid_below_2 61.56
centroid_below_5 78.26
centroid_percentile_25 nan
centroid_percentile_50 nan
centroid_percentile_75 nan
top5_self_intersect_fraction 0.0
top5_rmsds_below_2 52.47
top5_rmsds_below_5 78.35
top5_rmsds_percentile_25 0.84
top5_rmsds_percentile_50 1.81
top5_rmsds_percentile_75 4.64
top5_centroid_below_2 61.65
top5_centroid_below_5 79.76
top5_centroid_percentile_25 nan
top5_centroid_percentile_50 nan
top5_centroid_percentile_75 nan
top10_self_intersect_fraction 0.0
top10_rmsds_below_2 55.53
top10_rmsds_below_5 81.65
top10_rmsds_percentile_25 0.81
top10_rmsds_percentile_50 1.6
top10_rmsds_percentile_75 3.81
top10_centroid_below_2 61.65
top10_centroid_below_5 79.76
top10_centroid_percentile_25 nan
top10_centroid_percentile_50 nan
top10_centroid_percentile_75 nan

@LongHung-Pham Hi LongHung, were you able to reproduce the results of Diffdock-L on PoseBusters under the default settings? I tried the default settings and the checkpoint in the dropbox on PoseBusters with confidence model, but got rmsds_below_2 about 40%; Meanwhile, about 30 complexes in PoseBusters are skipped. I wonder had you encountered similar problems?


DI: Alternative approach to supply DI context to Components

Up to now, binding a component with the Dependency Injection context is made by assuming that every Component has its __init__ fulfill the signature of (container: Container, **kwargs) -> None. This results in the following inconveniences:

forces __init__'s argument structure which is one more thing to remember and may have an impact on inheriting a Component from extraneous classes
doesn't supply the qualifier to Component that was created for; this might be a problem, e.g., in #60 (DAO doesn't have a ground to know structure being modeled)

Fixed. Now, an instance constructed has its context under:
from pca.utils.dependency_injection import get_di_context

di_context: DIContext = get_di_context(instance)
qualifier = di_context.qualifier


OCR model

Hi！How can I get  /ocr_weights/ppv3_rec.pth?

Just upload them, please pull again.

Thanks!


Updates and Deletes

Hi - Not sure if there is an nice way to update and/or delete historical data from an index.
Cheers,
SG

This line is taken out of context, but I hope it's rather obvious what to do or what to google:)
index_writer.delete_term(Term::from_field_i64(id_field, doc_id));

@ppodolsky Thanks for your reply. I did take a look prior to posting, but was too lazy to experiment :smile_cat:
Delete all documents containing a given term.

Delete operation only affects documents that were added in previous commits, and documents that were added previously in the same commit.

Like adds, the deletion itself will be visible only after calling commit().

BTW - I was looking for selective delete across multiple commits.
Cheers,
:beer:

@ppodolsky  suggestion is correct.
It is across multiple commits. Your delete apply to all documents that were added before you send the delete...

@fulmicoton @ppodolsky Thanks.. will take a look.


Avoid overriding systemd unit/settings when not configured to do so

Fixes #121, #73.
Currently, if the user has their own tmux.service file and does not enable continuum-boot, tmux-continuum will disable it on startup. This PR adds a check to try to ensure it only makes changes if it matches the user intent to have it do so.

Pinging @nuclearglow because it's a systemd-related change.

I would be very happy if this could be merged, since I have the exact issue this solves :smiley:

@bruno- Do you expect to merge this? Doing some spring cleaning of my open PRs :broom:


Adds cassandra-unit powered CassandraSpanStoreSpec

follow-up from #585

I suspect the gradle daemon is getting killed on too much memory. Going to switch off gradle daemon on this PR to see if this is memory related or not.

this passes when not using the gradle daemon. I suspect this is memory related, as watching the test run in jconsole, my JVM spiked to 3.5GiB memory.

@michaelsembwever I may be off in my assessment, but anyway, this "greens", but only if we disable the gradle daemon (which slows the build by 5m)

per chat in gitter, disabling the daemon during CI is acceptable. We're leaving the config in gradle.properties to help ease developer setup. IOTW, we can adjust the mem args needed without needing to notify all developers to update ~/.gradle/gradle.properties


Can`t set min-height of the editor

I'm submitting a ...
[x] Bug report => search github for a similar issue or PR before submitting
Current behaviour
It seems that div containing class trumbowyg-editor has height style property set.
Because of that, you can`t specify min-height of the editor.
On official demo, you can inspect html and see it.

This issue is not related to vue component, please report your issue here
https://github.com/Alex-D/Trumbowyg


#394 add documentation

fixes #394

Current coverage is 46.60%

Merging #395 into master will not affect coverage as of a746b61

@@            master   #395   diff @@
=====================================
  Files          127    127
  Stmts         2935   2935
  Branches       238    238
  Methods          0      0
=====================================
  Hit           1368   1368
  Partial         57     57
  Missed        1510   1510

Review entire Coverage Diff as of a746b61

Powered by Codecov. Updated on successful CI builds.

:+1:


Performance budgets

https://webpack.js.org/configuration/performance/ - pretty neat; probably requires us to improve the logger first tho

See Also https://github.com/davidmarkclements/does-it-fit

will be closed by https://github.com/yoshuawuyts/bankai/pull/165

v7.4.0


(#463) Fix puppetdb request when fact is a numeric value

If the fact value is numeric, the puppetdb query perfom an or with and without quotes

nice one, thanks a lot - there will be a release hopefully this week

Great


Upgrading to 0.17.X elasticsearch problems. (Solved)

Just wanted to note I figured out why I was having problems getting Elasticsearch to listen on port 9200 after updating Moloch. Problem was the /data/moloch/data/Moloch directory and sub-directory's need to be owned by nobody and nogroup. chown -R nobody:nogroup /data/moloch/data/Moloch Mine was owned by the user and group was the user.

The configure script has
chown nobody /data/$MOLOCH_NAME/data /data/$MOLOCH_NAME/etc/scripts so they should already be owned by nobody before elasticsearch even starts.

It is changing ownership of /data but not it's sub-directory's

There should be no sub directories when it is installed.  Maybe you ran elasticsearch as root first?  /data/moloch/data is empty and is create in Configure right above the chown.

This is an upgrade of an existing Moloch install (ver 0.16.1). so there is already an existing /data/moloch/data as well as sub-directory's

Who was it owned by?  0.16.1 has the same mkdir and chown, so in order to write in that dir you had to be nobody or root.  You said "Mine was owned by the user and group was the user" which I don't follow.

It depends on the box. ones that I upgraded from 0.13.X are sysadmin:sysadmin and the ones that were 0.16.X are daemon:root

It depends on the box. ones that I upgraded from 0.13.X are sysadmin:sysadmin and the ones that were 0.16.X are daemon:root

You don't even need to run Configure when upgrading usually
You definitely should say no to the ES part (I guess it should tell you that.)
0.16 was never daemon:root for ES, so not sure how the ES directory got that way.  confusing.

I realize running ES on the capture server is not ideal, but these servers are remote and as the guys from ES say "ES database+remote location=bad" these are beefy boxes though: (128G ram, 32TB storage, X4 Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz)

I don't understand what you mean here.  The ES guys say its bad to have multiple nodes in 1 cluster in different locations, NOT that the client and server have to be in the same location.  We run remote captures with locale ES with no issue.  But if it works for you thats great.  The ES that Configure sets up is really just for a demo, just say no from now on and those issues will go away.
Anyway, I'm closing this since I don't really think there is a bug, or I guess I don't understand what it is.


Bug in simplification of river geometry.

This ain't right.

yikes!

It appears that this is an artifact of total drainage area including diverted paths. The downstream ends of the flowlines that shouldn't be included are on little diverted paths that are part of the main stem. The totdasqkm reflects the total upstream area but the divdasqkm does not. I'll switch my filter to divdasqm (divergence routed drainage area) and cross my fingers.

ahhh that's better.


mask prop for a component with a slash ( mask="DD/MM") breaks panda

Description
I suspect panda think this is a CSS prop while it is not, so it tries to applies color mixin on it.
https://stackblitz.com/edit/vitejs-vite-3qwpeh?file=panda.config.ts
Link to Reproduction
https://stackblitz.com/edit/vitejs-vite-3qwpeh?file=panda.config.ts
Steps to reproduce

See the styles are not applied.
Change the mask(it is just a react prop) of component <MyMask mask="MM{/}YY2" /> to <MyMask mask="MMYY2" /> (removing the slash)
styles will work again

JS Framework
No response
Panda CSS Version
latest
Browser
No response
Operating System

[X] macOS
[X] Windows
[X] Linux

Additional Information
No response

@astahmer Yeah, but in the repo JSX is disabled.

seems like you're using an outdated version of Panda, I remember this issue, it's been fixed here https://github.com/chakra-ui/panda/pull/1840

@astahmer  I'll check, thank you

@astahmer
Actually, I am using the latest one, see here:
https://stackblitz.com/edit/vitejs-vite-3qwpeh?file=src/App.tsx


Import error for watershed function when running cetn2 workflow

This text document allows the plugin developers to gather the information they need to understand and prioritize your bug report. Please write your responses in the space below each section (replace [your answer here] with your answer), then click the "Submit new issue" button when you are finished. You can preview the formatting of this document using the Preview tab above.
Description
A clear description of the bug
I freshly installed napari and this plugin into a new environment. When trying to run the watershed cutting step of the cetn2 workflow, the watershed function from skimage.morphology cannot be imported. I think this is probably because the watershed function in the morphology module is deprecated, and the function from skimage.segmentation.watershed should be used instead. (For reference, the version of scikit-image in the environment is 0.19.2.)
Error message
ImportError                               Traceback (most recent call last)
File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/superqt/utils/_qthreading.py:616, in create_worker.<locals>.reraise(e=ImportError("cannot import name 'watershed' from...9/site-packages/skimage/morphology/__init__.py)"))
    615 def reraise(e):
--> 616     raise e
        e = ImportError("cannot import name 'watershed' from 'skimage.morphology' (/home/maddy/miniconda3/envs/napari-env/lib/python3.9/site-packages/skimage/morphology/__init__.py)")

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/superqt/utils/_qthreading.py:176, in WorkerBase.run(self=<napari._qt.qthreading.GeneratorWorker object>)
    174     warnings.filterwarnings("always")
    175     warnings.showwarning = lambda *w: self.warned.emit(w)
--> 176     result = self.work()
        self = <napari._qt.qthreading.GeneratorWorker object at 0x7f3c056ae9d0>
    177 if isinstance(result, Exception):
    178     if isinstance(result, RuntimeError):
    179         # The Worker object has likely been deleted.
    180         # A deleted wrapped C/C++ object may result in a runtime
    181         # error that will cause segfault if we try to do much other
    182         # than simply notify the user.

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/superqt/utils/_qthreading.py:443, in GeneratorWorker.work(self=<napari._qt.qthreading.GeneratorWorker object>)
    441 try:
    442     input = self._next_value()
--> 443     output = self._gen.send(input)
        self = <napari._qt.qthreading.GeneratorWorker object at 0x7f3c056ae9d0>
        input = None
        output = (WorkflowStep(category=<WorkflowStepCategory.CORE: 'core'>, function=SegmenterFunction(name='find_local_maxima', display_name='Find Local Maxima', function='peak_local_max_wrapper', module='aicssegmentation.core.utils', parameters=None), step_number=6, parent=[2, 5], parameter_values=None), <class 'numpy.ndarray'> (122, 908, 908) bool)
        self._gen = <generator object WorkflowStepsController._run_all_async at 0x7f3bee21d740>
    444     self.yielded.emit(output)
    445 except StopIteration as exc:

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/napari_allencell_segmenter/controller/workflow_steps_controller.py:91, in WorkflowStepsController._run_all_async(self=<napari_allencell_segmenter.controller.workflow_steps_controller.WorkflowStepsController object>, parameter_inputs=[{'scaling_param': [12.0, 160.0, 300, 2000]}, {'scaling_param': [5000]}, {'sigma': 1.0}, {'cutoff': 0.04, 'log_sigma': 1.0}, {'method': '3D', 'min_size': 3}, None, None, {'method': '3D', 'min_size': 3}])
     89 while not self.model.active_workflow.is_done():
     90     step = self.model.active_workflow.get_next_step()
---> 91     result = self.model.active_workflow.execute_next(parameter_inputs[i])
        i = 6
        result = <class 'numpy.ndarray'> (122, 908, 908) bool
        parameter_inputs[i] = None
        self = <napari_allencell_segmenter.controller.workflow_steps_controller.WorkflowStepsController object at 0x7f3bf72f4ee0>
        parameter_inputs = [{'scaling_param': [12.0, 160.0, 300, 2000]}, {'scaling_param': [5000]}, {'sigma': 1.0}, {'log_sigma': 1.0, 'cutoff': 0.04}, {'min_size': 3, 'method': '3D'}, None, None, {'min_size': 3, 'method': '3D'}]
     92     i = i + 1
     93     yield (step, result)

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/aicssegmentation/workflow/workflow.py:90, in Workflow.execute_next(self=<aicssegmentation.workflow.workflow.Workflow object>, parameters=None)
     87         res = self.get_result(i - 1)  # parents are 1 indexed
     88         image.append(res)
---> 90 result: np.ndarray = self.get_next_step().execute(image, parameters or step.parameter_values)
        step = WorkflowStep(category=<WorkflowStepCategory.CORE: 'core'>, function=SegmenterFunction(name='watershed_for_cutting', display_name='Watershed for cutting', function='watershed_wrapper', module='aicssegmentation.core.utils', parameters=None), step_number=7, parent=[5, 6], parameter_values=None)
        image = [<class 'numpy.ndarray'> (122, 908, 908) bool, <class 'numpy.ndarray'> (122, 908, 908) bool]
        np = <module 'numpy' from '/home/maddy/miniconda3/envs/napari-env/lib/python3.9/site-packages/numpy/__init__.py'>
        parameters or step.parameter_values = None
        self = <aicssegmentation.workflow.workflow.Workflow object at 0x7f3bf4307610>
        parameters = None
        step.parameter_values = None
     91 self._results.append(result)
     93 # Only increment after running step

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/aicssegmentation/workflow/workflow_step.py:76, in WorkflowStep.execute(self=WorkflowStep(category=<WorkflowStepCategory.CORE...p_number=7, parent=[5, 6], parameter_values=None), input_images=[<class 'numpy.ndarray'> (122, 908, 908) bool, <class 'numpy.ndarray'> (122, 908, 908) bool], parameters=None)
     73     if parameters is not None:
     74         return py_function(*input_images, **parameters)
---> 76     return py_function(*input_images)
        py_function = <function watershed_wrapper at 0x7f3b7ebd0550>
        input_images = [<class 'numpy.ndarray'> (122, 908, 908) bool, <class 'numpy.ndarray'> (122, 908, 908) bool]
     77 except TypeError:
     78     # Some functions want it as a list
     79     if parameters is not None:

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/aicssegmentation/core/utils.py:449, in watershed_wrapper(bw=<class 'numpy.ndarray'> (122, 908, 908) bool, local_maxi=<class 'numpy.ndarray'> (122, 908, 908) bool)
    447 from scipy.ndimage import distance_transform_edt
    448 from skimage.measure import label
--> 449 from skimage.morphology import watershed, dilation, ball
    451 distance = distance_transform_edt(bw)
    452 im_watershed = watershed(
    453     -distance,
    454     label(dilation(local_maxi, selem=ball(1))),
    455     mask=bw,
    456     watershed_line=True,
    457 )

ImportError: cannot import name 'watershed' from 'skimage.morphology' (/home/maddy/miniconda3/envs/napari-env/lib/python3.9/site-packages/skimage/morphology/__init__.py)

* If you can't find the error message, go to Plugins > Plugin Errors > napari-allencell-segmenter
* Most of the time, the most helpful information is at the very bottom of the error output

Expected Behavior
What did you expect to happen instead?
The watershed cutting runs successfully.
Reproduction
Please list the exact steps we can take to reproduce this bug.

Install napari into a fresh environment
Install the napari-allencell-segmenter plugin
Open an image in napari
Open the plugin, select an image channel, and select the cetn2 (dots) workflow
Click "run all"

Environment

Operating system (ex. MacOS Big Sur): Ubuntu 18.04
Python version (ex. 3.8): 3.9.12
napari version (ex. 0.4.1): 0.4.15
How did you install the napari viewer (as a bundled app or through command line with pip)?: Through the command line with pip, using the instructions on the napari github repo

thanks for bringing this error to our attention. I think this is exactly due to the API update on skimage. For some reason, our automatic build on aicssegmentation core package was disabled (otherwise, it is supposed to catch all such errors automatically in a weekly base). Anyway, we will get this fixed ASAP.
Thanks again for reporting this.


Takes forever with invalid cron string

Try this and it will run forever:
Rufus::Scheduler::CronLine.new("0 0 0 * *").next_time(Time.now)

This should raise an error right?

What error should it raise?

I'm thinking invalid cron syntax or something like that. I can work on
this.
On Wed, 16 Nov 2016 11:33 John Mettraux<EMAIL_ADDRESS>wrote:

What error should it raise?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmettraux/rufus-scheduler/issues/221#issuecomment-260844471,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABi9G5mtfOa6rwZe6ad8uRyGVla2BUTks5q-nmPgaJpZM4KzS1t
.

Actually, you are right.
Rufus::Scheduler::CronLine.new("0 0 0 * *")
  # and
Rufus::Scheduler::CronLine.new("* * 0 * *")

should raise an ArgumentError, since day 0 is not allowed. The error should be raised on CronLine#initialize, not on CronLine#next_time.
I will fix that for the next release, after I'm done with gh-220.
Thanks a lot for reporting that!

Ok cool thanks ☺
On Wed, 16 Nov 2016 11:37 John Mettraux<EMAIL_ADDRESS>wrote:

Actually, you are right.
Rufus::Scheduler::CronLine.new("0 0 0 * *")
andRufus::Scheduler::CronLine.new("* * 0 * *")
should raise an ArgumentError, since day 0 is not allowed. The error
should be raised on CronLine#initialize, not on CronLine#next_time.
I will fix that for the next release, after I'm done with gh-220
https://github.com/jmettraux/rufus-scheduler/issues/220.
Thanks a lot for reporting that!
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/jmettraux/rufus-scheduler/issues/221#issuecomment-260845013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABi9CGJYcrZxMPVecEgt683RjnJiDwGks5q-nqQgaJpZM4KzS1t
.

Hello Ramon,
I made sure "day 0" is avoided.
Many thanks!
John

Looks great. Thank you!


Move database and similar packages to components

Description
This change moves and rearranges some our packages so they are easy to reference. The new components folder is for shared components that are used in all of our code. Previously these components were part of UCP which doesn't make sense, they are used by all of our control-plane services.
Type of change

This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Radius (issue link optional).

Contributor checklist
Please verify that the PR meets the following requirements, where applicable:

[ ] An overview of proposed schema changes is included in a linked GitHub issue.
[ ] A design document PR is created in the design-notes repository, if new APIs are being introduced.
[ ] If applicable, design document has been reviewed and approved by Radius maintainers/approvers.
[ ] A PR for the samples repository is created, if existing samples are affected by the changes in this PR.
[ ] A PR for the documentation repository is created, if the changes in this PR affect the documentation or any user facing updates are made.
[ ] A PR for the recipes repository is created, if existing recipes are affected by the changes in this PR.

Working on fixing make generate error

Test failure was a 409 conflict upstream in Azure. Unrelated to changes in this PR. I'll try re-running and then investigate if it repros.

Going to bypass the functional test behavior because this change is a refactor, and this appears to be a transient Azure issue. Let's keep an eye on this, because it will likely fail in other PRs if its not resolved soon.


Unowned Weak Playground not working

First off, thanks for creating these awesome resources!
When I open the Unowned Weak Playground, I get this message:

Couldn't load settings from contents.xcplayground

Hi Zach! Thanks for spotting this, I've absolutely no idea of what happened there, but now it's fixed :)


LiveHdtDatasource state might not be 100% consistent while applying updates/startup

No testing is available, so I'm not sure; but if queries come in while we apply updates, the results might be inconsistent. Should just keep in mind.

This is indeed a risk, but I wouldn't tackle it in the scope of the current work.
It can be mitigated with date-time content negotiation, or date-specific URIs.


Windows build is simply not running

I assume the EDGE Web View 2 has progressed to some upper version since the last time this was tested on Windows. Thus this simply crashes on Windows at runtime ...
otherwise a good idea and certainly a brave attempt  ...

If you encounter the same problem, blank on Windows 10, and then Flash back

I have the same problem, blank on Windows 10, and then Flash back

That "blank" and "flash back" is c++ exception thrown and not caught. I followed the C++ code through Visual Studio debugger ...
Try installing WebView2 Run Time .... I will do that now ... perhaps; because the cpp code in here seems like a hot mess. This project needs a serious windows side reshuffle and rebuild.  WV2RT is mandatory now, among other things.


follow mros2 to v0.3.2 and add examples for customized MsgTypes

This PR follows the updates of mros2 v0.3.2.
Please also check https://github.com/mROS-base/mros2-mbed/pull/6 because the update in this PR includes it.
Some restrictions still remain in this update.

examples/ needs to be moved to workspace/
application code should be app.cpp. So the default example is now in workspace/echoreply_string/app.cpp
.msg files for definition of custom MsgType are located into workspace/custom_msgs/
header files for custom MsgType will be generated into workspace/custom_msgs/
note: header_includer/header_includer.hpp is no longer needed.

Also, I can not imagine yet that this version can be operated on Mbed Web compiler as it is. In additon to the genearation of header files for custom MsgType, we need to run python script (mros2/mros2_header_generator/templates_generator.py) to generate the header file for template functions before CMake process. It is also one of reasons why I prepare build.bash. (I think running Python scripts could be integrated to CMakeLists.txt, but I don't have enough knowledge about it,,, )

Thank you for your update.
I've confirmed that this PR works well with my boards.

Also, I can not imagine yet that this version can be operated on Mbed Web compiler as it is.

We may well prepare an assortment set of custom_msgs (i.e. Zenbuiri ver.) for the Web Compiler.
I will try to create some projects using a mock of such a set after tomorrow.

thanks for checking and contributions!!!


RTL not supported in the table

Right-to-left design not supported in the table

I find it my bad -_-
if someone is interested here you find details about RTL
https://v3.mantine.dev/theming/rtl/


Replace hardcoded local gateway paths

Documentation for https://github.com/api3dao/airnode/issues/1786

Closing to clear older Airnode-related issues from the docs. Can reopen if work on the corresponding Airnode issue resumes.


IP parsers are added

Thanks for the help mate!

I fixed it while merging my changes, but you did miss a semi-colon. Thanks again for the help.


New metadata for Genetic Studies of Neurofibromatosis study

New cell lines for metadata from Peggy Wallace (and a minor Assay bugfix).

Also added terms for NFOSI-168.


Implement WP transformer

Using the algorithm, described in docs/wp.md, implement WP predicate transformer.

Implementation for arrays does not do what it supposed to + there is no way to test it all yet.

The code is still not tested enough to close the issue.

Closed by PR #24


CODEOWNERS: Adding automation section

Adding automation owners

This PR is stuck in validation for reasons unrelated to the current change -- https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1378268&view=logs&j=ca395085-040a-526b-2ce8-bdc85f692774&t=cb33ee24-f492-54d2-727a-ae0a7bb84b2c
How can we merge?

The build failure is due to a mismatch in javadocs of the generated files caused by this PR which updated the swagger files to add more detailed doc comments. Merging this PR as the build failure is unrelated to this change.


Very Low F1 score of  run_squad.py

The F1 score mentioned in the document is very high as compared to what I got, What 's the reason?

Are you talking about SQuAD 2.0 or SQuAD 1.1? What is the F1 score you got?

i also got very lower score on squad1.1 task. what did you do last to get good results?


Add title to select element

Adds a title attribute to the select element for all dropdowns.
Fixes #206897

We do not want to be setting title attribute as we already have a custom hover. https://github.com/microsoft/vscode/issues/206897#issuecomment-1996905893


Added TSNE_RobustScaler

There is slight issue in the data. which falls under advance data preprocessing.
The age column has "?" symbol in it. try manually imputation on it. then apply the model


Fixing queue logic in rebuild indexes

Fixes bug https://microsofthealth.visualstudio.com/Health/_workitems/edit/103646/
Moves all index definitions where they belong -> database.

/azp run


Provide a template for removeHeaders EIP

Please describe the feature that you want to propose
When adding a removeHeaders EIP, most of the time we would like to remove them all. The goal for this issue is to provide a pattern of *:
        - removeHeaders:
            id: removeHeaders-4218
            pattern: "*"

Bring this discussion to Camel - whether place directly in catalog.

From Claus:

It would just require to change that to required = false and pattern ="*" and update release notes for 4.9 onwards and so on. And do it for the other removeXXXs EIPs

From my point of view, we're gonna need to do it in Kaoto and Camel Core, the former to have it available right away, and for the Core so it's propagated for the next versions.

Associated Camel Jira issue: https://issues.apache.org/jira/browse/CAMEL-21333


Minor updates

Just some small updates.
@ElliotFriend One thing I didn't change but wanted to get thoughts on is under https://developers.stellar.org/network/core-node/admin-guide/running-node#interacting-with-your-instance, we discuss the http commands that can be used to interact with a core node, but then link to a page that only has cli commands. Should we instead just link directly to https://github.com/stellar/stellar-core/blob/master/docs/software/commands.md#http-commands? Or maybe add an http command section to https://developers.stellar.org/network/core-node/admin-guide/commands?

Preview is available here:http://developers-pr523.previews.kube001.services.stellar-ops.com


zipalign not found on windows-latest runner

I'm running into Error: Exception: Cannot find zipalign. Please setup Android before this action. with the windows-latest build image and the default build tools version - could this be related to the zipalign binary being zipalign.exe on Windows? (The zipalign binary should be present - the https://github.com/r0adkll/sign-android-release step is able to execute it in the same workflow.)

Sorry for not replying in time. This might indeed have something to do with the missing ".exe".

Bugfix commit pushed. You can try the nightly version and I'll release a new version soon.
- uses: ilharp/sign-android-release@nightly

v1.0.2 released. It's now safe to revert to v1. If you encounter other problems, please create a new issue.


Wrong Bitmap returned from pool

From Luca.7923 posted on Xamarin Forums: http://forums.xamarin.com/discussion/comment/171904#Comment_171904
Crashlog:
log (1).txt

Luca could you upload a sample or some code?

This is the method that determines if Bitmap is reusable: https://github.com/molinch/FFImageLoading/blob/88cd3596a1df7733f81559fa2d7cd8c6b3426706/source/FFImageLoading.Droid/Cache/ReuseBitmapDrawableCache.cs#L156

I see two problems here:

return byteCount <= item.AllocationByteCount;

should be:
return byteCount < item.AllocationByteCount;

We should also pass new bitmap desired bytes per pixel as it can vary and the algorithm doesn't include that but assumes it'll be the same as bitmap which is tested if it can be used for reuse.

Hi Daniel
First point I don't understand why it should be strictly lower.
Second, yes we should use target image config (and not source like now)

First point it's just interpretation of comment:
// From Android 4.4 (KitKat) onward we can re-use if the byte size of the new bitmap
// is smaller than the reusable bitmap candidate allocation byte count.

It states smaller not equal or smaller

Ok. I will check Android doc but I'm pretty sure it is correct.
It would be nice to have a sample with hips of images of different size and format argb888 vs rgb555.
Then we can easily validate if bitmap pool behaves as expected.

I could do this. I could use a Grid like images List. for that I would need to add this nuget: https://github.com/daniel-luberda/DLToolkit.Forms.Controls/tree/master/FlowListView
We could test loading many images at a time (grid)
What do you think?

Very good idea!

I have something. Will commit soon :)

Error1:
[BitmapFactory] bitmap marked for reuse (136320 bytes) can't fit new bitmap (136960 bytes)
Error2:
Generating/retrieving image: https://farm5.staticflickr.com/4141/4796759387_ebeec9a22e_z_d.jpg;GrayscaleTransformation;294x0
Generating/retrieving image: https://farm5.staticflickr.com/4141/4796759387_ebeec9a22e_z_d.jpg;GrayscaleTransformation;294x0
[SelfDisposingBitmapDrawable] OnFreeResources
[ReuseBitmapDrawableCache] OnEntryAdded(key = https://farm5.staticflickr.com/4141/4796759387_ebeec9a22e_z_d.jpg;294x0)
[SelfDisposingBitmapDrawable] OnFreeResources
[SelfDisposingBitmapDrawable] OnFreeResources
[ReuseBitmapDrawableCache] OnEntryAdded(key = https://farm5.staticflickr.com/4141/4796759387_ebeec9a22e_z_d.jpg;GrayscaleTransformation;294x0)
Java.Lang.RuntimeException: Exception of type 'Java.Lang.RuntimeException' was thrown.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in :0
at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00084] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/812ca135/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:896
at Android.Graphics.Drawables.BitmapDrawable.Draw (Android.Graphics.Canvas canvas) [0x00070] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/812ca135/source/monodroid/src/Mono.Android/platforms/android-21/src/generated/Android.Graphics.Drawables.BitmapDrawable.cs:529
at FFImageLoading.Drawables.FFBitmapDrawable.Draw (Android.Graphics.Canvas canvas) [0x0007e] in /Users/daniel/Projects/PublicGithub/FFImageLoading/source/FFImageLoading.Droid/Drawables/FFBitmapDrawable.cs:51
--- End of managed exception stack trace ---
java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@39460871
at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1282)
at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:599)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:538)
at ffimageloading.drawables.FFBitmapDrawable.n_draw(Native Method)
at ffimageloading.drawables.FFBitmapDrawable.draw(FFBitmapDrawable.java:87)
at android.widget.ImageView.onDraw(ImageView.java:1176)
at android.view.View.draw(View.java:15231)

Hi thanks for your effort,
now I am quite busy with a severe deadline.
I hope I can upload the code you asked to me as soon as possible.
Thanks again.
Luca

That issue was definitely coming from wrong Bitmap.Config, as @daniel-luberda suggested. We have in crashlog:
[BitmapFactory] bitmap marked for reuse (64800 bytes) can't fit new bitmap (129600 bytes)
It confirms it.
This now fixed in git.

Please try 2.0.1-alpha1

Please try 2.0.1-alpha1


JAVA-1132 [3.0]: Executing bound statement with no variables results in exception with protocol v1.

Closing in favor of #634.


Minor Overrides System Improvements

This PR attempts to fix a few issues that have been found with the Overrides System. Current known and fixed bugs are:

[x] Game State dropdowns that are children of and/or expressions being empty
[x] ~Changing the overrride logic does not trigger a save and so sometimes you can lose progress if you close Aurora immediately after editing the logic.~ According to this Discord message, it's not an issue with the overrides system in particular, so skipping it in this override fix PR.
[x] Add exclude keys/regions to all Layers
[x] Add all properties to the LayerEffectConfig editor
[x] Improve audio visualizer support (Add secondary color, etc.)
[x] Add current/maximum value to percent Layers
[x] Added a temporary LogicOverrideIgnoreProperty attribute for layer handlers so specify that one or more of their properties should not be shown in the overridable property list. This should be temporary until we are able to resolve the layer handler properties' inheritance, which I recommend is done next time there is a change planned that will likely break existing profiles anyways (such as the device layout rework perhaps?).

here are some more think that should be changed:
Remove Primary/Secondary Color Overwriting for following Layers:
-Gradient Layer
-Gradient Fill Layer
-Image Layer
-Percent (Gradient) Effect Layer
-Glitch Effect Layer
-Animation Layer
Also:
-Script Layer: Remove Primary Color and Affected Keys
-Remove Affected Keys from Fill Layers
-Add Exclude Keys/Regions to all Layers
-Add Gradient overwriting to Percent (Gradient) Effect Layer
-Gradient logic (LayerEffectConfig) should not overwride other variables(Effect Speed... should also be overwritable)
-Improve Audio Visualizer support (no secondary Color...)
Effect Layers:
-Add Current/Maximum Value

The reason that many layers have additional properties is because the layer handler properties inherit from the LayerHandlerProperties2Color class which is exposing the primary/secondary properties. While would be possible with some layers to remove this relationship and inherit from the LayerHandlerProperties class instead, there are many layers that use this directly (rather than creating their own properties and extending) which means that changing the names or types of the property classes will break existing profiles. If there is ever a release planned that will knowingly break profiles for other reasons then I will consider tidying up this, however I think it currently does not warrant breaking profiles for the sake of a few properties being present when they shouldn't be.

ok, but If it is not possible to easily remove these properties it should still be possible to fix following things:
-Add Exclude Keys/Regions to all Layers
-Add Gradient overwriting to Percent (Gradient) Effect Layer
-Gradient logic (LayerEffectConfig) should not overwride other variables(Effect Speed... should also be overwritable)
-Improve Audio Visualizer support (no secondary Color,...)
Effect Layers:
-Add Current/Maximum Value

Freestyle selection is affecting others when at the same position. https://cdn.discordapp.com/attachments/428606931700023299/564876515037151235/freestyle_bug.gif

Ok this bug is not related to this pr, because the Skype overlay has the same bug.


New dev environment using Webpack to build Firefox & Chrome versions

This is the last big sensitive refactoring issue. Ideally, we will have one repo for both the Chrome and Firefox versions we will be developing. However, since the Firefox version will be diverging from Chrome in the near future, as well as for the sake of codebase simplicity, we need to find a way to abstract away the browser specifics from the code base and use some sort of javascript compiler and task runner to build the version of the extension we want during development.
One way to implement this is to have two separate events.js and background.js files, i.e., firefox-events.js / chrome-events.js, etc., and then have a task runner chose which files to build when we test/distribute. The other way I am thinking is to have a more "combined" repository, and use a task runner to fill in the browser we choose, i.e., have all the functions necessary for each browser together and then use $BROWSER or some other keyword in place of the browser name which the task runner will fill in. I'm leaning towards the first option, though we will still need to make sure we update both Chrome and Firefox versions for new functionality that should be included in both.
I will take a look at this once issue #178 is all set since we could use this implementation, ideally with a task runner and Babel/Webpack, in order to use better node libraries in place of what we use, as well as simplify our code base.

@stanleymarkman @kbeliauski, if you have any experience with this, please feel free to pitch in!

since the Firefox version will be diverging from Chrome in the near future

I am thinking ideally there would be one common codebase that works for both Chrome and Firefox and then a module (with the Cal AG compliance functionality) only for Firefox.

@SebastianZimmeck, yes that is what I have in mind as well! I guess this issue is for handling the differences between the few listeners in background.js that take different parameters in Firefox vs. Chrome, since we still have separate functions per browser. I think having our extra if statement works, but just doesn't feel as elegant as it could be 😅
If we want to, I guess we could simply just have a check in the code itself along the lines of if (browser == firefox) then run_firefox_module rather than having a task runner/compile add it to the code. Either way, I think implementing a task runner and a compiler will be useful.

code itself along the lines of if (browser == firefox)

Yes, is there possibly some standard way of doing this or even APIs? I imagine there are other people developing one codebase for different browsers. For example, in React Native there is a standard way of specifying which code should be run for iOS and Android.
@kbeliauski, once you have time, can you find out more ... ?

Yes, I can look for how to maintain the same codebase easily. I will write what I find here!

I will write what I find here!

And implement it.

I just pushed some changes in issue #166 that begin to address this with simple Webpack functionality.

This is related to issue #176 because it involves using the frontend with Webpack, as well as #166 broadly.
I just pushed a commit in branch issue-166 (omnibus refactoring branch) that connected Webpack to the popup using html and css loaders (see the webpack.config.js for specific names of loaders). Though this would better be discussed more in depth in another issue, I am just making a note since I am implementing Webpack and discussing it here.

Something that might be useful down the line is Mozilla's Webextension browser API polyfill. As mentioned at the top of the repo:

This library allows extensions that use the Promise-based WebExtension/BrowserExt API being standardized by the W3 Browser Extensions group to run on Google Chrome with minimal or no changes.

I.e., APIs that run in the promise based browser namespace can be used in browsers that don't support it, e.g., Chrome.

Good find, @kalicki1! Just to clarify this would not mean that the HTTP analysis functionality on which we rely would become available for Chrome, right? It is just that whatever Firefox API is also available on Chrome would be translated over from Firefox.

That is my impression of the polyfill, @SebastianZimmeck. As far as I can find, it should only translate the APIs available to both Chrome and Firefox, though this is something I can test with a sample project.

It seems many people are wondering that. :) So, they included the following in their readme (confirming our understanding):

This library doesn't (and it is not going to) polyfill API methods or options that are missing on Chrome but natively provided on Firefox, and so the extension has to do its own "runtime feature detection" in those cases (and then eventually polyfill the missing feature on its own or enable/disable some of the features accordingly).

Just pushed a commit referenced in issue #166 regarding the first major development environment regarding building for Firefox and Chrome.
The new commit in branch issue-166 adds two new files, listeners-firefox.js and listeners-chrome.js, which are called implicitly from the now even more streamline background.js via import . . . "listeners-$BROWSER.js". I added the string-replace-loader node module as a loader in Webpack which searches for $BROWSER via regex and replaces it with the chosen browser (firefox or chrome, all in webpack.config.js).
The new main functionality hierarchy is as follows:
HIERARCHY:   manifest.json --> background.js --> listeners-$BROWSER.js --> events.js.
This way, if we ever need to do browser specific work, i.e. in the frontend, we can simply import according to $BROWSER.
This is my solution to this problem for the time being. I will also make mention we looked at the following but decided it wasn't right for this particular job:

browserlist
Forcing different entry points via Webpack without substitution
Webpack targets? (was suggested, didn't look too far into it)

Hopefully this will work as a long term solution!

As I have implemented this functionality at the most basic level, I will go ahead and close this issue.
If we find bugs related to the developer setup and how we compile for Firefox and Chrome, we can open this back up at another time in the future.


TreatAsString() doesn't handle nested types

Is the feature request related to a problem
We have root objects with nested value types, so we would like to used TreatAsString to describe how to serialize them.
but apparently, TreatAsString only works on the "root" object being verified.
here is a simple repro of the issue.
[UsesVerify]
public class UnitTest1
{
    [Fact]
    public async Task Test1()
    {
        var root = new Root { MyType = new MyType("hi") };

        VerifierSettings.TreatAsString<MyType>((target, _) => target.ToString());

        await Verify(root);
    }
}

class Root
{
    public MyType? MyType { get; set; }
}

class MyType
{
    private readonly string _s;

    public MyType(string s)
    {
        _s = s;
    }

    public override string ToString()
    {
        return _s;
    }
}

received:

Proposed solution
Use typeToString mapping when serializing complex objects

TreatAsString bypasses serialization

Certain types, when passed directly in to Verify, are written directly without going through json serialization

If u want to control type serialization in nested instances use a Json.NET Converter https://github.com/VerifyTests/Verify/blob/main/docs/serializer-settings.md#jsonnet-converter


Modernize our autoconf setup to actually check for the right deps.

This mostly fixes our autotools, and adds an autogen.sh to re-generate the ./configure script.
This is still not 100% correct, configure.ac still doesn't check for the proper headers, but this is a big improvement over the previous version.

lgtm +1

lgtm


Issue26 sphinx docstrings

Closes #26, #27

Look good, it makes sense to include numpy conventions. This now works as expected.


Feature request: Support pastebin sites

Platform:
Mercury Parser Version:
Node Version (if a Node bug):
Browser Version (if a browser bug):

Expected Behavior

Current Behavior

Steps to Reproduce

Pastebin sites like e.g. hastebin.com, del.dog or pastebin.com currently produce pretty broken results.
Examples:
https://hastebin.com/about.md

https://del.dog/about.md

https://pastebin.com/pipKY6pX

Detailed Description

I am the creator of dogbin and would obviously love if it would beautifully show up here. This does however seem to generally apply to formatted code blocks and pastebin.com seems to be broken in other ways as well.
Possible Solution

@deletescape Is the problem you're reporting with the parser, or with the way parsed results are rendered in Mercury Reader? From your screenshots, I suspect it may be a little of both.
Re: better supporting the parsing of any of the sites (which is the purview of Mercury Parser), we welcome pull requests for custom parsers — and they're accessible to most developers.
Where it may be a Mercury Reader issue, that's tougher. It looks to me like most of these sites use code and/or pre blocks to render the text, and Mercury Reader has some specific styling decisions around those kinds of element, optimizing for code blocks in larger portions of HTML, which isn't necessarily optimized for pastebin sites, but is well optimized for most of the rest of the web.


FlushAsync returns before reader Advances

    public class Program
    {
        public static void Main(string[] args)
        {
            using (var factory = new PipeFactory())
            {
                var pipe = factory.Create();
                Task.WaitAll(new[] {
                    ReadFromPipe(pipe.Reader),
                    WriteToPipe(pipe.Writer)
                });
            }
        }

        static async Task WriteToPipe(IPipeWriter writer)
        {
            var buffer = writer.Alloc(2048);
            buffer.Advance(2048);
            System.Console.WriteLine("FlushAsync");
            await buffer.FlushAsync();
            System.Console.WriteLine("FlushAsync Returns");
        }

        static async Task ReadFromPipe(IPipeReader reader)
        {
            await Task.Delay(1000);
            System.Console.WriteLine("ReadAsync");
            var result = await reader.ReadAsync();
            System.Console.WriteLine("ReadAsync Returns");
            var buffer = result.Buffer;
            reader.Advance(buffer.End);
        }
    }

outputs:
FlushAsync
FlushAsync Returns
(1 sec)
ReadAsync
ReadAsync Returns

It was surprising to me to see FlushAsync return before anything was consumed by the reader. Is this expected behavior?

I would say so. Take the case of a socket if you have space you are really signalling that the data is ready to be consumed not waiting u til it has. The only time I would imagine flush to block is to apply back pressure

If the writer is faster than the reader, there should be something to slow it down. Otherwise the pipe will start buffering until it exhausts the memory.

You mean like #1178

It's really up to the connection to provide back pressure as it is providing the buffers... remember the flow is inverse to normal streams.

I mean like https://github.com/dotnet/corefxlab/blob/master/src/System.IO.Pipelines/Pipe.cs#L405-L409
Looks like PipeOptions.{MaximumSizeHigh, MaximumSizeLow} control this behavior and their defaults never block the FlushAsync.
                var pipe = factory.Create(new PipeOptions()
                    {
                        MaximumSizeHigh = 1,
                        MaximumSizeLow = 1
                    }
                );

outputs:
FlushAsync
(1 sec)
ReadAsync
ReadAsync Returns
FlushAsync Returns

@davidfowl The default PipeOptions will cause the Pipe to buffer when the Reader can't keep up with the Writer. In case the average writing speed is higher than the average reading speed, it will buffer till it runs out of memory. Perhaps the default should be changed?

The creator of the pipe should configured the size. I don't know how to pick a good default when the usage of the pipe isn't known.

Also, FlushAsync would never block, it returns an incomplete awaitable that the writer is supposed to wait on.

Also, FlushAsync would never block, it returns an incomplete awaitable that the writer is supposed to wait on.

I mean it is never waiting

I don't know how to pick a good default when the usage of the pipe isn't known.

1 may be a better magical constant than 0 to avoid the memory exhaustion.

The creator of the pipe should configured the size.

In the proposed Transport abstraction for Kestrel the PipeOptions come from the transport. I am not sure what proper values are for this and how they depend on the transport. 0 would be a bad value here too.

I would prefer the default to buffer than not

I would prefer the default to buffer than not

Why?

Because my experience with WCF in corporate environments. The restrictive thresholds were rarely adjusted and performance was blamed on the technology.

Do you have non-zero number in mind?

The actual default of MaximumSizeHigh is Int64.MaxValue. That is the amount it can buffer now.

The default value isn't being changed right now.

The default value isn't being changed right now.

Ok
Another question: the lengths in Pipe are typed long, would int suffice?