restructure

I think it's time, for the sake of scaling this up to more systematic experiments, to restructure this project.
The primary challenge I realized when designing experiments and structuring the current project is that, there are too many parts in this streamline that we want to model. Specifically:

molecule object (rdkit.Molecule, openeye.GraphMol, or openforcefield.Molecule)

↓

graph object (dgl.Graph or dgl.HeteroGraph)
the object that contains the information regarding the identities / attributes of the atoms and how they are connected.

↓

parametrized graph object (still dgl.Graph or dgl.HeteroGraph)
the object that contains all the parameters necessary for MM-like energy evaluation, namely ks and eqs and so forth

↓

energy (scalar tensor or a list of scalar tensor)
the end object in both fitting and inference

There are problems with each of these objects, and we can argue that there are still downstream objects that we can have, namely those needed for openmm simulations.
But first, here's how I picture to structure the repo:

espaloma/ core code for graph nets-powered force field fitting.

graph.py graph abstraction of molecules.
parametrized_graph.py molecular graph with all the parameters needed for energy evaluation
net.py interface for neural networks that operates on espaloma.graph
mm/ helper functions to calculate MM energy

scripts/ experiment scripts

typing/ experiment scripts to reproduce atom-typing
mm_fitting/ experiment scripts to fit espaloma potentials to Molecular Mechanics
qm_fitting/ experiment scripts to fit espaloma potentials to Quantum Mechanics
-class_i/

class_ii/ with the inclusion of coupling and higher-order terms

deployment/ experiment to provide interface to openmm.system objects and run actual MD.

devtools development tools

The following functions are needed to allow the aforementioned streamline in a cleaner manner:

espaloma.graph.from_oemol and friends: read molecules into graphs
espaloma.parameterized_graph.from_forcefield(forcefield='gaff2') parametrize a mol graph using a legacy forcefield. we will likely need to port from other repos for these implementations, or import them.
`espaloma.parametrized_graph.from_nn()' parametrize a mol from neural network models that could be trained.
espalmoa.mm.energy(g, x)evaluate energy from the parametrized molecule (however it's parametrized) and its geometry ( lots of helper functions are needed, of course, and test coverage would ideally ensure it's consistency with OpenMM although that might be tricky for especially nonbondned terms.

The following are the trickiest choices that I would like to have a discussion here:

ways to structure graph
currently this is done by having both graph, heterograph and hierarchical_graph objects as input. I find this a bit ugly. I suggest allowing only one kind of graph as the input of either NNs or legacy force fields, and put whatever needed to express the relationships between graph entities as part of the model. Note, however, that we would need tricks to make sure that this part of the modeling is only executed exactly once during training.

ways to output energies
without any sum functions, one molecule would have separated bond, angle, and nonbonded energies all with different dimensions. this becomes even more complicated when you have a batch with multiple molecules. I think it's critical that we find a simple way to output energies

ways to have a general enough espaloma.net object to enable future expansion
now on the representation level we already have a bunch of ideas: atom-level message-passing only, hierarchical message-passing, or somewhat fancier version of it that I proposed to use an RNN to encode the walks with different length (corresponding to different levels in the hierarchy). If we were to limit the input graph to be universal, how are we going to develop the net module so that it can be not too much of a headache to express these ideas.

Nice, thanks for these thoughtful observations and proposals, @yuanqing-wang ! I mulled this over yesterday afternoon and this morning, and largely agree with this. We want to separate concerns in a way that lets us do the comparisons we plan as painlessly as possible, and it's tricky because we want to make comparisons at a few different levels.
I would draw the lines between the tasks slightly differently, and in particular I would emphasize the distinctions between the molecule graph, the graph you perform message-passing on, and the factor graph representing the potential energy function.
I would start by stating the overall task in a way that doesn't commit to a specific way to solve it.
f: molecule --> potential_energy_fxn
where f is purely a function of the molecular graph, and may incorporate any of the choices we want to compare in this study ("reference MM force field", "fingerprints and random forests", "graph-nets", ...), and potential_energy_fxn : coordinates --> energy is a function purely of the geometry (but which may have internal attributes we want to inspect or export).
To implement f using a graph-net, you may further split this up: f(molecule) = read_out_net(graph_net(derive_graph(molecule))), where:

derive_graph : molecule --> message-passing-friendly graph -- given a molecular graph (nodes = atoms, edges = bonds), construct another graph where message-passing is a good idea. For example, you may return exactly the same structure as the input molecular graph, just with some features written on the atoms and bonds. (We're also interested in more elaborate options at this step.)
graph_net : message-passing-friendly graph --> node-, edge-, and global- attributes -- implements the "learned chemical perception" part of the model, by writing vector attributes on each element of the graph, reflecting whatever "chemical context" is needed to assign parameters. (I think this is the only part that really needs to be in dgl or similar.)
readout_net : node-, edge-, and global- attributes --> potential_energy_fxn -- constructs a potential energy function from these vectors. For example (as is already done here), we pre-specify the "skeleton" of a potential energy function as a factor graph (by defining which terms will be present, which terms will be "frozen" vs. "learnable", and what parameters the learnable terms will accept), and then use a parameterized function to map node attributes to (sigma, epsilon, charge) parameters on each atom, appropriate pooling functions map node attributes for pairs, triples, and quadruples of atoms into fixed-length bond-, angle-, and torsion-parameters. (Later, we may also want to make parameterized decisions at this step of which terms to include in potential_energy_fxn, rather than pre-specifying the "skeleton". Initially, I think it makes sense to try sticking to a pre-specified skeleton, and hope the model outputs force-constants near 0 for unneeded terms.)

To implement f using the other approaches that we need for control experiments (e.g., to assess how much mileage we're getting from more or less elaborate choices of derive_graph or graph_net, you may split it up differently, e.g. f(molecule) = readout_net(fingerprint(molecule)), where

fingerprint: molecule --> atom-centered fingerprints
readout_net : atom-centered fingerprints --> potential_energy_fxn

For different tasks, we may be interested in doing different things with the output potential_energy_fxn.

For the energy-regression task, we may check that when we evaluate the function on snapshots it agrees with some other way to compute the energy of those snapshots.
For the interaction-typing task, we may introduce an additional step in our implementation of f (to predict a discrete class label for each interaction term, or for each atom), and check that we match a reference force-field's assignments of those class labels.
For validation, we may run some steps of local energy minimization with potential_energy_fxn and check that we land near where we expect.
For applications, we may export a representation of potential_energy_fxn for execution in an MD engine.

Thanks for fleshing this out! @maxentile I think it's a lot clearer to further distinct the graphs into these stages.
I would suggest that we look more closely at potential_energy_fn. We might benefit from yet another intermediate layer named something like parametrized_graph. I think it's not super straightforward how to jump directly from readout to a function object that takes in coordinates as input and outputs energy.
Moreover, we could compare parametrized_graph objects between methods. Also it would make it a lot easier to batch etc.

I would suggest that we look more closely at potential_energy_fn. We might benefit from yet another intermediate layer named something like parametrized_graph. I think it's not super straightforward how to jump directly from readout to a function object that takes in coordinates as input and outputs energy.

Agreed -- there's a lot going on at that step!
Perhaps we can narrow down by listing the types of comparisons involving this step that we need to support, and the types of comparisons we may eventually want to support.
Required comparisons (based on current version of paper outline):

"Class I" vs. "Class II" -- Generate a factor graph that contains "all class I interaction terms" for a molecule, vs. one that contains "all class II interaction terms" for a molecule. Fixing a functional form for each term appearing in this factor graph, the "readout" task is to "write a vector of required parameters on each factor node."

To support this, maybe we have two subclasses of PotentialEnergy -- PotentialEnergyClass1, PotentialEnergyClass2 -- which contain differently structured factor graphs as instance attributes. Perhaps these factor graphs are initialized from a molecule to have all possible terms present but with default values for each term's parameters (e.g. force constants of 0 for all harmonic_*_force factors). A learned parameter-assignment function overwrites some of these parameters. These classes should support both autodiff-friendly computation of energies / forces on batches of geometries, as well as export to an OpenMM-friendly representation.
Speculative comparisons:

Learned atom representations vs. learned factor representations. A question I'm personally interested in is: should message-passing-friendly graph include nodes corresponding to interaction-terms (whose learned representations are formed by message-passing) or only include nodes corresponding to atoms (whose learned representations are pooled in an appropriate way at the last step)? This is analogous to the "atom-typing" vs. "direct chemical perception" distinction emphasized in development of smirnoff.
Standard functional forms vs. polynomial or neuralized functional forms for each interaction term. How much are we limited by the logical structure of a MM model (regardless of flexible the terms are) vs. how much are we limited by the choice of functional form (regardless of how flexible the parameter-assignment process is) vs. how much are we limited by parameter-assignment.

Rather than hard-code Class I and Class II, how about having a ParametrizedGraph object that can host both. And supply term in I and II as methods of the object. We can of course have presets as flags saying something like,
if self.terms == 'class-i':
    self.terms = [getattr(self, x) for x in ['bond', 'angle', 'non_bonded']

Learned atom representations vs. learned factor representations.

I agree that we should definitely compare this. But just in terms of how to engineer it: the ParametrizedGraph object resulted from message-passing step should be parameters on the factor graph anyway. The difference you're mentioning, if I understood correctly, is just the architecture choice of parametrizing factor graphs, be it pooling after MP, or hierarchical MP or something else.

Rather than hard-code Class I and Class II, how about having a ParametrizedGraph object that can host both. And supply term in I and II as methods of the object. We can of course have presets as flags saying something like,

if self.terms == 'class-i':
   self.terms = [getattr(self, x) for x in ['bond', 'angle', 'non_bonded']

Both options are basically the same for a single binary comparison.
In one case, there's a single class ParameterizedGraph, whose method definitions etc. each contain two branches, selected based on whether the object has a flag or not. In the other case there are two sub-classes of ParameterizedGraph, whose method definitions etc. contain one or the other branch.
I prefer to have two sub-classes, rather than having if-else branches that check a string flag to find out what kind of object the ParameterizedGraph really is. I think it doesn't make too much difference if there are only two variants of ParameterizedGraph we'll need to consider in the lifespan of the code.
However, if we're entertain the possibility of more than two variants of ParameterizedGraph (e.g. allowing different parameterization of each factor), I think it will become increasingly unwieldy to have if/else branches to tell which parts of which method definitions apply based on which flags are present.
In general, when we find ourselves branching on some string that says what class an object is, that's often a hint that we'd be better off with sub-classes. (This page has a helpful comparison of these two options: https://refactoring.guru/replace-conditional-with-polymorphism )


controls/widgets: support embeding/listing of assets

The widget/control descriptors should support 4 optional fields for embedding and/or referencing assets into the artifacts bundle:

[ ] assets additional asset content (e.g. a messages.json file for axternalized strings).
[ ] assetUrls additional asset content for lazy-loading (e.g. a messages.en.json file for localization strings).
[ ] assetsForTheme additional theme assets (in addition to the HTML template)
[ ] assetUrlsForTheme additional theme asset references (in addition to the CSS)

released as v0.2.0


add package version to user json output

get info with something like:
var pjson = require('./package.json');
console.log(pjson.version);

oops -- this was for MyGuide


Unable to read VR Path Registry from C:\Users\26735\AppData\Local\openvr\openvrpaths.vrpath

When I run the command pytest -vs in the terminal, there is a notification (not an error):
tests/test_envs.py::test_all_envs[PickClutterYCB-v1] Unable to read VR Path Registry from C:\Users\26735\AppData\Local\openvr\openvrpaths.vrpath PASSED tests/test_envs.py::test_all_envs[PickCube-v1] Unable to read VR Path Registry from C:\Users\26735\AppData\Local\openvr\openvrpaths.vrpath PASSED tests/test_envs.py::test_all_envs[PickSingleYCB-v1] Unable to read VR Path Registry from C:\Users\26735\AppData\Local\openvr\openvrpaths.vrpath PASSED
What dose it mean? And how to settle it?

@fbxiang ?

It may have something to do with how openvr behaves on Windows (e.g. when Steam is installed, simply checking support for openvr may cause it to talk to Steam). I do not use Windows so I am not sure about the root cause. If it is just a harmless message, I would say just ignore it.


Cannot save changes to  LogMode property

I get an error in this resource:
Exception calling "SaveChanges" with "0" argument(s): "The parameter is incorrect"
    + CategoryInfo          : NotSpecified: (:) [], CimException
    + FullyQualifiedErrorId : EventLogException
    + PSComputerName        : LocalHost

I've added some verbose output to track down which .SaveChanges() method is causing the error. It turns out to be .LogMode property that is causing the error.
I've done some testing with Get-WinEvent on Windows Server 2012 R2 (PS. 5.1) and Windows 10, both have the same results.
I can see the property has changed, but I cannot save the change:
PS C:\> Write-Host "Get log: `n"
$log = Get-WinEvent -ListLog Microsoft-Windows-DeviceSetupManager/Analytic
$log

Write-host "`nChange log mode`n"
$log.LogMode = "Retain"

Write-Host "Check property has changed:`n"
$log

Write-Host "`nSave change:`n"
$log.SaveChanges()

#Output:

Get log:

LogMode   MaximumSizeInBytes RecordCount LogName
-------   ------------------ ----------- -------
Circular             1052672             Microsoft-Windows-DeviceSetupManager/Analytic

Change log mode

Check property has changed:

Retain               1052672             Microsoft-Windows-DeviceSetupManager/Analytic

Save change:

Exception calling "SaveChanges" with "0" argument(s): "The parameter is incorrect"
At line:12 char:1
+ $log.SaveChanges()
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : EventLogException

In the GUI, I see "Archive the log when full" (AutoBackup) option is grayed out. Also the GUI grays out all options if the log is enabled, so I have made sure the event is disabled, but it still does not allow me to save the setting.
Perhaps as this resource is using the Get-WinEvent and I have shown that Get-WinEvent is the issue, you can't help. Nevertheless, others may have the same issue.

@arcotek-ltd I'm having the exact same issue setting up the Microsoft-Windows-DNSServer/Analytical log. Did you find a solution?

@tom-henderson Afraid not and MS obviously don't think this one has any merit as nobody has picked it up!

Having the same issue with a different Analytic log (DSC). Performing a Get-Member on your $log variable will show that the LogMode property's definition is System.Diagnostics.Eventing.Reader.EventLogMode... which makes me wonder if this is some kind of enum -- as opposed to a simple string like "circular" ?

I tried it with the enum but had the same result.
$eventlogSettings.LogMode = [System.Diagnostics.Eventing.Reader.EventLogMode]::Retain
$eventlogSettings.IsEnabled = $false
$eventlogSettings.SaveChanges()
Exception calling "SaveChanges" with "0" argument(s): "The parameter is incorrect"

It seems something is blocking changing this by code, since it is possible to change this in the GUI (at least to either Circular or Retain). Happy to review a PR if someone in the community finds a solution to this.
Just code to reproduce.
$eventLog = New-Object System.Diagnostics.Eventing.Reader.EventLogConfiguration 'Microsoft-Windows-DeviceSetupManager/Analytic'
$eventlog.LogMode = [System.Diagnostics.Eventing.Reader.EventLogMode]::Circular
$eventlog.SaveChanges()

Exception calling "SaveChanges" with "0" argument(s): "The parameter is incorrect"
At line:1 char:1
+ $eventlog.SaveChanges()
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : EventLogException

Wonder if it possible to changing the registry directly to workaround this https://docs.microsoft.com/en-us/windows/desktop/eventlog/eventlog-key
I rather not use the registry to change this, since it is probably not supported modifying the registry manually, and since it could break at some point or make other problems?

The following approach seems to work:
$log = Get-WinEvent -ListLog 'Application' $log.LogMode = [System.Diagnostics.Eventing.Reader.EventLogMode]::Circular $log.SaveChanges()

It is that particular event log. Seems this does not work on some of the event logs, but it is possible to change it in the GUI.

@hkelley I have just tried the following and I think your hypothesis is correct.
$log = Get-WinEvent -ListLog 'Microsoft-Windows-DeviceSetupManager/Analytic'
$log.LogMode = [System.Diagnostics.Eventing.Reader.EventLogMode]::Circular
$log.SaveChanges()

Which results in the following error:
Exception calling "SaveChanges" with "0" argument(s): "The parameter is incorrect"
At line:3 char:1
+ $log.SaveChanges()
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : EventLogException

If I use the same snippet against a different Event Log for example 'Internet Explorer' it works fine!
$log = Get-WinEvent -ListLog 'Internet Explorer'
$log.LogMode = [System.Diagnostics.Eventing.Reader.EventLogMode]::Retain
$log.SaveChanges()

I suggest submitting a user voice for this issue https://windowsserver.uservoice.com/forums/295047-general-feedback

Hello Everyone,
I have been working on adding functionality to this resource that would allow for the creation of new event logs. I have run into a lot of “gotcha’s” with creating new event logs as well as saving certain properties of existing event logs. I have detailed below the gotcha’s I have run into and have built in conditions that would make the resource usable given the limitations of what properties can be changed based on the .IsClassicLog .LogType value.

When creating new event logs using the New-Event Log cmdlet, the event log type created is classic.  The IsEnabled property cannot be changed/saved from $true to $false on classic event logs.  There is a limitation on what can be changed in the System.Diagnostics.Eventing.Reader class. The class is based around the legacy Event Log API that was deprecated with Windows Vista. The channels it creates are considered legacy channels, because they use a different set of registry keys, and certain operations simply aren’t supported on legacy channels (such as changing their enablement).
• The resource will query the .IsClassicLog boolean value.  If $true, a verbose message will indicate that
the. IsEnabled parameter cannot be changed.  If $false, the Set-IsEnabled function will run.

Changing LogMode only works on Operational and Administrative LogTypes.  It does not seem to work on Debug or Analytic event logs.  Changing the GUI from Retain to Circular does not seem to work as suggested either in my testing.  Although you can change the radio button to Circular, when you apply changes and then enable the log, a Query Error pop-up indicates that “The requested operation cannot be performed over an enabled direct channel.  The channel must first be disabled before performing the requested operation.”  Even if I disable the log file, change from Retain to Circular, and then enable the log file, the error persists.
• The resource will query the .LogType value.  If Administrative or Operational, the Set-LogMode
function will run.  If the .LogType value is other than Administrative or Operational, a verbose message
will indicate that the .LogMode property cannot be set.

Changing the security descriptor on Analytic log files can only be done if you disable and save the event log prior to making the desired change.
• In order to set existing event log security descriptor values for Analytic log types, the .IsEnabled value
must be set to $false and saved before the Set-SecurityDescriptor function runs; otherwise it will fail.
This does not appear to be an issue when creating new event logs.

Changing the Maximum Size in Bytes can only be done if you disable and save the event log prior to making the desired change.
• In order to set existing event log MaximumSizeInBytes values for Debug log types, the .IsEnabled
value must be set to $false and saved before the Set-SecurityDescriptor function runs; otherwise it will
fail.  This does not appear to be an issue when creating new event logs.

Does anyone have any issue with how this resource would work?  I hope to have a PR submitted next week and am working on finishing the Unit and Integration tests now.

@mavratar thank you for the detailed information. This helps explain a lot. Looking forward to review your PR! 🙂 Only suggestion I have is that the information above would be great to have in the resource description in the README.md. Sp the limitations are documented as well.


Update WooCommerce 6.9.0 templates

WooCommerce changed in form-login.php template only the version number from 4.1.0 to 6.0.0, nothing more has changed. You get an alert using an outdated template in backend.
This PR changes the version in the template file. We should release a quick v<IP_ADDRESS> patch, that's why theme version number and readme.txt changed as well.

The version update is because they forgot it in November. The change they made hasn't been implemented in bootScore. It's just a string update, but nonetheless.
https://github.com/woocommerce/woocommerce/commit/b7c8e3ea68e5f74da36300b569ae8221d9896c47

You mean to release it with Bootstrap 5.2.2? Agree.

There are still changes in the template file that isn't in our version: https://github.com/woocommerce/woocommerce/commit/b7c8e3ea68e5f74da36300b569ae8221d9896c47
They updated the template file in november, but forgot to update the version string. This happened in the recent update, but we haven't included the changes they made back in November.

When this is fixed, we can include this in a sub version release including the ie alert fix.


Issue: no intellisense using FSharp.Core from C#

Easy to reproduce:

Create a .NET Core C# project (library or console, any)
Add a reference to FSharp.Core.
Add using Microsoft.FSharp.Core
Try to to use a symbol like FSharpResult

Types are not suggested and pointing the name results in no caption shown.
Have a nice day

can you post your OmniSharp log?

Yes, if you want output of > Show Logs -> Extension Host I posted in this gist. If not, please let me know how to produce it.
The weird thing is that sometimes it seems to work... To be honest isn't so easly reproducible. But please me ask to do anythinh you need... I'm glad to help too!

it's in View -> Output -> OmniSharp log

Sorry, but this is not present in my system. As you can see here.
Maybe because Log Level is set to Informational?
(I don't know to such deepness OmniSharp).

View from the top menu not from the command palette

I've tried again with a fresh project but I'm unable to see that thing failing. Anyway this the log:
Starting OmniSharp server at 9/1/2020, 09:24:43
    Target: /Users/coder/temp/fscoreomni

OmniSharp server started.
    Path: /Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/run
    PID: 66418

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on MacOS 10.15.2 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 1 MSBuild instance(s)
            1: StandAlone 16.3 - "/Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild/Current/Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        MSBUILD_EXE_PATH environment variable set to '/Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild/Current/Bin/MSBuild.dll'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: StandAlone 16.3 - "/Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild/Current/Bin"
            CscToolExe = csc.exe
            MSBuildToolsPath = /Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild/Current/Bin
            CscToolPath = /Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild/Current/Bin/Roslyn
            BypassFrameworkInstallChecks = true
            MSBuildExtensionsPath = /Users/coder/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/omnisharp/.msbuild
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in '/Users/coder/temp/fscoreomni'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.MSBuild.ProjectSystem
        No solution files found in '/Users/coder/temp/fscoreomni'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/coder/temp/fscoreomni/fscoreomni.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in '/Users/coder/temp/fscoreomni'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/coder/temp/fscoreomni/fscoreomni.csproj
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.EditorConfigWorkspaceOptionsProvider, Order: 200
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location '/Users/coder/temp/fscoreomni' on host 66399.
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/coder/temp/fscoreomni/fscoreomni.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/coder/temp/fscoreomni/fscoreomni.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: fscoreomni

I didn't experimented the issue anymore. It's weird!

well, then there is no issue 😂

I don't know is it's in correct English, but I would say: all is well what ends well.
Any way, guys, thank for great extension!
Have a nice day


[Actor isolation] Limit propagation of unsafe global actors to instance members

Don't propagate implicit, unsafe global actor annotations from a type
to its instance members. We want the annotation to cover all of a type,
but not implicitly cover (e.g.) all of its subclasses's members except
those it gets through overrides or witnessing protocol requirements.

@swift-ci please smoke test and merge

@swift-ci please clean smoke test macOS

@swift-ci please smoke test macOS

@swift-ci please smoke test macOS


Iterate version

Release of version 0.3.0 has lagged, but there have been significant updates to the package and it is in a stable state at the moment. Makes sense to iterate version number, merge, and have this as the stable release before the larger updates to come in other branches - netcdf being the most urgent.

Highlights of changes:

Handle unmatched data modes for BGC vs. Core files (ex. core in D-mode, BGC in R-mode)
Get trajectory index
Updates to how configure works, interacts with io
Do not load BGC index upon importing, speeding up import
Bug fixes for loading all variables in a file
Updates to default profile plot behaviour - plot all profiles by default
Bug fix setting keyword arguments in plotting
Update dataframe each time assign() is called
Subset index using keyword arguments in loading function, saving code real estate for user
Major fix to unit issue that was causing positive bias against SAGE results


Allow deploying kubevip as a static pod

Is your feature request related to a problem? Please describe.

I would like to install Cilium with eBPF however that requires kubevip to be deployed as a static pod. This is because as a static pod kubevip doesn't need a CNI to function which means Cilium can talk directly to kubevip in eBPF mode.
Describe the solution you'd like

Add an option in the config file to allow deploying kubevip as a static pod which would deploy kubevip as a static pod instead of a daemonset. Another option is to make kubevip a static pod by default instead of being deployed as a daemonset.
type KubeVIP struct {
	Args        []string `yaml:"args,omitempty"`
	EIP         string   `yaml:"eip,omitempty"`
	ManifestURL string   `yaml:"manifest_url,omitempty"`
	Interface   string   `yaml:"interface,omitempty"`
	Enable      *bool    `yaml:"enable,omitempty"`
	StaticPod   *bool    `yaml:"enable,omitempty"`
}

Describe alternatives you've considered
I could deploy kubevip out-of-band but having this supported would be excellent.
Additional context

With k3s static pods can be deployed via dropping a YAML file here /var/lib/rancher/k3s/agent/pod-manifests with the following content...
---
apiVersion: v1
kind: Pod
metadata:
  name: kube-vip
  namespace: kube-system
  labels:
    app.kubernetes.io/instance: kube-vip
    app.kubernetes.io/name: kube-vip
spec:
  containers:
    - name: kube-vip
      image: ghcr.io/kube-vip/kube-vip:v0.6.3
      imagePullPolicy: IfNotPresent
      args: ["manager"]
      env:
        - name: address
          value: "{{ .KubeVIP.EIP }}" # EIP choosen form config
        - name: vip_arp
          value: "true"
        - name: lb_enable
          value: "true"
        - name: port
          value: "6443"
        - name: vip_cidr
          value: "32"
        - name: cp_enable
          value: "true"
        - name: cp_namespace
          value: kube-system
        - name: vip_ddns
          value: "false"
        - name: svc_enable
          value: "false"
        - name: vip_leaderelection
          value: "true"
        - name: vip_leaseduration
          value: "15"
        - name: vip_renewdeadline
          value: "10"
        - name: vip_retryperiod
          value: "2"
        - name: prometheus_server
          value: :2112
      securityContext:
        capabilities:
          add: ["NET_ADMIN", "NET_RAW"]
      volumeMounts:
        - mountPath: /etc/kubernetes/admin.conf
          name: kubeconfig
  hostAliases:
    - hostnames:
        - kubernetes
      ip: <IP_ADDRESS>
  hostNetwork: true
  volumes:
    - name: kubeconfig
      hostPath:
        path: /etc/rancher/k3s/k3s.yaml

I think it would be good to support this!
Reading the kube-vip docs, it looks like there are some pros and cons with both approaches, but the preferred way of deploy, if supported by the distribution, would be DaemonSet (see citations below).

Another option is to make kubevip a static pod by default instead of being deployed as a daemonset

So I think, if possible, it would be better to keep DaemonSet as the default, while adding opt-in support for Static Pod.

DaemonSet
Some Kubernetes distributions can bring up a Kubernetes cluster without depending on a pre-existing VIP (but they may be configured to support one). A prime example of this would be K3s which can be configured to start and also sign the certificates to allow incoming traffic to a virtual IP. Given we don't need the VIP to exist before the cluster, we can bring up the K3s node(s) and then add kube-vip as a DaemonSet for all control plane nodes.
If the Kubernetes installer allows for adding a virtual IP as an additional SAN to the API server certificate, we can apply kube-vip to the cluster once the first node has been brought up.
Unlike running kube-vip as a static Pod there are a few more things that may need configuring when running kube-vip as a DaemonSet. This page will cover primarily the differences.

Static Pods
Static Pods are Kubernetes Pods that are run by the kubelet on a single node and are not managed by the Kubernetes cluster itself. This means that whilst the Pod can appear within Kubernetes, it can't make use of a variety of Kubernetes functionality (such as the Kubernetes token or ConfigMap resources). The static Pod approach is primarily required for kubeadm as this is due to the sequence of actions performed by kubeadm. Ideally, we want kube-vip to be part of the Kubernetes cluster, but for various bits of functionality we also need kube-vip to provide a HA virtual IP as part of the installation.

A prime example of this would be K3s which can be configured to start and also sign the certificates to allow incoming traffic to a virtual IP. Given we don't need the VIP to exist before the cluster, we can bring up the K3s node(s) and then add kube-vip as a DaemonSet for all control plane nodes.

That is fine if using the built in flannel with k3s, but if you disable it and want to use Calico or Cilium with eBPF kube-vip as a daemonset won't work as I outlined in the issue description.

Reading the docs, to support this we would need to:

make sure kubelet has the staticPodPath set (because default is empty or maybe k3s sets it so something?)
Create the new option in the config as per the issue description above
Parse the config and implement a function similar to the one that generates the manifest for the daemonsets but for the static pod instead.
Write the generated static Pod manifest to the staticPodPath (see first bullet)
Somehow make sure that the static Pod manifest is created on every new node (as describe in step 8 here)

Since every Kairos node is setup with the same config, it's possible that only bullets #2 and #3 above are needed but it will need some further reading and trials.

I will take a stab at implementing this


Full Text Search Within a Repo

Like Github, there should be a search box that allows you to search within files in a repository.

@ethantkoenig This is the next big feature that we need implemented.  Can you check into any upstream implementation or get started on it if no one else has?

@ethantkoenig Any update on this?

@jag3773 I have a ready-to-submit implementation, but it's blocked by the upstream v1.2 release (which has unfortunately been taking longer than expected).

OK, that's what I thought but I wanted to make sure that we recorded that here.  Thanks!

https://github.com/go-gitea/gitea/pull/2582 was merged into master, and will be part of the 1.3 release.


How to use Pagination with eloquence search

Hi @jarektkaczyk
I have used your eloquence search with my Laravel 5.1 application. It performing well with my requirement so thanks for the great module. But I have struggled to use the pagination with this module can  you please help me to use pagination class with this?
Thanks.

What issues are you having with it? If you have the traits set up along with the serviceProvider you can just use:
Model::search($term)->paginate(10);

Thanks for your reply @mattvb91 . It works for me :-)

Thanks for your reply @mattvb91 . It works for me :-)

No problem. Remember to close the issue if you can.

No problem. Remember to close the issue if you can.


fix: export/import errors

to fix this warning
warning: The package node_modules/storybook-addon-deep-controls contains an invalid package.json
configuration.
Consider raising this issue with the package maintainer(s).

Reason: The resolution for "/node_modules/storybook-addon-deep-controls/preview" defined in "exports" is
/node_modules/storybook-addon-deep-controls/preview.mjs,
however this file does not exist. Falling back to file-based resolution.

also I will remove the requirement to have a register file
I found that the mjs file was not working unless I changed it also

I found that the mjs file was not working unless I changed it also

would a register.mjs not work?

its not the register file that we need its the preview

honestly later I would like to match the web api and parse the preset but then there needs to be a way to denote files that are rn only or web only I guess

thanks!

its not the register file that we need its the preview

@dannyhw does it affect you if the register file exists?
Having an empty register resolved this issue https://github.com/eliasm307/storybook-addon-deep-controls/issues/4 so I don't want to remove it if it might be helping someone

@eliasm307 if you want to put it back its not problem, I only wanted to simplify but you're right that it would temporarily cause an error for some people until I get out 8.4 for rn storybook

@dannyhw I've published v0.9.0 with the changes above
for some reason, fixing the preview.mjs export causes storybook to run the arg and argType enhancers twice for each story, which was causing issues. I've updated the addon to account for this now


i18n(zh-cn): Update build-forms.mdx

Description (required)
Fix Anchor link to navigate to the right place
Related issues & labels (optional)

#9240
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

zh-cn/recipes/build-forms.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


PHP version compatibility

Package.xml state version 7.0 is supported, but build is broken

/builddir/build/BUILD/php70-php-pecl-md4c-1.0.0~DEV/md4c-1.0.0dev/md4c.c:9965:2: warning: implicit declaration of function 'ZEND_ARG_INFO_WITH_DEFAULT_VALUE'; did you mean 'EMPTY_SWITCH_DEFAULT_CASE'? [-Wimplicit-function-declaration]
  ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, flag, "MD_DIALECT_GITHUB | MD_FLAG_NOINDENTEDCODEBLOCKS")
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  EMPTY_SWITCH_DEFAULT_CASE
/builddir/build/BUILD/php70-php-pecl-md4c-1.0.0~DEV/md4c-1.0.0dev/md4c.c:9965:38: error: 'flag' undeclared here (not in a function); did you mean 'fmal'?
  ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, flag, "MD_DIALECT_GITHUB | MD_FLAG_NOINDENTEDCODEBLOCKS")
                                      ^~~~
                                      fmal

don't know if it really makes sense to support EOL versions
Build is OK with PHP 8.0 to 8.4
Common practice is to use a .stud file with function prototype
This one will be used to generate an arginfo header (for PHP 8)
The @generate-legacy-arginfo allow to also generate a legacy arginfo for PHP 7 (but its support may be dropped in future PHP version)

Fixed in 1.1


Any visualization as 3d point cloud to see how good it visualized in 3d space?

Any visualization as 3d point cloud to see how good it visualized in 3d space?

Maybe this project can help you a little: https://huggingface.co/spaces/Xenova/depth-anything-web

You may find this file and issue helpful:

https://github.com/LiheYoung/Depth-Anything/blob/main/metric_depth/depth_to_pointcloud.py
issue true metric depth values #36

Maybe this project can also help you a little: https://huggingface.co/spaces/Xenova/depth-anything-web.

@LiheYoung Thanks for your reply and help! I am working on 1080p image, and I find that https://github.com/LiheYoung/Depth-Anything/blob/main/metric_depth/depth_to_pointcloud.py generates poor 3D points, while https://huggingface.co/spaces/Xenova/depth-anything-web is pretty good. May I know how depth-anything-web generate 3D points from depth map? Thanks!


Coordinator initial channel setup

Open channel(s) with other nodes in the network so the coordinator is part of the Lightning network.
Proposal
Put LND node in between to shield us from the network.

🐺channel ?

I think we have enough in-bound and out-bound liquidity for now :)


Multi-platform Support

A bunch easier then I expected.
Tested a lookup and update_db under both jruby-1.7.17 and Ruby 1.9.3p550
jakendall@homer:/home/Repos/CoolAcid/oui$ rbenv local system
jakendall@homer:/home/Repos/CoolAcid/oui$ irb
irb(main):001:0> print RUBY_VERSION
1.9.3=> nil
irb(main):002:0> print RUBY_PLATFORM
x86_64-linux=> nil
irb(main):003:0> require 'oui'
=> true
irb(main):004:0> OUI.find '00:0c:85'
=> {:id=>3205, :organization=>"CISCO SYSTEMS, INC.", :address1=>"170 W. TASMAN DRIVE", :address2=>"M/S SJA-2", :address3=>"SAN JOSE CA 95134-1706", :country=>"UNITED STATES"}
irb(main):005:0> quit
jakendall@homer:/home/Repos/CoolAcid/oui$ rbenv local jruby-1.7.17
jakendall@homer:/home/Repos/CoolAcid/oui$ irb
irb(main):001:0> print RUBY_VERSION
1.9.3=> nil
irb(main):002:0> print RUBY_PLATFORM
java=> nil
irb(main):004:0> require 'oui'
=> true
irb(main):005:0> OUI.find '00:0c:85'
=> {:id=>3205, :organization=>"CISCO SYSTEMS, INC.", :address1=>"170 W. TASMAN DRIVE", :address2=>"M/S SJA-2", :address3=>"SAN JOSE CA 95134-1706", :country=>"UNITED STATES"}
irb(main):006:0> quit

Closes #5

Woah cool. :)
Was just writing a response so good news.   Jdbc-hsqldb could be a nice to have because it might be arguably faster per the h2 performance page, but seems like a lot of engineering risk vs reward.   If it's too slow / uses too much memory, might be worth revisiting.
—
Sent from Mailbox
On Sun, Jan 25, 2015 at 7:56 PM, Jason Kendall<EMAIL_ADDRESS>wrote:

A bunch easier then I expected.
Tested a lookup and update_db under both jruby-1.7.17 and Ruby 1.9.3p550
jakendall@homer:/home/Repos/CoolAcid/oui$ rbenv local system
jakendall@homer:/home/Repos/CoolAcid/oui$ irb
irb(main):001:0> print RUBY_VERSION
1.9.3=> nil
irb(main):002:0> print RUBY_PLATFORM
x86_64-linux=> nil
irb(main):003:0> require 'oui'
=> true
irb(main):004:0> OUI.find '00:0c:85'
=> {:id=>3205, :organization=>"CISCO SYSTEMS, INC.", :address1=>"170 W. TASMAN DRIVE", :address2=>"M/S SJA-2", :address3=>"SAN JOSE CA 95134-1706", :country=>"UNITED STATES"}
irb(main):005:0> quit
jakendall@homer:/home/Repos/CoolAcid/oui$ rbenv local jruby-1.7.17
jakendall@homer:/home/Repos/CoolAcid/oui$ irb
irb(main):001:0> print RUBY_VERSION
1.9.3=> nil
irb(main):002:0> print RUBY_PLATFORM
java=> nil
irb(main):004:0> require 'oui'
=> true
irb(main):005:0> OUI.find '00:0c:85'
=> {:id=>3205, :organization=>"CISCO SYSTEMS, INC.", :address1=>"170 W. TASMAN DRIVE", :address2=>"M/S SJA-2", :address3=>"SAN JOSE CA 95134-1706", :country=>"UNITED STATES"}
irb(main):006:0> quit
You can view, comment on, or merge this pull request online at:
https://github.com/steakknife/oui/pull/6
-- Commit Summary --

First attempt at multiplatform
-- File Changes --
A ext/mkrf_conf.rb (22)
M lib/oui.rb (12)
M oui-offline.gemspec (3)
-- Patch Links --
https://github.com/steakknife/oui/pull/6.patch
https://github.com/steakknife/oui/pull/6.diff

Reply to this email directly or view it on GitHub:
https://github.com/steakknife/oui/pull/6

(Have to star this approach, it's groovy for soft depends.)


Apple/community pool token

Description

This implement community pool and fix the correct value of commission rate
Closes #24
Checklist

[ ] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #30 into master will increase coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
+ Coverage   63.77%   63.81%   +0.03%
==========================================
  Files           8        9       +1
  Lines         461      467       +6
==========================================
+ Hits          294      298       +4
- Misses        126      127       +1
- Partials       41       42       +1

Impacted Files
Coverage Δ

x/staking/types/validator.go
0.00% <ø> (ø)

database/distribution.go
66.66% <66.66%> (ø)

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 5deba5f...264b14d. Read the comment docs.


Fix Generate Class Name By Full Name To Avoid Not Using Problem

0.9.2 version :
public class MyClass {
    public DateTime? BirthDate { get; set; }
}

should fix like
public class MyClass {
    public System.DateTime? BirthDate { get; set; }
}

0.9.3 fix it


Move composefile -> engine api type conversion to a pkg/

So that it can be re-used by external applications without requiring a crazy dependency graph.
service_test.go could make use a few more test, but this adds a bunch of unit tests for most of the other functions.
cc @vdemeester, @aanand, @dhiltgen

I'm not a huge fan of the package name composetransform, why not compose ?

I'm fine to change the name. If I had gone with compose it would have been very difficult to rename with sed. composetransform is nice and unique which makes it easy to change to something else. compose is also too large of a concept for this package. This package is only concerned with converting compose-file types to engine api types. I think we should have an appropriately specific name for it.

Cool, I fixed those problems, and also a flaky test that I discovered

So apparently I can't use pkg/ for this because it imports api/types and opts/. I guess I'll have to move it.

LGTM


Additional configuration for Falco default rules on Alertmanager

Motivation
Falco default rules are good but can't be modified individually.
Feature
I think it would make sense to allow user to modify an individual Falco default rule that are send to Alertmanager to match with user's usage or business without have to replace the whole list of default rule to user's customized rules.
For example:

change "priority: Critical" to "severity: Critical"
Add additional description for different rule.

Alternatives
At the moment user only could add an extra label or extra annotation to the whole list of default rule but not an individual one.
Additional context

Hi,
For the mapping between severity and priority, there's already the PR #440 for that.
For your second point, I don't understand your usage. If you want different format for the alerts, you have to change the output field in falco's rules.

Hi @Issif,
Thanks for your quick response.
Does any falcosecurity chart support to change the falco's rules output? And is it possible to change the output of individual rule?

The release 2.29.0 fixed this issue.


Testnet airdrop allocation

Codecov Report

Merging #149 (47676bc) into develop (7993b0b) will increase coverage by 2.02%.
The diff coverage is 35.50%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           develop    #149      +/-   ##
==========================================
+ Coverage     6.48%   8.51%   +2.02%
==========================================
  Files           19      20       +1
  Lines         4580    4688     +108
==========================================
+ Hits           297     399     +102
- Misses        4283    4289       +6

Impacted Files
Coverage Δ

src/app.rs
0.00% <ø> (ø)

src/bin/append-airdrop-snapshot.rs
1.85% <1.85%> (ø)

src/airdrop.rs
36.86% <55.55%> (+36.86%)
:arrow_up:

src/bitcoin/header_queue.rs
45.72% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Reconnecting to a stopped connection gets the app frozen

I am trying to reconnect to my last session from the file but if the session is not available anymore the app gets frozen.
Steps to reproduce:

Connect my phone to WC app (by scanning QR)
Close WC app
Stop connection from phone
Start WC app again
At start-up I'm doing some stuff: call init and subscribe to session_delete event

_client = await WalletConnectSignClient.Init(_dappOptions);
_client.On("session_delete", delegate ()
{
    //...
});

-> This step will reconnect to my last saved session

After few seconds the event is triggered
Right after this my WC app gets frozen for few seconds. I suppose some background task is blocking the flow.

Do you have any idea what the error might be?
Thank you!

Hello,
It may have been fixed, or your reconnection steps differ. Can you share more about your reconnection method or upgrade WalletConnectSharp?
This is the code I used to
Client = await WalletConnectSignClient.Init(_clientOptions);

// From v2.1.3 we use EventHandlers instead of WalletConnectSharp.Events,
// Therefore the syntax is different than in your code snippet.
// For me this event is only triggered when wallet kills connection while dapp is running.
Client.SessionDeleted += (sender, session) => { WCLogger.Log($"Session deleted. Topic: {session.Topic}"); };

var sessions = Client.Find(_connectOptions.RequiredNamespaces);

if (sessions.Length > 0)
{
    Session = sessions.First(x => x.Acknowledged ?? false);
}
else
{
    _connectedData = await Client.Connect(_connectOptions);
    // ...
}

Hi @skibitsky, sorry for the late response.
I tried you syntax and WC version 2.1.6 and I have the same broken state if I follow my steps.
I see in your comments that "event is only triggered when wallet kills connection while dapp is running" and this is working fine for me also.
My problem is when dapp closed -> wallet kills connection -> dapp open (reconnect) -> SessionDeleted event triggered => FROZEN.
Thank you! 😀

@axenteoctavian how exactly do you restore session after dapp restart?

@axenteoctavian how exactly do you restore session after dapp restart?

@skibitsky here is the code snippet:
_client = await WalletConnectSignClient.Init(_dappOptions);
_client.SessionDeleted += (sender, session) =>
{
    Address = string.Empty;
};

if (_client.Find(_dappConnectOptions.RequiredNamespaces).Length > 0)
{
    _walletConnectSession = _client.Find(_dappConnectOptions.RequiredNamespaces)[0];

  var selectedNamespace = _walletConnectSession.Namespaces[WALLETCONNECT_MULTIVERSX_NAMESPACE];
  if (selectedNamespace != null && selectedNamespace.Accounts.Length > 0)
  {
      var currentSession = selectedNamespace.Accounts[0];
      var parameters = currentSession.Split(':');
      Address = parameters[2];
  }
}
else
{
   _walletConnectSession = await _walletConnect.Approval;
   //...
}

My full code is open source (using the old events)
My DApp: https://github.com/RemarkableTools/Mx.NET.Examples/blob/dbc90af9778bfd86027cfb955e1d47c193ccdf7a/examples/WinForms/MainForm.cs#L68
My interface SDK:
https://github.com/RemarkableTools/Mx.NET.SDK.WalletProviders/blob/d8379b7f4ac63a3bc81393a046b88973516f3c04/src/Mx.NET.SDK.WalletConnect/WalletConnectGeneric.cs#L84

Hello @skibitsky!
Can you please help with this issue, it is very important for me.
Thank you!

Hello @axenteoctavian,
Would it be possible for you to upgrade to the latest version of WalletConnectSharp? We have shipped numerous fixes and improvements over the past 6+ months.
Additionally, we have introduced the AddressProvider utility to help you keep track of the active account, simplifying your code.

Do you have a sample project that uses the latest version?

I just updated my projects.
Here is the application where I try to reconnect: https://github.com/RemarkableTools/Mx.NET.Examples/blob/c0dbdd7f0d786f037766257f17ac85eac0122853/examples/WinForms/MainForm.cs#L73
And here is my SDK built on top of WalletConnectSharp:
https://github.com/RemarkableTools/Mx.NET.SDK.WalletProviders/blob/faf2cbcbe745f13b8844cec2264c3e401bf3529b/src/Mx.NET.SDK.WalletConnect/WalletConnectGeneric.cs#L98
All works as expected it's reconnecting to the last connection. But then realizes the connection was interrupted and the SessionDelete is triggered in Engine.cs async Task IEnginePrivate.OnSessionDeleteRequest(string topic, JsonRpcRequest<SessionDelete> payload), after this my app gets frozen, probably some thread is stuck or something.
Here

What wallet do you use for testing?

It's xPortal application from MultiversX

How long does it take for the app to freeze after reconnecting? It doesn't happen on my end.
What I tried so far:
0. I run your WinForms app locally from the IDE

Generate QR code
Scan the QR code with our React sample wallet (need to enable testnets in the settings)
In the wallet: approve connection, sign a message
Restart the app, see green Wallet connection restored message. It doesn't crash.

Thank you for taking the time to test this. :pray:
You reconnect to a good connection. From step 4 try this:
4. Stop the WinForms
5. Stop the connection from the app
6. Start the WinForms -> here should try to reconnect to the stopped connection (the one from storage), then SessionDelete should be triggered and here is where the app freezes

WalletConnectSharp utilizes multithreading, and there is no guarantee that events will be triggered on the main thread. Accessing WinForms UI elements from the OnSessionDeleteEvent method may be the issue. Typically, UI elements can only be accessed from the main thread.
I logged Environment.CurrentManagedThreadId in your code, and as you can see, OnSessionDeleteEvent is triggered on another thread.

Hmm, I see... fixed it.
Thank you @skibitsky! 🙏


When shuffle is enabled gotoSlide should be disabled ?

For further information see here http://stackoverflow.com/questions/35780590/gotoslide-index-not-working-in-sliderpro
FIDDLE HERE https://jsfiddle.net/ybphbLqL/

My Bad sorry !


Handle when schema cannot be found

Currently, there isn't a way of handling default behavior when the JSON schema cannot be found, an a nasty exception is thrown.
TypeError: no implicit conversion of nil into String
from lib/dynomite/schema.rb:66:in join

There should be a configuration option available as self.whiny_missing_schema = true  in a Dynomite model to specify how to handle this behavior.
The default should allow for the missing JSON schema to be ignored, and all methods which use the schema to handle this behavior.
The option whiny_missing_schema when set to true should raise a helpful error message to help debug.


Enable TreatNoTestsAsError in our test run configurations

As part of investigating https://github.com/Azure/azure-sdk-for-net/issues/26881 it was discovered that some tests were not running because of assembly load issues. Some of those issues were fixed with https://github.com/Azure/azure-sdk-for-net/pull/29127 however there are still more test projects that are failing to load and thus not running any tests but they are silently failing today. We should enable TreatNoTestsAsError option in our nunuit.runsettings as commented out in https://github.com/Azure/azure-sdk-for-net/pull/29127 to make sure these no longer silently fail. However before we can do that we need to fix the existing test projects so we don't have a ton of test failures right from the start.
To get a list of the currently broken tests one can run our kusto query:
https://dataexplorer.azure.com/clusters/azsdkengsys.westus2/databases/Pipelines?query=H4sIAAAAAAAAA22MOw7CMAyGd07xKxOcgI2BuXSCAxhiEktJjWJXVRGHJwudmL/HeZYSB02DTLz7YMncGFepbE71hRMo6f4YDxu7sBklRufNbRHPCKPCe4BK/shsAdr+egDG2ySOJ0nhCFcUpRj63OZaqcmbcV9/7RdvhKE2nAAAAA==
BuildLogLine
| where Timestamp > ago(7d)
| where Message startswith "No test matches" or Message startswith "   NUnit failed to load"
| summarize by Message

Here is some of them:

Looked at the current failures and see the following
BuildLogLine
| where Timestamp > ago(7d)
| where Message startswith "No test matches" or Message startswith "   NUnit failed to load"
| where Message contains "Azure." and Message !contains "Microsoft.Azure"
| summarize by Message, BuildDefinitionName
There are failures in storage, monitor, identity and EventHubs.
@christothes could you please take a look at the identity failure here? Please use the following link to get more information - https://dataexplorer.azure.com/clusters/azsdkengsys.westus2/databases/Pipelines?query=H4sIAAAAAAAAA22OsQ7CMBBDd77CygQSzExlqBhLJ%2FiAg1zbk5oEJVdVRXw8yUCnbpbsZ7ueZLRN6BvxvPtiHjgy7uI4Kbk3LqA%2B7M%2F2sHo3Tol6Rvajpll0gGkDNANwpK%2BBk0GImzkA7cOLoiMZ2UIDxkDWrOV1eXPlTnJIgm%2FJMaoKxrPiBLHsVXTJssylwqXJOYryYTyXLfz4P%2FIDr6SgkOkAAAA%3D
@jsquire , @m-redding the eventhub failure can be found at - https://dataexplorer.azure.com/clusters/azsdkengsys.westus2/databases/Pipelines?query=H4sIAAAAAAAAA22OMQ7CMBAEe16xcgUS1FShQLSkIg%2B4xJf4pNhG9oUIlMdjJKBKt9LsrHbB7DgxbuI5K%2Fk7TqAhbo92t1m%2B7Mo508AoPGmeRR1MHaFFgCftHGeDmFZ7AOomiKInGdlCI8ZI1vzHz5OM9sK9lJLEUJNnVBVMYMUB%2FOCgbmpL7OQj5cl7SvJitM81d%2F978QaFoM7d2QAAAA%3D%3D
@jsquire do you know who owns Azure.Monitor.OpenTelemetry.AspNetCore?

@pallavit I think Azure.Monitor.OpenTelemetry.AspNetCore is owned by @rajkumar-rangaraj or @TimothyMothra

The identity errors here are expected. This is because we only have tests with the filtered category of IdentityVM in Azure.Identity.Tests, but those tests run together with Azure.Identity.Broker.Tests.
@weshaggard Is there a better way to handle this filter which avoids this error?


Collapsing right panel settings via a Command/Button

Completely collapsing right panel, so theres nothing on the right hand side.
(Konduit also had a ctrl+f1 feature where it will hide the side panel, making your client symmetrical with nothing on the right hand side).

Duplicate of #449 & #656
Related to #783

Closing as duplicate of #656


Version 0.2.1 develop -> master

Merge develop into master for release

ah crap, ok well spotted, I'll just fix this for the next release so we can get this one out in time for the workshop


Not being able to change Title in a Caliburn.Micro Conductor View

I'm doing like so:
<Controls:MetroWindow x:Class="BS.Expert.Client.App.Views.ShellView"
    xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    ShowTitleBar="True"
    Title="My Title">

The thing is that this it at the same time a defined main conductor on the main window with which I control navigation through other windows, so I'm not able to inherit from MetroWindow to at least trying change the title in the ViewModel:
public class ShellViewModel : Conductor<IScreen>.Collection.OneActive, IShell
{
    public ShellViewModel()
    {
        #region mahApps Theme Loading

        var theme = ThemeManager.DetectAppStyle(Application.Current);
        var appTheme = ThemeManager.GetAppTheme(App.Configuration.Theme);
        ThemeManager.ChangeAppStyle(Application.Current, theme.Item2, appTheme);

        #endregion
        //TODO: Changing Title here is not possible ((MetroWindow)this).Title = "No way";
        // Tudo bem na seguinte liña
        LocalizeDictionary.Instance.Culture = new System.Globalization.CultureInfo("pt-BR");
        ShowPageOne();
    }

    public void ShowPageOne()
    {
        ActivateItem(new PageOneViewModel());
    }
}

How should I change the title?

I am having the same issue, nothing to do with caliburn though.  Straight use of MetroWindow in simple WPF application.

@Acaspita @Allann MahApps uses for the Caliburn demo version <IP_ADDRESS> and uses this
protected override void OnInitialize()
{
    base.OnInitialize();
    this.DisplayName = "Caliburn Metro Demo";
}

which works fine.

Thanks for the quick response, will test it in the morning when I'm back at work.

This does fix the initial issue.  So I suppose this question can be closed.  It does indeed work when using Caliburn Screen types (the owner of DisplayName).
Do you want me to raise a new bug for the standard MetroWindow?  Can't change the Title of that using the standard WPF window title property.

@Allann Yeah, you can open a new issue, but maybe I can't help you, cause I'm not really firm with Caliburn.Micro...


Disposing iframe

Hie,
Thanks for this great library. I just want to ask, how do I close the iframe? The api has the following function,
api.dispose()
How do I use the above function from the code?

Please update your documentation to include this function!


How to add uitextfield in MMspreadsheetview cell

Same as adding it to a UICollectionViewCell.
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionViewCell_class/


OpenJDK Update (January 2023 Patch releases)

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>
Description
OpenJDK Update (January 2023 Patch releases)
Issues Resolved
Closes https://github.com/opensearch-project/OpenSearch/issues/6073
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #6074 (dea5a89) into main (d5a87af) will increase coverage by 0.07%.
The diff coverage is 71.42%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #6074      +/-   ##
============================================
+ Coverage     70.68%   70.76%   +0.07%
- Complexity    58700    58787      +87
============================================
  Files          4774     4775       +1
  Lines        280903   280993      +90
  Branches      40582    40590       +8
============================================
+ Hits         198564   198851     +287
+ Misses        65975    65802     -173
+ Partials      16364    16340      -24

Impacted Files
Coverage Δ

...a/org/opensearch/gradle/test/DistroTestPlugin.java
0.00% <ø> (ø)

...in/cluster/health/ClusterHealthRequestBuilder.java
27.77% <0.00%> (-1.64%)
:arrow_down:

...g/opensearch/cluster/coordination/Coordinator.java
75.36% <ø> (-3.13%)
:arrow_down:

...ster/decommission/NodeDecommissionedException.java
40.00% <0.00%> (-10.00%)
:arrow_down:

...pensearch/common/settings/IndexScopedSettings.java
100.00% <ø> (ø)

...n/cluster/health/TransportClusterHealthAction.java
45.26% <20.00%> (-0.69%)
:arrow_down:

...earch/common/util/concurrent/AsyncIOProcessor.java
92.98% <66.66%> (-1.02%)
:arrow_down:

...mmon/util/concurrent/BufferedAsyncIOProcessor.java
68.96% <68.96%> (ø)

...ion/admin/cluster/health/ClusterHealthRequest.java
78.51% <70.00%> (-0.77%)
:arrow_down:

...org/opensearch/cluster/metadata/IndexMetadata.java
84.36% <76.92%> (-0.12%)
:arrow_down:

... and 503 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Why does the main branch not need the change to DateUtilsTest?

Why does the main branch not need the change to DateUtilsTest?

Because of different JDK (and Joda) version, I will update Joda in 2.x (in separate PR, don't want to bundle it up with OpenJDK)


Fix tracks and challenges filtering for tags containing special regex characters

For example, the A* algorithm topic should return a result but doesn't: https://thecodingtrain.com/challenges/lang/all/topic/a*-algorithm
Preview build: https://deploy-preview-808--codingtrain.netlify.app/challenges/lang/all/topic/a*-algorithm

Thanks for catching this!


Updates to new repo location for centos openvswitch build

Apparently the CBS repos have been removed according to the CentOS Devel mailing list.
This updates to a new location.

/lgtm


Adapt to Coq 8.15 and MathComp 1.14

Upstream PR on nixpkgs: https://github.com/NixOS/nixpkgs/pull/157033

Upstream PR merged

I don't know why this job was stuck on cachix for 6 hours: https://github.com/coq-community/coq-nix-toolbox/runs/5034463457?check_suite_focus=true
but otherwise, CI is green

Let's merge.

Thanks!


Closing ConnectBot via Android's built-in recent apps screen does not close ConnectBot when it's connected to a host

Hello,
when you try to close ConnectBot via Android's built-in recent apps screen while ConnectBot is connected to a host, ConnectBot disappears from Androids's built-in recent apps screen, but still continues to run in the background and remains connected to the host.
Could you please fix that, so that it actually is getting closed and disconnects from all hosts?
It would also be nice if you could also add a "Quit" button to the ConnectBot main menu which would do the same, as requested over there:
https://github.com/connectbot/connectbot/issues/176
PS:
With "Android's built-in recent apps" screen I am referring to the following screen:
http://i1-news.softpedia-static.com/images/news2/Android-5-0-Lollipop-Developer-Preview-Screenshot-Tour-462596-23.jpg (Source)

Regards

We could do this using onTaskRemoved(Intent) but I'm not sure if that would surprise users or delight them. @bengolds

I often use "Recently" (https://play.google.com/store/apps/details?id=eu.chainfire.recently) to cleanup my recent apps, but I don't want ConnectBot to close my connection(s), so it should be optional.
Separating connections in recent apps could be a good idea (like Chrome do with it's tabs).

I can see having a "Disconnect all" button, but a "Quit" button is against the UX guidelines in Android.


Add descriptions to staticMemoryResolver.defaultProperties properties.

Part of improved intellisense

This work is no longer applicable as it is handled under other feature work for R12.

This work is no longer applicable as it is handled under other feature work for R12.


running in enclave got "/bin/sh: /myapp: not found" error

Hi, all.
I have tested successfully in nitro enclave according to was developing-applications-linux sample.
But after I added this crate as a dependency of my cargo project and add simple code as follows:
let cose = COSESign1::from_bytes(vec![].as_slice())?;

then I re-compiled to execution file and re-build it into docker image, enclave app run failed to like the following:
Action: Enclave Console
  Subactions:
    Failed to retrieve enclave CID
    Failed to connect to enclave process
    Failed to connect to specific enclave process: Os { code: 2, kind: NotFound, message: "No such file or directory" }
  Root error file: src/enclave_proc_comm.rs
  Root error line: 129

I think this error is caused by the lack of "openssl-dev" library, but even if I add RUN apk add pkgconfig openssl-dev to install the package in docker, the same error occurred.
Can someone tell me how to fix this?

Hi @raindust. The error in the title: /bin/sh: /myapp: not found would rather indicate that the file /myapp which CMD in the Dockerfile calls doesn't exist. Is it correctly copied in the container?
Other than that, you can check if your binary has any external dependencies by running ldd ./myapp locally and see if it requires anything else. If it's compiled with cargo build --target=x86_64-unknown-linux-musl then the answer is likely not. If does depend on openssl (libssl, libcrypto), then you can specify that it should be statically linked with OPENSSL_STATIC=1:  OPENSSL_STATIC=1 cargo build --target=x86_64-unknown-linux-musl.

Hi @petreeftime. Thanks for the reply.
I have fixed this error by add "vendored" feature for openssl dependency like this: https://github.com/awslabs/aws-nitro-enclaves-cose/pull/19 .
I modified the openssl dependency because I thought the app that only built with MUSL (and based with the "alpine" Linux distribution when build docker image) can work in the AWS nitro enclave, I did test a docker image that based on ubuntu distribution build app without MUSL and test failed.
But in your response it seems like MUSL is not the only choice to develop nitro enclave app,  so can you give me a link to introduce nitro enclave supported platforms? I have read the nitro official document and github repos about nitro, but can not find any clue.

There aren't any specific requirements for the container application, except that it has to define a valid CMD. We recommend Amazon Linux, since it's easier for us to support, but as long as the container works in Docker it should work in a Nitro Enclave and we are using Amazon Linux, Ubuntu, Alpine and nothing (i.e. FROM scratch).

..., except that it has to define a valid CMD...

Ok, so I guess my failed enclave app is because there are some invalid access operations (such as network, disk, /etc/random... those are forbidden in nitro enclave), and this is the specific meaning of "valid CMD" you mentioned before. Am I right?

By valid CMD just means a commandline parameter defined in the Dockerfiles that exists and is executable. If the docker container itself starts, the Nitro Enclave should start as well. The Nitro Enclave itself doesn't define what is a "valid program" in any way. It just runs a Virtual Machine with Linux Kernel and starts a Docker container in this VM. If the program contained tries to do an operation which doesn't work for whatever reason, the program needs to define what happens in such case.
Example:
FROM ubuntu
COPY myapp.sh /myapp.sh
CMD [ "/bin/sh", "/myapp.sh" ]

I'll add a Dockerfile example to the samples repo that should help clarify the build.

I see, thanks:)


Resize cursor doesn't appear in tree view.

In windows, the resize cursor doesn't appear for the tree view.

This should've been fixed awhile ago, so I'm going to close this. Feel free to comment / reopen if you experience this again!


[Datagrid]: Expandable row styles getting applied to initial load story

Package
Carbon for IBM Products
Description
the expandable row styles are getting applied to the datagrid in initial load story, messing up the styles of cells in first column.

Component(s) impacted
datagrid
Browser
Chrome
@carbon/ibm-products (previously @carbon/ibm-cloud-cognitive) version
2.47.0-rc.0
Suggested Severity
Severity 3 = The problem is visible or noticeable to users but does not impede the usability or functionality. Affects minor functionality, has a workaround.
Product/offering
C4IP
CodeSandbox or Stackblitz example
https://carbon-for-ibm-products.netlify.app/?path=/story/ibm-products-components-datagrid--initial-load&globals=viewport:basic
Steps to reproduce the issue (if applicable)
noticeable in https://carbon-for-ibm-products.netlify.app/?path=/story/ibm-products-components-datagrid--initial-load&globals=viewport:basic story
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

We've been investigating TanStack Table, a third-party, open-source offering, which provides extensive data table capabilities surpassing what our Carbon Datagrid offers. It provides much more flexibility and customization. TanStack Table is headless which means it can easily be added alongside Datagrid component in your product or application. The benefits of more flexibility for product teams and less maintenance for Carbon makes it a win win. Lastly, it is available in multiple frameworks including React and Web Component so it provides an option to non-React product teams.
For these reasons, we have decided to transition from building our own custom table component to using an example-based approach with TanStack Table. Datagrid will still exist in our library for existing teams but we are announcing the deprecation* of the Datagrid component in v2.54.0 release so teams can begin to work through the transition. Details about how to use both Datagrid and TanStack together can be found here.
*Deprecation means that no new features will be added however sev 1 and sev 2 bugs will be supported.


Fixed constraints leak + performance optimizations

This is probably the most urgent one.

These updates should be in develop now, I sort of manually merged because I'm working on some other things and am shifting some stuff around.

Nice. :100:

Also I flagged everything as final as from my understanding it can improve performance.

@Reflejo actually just fixed another bug that was still causing the constraints to be around forever .
The leak you found I think wasn't too major ( mostly only bad for views that live forever ). As soon as all views involved with a constraint bunch ( basically UIViewController and down ) it would definitely clean up.
All fixed now either way on develop!


"A problem occurred with this webpage so it was reloaded." on iOS

On Saucelabs, using iPhone 6/iOS 8.1 Safari, I repeatedly got a message that said, "A problem occurred with this webpage so it was reloaded."

Hayley if you are looking at a screen with last year's design on it the ticket is not yet ready for you. Hold on until @rayt86 deploys the new home page with the new design as that is what we'll need to have the resopnsive check done on.

Previous version of site.


Get RGA working with Direct3D sources even if no AMD hardware is present.

Also do not initialize OpenCL unless an OpenCL source is meant to be used.

Hi pzurita,
It seems like your changes do not compile: gs_cardInfoSize is an internal structure, which is declared in a .cpp file, and you try to reference it from outside that translation unit.
Anyway, we rely today on the OpenCL backend to provide the list of supported devices for any platform (including D3D), so the initialization of the OpenCL backend cannot be avoided.

@AmitBM Oops, I forgot to do the pull request for https://github.com/GPUOpen-Tools/common-src-DeviceInfo that puts gs_cardInfo and gs_cardInfoSize in the header file. I will do that when I get back from work.
Anyway, the point is the pull request is the removal of that reliance on the OpenCL backend. The OpenCL backend tries to create OpenCL contexts with the CL_CONTEXT_OFFLINE_DEVICES_AMD extension which is not supported by Nvidia (and perhaps nobody else but AMD), and it also does vendor string checks that would never work in non AMD devices as seen in https://github.com/GPUOpen-Tools/RGA/blob/master/RadeonGPUAnalyzerBackend/src/beProgramBuilderOpenCL.cpp#L354
My pull request removes the need to initialize OpenCL and it allows non-AMD hardware to use RGA, at least when the input isn't OpenCL. The reliance on the OpenCL backend is to eventually fill up m_DXDeviceTable which I do by hand with the data from gs_cardInfo, and which works perfectly when I tried it HLSL, Vulkan and AMDIL input.


Evolve2 85 not working

Hi
I am using the Evolve2 85 and even after following the instructions is not working as expected.
no red light or mute is working when I am on a Meet call.
Any troubleshooting steps ?

Do you use the included Jabra Link USB dongle to connect your headset?

Hi
Yes I used the Dongle to connect
I try on macos

I have a Jabra Evolve2 85 and I don't notice any issues. Do you have Jabra Direct app installed on your mac?

Do you have Jabra Direct app installed on your mac?

Yes

Then I see no reason why it wouldn't work - can you check the console, are
there any error messages there?
On Mon, Jun 27, 2022 at 6:38 PM John Stilia @.***>
wrote:

Do you have Jabra Direct app installed on your mac?
Yes
—
Reply to this email directly, view it on GitHub
https://github.com/balansse/google-meet-jabra/issues/4#issuecomment-1168038310,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKEGVXMNWYEHXFWS3RH6YTVRI3N5ANCNFSM5XEFR2SQ
.
You are receiving this because you were assigned.Message ID:
@.***>


[BUG]: Crash with PVI and Crusher Spirit

Bug Description
Unsure if this is a PVI issue or an occultism issue, but figured you would be able to talk to the pvi dev if it's on their end! Crash report linked in the issue. First crash that I know of with PVI that had an occultism mob as the source.
https://github.com/EnigmaticaModpacks/Enigmatica9/issues/368
Logs and Crash Reports
https://github.com/EnigmaticaModpacks/Enigmatica9/issues/368
Screenshots and/or Videos
No response
Bug Reproduction
Unsure how to reliably reproduce
Expected Behavior
Shouldn't crash
Minecraft Version
1.19.2
Mod Version
1.77.4
Modpack
Enigmatica

Closing this here as it seems to be a bug with https://github.com/ldtteam/PerViamInvenire, according to the creators.
They identified the issue and I expect it will be fixed soon :)


Ergonomics and design of servive-specific utility functions

Each service, e.g. AppSync, API GW, Step Functions, Event Bridge, IOT, do not have a consistent interface. Our DX suffers for this since each integration needs its own function signature. Where do these go? Can we standardize the interface somehow?
See: https://github.com/sam-goodwin/functionless/pull/36#discussion_r838900823

Related: https://github.com/sam-goodwin/functionless/pull/36#discussion_r838808884

Related: https://github.com/sam-goodwin/functionless/pull/36#discussion_r838827249

We've started to move service specific integrations to a service prefix on the object.
table.appsync.getItem()

I propose we should:

Leave the integrations on resources as near SDK as possible.
Use service specific prefixes for service specific contract (table.appsync)
Move  all of the $AWS functions to their corresponding classes Table.aws.GetItem({ Table: table, ... })

Reasons:

discoverability is important, should be able to look at Table and find how it can be used.
there will continue to be one offs and we need to isolate the one offs from the common path.

Move all of the $AWS functions to their corresponding classes Table.aws.GetItem({ Table: table, ... })

discoverability is important, should be able to look at Table and find how it can be used.

My push back on this is that $AWS matches the way the AWS sdk is traditionally used and Table.aws.GetItem({ Table }) is a bit awkward.


PTX-1241 fix a bug when pod is mounted in other host

test running https://jenkins.portworx.co/job/Torpedo/view/Torpedo Dashboard/job/tp-2.1-vol-driver/12/

test passed


Correction for raw affiliation Chemical Engineering Department, Ecole Polytechnique de Montréal, chemin de Polytechnique, Campus de l'Université de Montréal, H3T 1J4, 2500, Montréal, Qubec, Canada

Correction needed for raw affiliation Chemical Engineering Department, Ecole Polytechnique de Montréal, chemin de Polytechnique, Campus de l'Université de Montréal, H3T 1J4, 2500, Montréal, Qubec, Canada
raw_affiliation_name: Chemical Engineering Department, Ecole Polytechnique de Montréal, chemin de Polytechnique, Campus de l'Université de Montréal, H3T 1J4, 2500, Montréal, Qubec, Canada
new_rors: 05f8d4e86
previous_rors: 0161xgx34;05f8d4e86
works_examples: W147631260
contact: d8254816bf4a743853cbd49cff43b8eb:6367be19f0301c779d84b6 @ polymtl.ca

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


Remove =None for required arg

The argument redditor is required yet it has a default value of None, which it should not.

This is failing the lint check. Can you fix that? It seems that black doesn't agree with the formatting.

Thanks for the PR! Great work.


[locale] zh: align relativeTime.future to CLDR 33

see future-other section of https://www.unicode.org/cldr/charts/33/by_type/date_&_time.fields.html

Coverage increased (+0.01%) to 88.15% when pulling 4b6f90aead7805db0b112094645fb049038b29d1 on JLHwung:locale-zh-cn-relative-time-future into c68b4f111c9bedfb00b96652fde09ae78138e3ee on moment:develop.

@marwahaha Sorry for the long delay. Added test and ready for review.

@suupic @zenozeng @ben-lin @hehachris @skfd @anthonylau @le0tan any notes on this? It looks like CLDR compliant, but still.

They basically mean the same thing in Chinese.
The slight difference is: previous one means something happens within a certain duration of time. The changed one means it happens after a certain duration of time. I personally think the purposed change better reflects the meaning of “future”.
If it’s specified in CLDR then I think this change is fine. @ichernev

They basically mean the same thing in Chinese.
The slight difference is: previous one means something happens within a certain duration of time. The changed one means it happens after a certain duration of time. I personally think the purposed change better reflects the meaning of “future”.
If it’s specified in CLDR then I think this change is fine. @ichernev

It makes sense to me.

Agreed

Merged in c5225f813f475547dfa0fa0776a94994f9cdc281


Fix the S3 publisher plugin

The behavior of the S3 Publisher plugin was changed in the latest release (version 0.7). Previously, the AWS regions were specified as uppercase strings seperated by underscores. In version 0.7, the AWS regions are specified as lowercase strings seperated by dashes.
I believe that this behavior was changed in https://github.com/jenkinsci/s3-plugin/commit/4c58e1e3a8c178eb34de0cfb22003a7c2518a610#diff-9e8fd7b0f6318ba66481d3f2cbca9577L78.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

This will break the config for users using version < 0.7 of the S3 plugin.
It's a problem of the S3 plugin, it should handle the migration from the config format used in version < 0.7 to 0.7. Updating to 0.7 will break the config for all users. Please report a bug for that plugin.

Agreed


[generic-extra] Decode default value on Option if key is missing.

Closes #878

without default Foo(a: Option[Int])
with default Foo(a: Option[Int]=Some(0))

null given  {"a":null}
Foo(None)
Foo(None)

key missing  {}
Foo(None)
right now: Foo(None)This PR: Foo(Some(0))

Thanks much, @exoego—sorry for the long delay in review, but this looks reasonable to me, and will be released in 0.11.0.

@exoego Thank you for this!


make a react-native specific build for partysocket

react-native doesn't have EventTarget, so we should bundle a shim and provide it in the package

@threepointone Was this completed?
I'm trying to run stately-sky v0.0.4 and running into this error:

relevant source

import { useStatelyActor } from '@statelyai/sky-react';
import { skyConfig } from './lights.sky';

const skyurl = 'https://sky.stately.ai/5hIBJk';
const sessionKey = 'shared';

export const useFoo = () => {
  const [snapshot, send, actor] = useStatelyActor(
    {
      apiKey: 'sta_e922f7a4-809c-4eb0-8311-0a1142dd3c57',
      url: skyurl,
      sessionId: sessionKey,
    },
    skyConfig
  );

  // const [state, setState] = React.useState(0);

  // return [state, setState];

  return [snapshot, send, actor];
};

machine
```
// This file was generated by the XState CLI, please do not edit it manually.
import { createMachine } from 'xstate';
const machine = createMachine(
{
context: {
timer: 0,
},
id: 'Traffic Light',
initial: 'green',
states: {
green: {
description: 'The light is green. Cars can proceed safely.',
on: {
'Change to yellow': {
target: 'yellow',
},
},
},
yellow: {
description: 'The light is yellow. Cars should prepare to stop.',
on: {
'Change to red': {
target: 'red',
},
},
},
red: {
description: 'The light is red. Cars should stop.',
on: {
'Change to green': {
target: 'green',
},
},
},
},
types: {
events: {} as
| { type: 'Change to red' }
| { type: 'Change to green' }
| { type: 'Change to yellow' },
context: {} as { timer: number },
},
},
{
actions: {},
actors: {},
guards: {},
delays: {},
}
);
export const skyConfig = {
actorId: '461ab995-e697-4069-b807-16f3a19607b1',
machine,
};

package.json

{
  "name": "@knoware/source",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "nx:graph": "npx nx graph",
    "nx:graph:json": "npx nx graph --file=project.graph.json",
    "watchman:fix": "watchman watch-del '/Users/michael.lustig/Development/personal/knoware-project-container/knoware' ; watchman watch-project '/Users/michael.lustig/Development/personal/knoware-project-container/knoware'",
    "start:mobile": "npx nx start mobile",
    "run:android": "npx nx run-android mobile",
    "run:ios": "npx nx run-ios mobile"
  },
  "private": true,
  "devDependencies": {
    "@babel/core": "^7.14.5",
    "@babel/preset-react": "^7.14.5",
    "@config-plugins/detox": "~6.0.0",
    "@expo/cli": "~0.10.12",
    "@nx/detox": "17.0.0-beta.6",
    "@nx/devkit": "16.10.0",
    "@nx/eslint-plugin": "16.10.0",
    "@nx/jest": "17.0.0-beta.6",
    "@nx/js": "17.0.0-beta.6",
    "@nx/linter": "16.10.0",
    "@nx/next": "^16.10.0",
    "@nx/playwright": "16.10.0",
    "@nx/react": "16.10.0",
    "@nx/react-native": "^16.10.0",
    "@nx/vite": "16.10.0",
    "@nx/workspace": "16.10.0",
    "@playwright/test": "^1.36.0",
    "@react-native-community/cli": "11.3.6",
    "@react-native-community/cli-platform-android": "11.3.6",
    "@react-native-community/cli-platform-ios": "11.3.6",
    "@react-native/metro-config": "^0.72.11",
    "@swc-node/register": "~1.6.7",
    "@swc/core": "~1.3.85",
    "@swc/plugin-styled-components": "^1.5.67",
    "@testing-library/jest-dom": "5.16.5",
    "@testing-library/jest-native": "~5.4.3",
    "@testing-library/react": "14.0.0",
    "@testing-library/react-native": "~12.3.0",
    "@types/jest": "^29.4.0",
    "@types/node": "18.14.4",
    "@types/react": "18.2.24",
    "@types/react-dom": "18.2.9",
    "@types/react-is": "18.2.2",
    "@types/styled-components": "5.1.26",
    "@typescript-eslint/eslint-plugin": "^5.60.1",
    "@typescript-eslint/parser": "^5.60.1",
    "@vitest/coverage-c8": "~0.32.0",
    "@vitest/ui": "~0.32.0",
    "babel-jest": "^29.4.1",
    "babel-plugin-styled-components": "1.10.7",
    "babel-preset-expo": "~9.5.2",
    "detox": "^20.11.1",
    "eas-cli": "~5.2.0",
    "eslint": "~8.46.0",
    "eslint-config-next": "13.4.1",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-import": "2.27.5",
    "eslint-plugin-jsx-a11y": "6.7.1",
    "eslint-plugin-playwright": "^0.15.3",
    "eslint-plugin-react": "7.32.2",
    "eslint-plugin-react-hooks": "4.6.0",
    "jest": "^29.4.1",
    "jest-circus": "^29.4.1",
    "jest-environment-jsdom": "^29.4.1",
    "jest-expo": "~49.0.0",
    "jest-react-native": "18.0.0",
    "metro": "0.76.7",
    "metro-babel-register": "0.76.7",
    "metro-config": "0.76.7",
    "metro-react-native-babel-preset": "0.76.7",
    "metro-react-native-babel-transformer": "0.76.7",
    "metro-resolver": "0.76.7",
    "nx": "16.10.0",
    "nx-cloud": "latest",
    "prettier": "^2.6.2",
    "react-native-svg": "13.9.0",
    "react-native-svg-transformer": "1.0.0",
    "react-test-renderer": "18.2.0",
    "ts-jest": "^29.1.0",
    "ts-node": "10.9.1",
    "typescript": "~5.1.3",
    "verdaccio": "^5.0.4",
    "vite": "~4.3.9",
    "vite-plugin-dts": "~2.3.0",
    "vitest": "~0.32.0"
  },
  "nx": {
    "includedScripts": []
  },
  "dependencies": {
    "@expo/metro-config": "~0.10.7",
    "@nx/expo": "^17.0.0-beta.6",
    "@statelyai/sky": "^0.0.4",
    "@statelyai/sky-react": "^0.0.4",
    "expo": "49.0.10",
    "expo-splash-screen": "~0.20.5",
    "expo-status-bar": "~1.6.0",
    "next": "13.4.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-is": "18.2.0",
    "react-native": "0.72.4",
    "react-native-web": "~0.19.8",
    "styled-components": "5.3.6",
    "tslib": "^2.3.0"
  }
}

Relevant commits for timeframe: https://github.com/partykit/partykit/commits/main?after=7d0fc5c25faf09ebef10d7474806b2a73b2cab21+349&branch=main&qualified_name=refs%2Fheads%2Fmain

For future travelers that want to add partykit or stately sky to their mobile projects (I've tested react-native and expo and this works), use the below code:

/**
 * Ensures that the necessary event shims are loaded.
 *
 * Required to use Stately Sky on React Native.
 *
 * MUST to be called at the top level of the app BEFORE `useStatelyActor` is invoked.
 * You MUST prevent any component that uses the `useState hook from being mounted before this is called.
 *
 * Required via Stately Sky -> PartySocket
 * - https://github.com/statelyai/sky/blob/main/packages/sky-core/src/actorFromStately.ts#L1
 * - Related issue from Party Kit explaining need for event-target-shim: https://github.com/partykit/partykit/issues/232
 *
 * @return {boolean} The value indicating whether the event shims are set or not.
 */
/**
 * Install `event-target-shim`
 */
import {Event, EventTarget} from 'event-target-shim';
export const useEnsureEventShimsAreLoaded = () => {
  const [shimIsSet, setShimIsSet] = React.useState(
    [globalThis.Event && globalThis.EventTarget].every(
      requiredGlobal => requiredGlobal !== undefined,
    ),
  );

  useEffect(() => {
    if (shimIsSet) {
      return;
    }

    if (!globalThis.Event) {
      globalThis.Event = Event;
    }

    if (!globalThis.EventTarget) {
      globalThis.EventTarget = EventTarget;
    }

    if (!globalThis.EventTarget || !globalThis.Event) {
      throw new Error(
        'Event Target or Event not set properly and everything is gonna suck',
      );
    }
    setShimIsSet(true);
  }, [shimIsSet]);

  return shimIsSet;
};

USAGE of the above code
function App(): JSX.Element {
  const shimsAreLoaded = useEnsureEventShimsAreLoaded();

  const Content = shimsAreLoaded ? GoodStuff : Loading;

  return (
    <SafeAreaView>
      <View>
        <Content />
      </View>
    </SafeAreaView>
  );
}

NOTE that the app will crash if that hook does not return true and you attempt to invoke useStatelyActor

gif or it didn't happen


Display same day date ranges

Fixes #590

Thanks for the PR. Your solution caused some other issues with updating dates and times directly, so I handled it separately. Thanks.


Error when running grunt build command

I am a beginner. When i run guild build command, i get error
ImportError: No module named request

Python doesn't come with the requests module, so you have to install it.
From your python scripts folder, run easy_install.exe requests.
My python scripts folder is at:
C:\Python27\Scripts

I had the same error .
For ubuntu use below commands to install requests .
apt-get install python-requests
sudo pip install requests or sudo pip3 install requests

I have the same issue.
I downgraded python from 3.8 to 2.7. Run easy_install.exe requests in my scripts folder of C:\Python27\Scripts. But still got the same warning. What else I can do?
Thank you

I have the same issue.

sudo apt-get install python-requests
sudo pip install requests
sudo pip3 install requests
Have tried


[cinder-csi-plugin] Deprecate CSI Inline ephemeral Volumes support

What this PR does / why we need it:
From the discussion here https://github.com/kubernetes/cloud-provider-openstack/issues/1493 , we have planned to to deprecate the support of CSI Inline Ephemeral volumes from cinder csi plugin starting 1.24 release and will no longer be available from 1.27.
Which issue this PR fixes(if applicable):
fixes #1493
Special notes for reviewers:

Release note:

[cinder-csi-plugin] CSI Inline Ephemeral volume support is deprecated in 1.24 and will no longer be available starting in 1.27

/lgtm

/test openstack-cloud-csi-cinder-e2e-test

/test openstack-cloud-csi-cinder-e2e-test

/approve

/lgtm
/approve


Fixed decimal places.

Hi Steve
I think I've spotted a couple of extra things we should change:

take out 'toString' and related comment
quanttype class - replicateOptions should have 'this.conversion.decimalPlaces' not 'this.conversionFactor.decimalPlaces'?

But I will look into this a bit more closely tomorrow morning, so don't merge just yet
Thanks!


Persist photos for offline usage

In order to have a decent user experience in areas where the mobile network coverage is not good, the user should be able to download the photos by advance and persist them on the device.
https://github.com/boolder-org/boolder-android/assets/8343416/8fde32c0-c132-4eaa-b64b-48adb8ddf467
This commit also adds an activity that shows the download state of all the areas. For now, it will be used for debugging purposes, and will not be accessible to the users.
Resolves #55

Great job!! 🔥 🚀
Here's my initial feedback based on the video:
Download UI
I think the icons for the download/downloading/downloaded states are not super clear at the moment.
Why is the "download" icon green and the rest gray?
Why is the progress indicator and the downloaded icons centered and the rest on the right?
I think we could make it clearer with a few adjustments:

have the same icon for download/downloaded, but with a different color (green for downloaded, gray for download)
put all the info on the right of the bar, nothing in the center
display a modal when user taps on the download icon, with a text like "Do you want to download the area in offline mode?"
display a modal when user taps on the downloaded icon, with a text like "This area is available offline", and in the future a message/button to point to the offline tab where the user can remove the area

Other questions

what happens when a file can't be downloaded? because of lack of connectivity or server error for instance
what happens if the download is blocked (server takes ages to respond)?
what happens when new topos are added to an area that has already been downloaded? how can we trigger a new download? should we do it automatically?

Download UI

Why is the "download" icon green and the rest gray?

I wanted to use colors in order to differentiate a primary action (to download the photos) and a secondary action (to cancel it).

Why is the progress indicator and the downloaded icons centered and the rest on the right?

The action are aligned to the right, as it is always done in the top bars on android. That is why only the download and cancel buttons are on the right. Then the download progress and the downloaded state icon are information for which no interaction is possible, therefore not belonging to the same category as the two action buttons for starting the download or cancelling it. Not being interactive UI components, this is why I chose to group them with the name of the area.
The button colors can be adjusted, as well as the modals can be added, but I think it is important not to mix actions and state information on a design perspective. What do you think?
Other questions

what happens when a file can't be downloaded? because of lack of connectivity or server error for instance

For now, no particular check is performed. The task will try to download as best as it can, meaning that if it was able to download only 5 photos out of 10 (could also be because of incorrect URLs), the download will be marked as completed and the topo will try to download these missing photos when displayed.

what happens if the download is blocked (server takes ages to respond)?

If the first call to get the list of photos is too long, the call will time-out and no photo will be downloaded. Otherwise, when downloading the photos themselves, each download can fail, resulting in the assertion that the photo is not available (as an URL can be incorrect).

what happens when new topos are added to an area that has already been downloaded? how can we trigger a new download? should we do it automatically?

For now, the only way to update the offline photos is to clear the app's data (as the screen with the list of areas will not be accessible to the users yet), the download the area's photos again.