Current approach to packaging x86 and x64 assemblies

Details about Problem
Cannot find any documentation on how to release x86 and x64 assemblies in a single package. I
The supporting-multiple-target-frameworks:

If you have architecture-specific assemblies, that is, separate assemblies that target ARM, x86, and x64, you must place them in a folder named runtimes (...)

The nuspec reference does not even once mention runtimes location
From what I have seen after evaluation of few native packages those are stored under build\native$(architecture) or build\native\bin$(architecture) and consumption is supported by .targets
The nuspec reference mentions native location next to build not inside it, but this is not supported by nuget package explorer
My current gut feeling is that I should go with build\native\x64 and build\native\x86 but it would be great if I could support it with something more than the gut
Thanks
J
ID: f1482e18-5f1f-3a8a-3321-66af52879ec5
Version Independent ID: d70bd2f5-c04b-9207-62a0-4ecb6e8e5ca6
Content: Multi-targeting for NuGet Packages
Content Source: docs/create-packages/Supporting-Multiple-Target-Frameworks.md

Thank you for re-asking this question. If you dont mind, I'd like to expand on it a bit and ask how to package the following...

An x86 assembly targeting net40
An x86 assembly targeting net452
An x64 assembly targeting net452
An x64 assembly targeting net472

@zivkan I also interested in a documentation about multi targeting different runtimes and architectures.

Until docs are written, my suggestion is to look at how other packages that have architecture dependent files work, and copy their structure.
If you're ok with your package only working in SDK style projects, then the libuv package is an example (basically, use the nuget runtimes/ folder)
If you want your package to support non-SDK style ("traditional") projects, the System.Data.SQLite.Core package is an example (you need your own msbuild props and/or targets file)

I am personally having issues with this.  Could we re-open this issue?  I have created a .targets file in the \build folder of the package as well as a \runtimes folder.  I have done this with and without the .targets file and no matter what I do, my C# library that consumes the package always gets the packages' C# library from the packages \lib\netcoreapp3.1 folder copied to the output folder of the consumer project.
I can and have successfully setup the .targets file to copy the proper x86 and x64 library from the \runtimes path to replace the incorrect architecture library in the main output folder of the consumer project, but  I always get warnings the the architecture is incorrect because it is looking at the library in the global .nuget cache folder.
Any answers on how to solve this?
Here is the issue that I opened about this.  https://github.com/NuGet/Home/issues/9272

This one is actually already open, but that doesn't mean the nuget team will actually do anything with it.
It looks like Karan finally added it to a sprint, which would normally be a good thing, except in this case it's 1.5 years later than when I needed some kind of answers my questions.

That is a shame.  Due to me running into this issue, I have searched all over the internet and have been working on this issue for 2 weeks straight.  Though I have learned a lot, I have come across no real documentation of how to do this.  I also have discovered that I am definitely not the only one that has the need of multiple architectures of libraries being in the same package.
As of right now, I am being forced to have 2 separate packages.   One is a x86 and the other is a x64 package.  Due to this, I now have to have the consumer package have a custom setup to use either or based on the consumer packages set platform.  This is not ideal.  It has also brought to light another issue that I put into the Visual Studio team with the solution explorer and using conditional package references.
The need for multiple architecture libraries (native or managed) to be in the same package and the consumer of that package using it appropriately is a real need.  This will continue to become more of a need as we become more of a cross platform world as well as the NET Core ecosystem becomes more cross platform.

I can't speak for everyone in my team, but of the few package authors I have talked to in the past (mostly internal to MSFT, but I used to be more active on Stack Overflow), all have been able to find a solution, usually by checking the Sqlite package and copying their technique. From a quick glance at your comment and the other issue you opened, you also found a solution that works, but it appears you're looking for a more ideal solution.
Doing a very rough (more likely to undercount than overcount) analysis of the packages on nuget.org, of the approximately 193,000 packages, under 2,500 of them appear to have x86 or x64 binaries, so little over 1%. But this includes native (C/C++) packages, not just .NET packages.
I understand your frustration at not being able to find the information you want, but I hope you can appreciate that we have finite time, so work needs to be prioritised by impact. Microsoft may be a large company, but doesn't mean we have infinite budget to hire more people. I don't have any data, but I expect most developers consume packages and never create them, so that's another thing to think about regarding the 1% of packages that might be trying to do x86/x64 asset selection. We will be working on this, and other docs issues, but this issue in particular is very complex, as you have discovered, so writing good docs is going to take non-trivial time. Since everyone appears to have been able to find solutions or workarounds, the cost-benefit ratio hasn't made it a priority yet. But we will. Docs in general are increasingly becoming a higher priority, but again docs that impact more people and are easier to write will be done before complex issues that few people will use.
My very quick comments on this topic, to the best of my current knowledge:

To support projects that use your package with packages.config, you need to provide your own MSBuild targets file, and put your managed code in the package's /lib/<tfm>/ folder. If the .NET SDK is overwriting the file you copied in your target with the lib/<tfm> assembly and you don't want that, you should modify your target to run later in the build, after the .NET SDK has copied referenced assemblies to the output folder.
If you want to only support projects using your package with PackageReference, you don't need any MSBuild targets/props files. It's best to use ref/ and runtimes/, rather than lib/ and runtimes/. But this is only if you want your package to copy one of architecture binaries at compile/publish time. If you want both the x86 and x64 binaries to be copied to the project output because your managed code uses the correct one at runtime (to support AnyCPU where the runtime might not be the same architecture as compile time), NuGet's runtimes folder does not do what you want, and you need to keep using your own MSBuild targets file.
runtime "inheritance" is unfortunately another very complex situation. If the project targets a netcoreapp TFM, then the .NET SDK will include a runtimes.json file that explains the ralationships, so that ubuntu-x64 knows to inherit linux-x64 and linux runtime assets. However, if the project's TFM is .NET Framework, no runtimes.json file is provided by default, so only the exact match RID will be used. The project can reference the Microsoft.NETCore.Platforms package, but packages should never list it as a dependency because it might have conflicts with the version that the .NET SDK uses, when the project uses a .NET Core TFM.

I don't know how to use ref and runtimes for PackageReference only and MSBuild targets for packages.config only. Both PackageReference and packages.config use the same target file naming convention, so as soon as you add it for packages.config support, PackageReference will also use it. I've never actually looked at the SQLite package myself to see if they figured it out, or if they just use their MSBuild targets file for both packages.config and PackageReference projects.

@zivkan Awesome information!!  Thank you for the response and it is greatly appreciated.  I can understand the position that MS is in.  I know all too well that there is only so much you can do with the time that you have, and the reasons you have given make perfect sense.
The problem that I have is that I have both NATIVE and MANAGE libraries that are x86 and x64 specific.  The reason is because the native libs are SDL libraries and the manage ones interop into the native ones.
I need to have all of the native and manged libraries for both platforms in the same nuget package.  I have already figured out how to use the /runtimes folder properly.  I have been using the <Content/> elements for this part.
My issue currently is all with the manage lib itself.  The consumer project has both x86 and x64 platforms.  I need the consumer project to be able to use the x86 managed library when the consumer project is set to x86 and to use the x64 managed library when the consumer project is set to x64.
What is happening is that when I build the package (using VS for testing) using the x86 platform, it puts the x86 managed lib into the \lib\netcoreapp3.1 folder.  For the x64 platform it builds the package with the x64 managed lib into the \lib\netcoreapp3.1 folder.
So what I did is for the package I put the x86 managed lib into the \lib\x86 and the x64 managed lib into the \lib\64 folder.  I was hoping that the consumer project would automatically pick the right platform manage lib and copy it to the consumer projects output folder, but it doesn't.  It always copies the library from the \lib\netcoreapp3.1 folder.
I tried many different things such as \lib\{tfm}\x64 and `\lib{tfm}\x86** but none of these things worked.  Eventually the goal is to have a single nuget package that will have DirectX native libs for running on windows as well as OpenGL native libs for running on MAC/LINUX.  Currently I am using SDL as a basis to get all of this working.
Any guidance on how to solve my issue would be greatly appreciated.  If you are willing to help with this and need ANY more information and/or details, please don't hesitate to ask.

Quick Update:
I tried something new that I have not tried yet using the package \ref folder according to the documentation at this link.
It does not say anything about architectures but I figured that I would attempt it anyways.
Below is the structure of my nuget package.  Also all libs inside of the package have also been verified that they are all of the proper architecture and location.
Refer to this picture for package structure and libraries.
NOTE: The SDL libraries in the \runtimes folder are actually just text files and are not being used.  They are just there for testing out the nuget package creation that I am doing

The selected assembly is the one that I have been having issues with and is the assembly that the consumer project always pulls into the output folder.  This setup here is just for trying out the \ref folder according to the MS docs link above.

FYI: I don't know why the picture link is broken but if you click the link the picture does indeed show.

Neither the lib/ nor ref/ folders know anything about architecture or runtime identifier (RID). They only support the lib/{tfm}/assembly.dll pattern, where {tfm} is a .NET TFM or native (and native means the package can be installed into C/C++ projects, not that these are native dependencies for your managed code).
If the problem you're trying to solve is that you're getting compiler warnings about mismatched architectures, you need to compile your managed code with AnyCPU and put that in the ref/ folder. You could use #if blocks around anything that otherwise doesn't compile with AnyCPU, and you can put a reference assembly in the ref/ folder to make the package smaller. The .NET BCLs do hard mode, creating a separate project and code file with just the public signatures, but no method body. See this one for example.
Similarly if you want to support packages.config, then your managed assembly in lib/ needs to be compiled again AnyCPU, but there's an increased risk or issues because packages.config doesn't have different compile-time and runtime assets, the lib/ files are both.
If it's at all possible to have the exact same managed code, and the only difference is in the unmanaged code, that simplifies the situation.

I also try to solve the mismatched architecture problem. However, there is no way I am going to get an 'AnyCPU' build out of my mixed cpp/cli project and Roslyn is not gonna help either.
So what to do when you really only have an x86 and x64 (mixed) assembly?

@obiwanjacobi This issue is about documenting existing behaviour, also this is the docs repo for NuGet. Your question requires a cross-team feature change, which is out of scope here. I'm sorry that this is not a satisfying answer, and I'm not trying to dismiss your concerns, but it's not going to get solved here. I suggest creating a new suggestion on developercommunity.visualstudio.com, so we can more easily engage all the required teams within the company. Note that being a cross-team issue, it will require all the teams to prioritise and schedule the work, so I'm trying to set expectations that it might not get solved quickly (I'd love to be proven wrong).

Oh, and if you're willing to take on additional work to resolve this using existing-features, you could take inspiration with what the .NET BCL team do in the dotnet/runtim repo. They have a c# project which duplicates all the public APIs (without any implementation), which can be compiled with AnyCPU and put in the ref/ folder. I know it's a lot of extra effort and complication in build scripts, and adds technical debt because hwen you change public APIs you're going to have to do it in at least two places.  But it's possible today.  This is assuming that the C++ compiler can't generate AnyCPU IL. I've done zero managed C++ development, but my memory from a quick test last year is that it can't do AnyCPU.
Finally, another idea which would require a one-time effort, rather than ongoing effort, is have a build script that builds your c++ project, then run a static analysis program or script which will generate an AnyCPU assembly from your compiled c++ assemblies. You could even have to compare the public APIs from the different architectures to make sure the .NET APIs are identical.
Last year, I started looking into both System.Reflection.Metadata and Roslyn's APIs to analyze assemblies and source coe, and once you "figure out" the APIs, neither is too difficult to use. You can look at my efforts for a starting point.  My idea is to use these APIs to figure out all the public APIs, generate c# source code similar to the .NET BCL's reference assembly project, then compile that, either programatically (without a project file or sounce code on disk) using Roslyn's APIs, or write a temp project and .cs file on disk and run dotnet build.


Feature Request - Use Radarr's "Import Exclusions" movie list for movies for Gaps to ignore

Would it be possible to have Gaps when proposing movies that are missing from collections for it to ignore movies based off either an ignore button within gaps (to ignore a proposed movie on future rescans) ...OR... for it to ignore a movie if it sees the movie is on Radarr's excluded movie list (Import Exclusions)?
For example, in Radarr if you go and search for a movie and you hit the "Ignore this movie, so it does not show up anymore" button (eye with a line through it) so that the movie will not be included in list pulls etc. That list of all previously ignored movies can be found under Radarr's Settings > Lists > Import Exclusions. If while your proposing missing movies from a collection you could compare the movie against that "Import Exclusions" list that would be ideal (or make this an option that can be turned on / off by user at time they run the Gaps scan). That way if there are certain movies people are intentionally deciding to ignore such as some crappy "straight to DVD" sequels then those don't keep showing up in future Gaps scan.

I am planning to have some persistence added to ignore movies in later scans. Radarr Import Exclusions is something we can look into as well to bring in known exclusions.

For now using the planned RSS list feature, it will abide by the import exclusion list.


[WIP] Refactor the SierraItemAccess tests to use the more verbose style

For https://github.com/wellcomecollection/catalogue-pipeline/issues/2145
This is an experiment into what these tests might look like if we took the more verbose GivenWhenThen style that Paul showed off in Tuesday's review. These tests are definitely a bit unwieldy, and I think maybe this is nicer?
Example output:
Given an item in the closed stores with no holds
  And LOCATION = 'scmac' / 'Closed stores Arch. & MSS''
  And STATUS = '-' / 'Available''
  And OPACMSG = 'f' / 'Online request''
  When we create an access condition
  Then the access method is 'online request'
  And the access status is 'open'
  And there's no free-text terms or note

Given an item in the closed stores with no holds
  And LOCATION = 'scmac' / 'Closed stores Arch. & MSS''
  And STATUS = '-' / 'Available''
  And OPACMSG = 'c' / 'Restricted''
  When we create an access condition
  Then the access method is 'online request'
  And the access status is 'restricted'
  And there's no free-text terms or note

I'm using it instead of Scenario for now, but when I swap out AnyFunSpec I should be able to change that.

Closing in favour of #2171 and #2172.


Update changelog for tools v21.08.1 release [skip CI]

Update changelog for tools v21.08.1 release
Signed-off-by: Tim Liu<EMAIL_ADDRESS>

build

build


Ingest new roslyn endpoint to get semantic tokens for precise ranges

### Summary of the changes

Related to #9092
Roslyn PR with new LSP Handler: https://github.com/dotnet/roslyn/pull/69946
Adds the necessary logic to call to the new LSP method roslyn/semanticTokenRanges that will exist in Roslyn once above PR is merged
Updates logic to allow one roslyn request per razor request for getting semantic tokens for precise ranges

Since this would otherwise need a VS Code update too, seems like a good time to add a new LanguageServerFeatureOption that indicates whether to even bother making a request to Roslyn for semantic tokens, and avoid the extra LSP request on that side. Should be ae to just default it to off, and set it to true in VisualStudioWindowsLSFO.

LanguageServerFeatureOptions.UsePreciseSemanticTokenRanges already exists. When that is set to false we won't be making a call to the new roslyn endpoint.

LanguageServerFeatureOptions.UsePreciseSemanticTokenRanges already exists. When that is set to false we won't be making a call to the new roslyn endpoint.

I meant not making any request in VS Code at all, since it's a no-op, as I mentioned in the previous VS Code PR. Probably a moot point now since this won't need a VS Code change, given it can't actually change API shape until the CI machines are updated

Since last approval:

Commit 5e6e232: Removes stitching code and Task.Run logic for multiple roslyn requests per razor call (no longer needed).
Commit 8c85064: Consolidated baseline files back to one

Not sure what the Roslyn version bump is for, as the version being used doesn't include the new endpoint.

I thought the package update would include my changes but it actually doesn't. The most recent package version we can update to using darc tool at the moment is 4.8.0-2.23469.5 and that doesn't include my changes

Also can we please maintain tests for the two states of the feature flag, or we'll never know if we break people when we turn it on. If we're planning on bumping Roslyn so we can test it, then removing the tests seems odd.

I noticed there was no difference in behavior via the feature flags that is why I consolidated the baseline files.

I think this might mean the removal of the fix the previous code made, where we used to not classify the string portion of addTagHelper correctly. Would be an extra bonus if the new system was able to provide better classification, not just faster

@todd and I were looking into this today and trying understand why this behavioral changes happens. This was also noted in my previous PR in comment: https://github.com/dotnet/razor/pull/9154#issuecomment-1701888838.

thanks for the feedback @davidwengier

I noticed there was no difference in behavior via the feature flags that is why I consolidated the baseline files.

No difference is fine, but the tests serve to ensure that remains the case in future. Once the feature flag is removed then the tests can be removed. Of course, as mentioned previously, we can't test the new endpoint for a few months anyway.

Latest updates:

Added a new endpoint on VS/LS Client for new roslyn endpoint
Brought back classification improvement when feature flag is set
In Language Server we call into the original endpoint when new one is not supported.
Add new unit tests: verify times endpoints get called based on server capabilities
Make calls in VS/LS Client become a wrapper around roslyn endpoints

Note:

The new endpoint is available in version 4.8.0-3.23471.2 or higher of Roslyn packages.
In a next PR, I will look at caching weather or not the Roslyn server has the new endpoint supported.

With respect to CI test failure in https://github.com/dotnet/razor/pull/9304/checks?check_run_id=17055998500

StreamJsonRpc.RemoteMethodNotFoundException : No method by the name 'roslyn/semanticTokenRanges' is found

I don't want the tests to crash with an exception. would rather have it fallback to original endpoint and just fails the few tests that don't have the classification improvement in them.

[ ] I'll guard the call to roslyn/semanticTokenRanges in the test setup with a try/catch and add an call to original endpoint when it's not available

I'm a little confused why we ended up skipping tests

I will unskip the tests immediately as soon as PR https://github.com/dotnet/razor/pull/9312 gets merged.
The skip was just to show case better for the reviewers that we do in fact have tests in place that would fail when the endpoint is not available, meaning that we are exercising the new path as well.


example of Hashquines: files containing their own checksums

Attached image contains their own md5 hash.
As described in https://www.bleepingcomputer.com/news/security/this-image-shows-its-own-md5-checksum-and-its-kind-of-a-big-deal/ .
Image by David Buchanan as referenced in https://twitter.com/David3141593/status/1573218394358386688 -
"The image in this tweet displays its own MD5 hash," tweets Buchanan.
"You can download and hash it yourself, and it should still match - 1337e2ef42b9bee8de06a4d223a51337"
"I think this is the first PNG/MD5 hashquine."

closing non-issue


Added endpoints for prototyping and testing

Added an endpoint for the inventory_table product.
The end point returns the result as a JSON string.
The endpoint can be tested with the parameters below.
Note that the data parameter is not currently used. Instead, the daily_niger data set is currently always used.
If you wish to test the endpoint, then you can use the test data below.
{
  "data": "string",
  "date_time": "date",
  "elements": [
    "rain"
  ],
  "station": "station_name",
  "year": "year",
  "month": "month",
  "day": "day",
  "missing_indicator": "M",
  "observed_indicator": "X"
}

Added endpoint for climatic_summary. This returns a data frame.
Suggested test data:
{
  "data": "string",
  "date_time": "date",
  "station": "station_name",
  "elements": ["rain"],
  "year": "year",
  "month": "month",
  "to": "monthly",
  "by": "station_name",
  "summaries": {
    "mean": "mean", "st_dv": "sd", "n_na": "naflex::na_n"
  }
}

@chrismclarke Thank you, excellent progress.
I pulled from the updated main branch and the server runs correctly.
The only side-effect I had is that the debugger no longer works. This is because the debugger runs a specific file (main.py) and it imports relative from this file. Therefore it cannot find the rinstat module because the associated directory is now one level higher. I tried specifying a relative import but this also did not work. I couldn't find a solution online so the workaround I am using is to have an app/rinstat directory temporarily while I'm debugging. There's probably a smarter way of doing this but this works for now.
For a production server, we would likely publish cdms_products as a Python package, then this problem should disapear.
I will add a separate note to README.md in a separate PR.


Create Shop Items without actual assets

I'm trying to create a purchasable item that exists in the shop items menu but it doesn't actually need to be a physical item. It's more of a "modification"
Is there a way to register an item without referencing an asset bundle?

I have better tools for copying assets through code now, but it is still not recommended.

I have better tools for copying assets through code now, but it is still not recommended.

Would you be able to provide an example of how I would go about that?


Plugin Idea ...

Discussed in https://github.com/louislam/uptime-kuma/discussions/95

Originally posted by 0mni July 13, 2021
So I had an idea, why not allow for plugins, very basic/simple.
Have uptime-kuma look in a folder for specific scripts, executable. the name of the script can be the name in the drop down.
You can put whatever you want in the script, and it just returns a value for success or failure.

+1
can you allow for arbitrary environment variables to be passed to the shell scripts? THis way it would be easier to customize.
E.g. one could easily write a shell script that takes HOST and WARNDAYS as parameters/variables and then checks if HOST's TLS Cert expires in less than WARNDAYS and then give back either good or bad / success or fail so that Kuma can take care of the notification.

Did some research after it was brought up in 892. It might be possible to define plugins via https://github.com/adaltas/node-plug-and-play, but also potentially something custom? not fully sure.
some questions:

How are plugins loaded in?

how will they be stored? (I'd recommend saving the plugins to a local directory so that the user could load them in by hand if they want)

what updating/versioning will be available for them?

will plugins have global settings?

how will plugins present settings at all?

How would plugins be discovered?

a wiki page with a list of plugins?
some discovery mechanism similar to package managers?

What plugins do we want possible?

different pages/layouts to display data? (IE define custom status pages?)
monitors
notifications
data processing?

You could draw inspiration from Nagios. Ideally you could support vanilla Nagios plugions. A plugin is just script/binary. By convention it takes -w <value> to set the warning threshold, and -c <value> for the critical threshold. A plugin does whatever it needs to, then reports back back to Nagios using the exit code.
You can see the details here: http://nagios-plugins.org/doc/guidelines.html
And to answer your questions.

How are plugins loaded in?

Plugins would be loaded by by users by making them available in the monitor type dropdown. Once selected, the arguments which will be suppled to the plugin will be provided by the user in a text box.

how will they be stored? (I'd recommend saving the plugins to a local directory so that the user could load them in by hand if they want)

Plugins would be stored as scripts/binaries on the local machine. You can run them by hand and check the exit code to know whether it was successful.

what updating/versioning will be available for them?

I don't think this will be available at first, but something might done later by integrating with https://exchange.nagios.org/.

will plugins have global settings?

No

how will plugins present settings at all?

You would be asked to supply the plugin arguments as a string. Something like -c 10 -w 8 for the critical and warning value.

How would plugins be discovered?
a wiki page with a list of plugins?
some discovery mechanism similar to package managers?

https://exchange.nagios.org/ is already a thing. If you can remain compatible with Nagios plugins, then this problem has been solved for you.

What plugins do we want possible?
different pages/layouts to display data? (IE define custom status pages?)
monitors
notifications
data processing?

This proposal will only handle monitor plugins.

I see there are plugins in the Wiki.
Do you know if the plugin architecture is documented somewhere?

Those are not plugins as discussed in this thread. Those are 3rd Party Addons Apps.
This thread is about installing new monitors/notification providers/.. into uptime-kuma.
In case you want to build an addon, there are unnoffical 3rd party apis. See #118 for further context.
We have experimented with plugins in the past, but https://github.com/louislam/uptime-kuma/security/advisories/GHSA-7grx-f945-mj96 has shown us that this is not as easy to implment.
Expermients around that have been reverted as fix for that security vulnerability.
Additional discussions exist around https://github.com/louislam/uptime-kuma/issues/1117#issuecomment-2111111764


Add a new CI action for assigning issues

Look into adding something like this github action for automatically assigning issues.
When we add this, we'll also want to add the following to the contributing documentation:

Once you have selected an issue, then assign it to yourself by placing the word take as a comment. This will initiate a github action to assign it to you. It may take a few seconds or require you to refresh the page. Your goal is to finish the process from self assigning the issue to submitting the initial Pull Request (PR) in less than 2 weeks. This keeps your work from diverging too much from the main branch.
That being said, life happens, we appreciate you however you decide to help. If something comes up, and you need to unassign an issue (place the word remove as a comment) or post that you are still working on it, then that is okay.

Closing as this is a duplicate of #125


Regarding Dataset Mentioned in the paper "EvAC3D"

Hello,
I hope this message finds you well. I recently came across your research paper, "EvAC3D From Event-based Apparent Contours
to 3D Models via Continuous Visual Hulls", and found it to be quite intriguing. I am working on a project that draws inspiration from your work, and I believe that having access to the dataset you used would be invaluable for my research.
In your paper, it was mentioned that the dataset would be made available, but I couldn't find it in this repository or any provided links (project page, supplementary materials). Could you kindly guide me to where I might find the dataset or provide more information on its availability?
Thank you for your time and for your contributions to the field. I look forward to your response.
Best regards,
Shreyas Sachan
Max Planck Institute for Informatics,
Saarbruecken, Germany

Hi Shreyas,
Apologies for including the wrong link on the website. Now the website has been updated with the link to the event data as well as the gt meshes.
Best,
Claude


Implement panning and scaling of the window viewport within a larger canvas

I want a "big board", kind of like Miro.
How should scaling interact with text font sizing?
First: implement panning
Then: implement scaling/zooming

Panning is implemented. Drag outside any control.


Fingerprint shown in Cert module

In module Cert would be nice that the fingerprint of certificate in use would be shown.
This would help in case of a fast check.
On webinterface for example is just reported:
You already have a certificate set, use the form below to overwrite the current certificate.
Something like:
You already have a certificate set with fingerprint XXXXXXXXXX; use the form below to overwrite the current certificate.
Same for IRC command /msg *cert Info:
You have a certificate in /home/<sysuser>/.znc/users/<zncuser>/networks/<mynetwork>/moddata/cert/user.pem
Somthing like:
You have a certificate in /home/<sysuser>/.znc/users/<zncuser>/networks/<mynetwork>/moddata/cert/user.pem with fingerprint XXXXXXXXXX

An issue I see with that approach is different IRCd's use different hashing algorithms to produce the hash. I.e. inspircd defaults to md5, unrealircd uses sha256, etc.


request.RemoteEndPoint goes null when reqsponse.outputStream is closed - differs from Windows native HttpListener

Hi
Found a difference between this project and the Windows native HttpListener
It seems that request.RemoteEndPoint goes invalid after respose.outputStream.Close() or after response.Close()
On Windows with the native implementation you can still use RemoteEndPoint after the response close, eg for a Logging Message of "Response Sent back to " + request.RemoteEndPoint.ToString()
Here is a mini example.
        private void processHTTPRequest(HttpListenerContext context)
        {

            HttpListenerRequest request = context.Request;
            HttpListenerResponse response = context.Response;

            Console.WriteLine(request.RemoteEndPoint);
            byte[] output_bytes = {1, 2, 3};

            Stream outputStream = response.OutputStream;
            outputStream.Write(output_bytes, 0, output_bytes.Length);
            outputStream.Close();

            Console.WriteLine(request.RemoteEndPoint);   // <--	'request.RemoteEndPoint' threw an exception of type 'System.NullReferenceException'	System.Net.IPEndPoint {System.NullReferenceException}
        }

It's not the end of the world. I can cache the value.
If you think it is an easy fix, I can fork, test and do a PR.
Thanks, Roger

I think it's because closing the output returns the TCP connection to the pool. Probably just caching the properties on the type is the best solution and not too hard.


Installs libmimalloc.a into $PREFIX instead of into $PREFIX/lib

Plist:
cmake/mimalloc-config-version.cmake
cmake/mimalloc-config.cmake
cmake/mimalloc-%%CMAKE_BUILD_TYPE%%.cmake
cmake/mimalloc.cmake
include/mimalloc-new-delete.h
include/mimalloc-override.h
include/mimalloc.h
lib/libmimalloc.so
lib/libmimalloc.so.2.0
libmimalloc.a
mimalloc.o

Additionally, it installs a stray file mimalloc.o that needs to be removed.

Hmm, by default mimalloc installs to /usr/local/lib/mimalloc-<version>/  and puts the above there. It also adds two symbolic links to the .so files (/usr/local/lib/libmimalloc.so ->  /usr/local/lib/mimalloc-<version>/libmimalloc.so).
How did you invoke the installation (ie. how was the PREFIX specified?)

PREFIX was set to /usr/local and MI_INSTALL_TOPLEVEL was set to ON.

Confirming that 2.0.6 installs mimalloc.o in lib/
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: lib/mimalloc.o

This issue can be closed.


rcc tools don't seem available

I just installed pyside2 from conda and although it seems to work, I couldn't really find pyside-rcc anywhere nor any workaround -- there is pyside2uic source code for generation of .ui files, but I couldn't really find a replacement for rcc generation.
So, my question is if this is this expected (and it should be gotten from somewhere else) or if this is a packaging issue?

Sorry, my bad, I was looking for in the wrong place.


Development

Lot of bugs have been solved, especially with foreign stations.
Calendar_dates.txt gets also an update so it contains only services that actually drive.
A few fixes make sure the GTFS is validated by Googles validator.

Impressed with your work Brecht! Keep it up!

Rule of pi ;)


Use Boosters for Free Tier Use of SAP AI Core and SAP AI Launchpad

Tutorials: https://developers.sap.com/tutorials/ai-core-launchpad-provisioning.html
I was trying to clarify my question with SAP guys who could be responsible for the tutorials, but I was told to create here the issue.
Ok.
First, I describe what I want to achieve. I would try to create an “AI app” in a way that is common in “SAP universe” for SAP developers, especially I am interesting in such scenarios that could be used in S/4 area (cloud and on premise) and also BTP. I would like to create a “hello world” AI app or a bit more than that. And I would like to invest “hours” or 1-2 days, not weeks in trying.
I know, there are different AI platforms at SAP and I thought I would try this first:
Create Your First Machine Learning Project using SAP AI Core | Tutorials for SAP Developers
This tutorial has the first step:
https://developers.sap.com/tutorials/ai-core-launchpad-provisioning.html
“…You will learn
How to access your SAP BTP global account…”
I have to admit that I can’t found the info about “How to access your SAP BTP global account” in this tutorial. I would expect it in the step 1
“STEP 1
Provision SAP AI Core in your global account
Open the SAP BTP cockpit and access your global account…”
I would expect here a link to the BTP cockpit or an explanation how to get an account there, but I can’t see such info there. Probably there is a link in one of the sub-links on this page, but I am not able to find it.
Anyway, I got a trial account on BTP. Not sure, it is a correct one as there are probably different “BTP instances” and not sure what would be the “right” BTP account in sense of this tutorial, but I tried it my way
In my trial account I cannot see the SAP AI Core. Not sure, I have to provide here in the issue the screenshot or there are other channels for sharing such information.
Could you please tell me if it is something wrong with the tutorial or I am missing something?
Thanks,
Gennady

@dhrubpaul can you please reply to this user's feedback?


WASM: Add intrinsic implementation for ByReference ctor and fix the Value getter

Fixes #5819  by adding an implementation for the ctor of ByReference<T> and alters the Value getter so that the value is loaded off the stack immediately after pushing the address.  Previously the load operation was pushed to the evalualtion stack and could happen after another operation had modified the local where the address was stored.  This change fixes double.ToString  and also the implicit ToString when performing string operations such as "a" + i where i is an int.  This appears to be fine, but I admit that I don't know the effect of not using the evaluation stack anymore and I would think there's another option here where all the emitting of code is done through the evaluation stack rather than all immediately.

@MichalStrehovsky, would you mind helping out on this review? I've sufficiently confused myself on byrefs that I'm not sure I'm reviewing this right.

@MichalStrehovsky, would you mind helping out on this review? I've sufficiently confused myself on byrefs that I'm not sure I'm reviewing this right.

I can't read LLVM, but this should be really simple:

In the constructor, you get a managed pointer in the parameter. The objective is to just take the managed pointer and store it in the _value field.
In the get_Value method you take the _value field and return it typed as ref T.

There will be extra magic with GC reporting around this, but WASM doesn't concern itself with it. The GC reporting magic will be around treating _value as an interior pointer.
If I understand it correctly, this is taking a shortcut and instead of accessing the _value field, it's accessing this. That might be fine.

Thanks @morganbr  for the review.  Sorry for the delay in replying, work/holiday etc.  I'll have a look as you suggest.

No problem, @yowl, I had a busy time too, but hopefully I can be more responsive on wasm stuff now.

Hi @morganbr so I should be created a SpilledExpressionEntry to get space on the shadow stack, and putting the address of the ByReference in there (which is really just the address of the ctor parameter).  That will allow the ByReference to be GC tracked.  Then pushing an AddressExpressionEntry of the SpilledExpressionEntry to the _stack for the callee.  Is that close?

@yowl, yep, that sounds right.

@yowl I don't think the parameter passing PR affects this change (and it hasn't been merged yet). As long as there are no merge conflicts, you can just update this branch as-is.

Thanks for the reviews.
And apologies, I'm still learning how best to manage github branches to separate my work and create coherent PRs.  Will tidy things up and address the reviews.

@yowl, no need to apologize. We appreciate the contribution and understand that new contributors will learn how we work over time. You're really close -- hopefully you can just address the remaining issue with Unsafe.As and we'll be able to merge it.

@yowl, I tried to test this and it looks like for simple cases, your .ctor change works on its own. However, I couldn't test Double.ToString because it calls into ValueStringBuilder.ToString, which was recently changed to call Span<char>.ToString instead of new String(span). Span.ToString does reflection (to figure out whether it's a Span<char>), so that no longer works. However, I did verify that with your change and #6275, we have enough compiler support to make Console.WriteLine work.
I'd suggest removing the As intrinsic and changing the test to use a Span (which you can now use in our tests projects) instead of Double.ToString and we can merge it.

@morganbr thanks, I was stuck.  This change passes a new test that is more focused and exercises the ByReference ctor and .Value.  When I tried to test ReadOnlySpan.CopyTo that is still not working, I tried to CopyTo from a ReadOnlySpan into a Span:
        var readOnlySpan = "123".AsSpan();
        var span = new Span<char>(new char[5]);
        readOnlySpan.CopyTo(span);
        if (span[0] != '1'
            || span[1] != '2'
            || span[2] != '3')
        {
            PrintLine("CopyTo failed");
            PrintLine(span[0].ToString());
            PrintLine(span[1].ToString());
            PrintLine(span[2].ToString());
        }
        else
        {
            PrintLine("CopyTo OK.");
        }

But this fails printing 3 blank lines.  Could be something else or maybe the ByReference ctor needs more work.  What do you think?
Out of interest what is a constrained type?

@dotnet-bot test Windows_NT_Wasm Debug and CoreCLR tests WebAssembly

@yowl, based on the successful testing with ByReference, I'd guess we just have a different bug somewhere. Now that CI is clean, I'll get it merged. Thank you for working through this one!
A constrained call happens when you make a virtual/interface call on a generic parameter. C# like this:
int Foo<T>(T obj)
{
    return obj.GetHashCode();
}

Would generate IL like:
ldarga.s obj
constrained. !!T
callvirt System.Object.GetHashCode()
ret

The constrained opcode tells the code generator that the following virtual call will be on an object of type T. It also means that if T is a reference type, the call will get a byref to that object and need to dereference it before calling. The fix in #6275 adds proper dereferencing.


[Question] Does it close pull requests as well?

I know that GitHub treats issues and pull requests as part of the same internal system, so it doesn't seem implausible to me that NO CARRIER automatically closes both, even though it only explicitly mentions issues.
If this is true, then I would recommend mentioning it in the documentation (I could provide a pull request for this); otherwise, I guess this is a feature request—auto-closing pull requests is also very useful.

Yes, it works on pull requests too, for the reason you mentioned.
Example: https://github.com/twbs/bootstrap/pull/20151#issuecomment-230694148


Support for const keyword

Could support for the const keyword be added?
https://json-schema.org/understanding-json-schema/reference/generic.html#constant-values

Where field and a getter method is added to the pojo but no setters or builder methods should exist for it.
A @JsonIgnore would also be added to avoid it from being used in serialization and deserialization.

Use Case:
Adding constant fields to a hierarchy of pojos where the value could be changed on each one of them.
A special case would be possibly in order to inform end-user of the schema when type information provided for polymorphic type handing should be included in JSON.  https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization#12-per-class-annotations. Where with a properly configured Jackson ObjectMapper a field such as "@class" would be used for deserlization.

I like the idea of using const to return a fixed value and having no setter. I don't think skipping this field during serialization is the correct thing to do though. JSON produced from the POJO should include the value, no?

When serializing yes in general it should write this value but in limited cases you wouldn't want it to write it because it is handled by the library anyways.
For example if you use the type info feature of Jackson you can write the class (amount other things) as a field ( commonly @class) in the JSON to aid in deserialization.

I agree that the baseline is to include it in serialization. Excepting from that is another feature.

Revisiting the documentation I am thinking maybe we should consider an implementation more close to the definition of the standard.
JSON Schema - Generic keywords #constant-values

It should be noted that const is merely syntactic sugar for an enum with a single element, therefore the following are equivalent:
{ "const": "United States of America" }
{ "enum": [ "United States of America" ] }

Possibly we should support both interpretations:

strict - a single value enum is created, therefore enforcing the validation that the json matches the schema, all getter/setter/builder methods should be implemented.

The java code may look odd with an enum with one value but will match the schema.
The constant value would be an enum and value() would need to be called to get the const value.
An example use case would be that a const could eventually become enum with the original value plus more and existing JSON would be still valid.
An incorrectly provided constant value in JSON will be a deserialization problem and will cause an exception in something like Jackson.

loose - on serialization the constant value is always written but in deserialization the value is ignored.  A getter exists but a setter does not.

The java code would look more natural, the property would be a final that could not be changed
The getter could return the actual type of the enumeration, String in most cases but could be anything including a double.
An incorrectly provided constant value in JSON will be ignored and not cause a deserialization problem. When the same object is serialized back it will contain the correct value for the constant.

In either case the JSON produced by the pojos will always have this constant value.  The deserialization logic will differ but it should be made impossible to get an instance of the class where the constant value is different then what is expected.

Thinking about it more I think maybe we can cause a serialization exception on the loose interpretation but would involve a serializer be written specifically for it that ensures the value matches the expected value.
https://fasterxml.github.io/jackson-databind/javadoc/2.3.0/com/fasterxml/jackson/databind/annotation/JsonSerialize.html
I'm not sure how to do it in gson.

Hi! Just to let you know that I also have the same issue. I have "const" in a schema I'd like to map to Java but it is rendered as a plain property.

Hi, I would also be interested in this feature.
Are you planning on supporting "const" in the future?

Are there any updates on this? I would be glad if const fields would be handled. Both suggested ways are fine.


please fix the problem

when i import a background into GoAnimate Wrapper then save the video, the video saves and all looks normal in the video maker, but when i click on preview and preview the video, i get a big error screen!, please fix this as soon as possible

@davidb20-0 I have the same problem, but it NPM crashes on me

That's an issue I've noticed happen to videos that were saved with just-added custom characters.  It's a syntax problem.


Db migration fixes (#5214)

Pull request opened by the merge tool on behalf of #5214

Merged in 2f9a3ecdf6f03e89d92ee372fadd9db6df2bbc1e


Profile Updated successfully

When updating profile, a black popover appears to indicate success
Changes:

keep text
remove transaction hash
make it rich green, not black

All success popovers should be green (as in green light)
Transaction hashes should never show - they can log in the console instead, or to sentry

if you make the snackbar green you then lose the success icon which is already green. red in case of error.
It would be weird to have a big green or red rectangle since they are not dominant colors in the app.
Or green and white writting, but no more icon


Subquery (nested SELECT *) fails in INSERT WHERE clause

(Migrated from https://openrdf.atlassian.net/browse/SES-2048)
A nested SELECT *, inside an INSERT WHERE clause fails, but it works if the projected variable is listed explicitly, such as SELECT ?foo.
Steps to reproduce this bug:
[[
CLEAR SILENT ALL ;
INSERT DATA { http://example/foo a http://FooClass .  } ;
INSERT { http://example/s http://example/p ?foo .  }
WHERE {
{ SELECT * {
?foo a http://FooClass  .
} }
}
]]
At this point, there should be two triples in the store, but there is only one.  However, it works if the "SELECT *" is changed to "SELECT ?foo".
The bug also shows up in 2.7.11.

Works for me


Show a helpful warning if danger can not access a local repo on GitHub

"Fixes" #231
Also included: danger will now clean up after itself when running in local mode.

Interesting, this is crashing due to the Dangerfile
Danger::DSLError:
[!] Invalid `Dangerfile` file: wrong number of arguments (2 for 1). Updating the Danger gem might fix the issue.
 #  from Dangerfile:27
 #  -------------------------------------------
 #  if !modified_files.include?("CHANGELOG.md") && !declared_trivial
 >    fail("Please include a CHANGELOG entry. \nYou can find it at [CHANGELOG.md](https://github.com/danger/danger/blob/master/CHANGELOG.md).", sticky: false)
 #  end
 #  -------------------------------------------

best remove sticky: false for now, and I'll take a look later

        1 Warning

  </th>
 </tr>

:warning:
Tests were not updated

        1 Message

  </th>
 </tr>

:book:
@justMaku is not a contributor yet, would you like to join the Danger org?

  Generated by :no_entry_sign: danger

Now it worked, even more interesting ¯_(ツ)_/¯

Computers ;)
Needs a rebase alas

trolololol

I'll just remove sticky from Dangerfile for now 😂

Great! We're back, I'm calling this PR trivial.


Standalone unstyled InputLabel does not shrink

Applying shrink to an InputLabel does not shrink the text, unless there is a flex style applied to the InputLabel.

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔
The InputLabel should shrink.
Current Behavior 😯
The InputLabel only shrinks when there is a flex style applied to the InputLabel.
Steps to Reproduce 🕹
https://codesandbox.io/s/ly6952wwkq
Context 🔦

Your Environment 🌎

Tech
Version

Material-UI
v3.9.2

React
16.8.3

Browser
Chromium 72.0.3626.96

@johnloven You can use position: absolute;, or display: inline-block;. What do you think of adding  display: inline-block; as a default style?

Ah, didn't realize the problem was that it defaulted to inline.
@oliviertassinari Personally I think display: block makes more sense, since it's a label and usually placed above something else.

@johnloven display block is good for me too.

@oliviertassinari  I'll can give it a go. Can I put it on master?

@johnloven We keep the master branch for important bug fixes only. You can target next. You can also leverage the theme.overrides feature to patch your version.


Advanced selector settings for GitRepo get lost when editing

Internal reference: SURE-3455
Issue description:
When editing an exiting advanced selector GitRepo on UI form and just save it without changes, it removes advanced settings and just set as clusterGroup.
Business impact:
No business impact.
Troubleshooting steps:
Reproducing the environment and performing tests with advanced selector GitRepo options.
Repro steps:

created an GitRepo with kubectl+yaml and/or through UI.

apiVersion: fleet.cattle.io/v1alpha1
{{ kind: GitRepo}}
{{ metadata:}}
  name: test5
  namespace: fleet-default
{{ spec:}}
  branch: labopensuse
  insecureSkipTLSVerify: false
  paths:/lab/fleet
  repo:https://github.com/path/to/k8s.git
  targets:

  - clusterGroup: sandbox
    clusterSelector:
      matchLabels:
        fleet-managed: "true"
{{        name: sandbox }}

edited as UI form, did change anything, just save it. It removes the clusterSelector and left clusterGroup only. When go to edit UI form, its loads the dropbox target selected as clusterGroup and not the advanced settings done previously.
outcome after saved it

targets:

  - clusterGroup: sandbox

Workaround:
Is workaround available and implemented? no
What is the workaround:
Actual behavior:
GitRepo edit form UI loads and filled target selector as clusterGroup.
Expected behavior:
GitRepo edit form UI loads the advanced selector settings accordingly as previously created.

The issue doesn't mention what version the issue is reproduced with. I will try v2.6.3.

My checks PASSED
Reproduction Environment:

Rancher version: v2.6.3
Rancher cluster type: single-node docker install
Docker version: 20.10
Downstream cluster type: n/a
Downstream K8s version: n/a
Reproduction steps:

Navigate to Continous Delivery on the left nav pane. Create a GitRepo and do not fill any fields in, rather, click on the "Edit as YAML" button on the bottom of the page.
Remove all content. Add this content:

apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: test
  namespace: fleet-default
spec:
  branch: labopensuse
  insecureSkipTLSVerify: false
  paths: [/lab/fleet]
  repo: https://github.com/path/to/k8s.git
  targets:
  - clusterGroup: sandbox
    clusterSelector:
      matchLabels:
        fleet-managed: "true"
        name: sandbox

Stay in the YAML editor and click the Create button. This will create the repo (it won't deploy but this is not relevant)

Now, in the UI on the Git Repos page, click on the vertical "..." on the right and click "Edit YAML"

Notice - the content is the same and is correct. Our clusterSelector is still listed just as it was prior. Go back.

Now, do the same but just chose "Edit Config" (so we get the UI form). On the bottom of the page click the "Edit as YAML" button so we get back in the YAML editor.

Result:
I reproduced. Upon step 6 of the steps above, I see the clusterSelector is missing now:

Validation Environment:

Rancher version: v2.6-head 7efbeab 1/31/2022
Rancher cluster type: single-node docker install
Docker version: 20.10
Downstream cluster type: n/a
Downstream K8s version: n/a
Validation steps:

Execute the exact same steps as outlined above in the Reproduction section.

Result:
I now no longer reproduce and the issue appears to be fixed. Upon the last step (step 6 above) when I get to the YAML editor the clusterSelector is still listed and the YAML content is unchanged (except for the expected additional commented-out lines the UI adds -- this doesn't hurt anything). Below is a screenshot showing the fix:


Deployment script for Industrial-IoT microservices fail

Hi,
When I try to follow the guideline for deploying the microservices I run into several issues and I had to do some changes to the https://github.com/Azure/Industrial-IoT/blob/master/services/deploy/vm/template.json file to get it to a stage where it starts deploying components in Azure. But I can't get it to completely succeed, I hope you can help.

There is an issue with a Keyvault resource pointing to a variable named keyVaultVersion which does not exist under variables (I changed this to keyVaultApiVersion) which will remove this error.
It seems that the script tries to create two key vaults with the same name. Removing the key vault below solves the duplicate key vault issue and the resources will start to deploy to Azure.
{          "type": "Microsoft.KeyVault/vaults",          "name": "[parameters('keyVaultName')]",          "apiVersion": "[variables('keyVaultVersion')]",          "location": "[resourceGroup().location]",          "tags": {              "displayName": "[parameters('keyVaultDisplayName')]"          },          "properties": {              "enabledForDeployment": true,              "enabledForTemplateDeployment": false,              "enabledForVolumeEncryption": false,              "sku": {                  "name": "[parameters('keyVaultSkuName')]",                  "family": "A"              },              "tenantId": "[parameters('aadTenantId')]",              "accessPolicies": []          }      },
A BadRequest error is received when trying to create the key vault secret /PCS_IOTHUBREACT_AZUREBLOB_KEY

I tried to follow this guide both with the old repo https://github.com/Azure/azure-iiot-components, the new repo https://github.com/Azure/Industrial-IoT master branch and the "new_repo_structure" branch.
Thanks :)

Hi @michaellindberg, thanks for filing the issue :-)
Apologies for you hitting multiple problems here, among them:

We renamed the repo and removed the submodules to create a mono-repo, and thus the arm template pulling the VM contents failed in multiple places.
The key vault api version variable in the ARM template has probably fallen victim in a manual merge.
The secret storage from ARM is broken.
We moved from classic to azure-pipelines.yml, which is not fully up and operational yet and thus haven't caught any of this.

I am working on a fix now and should have deployment working again by end of day GMT.  Manually validated.

Fixed with #28 - in lieu of deployment being part of CI at this point (another work item) I manually tested cloud and local deployment.   Please try out and re-open if you see issues.

I can confirm that the deploy script works now. I get a 404 when accessing the website (https://solutionname.azurewebsites.net/), but I will try and have a look at it before opening a new issue.


Acceptance tests fail with current env

Using environment created using environment.yml, 8 acceptance tests fail:
FAILED improver_tests/acceptance/test_interpolate_using_difference.py::test_filling_without_limit
FAILED improver_tests/acceptance/test_interpolate_using_difference.py::test_filling_with_nearest_use
FAILED improver_tests/acceptance/test_regrid.py::test_regrid_nearest_landmask - AssertionError: dif...
FAILED improver_tests/acceptance/test_interpolate_using_difference.py::test_filling_with_maximum_limit
FAILED improver_tests/acceptance/test_interpolate_using_difference.py::test_filling_with_minimum_limit
FAILED improver_tests/acceptance/test_regrid.py::test_regrid_nearest_landmask_multi_realization - A...
FAILED improver_tests/acceptance/test_phase_change_level.py::test_phase_change[snow-sleet-snow_sleet-T
rue]
FAILED improver_tests/acceptance/test_phase_change_level.py::test_phase_change[sleet-rain-sleet_rain-T
rue]

Closed due to #1398 for now.
In future we may need to look at this again and amend kgo or reconsider how this is tested as next prod environment has newer scipy version.

Closed due to #1398 for now.
In future we may need to look at this again and amend kgo or reconsider how this is tested as next prod environment has newer scipy version.


What will happen to XMR when fluffypony will get charged with cryptocurrency embezzlement like McAfee?

https://tinyurl.com/h4rz4f9x
https://tinyurl.com/czwswrxv (changed link to removeddit since /r/monero mod removed to try to cover it up - maybe fluffy himself?)

Spam or truth? There is only one way to find out. Look into the sources yourself.

tari-project/tari#2904

tari-project/tari#2893

tari-project/tari#2892

tari-project/tari#2859

tari-project/tari#2915

tari-project/tari#2914

tari-project/tari#2912

tari-project/tari#2901


fix: useUpdate hitting maxInt, failing to trigger rerender

Description
useUpdate hook can hit maxInt, failing to trigger rerender as the value we pass must always be different
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

Checklist

[x] Read the Contributing Guide
[x] Perform a code self-review
[x] Comment the code, particularly in hard-to-understand areas
[ ] Add documentation
[ ] Add hook's story at Storybook
[ ] Cover changes with tests
[ ] Ensure the test suite passes (yarn test)
[ ] Provide 100% tests coverage
[ ] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[ ] Make sure types are fine (yarn lint:types).

:tada: This PR is included in version 13.10.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@streamich to be honest, I haven't faced this issue myself, but when I read this code in react-use, I thought to propose it just to prevent a possibility, since one value is used across the whole app and we use useUpdate everywhere

If you have 1,000 components on your site and each of them re-renders 60 times per second, your site would need to run for 5,000 years to hit max integer boundary (if I did the math correctly).
9007199254740991 / 1000 / 60 / 60 / 60 / 24 / 365 = 4760

@streamich your math is correct:
maxInt / 1000 components / 60 frames in a sec / 60 seconds in a min / 60 mins in an hour / 24 h in a day / 365 days

After you mentioned it, I realized it'd never hit this large number in normal use 😄
Maybe in web games there is a potential of this to happen, but I now think we shouldn't cover such rare case.


Cannot find lmdb when training

Hi  chuanqi
I have made the configuration according to the readme file step by step. The original SSD can run correctly. But when I run the train.sh script for MobileNet-SSD, it cannot find lmdb need by training, the output error:
db_lmdb.hpp:15] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory
I have carefully checked the source path in prototxt and did not find any mistake. And the original ssd code can run correctly under the same configuration.

@afantideng use absolute path.


per http://cernvm.cern.ch/portal/filesystem/cvmfs-2.1.20#the-cvmfs-confi...

Define the new "cvmfs-config" repo for possible use

Looks like the repo should be disabled by default as per
http://cvmrepo.web.cern.ch/cvmrepo/yum/cernvm.repo

squashed, plus no hiera

Hi.
I'm happy to add this and PR #29 then do a release before the deprecations in  PR #34 are added. Please rebase this or PR #29 first, I expect they may conflict so one at a time into master.


update cfp posepone date

cfp date posepone to 3/27 08:00 AM
add sprint 3/12 in index.html
update cfp.html content.

index.html

cfp.html zh

cfp.html en

Codecov Report

Merging #373 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #373      +/-   ##
==========================================
- Coverage   84.93%   84.93%   -0.01%
==========================================
  Files          57       57
  Lines        1899     1898       -1
==========================================
- Hits         1613     1612       -1
  Misses        286      286

Impacted Files
Coverage Δ

src/core/models.py
97.82% <0%> (-0.05%)
:x:

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 02b5712...a94378d. Read the comment docs.


Release flagged as malicious

Hi @CoreyHayward
I ran the latest release through VirusTotal and got this result:
https://www.virustotal.com/gui/file/86603c1f7d2ee50d41539cb68119394d59131db3b19b8bf0ba56e7c6abc025ff?nocache=1

Thanks for letting me know, I have reached out to MaxSecure to hopefully get this false positive removed.
Will update when I hear back from them.


⚠ ClamAV has degraded performance

In 77badd2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 194 ms

Resolved: ClamAV performance has improved in c06af5b.


Feature/#22 filters for transitive dependencies

PR for #22

Coverage increased (+0.2%) to 85.573% when pulling ba8e766427331f37dce05fc3112db91702609f17 on feature/#22-filters-for-transitive-dependencies into c76bc03d6975ea9c729d58940e2a3f42c7ed9896 on master.


global: constraint naming generates too long names for mysql/pg

The constraint naming conventions introduced in #65 seems to be generating names without taking MySQL/PostgreSQL limitations into account.
It also seems like that it's not possible to override the naming convention in order to set a name within the limits. The causes problems for e.g. oauthclient/oauth2server and other modules where constraint names generated are too long.
I've tried to produce a minimal breaking PR that demonstrates the problem.
Best would be if it was possible to just override the name for a given constraint if the name generated is too long. If that's not possible we may need to remove the naming conventions again, and force that models explicitly specify a constraint name.

It is funny as they claim it has been fixed:

https://bitbucket.org/zzzeek/sqlalchemy/issues/1412/automatically-generated-index-name-is-too
https://bitbucket.org/zzzeek/sqlalchemy/commits/b2c0b50bbfa43f662afd16b7ca51bcfe17e4c351

I already encountered this with @jirikuncar in invenio-communities. Explicitly naming the index is possible and fixes the issue, though as @egabancho mentioned, there's already supposed to be a length check for this in sqlalchemy... Maybe the "fix" is just the fact that the creation procedure fails?
Also in case we start naming indices, we should come up with a sane and non-conflicting naming convention.

I think the problem now is with Alembic and not SQLAlchemy, https://travis-ci.org/inveniosoftware/invenio-db/jobs/198803454#L491

It's me making a mistake. Actually it do work by explicitly specifying the constraint name, in the PR i'm just missing to specify constraint names for the other constraints.


Timeouts for sending to actors from taker connection

We had a scenario where the taker's connection actor was blocked (forever) upon a failed rollover, where the maker was sending Msg0 (because for the maker the rollover protocol did not fail. Upon receiving rollover Msg0 the taker was waiting for the delivery of this message to the rollover actor indefinitely.
Since this blocked the connection actor for processing messages this is a critical bug.
In order to ensure, that the connection actor does not get stuck when processing messages and sending them to actors, we add timeouts to all messages that are sent out to actors. The timeout is set to 60 seconds.

This is a patch fix for https://github.com/itchysats/itchysats/issues/1468 until we handle this more complete in master

We already did basically the same thing with this PR merged into master: https://github.com/itchysats/itchysats/pull/1429/files. It probably doesn't matter that we don't use that specific patch for the backported fix, but letting you know in case you didn't know.

We already did basically the same thing with this PR merged into master: #1429. It probably doesn't matter that we don't use that specific patch for the backported fix, but letting you know in case you didn't know.

Thanks for pointing that out @luckysori - then I might as well backport that commit.

backport #1429 or is it OK to just roll with this?

There is no difference other than the variable name, yes?
However, I don't want to merge this. If you want to open a PR for a backport, I recommend the following flow:

Make a new branch release/0.4.4 that branches of 0.4.3
Create a PR from another branch towards release/0.4.4
Merge PR
Release top of release/0.4.4 branch

backport #1429 or is it OK to just roll with this?

There is no difference other than the variable name, yes?
However, I don't want to merge this. If you want to open a PR for a backport, I recommend the following flow:
* Make a new branch `release/0.4.4` that branches of `0.4.3`

* Create a PR from another branch towards `release/0.4.4`

* Merge PR

* Release top of `release/0.4.4` branch

I will be doing a release tomorrow or the day after anyway to align the API changes in the maker (so that a single automation can serve both makers), I'm happy to help out with backporting (or even just cut a release myself, as I'll be doing it anyway)


Don't use target es6 in es transpile to support IE11

Proposed changes
ES target was transpiling with es6 features (like const and =>). This PR keeps the imports and exports, but transpile to es5 code (var and function)
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

cool, this should fix some IE issues we were having with the latest versions

thanks guys! and sorry for beeing overly agressive with new features and changes.
Did you check if code-splitting still works? (should so).

@macrozone Yes, it is

@macrozone also don't worry, keep pushing man, we'll give the package some love too soon enough =P

@fernandobandeira  :-D
as you are already here, checkout https://github.com/react-page/react-page/pull/744
see the examples for how this can be used

@DouglasGabr did it fix the ie11 compatibility for you? i  still see syntax error in ie11, but i have to check whether i actually included your PR in master as i remember


Wheels for Python 2.7 x64 UCS2 on manylinux?

pyzmq currently has binary wheels for python 2.7 x64 manylinux1 with wide unicode (UCS-4).
(eg. pyzmq-18.0.1-cp27-cp27mu-manylinux1_x86_64.whl)
Would it be possible to also get binary wheels for the ABI-incompatible python 2.7 x64 manylinux1 with narrow unicode (UCS-2)?
(eg. pyzmq-18.0.1-cp27-cp27m-manylinux1_x86_64.whl)

2.7 is dead.


[#3765] improvement(client-python): Fixed missing-timeout Pylint rule for client-python

What changes were proposed in this pull request?
This PR fixes missing-timeout Pylint rule for client-python

modified:

clients/client-python/tests/integration/integration_test_env.py    (added a reasonable timeout for requests.get)
clients/client-python/tests/integration/auth/test_oauth2_client.py   (added a reasonable timeout for requests.get)
clients/client-python/pylintrc   (removed missing-timeout from disable section in pylintrc)

new file:

clients/client-python/tests/integration/config.py (added a file to store constant values)

Why are the changes needed?
Define a reasonable timeout for requests.get to prevent program from hanging indefinitely
Fix: #3765
Does this PR introduce any user-facing change?
No.
How was this patch tested?
./gradlew clients:client-python:pylint

@liuchunhao thanks a lot for your contribution.
@noidname01 would you please help to review when you have time.

Overall LGTM, thanks @liuchunhao for your contributions.


feat(analytics-chart): lock tooltip on click + max height [MA-1729]

Summary

Implement max height + scroll for tooltips to prevent tooltip from growing too large.
Freeze tooltip on click in order to be able to interact with it (eg: scrolling)
Save the last drawn vertical line in the vertical line plugin to continue highlighting which part of the chart the tooltip is currently referring to
Add plugin to highlight the current "active" bar when locking the tooltip on the last actively hovered bar.
Allow dragging the tooltip when it is locked
Make tooltip look "draggable" when it's locked

add "drag" icon when it's in locked state
set cursor to "move" when it's in locked state

https://konghq.atlassian.net/browse/MA-1729
https://www.loom.com/share/2e933e13c6764613a8ce4253e962b59a

PR Checklist

[ ] Naming & Structure: the files and package structure use the conventions outlined in the Creating a Package docs.
[ ] Tests pass: check the output of all package unit and/or component tests.

[ ] If this PR is the result of a bug, test coverage was added accordingly.

[ ] Functional: all changes do not break existing APIs, but if so, a BREAKING CHANGE commit is in place to bump the major version.
[ ] Conventional Commits all commits follow the conventional commit standards outlined in the main README.
[ ] Docs: includes a technically accurate README, and the docs have been updated accordingly based on the changes in this PR.

@filipgutica I wonder if we should have some help text that highlights you need to click to "fix" the tooltip and then something to explain you can drag + click again on the chart to dismiss the "fix". WDYT?

That's not how scrolling works, padding/margin will only be applied, not to the last "visible" element, but to the real last element that's behind the "scroll"


Create Conscript launch configurations

Conscript (https://github.com/n8han/conscript) is a tool for installing and updating Scala software programs.
The launchconfig file contains the launch configurations used by Conscript to install and update the Ammonite-Shell.
It would be simple as that:
cs lihaoyi/Ammonite
But at the moment it must be:
cs andrelfpinto/Ammonite --branch topic/conscript

Honestly I don't think this is useful. Ammonite has its own install isntructions, brew install, and I don't think installing via cs provides us any real value over them. Given the lack of follow-up nagging, I suppose it can't be that high a priority for you either, so I'm closing this for now...


How to deal with non-singleton stores inside of static transition hooks?

Hi all, I've been following the 1.0 release pull request, and keeping an eye out for patches to master that might address the static transition hooks and the inability to access props from within them.
I'm using Flummox, which does not use singletons for stores. Instead it passes stores and state in as props. I'm needing to add some basic route authorization that prevents users from accessing certain routes if one of my flummox stores says the user is not signed in.
What is the recommended way of handling this in the meantime, until the 1.0 rework lands? I've seen that there is a fork that adds the ability to add state to the router, I think. Are there other options? Am I able to use the next branch at the moment, or is it not in a usable state?
Thanks!

See https://github.com/rackt/react-router/pull/590 - you can use his fork to access context in a willTransitionTo. Specifically I'm using someone else's fork which fixes an es6 issue:
"react-router": "git://github.com/bobpace/react-router.git#transitionContext",

then
 var Router = require('react-router/build/npm');

Server side working with fluxible and this pattern.

I would also love to know more about this.
Do we really need to pass it to a function called requireAuth that returns a class?

@DelvarWorld alright cool, im using the branch now. thanks. instead of requiring that build path though, i cloned the branch locally (not as a dependency to my project), and then used npm link to add it to my project. that way its just a drop in replacement without having to change the imports.

You'll have a few options in 1.0, we're working our butts off to ship a beta this week, I'll make sure to update this thread with what it will look like.

Thanks for all the hard work, @ryanflorence. I'll def help test out the beta as soon as ya'll post it.

I'll def help test out the beta as soon as ya'll post it.

Me too. Thanks for working on this guys

https://github.com/rackt/react-router/pull/590#issuecomment-111910388

I love it. Thanks a ton!


Split PREFIX from DESTDIR

Currently, the only way to select the installation directory in panda is DESTDIR. This is confusing two concepts that are quite well defined in other toolchains:

A prefix is an alternative final install location, for example /usr/local/bla or /home/users/perl6
A destdir is a temporary staging directory for the purpose of packaging. Setting it to /var/deb/staging/rakudo should mean files get installed to something like /var/deb/staging/rakudo/usr/lib/perl6/. It's prepended, but doesn't otherwise affect the logic.

Currently panda supports a DESTDIR environmental variable with semantics of a prefix argument. This is rather unfortunate, and will make life for packagers harder later on.

Fixed in https://github.com/tadzik/panda/commit/43525de12f6e296bb4b16a43d09fa5e6da54c5b7

(We don't actually support DESTDIR at all, but I don't think it's actually needed for anything at this point).


Eulers Formula

Hi,
symengine seems not to recognize eulers formula as in e**(ix) = cos(x) + isin(x), or cos(x) = (e**(ix) + e**(ix))/2. The following code should give zero, but it doesn't.
Analytically in my calculations the complex parts would disappear, here unfortunately symengine doesn't see this.
from symengine import I
import symengine as si
r =si.symarray('r', 1)

b =  (si.exp(1.0*I*r[0]) + si.exp(-1.0*I*r[0]))/2 - si.cos(r[0])
print(b)

This gives the following
(1/2)*(exp((-0.0 - 1.0*I)*r_0) + exp((0.0 + 1.0*I)*r_0)) - cos(r_0)

I can go around this by taking the absolute value later on, but maybe there is a better solution.
Thanks for the help!
BlackTea

Duplicate of https://github.com/symengine/symengine/issues/1330


chore(release): v0.11.1

:robot: I have created a release beep boop
0.11.1 (2023-06-24)
Bug Fixes

img element preflight style. (f44e1d1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sira-design/sira/releases/tag/v0.11.1 :sunflower:


how can I get cookies sent by clients ?

from,
auto httpEnterCallback = [&port](const HTTPParser& httpParser,
            const HttpSession::Ptr& session) {
...
});

I try to access cookies, however I haven' t found any method for that.
In the meantime I have seen that HttpRequest has setCookie, I would excpect a symetrical method getCookie somewhere I can access when I receive a request from a client.

Please use httpParser.getValue("cookies") access cookies http header.

https://github.com/IronsDu/brynet/blob/4879414c1ecd5c3159f9b16c7d113057fdbeb666/include/brynet/net/http/HttpParser.hpp#L91-L105


Allowing changing replication-factor dynamically.

Closing this PR, will handle replication-factor with all other dynamic configuration parameter.


torus signup

I try to use torus-cli for configure my first access, but when I run this command and fill fields, always received Signup failed, please try again.

@junior-carreiro-movile I received the error Torus is no longer accepting signups., the error message must be Signup failed, please try again in your version


Create docs for image import and upload

This task is adding the guides for the user to instruct how to use image import and upload subcommands
/kind documentation
/priority important-soon
/assign @bkhadars

fixed via #107


Update BASE_VERSION to 1.12-2022-05-05T19-02-19

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry_istio_release-1.12
c7d98673cbf2aeddf711aaefde0d37c33d633df3
link
true
/test integ-telemetry_istio_release-1.12

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-telemetry_istio_release-1.12


Fix parameter_pk crash when __pk is missing

When pk is "" the return value is an empty slice string.
But the functiion PK() consume the first element in PKs() and crash.
Here we return an array with one empty string

bad  fixing


pass :app_lifetime to Thread.start

... and test-depends HTTP::Server::Tiny

hmm... test case still fail

NOTE: Tests with this patch are passed on my local machine with today's latest Perl6. How about re-run test ?
%  perl6 --version
This is perl6 version 2015.10-112-gd98dc80 built on MoarVM version 2015.10-14-g5ff3001

I re-ran tests, but they failed again with the same output.
1st: https://travis-ci.org/tokuhirom/p6-WebSocket/builds/88477982
2nd: https://travis-ci.org/shoichikaji/p6-WebSocket/builds/88602307
t/client-server.t ..
1..5
starting server
http server is ready: http://<IP_ADDRESS>:15555/ (pid:5016)
ready connect
ok 1 - s: ready
ok 2 - c: ready
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.

I'm working on it.

@tokuhirom thanks!

I'm trying to install via panda on my mac; it's telling me there's both too many tests (5 out of 4) and that they start out of sequence;
Test Summary Report
t/client-server.t (Wstat: 0 Tests: 4 Failed: 0)
Parse errors: Tests out of sequence.  Found (2) but expected (1)
Tests out of sequence.  Found (3) but expected (2)
Tests out of sequence.  Found (4) but expected (3)
Tests out of sequence.  Found (5) but expected (4)
Bad plan.  You planned 5 tests but ran 4.
Files=6, Tests=74, 11 wallclock secs ( 0.03 usr  0.01 sys + 10.28 cusr  0.43 csys = 10.75 CPU)
Result: FAIL
This is for Websocket::P6SGI... panda said there was not 'Websocket' so I assume these are one and the same.

Tests are sometimes failed, sometimes passed. I suppose Perl6 Test library is not thread-safe.


NodeJS 16 decommissioned in January

According to the documentation, NodeJS 16 is going to be decommissioned is January:
https://cloud.google.com/functions/docs/runtime-support

Runtime
Generation
Runtime ID
Stacks
Runtime base image
Deprecation
Decommission

Node.js 22 (preview only)
Run functions
nodejs22
google-22-full
google-22-full/nodejs22
2027-04-30
2028-10-31

Node.js 20
1st gen, Run functions
nodejs20
google-22-full
google-22-full/nodejs20
2026-04-30
2026-10-30

Node.js 18
1st gen, Run functions
nodejs18
google-22-full
google-22-full/nodejs18
2025-04-30
2025-10-30

Node.js 16
1st gen, Run functions
nodejs16
google-18-full
google-18-full/nodjes16
2024-01-30
2025-01-30

Node.js 14
1st gen, Run functions
nodejs14
google-18-full
google-18-full/nodjes14
2024-01-30
2025-01-30

Currently, if you switch to NodeJS 18 and run the emulator, you will run into an error caused by esbuild.
$ nvm use 18
$ nx build functions
$ node node_modules/firebase-tools/lib/bin/firebase.js emulators:start
i  emulators: Starting emulators: auth, functions, firestore, database, hosting, pubsub, storage, eventarc
i  firestore: Firestore Emulator logging to firestore-debug.log
✔  firestore: Firestore Emulator UI websocket is running on 9150.
i  database: Database Emulator logging to database-debug.log
i  pubsub: Pub/Sub Emulator logging to pubsub-debug.log
i  hosting[nx-firebase-proj]: Serving hosting files from: packages/nx-firebase-proj-app/public
✔  hosting[nx-firebase-proj]: Local server: http://<IP_ADDRESS>:5000
i  ui: Emulator UI logging to ui-debug.log
i  functions: Watching "/home/exac/example-org/dist/packages/functions" for Cloud Functions...
⚠  functions: package.json indicates an outdated version of firebase-functions. Please upgrade using npm install --save firebase-functions@latest in your functions directory.
⚠  functions: Please note that there will be breaking changes when you upgrade.
⚠  functions: Your requested "node" version "16" doesn't match your global version "18". Using node@18 from host.
i  functions: Loaded environment variables from .env, .env.local.
Serving at port 8424

Error: Dynamic require of "util" is not supported
    at file:///home/exac/example-org/dist/packages/functions/main.js:12:9
    at node_modules/firebase-functions/lib/logger/index.js (file:///home/exac/example-org/dist/packages/functions/main.js:465:18)
    at __require2 (file:///home/exac/example-org/dist/packages/functions/main.js:15:51)
    at node_modules/firebase-functions/lib/params/types.js (file:///home/exac/example-org/dist/packages/functions/main.js:549:19)
    at __require2 (file:///home/exac/example-org/dist/packages/functions/main.js:15:51)
    at node_modules/firebase-functions/lib/params/index.js (file:///home/exac/example-org/dist/packages/functions/main.js:872:19)
    at __require2 (file:///home/exac/example-org/dist/packages/functions/main.js:15:51)
    at node_modules/firebase-functions/lib/common/encoding.js (file:///home/exac/example-org/dist/packages/functions/main.js:960:20)
    at __require2 (file:///home/exac/example-org/dist/packages/functions/main.js:15:51)
    at node_modules/firebase-functions/lib/v2/providers/https.js (file:///home/exac/example-org/dist/packages/functions/main.js:43834:22)

⬢  functions: Failed to load function definition from source: FirebaseError: Functions codebase could not be analyzed successfully. It may have a syntax or runtime error

┌─────────────────────────────────────────────────────────────┐
│ ✔  All emulators ready! It is now safe to connect your app. │
│ i  View Emulator UI at http://<IP_ADDRESS>:4000/               │
└─────────────────────────────────────────────────────────────┘

One possible fix is to modify the packages/functions/project.json:
{
  "targets": {
    "build": {
      "executor": "@nx/esbuild:esbuild",
      "options": {
        "esbuildOptions": {
          "banner":{
             "js":"const require = (await import('node:module')).createRequire(import.meta.url);const __filename = (await import('node:url')).fileURLToPath(import.meta.url);const __dirname = (await import('node:path')).dirname(__filename);"
            }
        }
      }
    }
  }
}

That said, this is with just the basic helloWorld example function commented in, and initializeApp imported and called. I'm not sure if there are more issues with a more complex app.


feature: reflect remote events to the local cluster

Description
This pr adds the possibility to reflect remote events to the local cluster
Fixes #1781
How Has This Been Tested?

[x] locally

/test

Thank you so much for this feature.

Hi @Sharathmk99, this greatly improves debuggability and visibility. I appreciate your suggestion.

/test

/test

/test

/merge


After syncing with DropBox

When trying to load the stock markup email I get this error:
Uncaught node.js Error
[Code]
TypeError: Cannot call method 'replace' of undefined
at Lexer.lex (file:///tmp/.org.chromium.Chromium.qGl15M/public/application.js:13586:10)
at Function.Lexer.lex (file:///tmp/.org.chromium.Chromium.qGl15M/public/application.js:13577:20)
at marked (file:///tmp/.org.chromium.Chromium.qGl15M/public/application.js:14547:35)
at eval (file:///tmp/.org.chromium.Chromium.qGl15M/public/application.js:10743:40)
at IDBRequest.eval (file:///tmp/.org.chromium.Chromium.qGl15M/public/application.js:13124:24) [/CODE]

Hello, I am getting this error on the latest version of springseed.
Uncaught node.js Error

TypeError: Cannot call method 'replace' of undefined
    at Lexer.lex (file:///tmp/.org.chromium.Chromium.61Dush/public/application.js:13586:10)
    at Function.Lexer.lex (file:///tmp/.org.chromium.Chromium.61Dush/public/application.js:13577:20)
    at marked (file:///tmp/.org.chromium.Chromium.61Dush/public/application.js:14547:35)
    at eval (file:///tmp/.org.chromium.Chromium.61Dush/public/application.js:10743:40)
    at IDBRequest.eval (file:///tmp/.org.chromium.Chromium.61Dush/public/application.js:13124:24)


feature: support '-d' start param

Issues associated with this PR
When upgrade mosn in xDS mode, new mosn only inherit fd when loading static config. New mosn will fail to listen on port in LDS due to port conflict.
Solutions
We  support '-d' start parameter, you can use it along with feature "auto_config" to  implement configuration persistence.
Example:
 ./build/bundles/v0.17.0/binary/mosn start -c mosn.json -d ./dy.json -f "auto_config=true" -n 'xxx'

Use "-d" along with auto_config, config will be dumped to the path specified by "-d" parameter instead of "-c" parameter.
And if dy.json is not empty, config in dy.json will be loaded. Only clusters, listeners, routers in dy.json will be loaded.
You can still update other configs in mosn.json.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@7e9599e). Click here to learn what that means.
The diff coverage is 61.90%.

@@            Coverage Diff            @@
##             master    #1450   +/-   ##
=========================================
  Coverage          ?   59.26%
=========================================
  Files             ?      332
  Lines             ?    26917
  Branches          ?        0
=========================================
  Hits              ?    15952
  Misses            ?     9196
  Partials          ?     1769

Impacted Files
Coverage Δ

pkg/configmanager/dump_action.go
63.63% <50.00%> (ø)

pkg/configmanager/load_config.go
67.21% <63.15%> (ø)

pkg/module/http2/frame.go
81.94% <0.00%> (ø)

pkg/server/server.go
0.00% <0.00%> (ø)

pkg/filter/stream/commonrule/limit/limitengine.go
42.10% <0.00%> (ø)

pkg/upstream/cluster/edf.go
93.54% <0.00%> (ø)

pkg/upstream/cluster/loadbalancer.go
65.69% <0.00%> (ø)

pkg/stream/http2/connpool.go
1.98% <0.00%> (ø)

pkg/protocol/xprotocol/bolt/api.go
100.00% <0.00%> (ø)

pkg/log/types.go
0.00% <0.00%> (ø)

... and 324 more

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 7e9599e...7ce522f. Read the comment docs.


Document unchangeable infrastructure

Which parts of the Empire stack cannot be modified, because empire/emp depend on their existence/exact configuration?
For example, it looks like I can tweak subnets, change CPU/memory sizing on ECS tasks, and otherwise tweak the stack. How far can I push it - which parts are hands-off (hard-coded names, ports, IPs, etc) due to expectations made by empire's or emp's codebase?

Good idea. Gonna use this issue to keep track of those things.
The first thing that comes to mind is the port allocations, which uses a static list of 1000 ports to allocate from. This could be a problem for some.

A lot of ELB settings are also currently unchangeable via Empire, like connection draining timeout, listening mode, health checks, etc. These can be changed within the AWS console after they've been created though.