Suggestion for usage guide

Dear OKHTTP developers,
I only would like to give an input regarding the usage guide/wiki of okhttp library.
After checking the code, I understand that in order for connection to be closed immediately,
app developers need to specify explicitly in the header "Connection: close" so that the connection is not reused.
Otherwise, it will open waiting to be reused.
I think many developers out there (especially who are new to okhttp) are not aware of this behavior.
Therefore, the connection is still open although they will not use it anymore, causing
waste of device energy consumption.
In one case I found that in an MMS app, it does not close the connection immediately
after finished retrieving MMS from server. It lingers for about 20 seconds before finally
the server initiate session close by sending FIN packet.
So, I would like to suggest to put this notice in OKHTTP wiki or guide, so that
app developers aware that if they do not want to reuse the connection, they must
add "Connection: close" value in the header.
Thank you.

The guide says this:

Once the response has been received, the connection will be returned to the pool so it can be reused for a future request. Connections are evicted from the pool after a period of inactivity.

What else should we say?


add cluster subcommand, and combine cluster start and bcbio bootstrap

Hey Brad, I combined 'elasticluster start' and 'aws bcbio bootstrap' into 'cluster start' - this seems a bunch nicer since I always wind up forgetting to bootstrap a cluster I've started.
It also changes 'aws bcbio run' to 'aws cluster command'. I can update the docs in bcbio-nextgen for all of this if you like.
The one remaining question is how to handle elasticluster's -s and -c args. Right now, you can pass them to bcbio_vm.py elasticluster and it will pass them through, but we use -c to specify a cluster name everywhere else. Any ideas on how we might want to deal with that? Maybe support environment variables for the elasticluster storage and config file paths, which would be nice if people want to override them since they can set them once in their shell dotfiles and not have to specify those args each time?
instead of:

  bcbio_vm.py elasticluster start bcbio
  bcbio_vm.py aws bcbio bootstrap

you can now simply:

  bcbio_vm.py aws cluster start

other commands that have changed:

bcbio_vm.py elasticluster ssh bcbio -> bcbio_vm.py aws cluster ssh
bcbio_vm.py elasticluster stop bcbio -> bcbio_vm.py aws cluster start
bcbio_vm.py aws bcbio run -> bcbio_vm.py aws cluster command

This should be ready to merge (I made a couple small code changes and squashed).
This uses the same elasticluster config file (~/.bcbio/elasticluster/config) for everything, and users can pass -n CLUSTERNAME to the various subcommands to select a cluster. We'll add cluster add, cluster remove, and cluster set commands down the line to add/remove clusters from that config file, and set commonly used configuration values for a given cluster.
I left the elasticluster subcommand (bcbio_vm.py elasticluster [...]) in case someone wants to use some of the other elasticluster subcommands - our wrapper functionality passes the right elasticluster config file path. I think we should leave this undocumented, but we can always remove it.

I almost forgot, the bcbio docs need to be updated for the new commands. I'll plan on updating bcbio-nextgen/docs/contents/cloud.rst and opening a PR for that unless you beat me to it.

John;
Thanks so much for this. Awesome. I'll work on updating the docs and adding in the sub-command ideas we mentioned. This is awesome stuff.


Is the camera's light center the origin of the camera's coordinate system, for example, should the X and Y values directly in front of the camera's light center be zero? I placed a plane region directly in front of the camera plane, but the X and Y values of the position of the point directly opposite the camera light center are not 0. Why is this?

@graugans

Hey @haoyuefan , I was out of office the last three weeks.
What kind of plane did you put in front of the camera? What we typically define as the center of the coordinate system is the front glass of the camera and the center of the front face. But @GreNait or @lola-masson may have some graphics to explain this in more detail.

@graugans what's the defination of coordinate system of camera? ,specifically,where are the direction of X,Y,Z axis? i cannot find any technical reports in @GreNait or @lola-masson.

Hi @Johnlan197 ,
In principle, our systems use Z for the distance, X for the left/right and Y for up/down. However, the ifm3d is using (I think) the robotic approach. meaning that X is the distance. Does that make sense?
All coordinates are in reference to the camera center. Which is depending on the camera. For the O3D it is at the middle of the lens at the height of the orange sealing. You can of course provide an extrinsic calibration if you want to.
Does that make sense?

Hi @Johnlan197 ,
In principle, our systems use Z for the distance, X for the left/right and Y for up/down. However, the ifm3d is using (I think) the robotic approach. meaning that X is the distance.
All coordinates are in reference to the camera center. Which is depending on the camera. For the O3D it is at the middle of the lens at the height of the orange sealing. You can of course provide an extrinsic calibration if you want to.
Does that make sense?

is there a more intuitional picture showing the point cloud origin relative to camera shell


[WIP] Get chip-tool to broadcast commissioner mdns advertisement

Problem
Some tests needs to be runned against a commissioner with a custom txt field.
Change overview

Add a new advertise-commissioner command to chip-tool with optional parameters such as interface-id and custom-txt-record
Update both the platform mdns implementation and minimal

Testing
It was locally tested using both implementations and looking at the output with the dns-sd command.
fix #15721

Fast tracking given this has had enough time for review.

/rebase

/rebase

@vivien-apple ?


parameters are duplicated in FastFortranSubroutine and FastFortranFunction

for example 'findbk' has 4 parameters: lib, title, lib, title

to check, doe snot seem to happen anymore, may be there was a bug in the import ...

tested on "testFunctionWithParameter" and "testSubroutineWithParameters. Not reproducible


Fix normals (real)

Test this branch at the staging URL: https://silenthillmuseum.org/staging/
This is the same change attempted in v0.1.8, except there I forgot to extract each rotation matrix before inverse/transposing and applying to the normals.
@Raq1 I'm sorry for the hasty ping last night, I should be holding my main branch to a higher standard. So here's a more careful PR that I've bug-tested!
Also, I agree with you about the hair needing to use the alpha hashed blending mode! I've added that to the Blender instructions. I've learned from Murugo that PS2 games often use two sections of primitives, one that should be used with alpha clip and the other with alpha blending, so SH2 is no anomaly here.
    🟣  Original vertex normals restored.
    🟣  Simplified and revised Blender import instructions.
    🟣  Added a "Visualize Normals" option to the controls.

Let me know what you think, hopefully all checks out!

Great! I compared the normals with the ones imported with Murugo's plugin and the normals seem to match perfectly. No worries for the ping. Also smart thinking about adding the Visualize Normals option!
One last thing I'd like to mention is that I noticed you're using Closest Texture Interpolation instead of Linear, is that a deliberate choice? I'm pretty sure the game engine itself uses Linear Interpolation to smooth out the pixels of the textures.
Closest:

Linear:

This is the last thing needed, I think, to make the models look 100% accurate to the game engine in the SH Museum.
Other than that, I think this project has everything it needs! Morph meshes for facial animations would be a great addition too, but you can decide whether or not to deal with them of course, they're not that important anyway.
Thank you for your amazing job!

thanks so much, @Raq1!
Re: using linear interpolation instead of nearest neighbor, that's a good suggestion! I've been turning on linear interpolation whenever importing into Blender, so I should definitely add it in here. I'll put it up for this next version.
Wireframe mode is also a great idea! Three.js has a toggle for that. I'll add a checkbox for it.

I may add in the checkerboard UV visualization, but I'm not sure. All I'm really doing is using a texture that maps the U and V channels into RGB. This method is a common UV visualization technique in shaders, e.g. see here: https://www.shadertoy.com/new
I will admit whatever I'm doing now creates a bit of a washed out image here xD
As for planned features, I definitely want to document the facial animation data. It's the last major section I haven't included in my documentation, and hopefully doing so will help preserve this information. I'll figure out some way to get it into the Museum.
I wouldn't the morph data is highest priority at the moment though; my next priority is import rather than export, i.e. being able to generate new mdl files you can insert into game! I've already had some success with this, as you can see here:

After that, it'd be fun to do other file formats from SH2 and the Team Silent series!


no train_val_gt.txt generated

may i know why is this happening?

Do you solve this problem?
I think you should genereate the list first by python tools/generate_seg_tusimple.py --root $TUSIMPLEROOT

yes i solved it,thanks for replying


Create union and enum dialog does not populate a default name for the type

In the types view, when we press S to create a structure, the dialog finds a default usable name for it, e.g., struct_xxx. This is not done for the union or enum

This should be available in dev 4.1.5179


Fully annotate and document public operations

Make sure all public ECT operations are tagged, have type annotations and comprehensive usage and background information and clear input/output descriptions.
Verify by listing all operations by
ect op list

and then printing information like so
ect op info OP

[ ] coregister
[ ] pearson_correlation
[ ] harmonize
[ ] open_dataset
[ ] read_json
[ ] read_netcdf
[ ] read_object
[ ] read_text
[ ] save_dataset
[ ] write_json
[ ] write_netcdf3
[ ] write_netcdf4
[ ] write_object
[ ] write_text
[ ] plot_map
[ ] select_variables
[ ] subset_spatial
[ ] subset_temporal
[ ] subset_temporal_index
[ ] timeseries
[ ] timeseries_mean


Corrected bug related to skipping Libraries that had WFs and/or ERs

Also:
Now calls ExecuteQueryRetry instead of ExecuteQuery
Cleaned up logging and output messages

Hi @rtielke, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

Hi, I am closing and re-opening this PR to bump the CLA bot. Sorry for the inconvenience!

Hi @rtielke, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Ron Tielke). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Thx Ron!


fix v3 api ref issue in getting started doc

Signed-off-by: Abhay Narayan Katare<EMAIL_ADDRESS>Commit Message: redirection issues in getting started docs for v3 API reference.
Additional Description: same has been identified in v1.15 and v1.16 as well ( see below urls)
https://www.envoyproxy.io/docs/envoy/v1.15.0/start/start
https://www.envoyproxy.io/docs/envoy/v1.16.0/start/start
https://www.envoyproxy.io/docs/envoy/v1.17.0/start/start
Additional Description:
Risk Level: LOW
Testing:
Docs Changes: Yes
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]
part of #11027

@alyssawilk JFYI: this is new one created.

seems, i checked out from old branch ("master"). it's my bad :( . shall close this and recreate new PR from "main".


Windows Server 2016 TargetInvokationException

I can't get Bonobo 5.2 working on WS2016 in IIS. Any ideas?
Exception information:
Exception type: TargetInvocationException
Exception message: Exception has been thrown by the target of an invocation.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Owin.Loader.DefaultLoader.<>c__DisplayClass12.b__b(IAppBuilder builder)
at Owin.Loader.DefaultLoader.<>c__DisplayClass1.b__0(IAppBuilder builder)
at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.<>c__DisplayClass2.b__0(IAppBuilder builder)
at Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action1 startup)    at Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action1 startup)
at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory)
at Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context)
at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Object reference not set to an instance of an object.
at Bonobo.Git.Server.Startup.Configuration(IAppBuilder app)

Oh, the joys of a .NET stack trace in 2016.  Not a single line of Bonobo code in it.
Are you in a position to build Bonobo from source?

Trying that now, but in the meantime I get this in Bonobo.Git.Server.Errors.log:
Native library pre-loader is trying to load native SQLite library "Z:\www-root\Bonobo\bin\x64\SQLite.Interop.dll"...

Ok built from source (master) and I now get this:
Native library pre-loader is trying to load native SQLite library "Z:\www-root\Bonobo\bin\x64\SQLite.Interop.dll"...
w3wp.exe Error: 0 : Server Error occured and caught in Global.asax - System.Web.HttpCompileException (0x80004005): c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\b4aeed19\8fb04544\App_Web_logon.cshtml.a8d08dba.ajgz7btw.0.cs(48): error CS0433: The type 'ASP.global_asax' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\b4aeed19\8fb04544\assembly\dl3\b5d4091a\00263bb9_2d80d101\App_global.asax.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\b4aeed19\8fb04544\App_global.asax.rvagzeoa.dll'
at System.Web.Compilation.AssemblyBuilder.Compile()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult)    at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

The SQLite message in the error log is not an error - it's just a component being noisy.
Are you able to run under a debugger, and single-step Bonobo.Git.Server.Startup.Configuration?

I tried remote debugging but I can't set breakpoints and when it crashes all I get is disassembly :(

Solved it, it was Application_Start in global.asax that didn't get hit.
The cause was some "precompiled-files" lingering in the folder, but strange since is has been working in Server 2012 R2 with the exact same Bonobo-installation before. Anyway, now it works, compiled from source, will see what happens when I upgrade Bonobo with new releases.

Glad you're sorted.

Had the exact same problem today, including the SQLite.Interop.dll error. The solution was to publish from source and copy to the server (including the SQLite.Interop.dll folders). I turned off precompile in the publishing profile.
The problem occured when we upgraded from Windows Server 2012 to 2016.


Expanded IPv6 Formatter

This PR adds a new Formatter that outputs IPv6 addresses in their expanded form.
I didn't squash the commits intentionally so you can see the implementation where ConsistentFormatter::ntopVersion6() remains a private function.

Thanks for making the effort to make this pull request! ☺
Can you explain the reasoning for this addition? The formatters are only used in the IPv6::getCompactedAddress() method and not the IPv6::getExpandedAddress() method meaning that the new formatter you propose will change the intended functionality of IPv6::getCompactedAddress().
I don't think this particular change is necessary, but you have brought up a good point of whether there are too many methods in the IpInterface implementations (getDotAddress(), getCompactedAddress(), getExpandedAddress(), and getProtocolAppropriateAddress()) that deal with formatting, and whether that responsibility should be moved to additional formatters.
What are your thoughts? As a user of the library, what would be most useful for you?

I am working with the instance of a Multi IP address and need a way to output the IP address in an extended format (if it is a v6 IP) and didn't want to check the version before calling the appropriate method. But now that I think of it that would probably be a better solution.
Thank you for your input.


Converting the original dicom images to png

How did you convert the original images from [1] to png?
Thanks!
[1] https://medicalsegmentation.com/covid19/

Hi there, you can try to use python packages, e.g., nibabel, simpleITK, to read the NIfTI file, extract each slice, and then store the slice in PNG using opencv-python. Please refer to the following links for the details.
https://medium.com/@hbjenssen/covid-19-radiology-data-collection-and-preparation-for-artificial-intelligence-4ecece97bb5b
https://nipy.org/nibabel/
https://nifti.nimh.nih.gov/
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html

@supergengchen nice 👍


fix: upgrade dependencies

Description
This PR updates most dependencies to address most of the https://github.com/asyncapi/generator/security/dependabot issues.
Jest changes:

Renamed genMockFromModule to createMockFromModule -> https://jestjs.io/docs/jest-object#jestcreatemockfrommodulemodulename

Related issue(s)
Fixes https://github.com/asyncapi/generator/security/advisories/GHSA-9x5f-xcwh-x6pg

Still WIP, need to figure out why the test setup no longer works for the new version of Jest.

When I use the Jest Test explorer in VSCode the tests work as expected 🤔

@derberg do you have any idea as to what might not be working?

@jonaslagoni dunno, too many updates in one PR. I can only see it is related to unit tests, not integration tests 🤷🏼
I recommend to not make changes to devDependencies as we do not really care about their security issues right?


Create the generator

Closes #2
This generators runs a series of checks with early returns:
a) if there is no .travis.yml it fails with:
Travis config file not found!. Please run "donejs add travis" first
b) if .travis.yml has deploy settings already, it fails with:
There are deploy settings in your .travis.yml already. Please delete the "deploy" section before running this command
(@matthewp I'm not sure about this message, ideas?)
c) if there is no Procfile, it fails with:
Heroku Procfile not found!. Please run "donejs add heroku" first.
if all checks pass, then it prompts the user to type the heroku app name, it runs
heroku apps --json
sorts the result by created_at date and returns the most recent name (which for guide users should be THE name) and uses it as the default for the prompt.
? What is the name of the Heroku application? (secret-thicket-26115)
Thoughts?
PS: Another detail, the YAML parser I'm using strips unnecessary " from the yaml, that introduces some noise in the .travis.yml diff donejs add heroku-to-travis generates.... Wondering if we should strip those in advance from donejs-travis so the diff only includes the deploy section.

Another thought about donejs-travis.....
We could prompt the user to type the heroku app name they want, and store that http://yeoman.io/authoring/storage.html
We might ask them first if they want to use a random name, or type their own maybe... And this package would try to read the name from the config file first, then do the heroku apps --json as the fallback.

Sounds good! I like the touch of getting the app names for the prompt.  I agree about fixing the Yaml as part of donejs-travis.

This now tries to read the name from the top level config and use it as a suggestion for the user, it fallback to executing heroku apps --json and grabbing the most recent app.
Also, look at that diff <3

NOTE
Teaching for the global config felt weird, I actually isolated the code. It seems the yeoman way in this case would have a single generator and make add travis, add heroku, add heroku-to-travis share a single config object. That way we'd just do:
this.config.get('herokuAppName') in a sub-task.
Not sure if we want to do this tho.

Diff looks great, lgtm.


Important announcement: New github project

Per discussion in the 2nd community meeting, the community is moving forward to a new github project at:
https://github.com/OpenCPMD
All further community driven developments will happen at
https://github.com/OpenCPMD/CPMD
At this point it is highly unlikely that someone will continue to maintain the repository hosted here.

the cpmd.org domain still points to this github project so opencpmd looks like a fork?

@mbanck at the moment we do not consider to let the cpmd.org domain point to the new project. However, no new developments will appear at this repo. At some point we either may change cpmd.org to point to the new repo or just create a new domain.


Wire up InfluxQL Flight

Distributed supports sending an InfluxQL query via Flight. We should support the same method.

@hiltontj I think we can close this now right?


[feat] Add automatic type promotion to element-wise ops

DRAFT: duplicates effort https://github.com/pytorch/TensorRT/pull/1238
Adds automatic type promotion to match the default torch-script behavior for element-wise ops. Debug messages added for the type mismatch and cast.
Messages written to log.
DEBUG: [Torch-TensorRT] - Type mismatch for inputs in element-wise operation %3 : Tensor = aten::add(%0, %1, %2): Int32, Float32
DEBUG: [Torch-TensorRT] - Element-wise op type promotion adding cast from Int32 to Float32 for layer %3 : Tensor = aten::add(%0, %1, %2)

Fixes # (issue)
Please delete options that are not relevant and/or add your own.

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 expected)

This change requires a documentation update

[ ] My code follows the style guidelines of this project (You can use the linters)

[ ] I have performed a self-review of my own code

[ ] I have commented my code, particularly in hard-to-understand areas and hacks

[ ] I have made corresponding changes to the documentation

[ ] I have added tests to verify my fix or my feature

[ ] New and existing unit tests pass locally with my changes

[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

Signed-off-by: Michael Feliz<EMAIL_ADDRESS>Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

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 expected)
This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project (You can use the linters)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[ ] I have added tests to verify my fix or my feature
[ ] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

There was a partial fix in #1201 but I like how generic this is. Can you rebase?
cc: @peri044


Refactor replication to use a buffer cache

Problem
When servers build a replication diff, they allocate many times to collect an intermediate representation of the message. This is quite inefficient.
Solution
Use a buffer for the intermediate representation so allocations are greatly reduced. We still have allocations when new entities are introduced.
I saw a 40% speedup in the 'entities send' benchmark, and 6% in the 'entities receive' benchmark. I did not examine packet sizes, although I expect them to be smaller due to some optimizations around entity and replication ids.
This PR depends on #41.
Follow-up
The replication buffer should have a queue of ComponentDatas collected from despawned entities for reuse with new entities. In that case the long-run upper limit on buffer size will be: O(max entities * max entity size).
The buffer currently limits apps to 65k replicable entities and 127 replicable components per entity. It may be possible to configure those values at compile time.

Codecov Report
Patch coverage: 97.51% and project coverage change: -0.05% :warning:

Comparison is base (cbc6825) 95.47% compared to head (e616aaf) 95.42%.

:exclamation: Current head e616aaf differs from pull request most recent head 0bb7817. Consider uploading reports for the commit 0bb7817 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #42      +/-   ##
==========================================
- Coverage   95.47%   95.42%   -0.05%
==========================================
  Files          10       10
  Lines         663      722      +59
==========================================
+ Hits          633      689      +56
- Misses         30       33       +3

Files Changed
Coverage Δ

src/replicon_core.rs
96.44% <97.36%> (+0.15%)
:arrow_up:

src/server.rs
95.80% <97.82%> (-0.67%)
:arrow_down:

src/client.rs
84.74% <100.00%> (ø)

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

Superseded by #46.


[FEATURE REQUEST] Autoupdate when no activity is detected

Please confirm these before moving forward

[X] I have searched for my feature proposal and not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template

Describe the new feature
Trigger updates when no cursor movement is detected, so it does not interrupt the user
+ When no fullscreen app is running
Describe how this new feature could help users.
Not annoying as much

This, please. Just had the WinGetUI to UniGetUI auto-update trigger in the middle of a gaming session, taking focus away with a UAC prompt.
It was a game running in borderless fullscreen and not exclusive fullscreen, so don't know if that needs to be taken into account for any fullscreen or idle detection that ends up getting implemented.


Autofill OTP setup, backend, account signup, login

To merge after https://github.com/polymorpher/one-wallet/issues/309 fix is done and deployed

Note: after this is merged, client will attempt to relayer and backend HTTPS ports by default instead of HTTP based. Open your browser and access /health routes of the corresponding server first, so that the browser won't have any issue sending HTTPS ajax requests to them later. This is mandatory for Safari

Self-reviewed. Looks good. Need to add sign-up form in Restore as well.


VMQ-Diversity can't authenticate client

Environment

VerneMQ Version: Latest

OS: Linux, Docker image

Docker image: tried vernemq/vernemq and erlio/docker-vernemq

docker-compose file
version: "3.8"
services:
vernemq1:
image: erlio/docker-vernemq
ports:
 - "1883:1883"
- "8888:8888"
environment:
DOCKER_VERNEMQ_ACCEPT_EULA: "yes"
DOCKER_VERNEMQ_ALLOW_ANONYMOUS: "off"
DOCKER_VERNEMQ_plugins.vmq_diversity: "on"
DOCKER_VERNEMQ_plugins.vmq_passwd: "off"
DOCKER_VERNEMQ_plugins.vmq_acl: "off"
DOCKER_VERNEMQ_vmq_diversity.auth_mysql.enabled: "on"
DOCKER_VERNEMQ_vmq_diversity.mysql.host: "db"
DOCKER_VERNEMQ_vmq_diversity.mysql.port: "3306"
DOCKER_VERNEMQ_vmq_diversity.mysql.user: "user"
DOCKER_VERNEMQ_vmq_diversity.mysql.password: "password"
DOCKER_VERNEMQ_vmq_diversity.mysql.database: "system"
DOCKER_VERNEMQ_vmq_diversity.mysql.password_hash_method: "sha256"
depends_on:
- db
db:
image: mysql
environment:
 MYSQL_DATABASE: "system"
# So you don't have to use root, but you can if you like
MYSQL_USER: "user"
 # You can use whatever password you like
 MYSQL_PASSWORD: "password"
 # Password for root access
 MYSQL_ROOT_PASSWORD: "password"
volumes:
 - ./mysqldata:/var/lib/mysql
ports:
 - "3306:3306"

Cluster size/standalone: standalone

Expected behavior
I tried this issue with Mysql and PostgreSQL.
When I followed the steps in the vernemq documentation for authentication with database.
I created a table named vmq_auth_acl:
for MySql:
 CREATE TABLE vmq_auth_acl (   mountpoint character varying(10) NOT NULL,   client_id character varying(128) NOT NULL,   username character varying(128) NOT NULL,   password character varying(128),   publish_acl TEXT,   subscribe_acl TEXT,   CONSTRAINT vmq_auth_acl_primary_key PRIMARY KEY (mountpoint, client_id, username) );
For Postgresql I added as well the CREATE EXTENSION pgcrypto; and changed TEXT to JSON
Inserted a user using the sql statements in de vernemq documentation.
postrgeSQL:
WITH x AS ( SELECT  ''::text AS mountpoint, 'test-client'::text AS "client_id", 'test-user'::text AS username, '123'::text AS password, gen_salt('bf')::text AS salt, '[{"pattern": "a/b/c"}, {"pattern": "c/b/#"}]'::json AS publish_acl, '[{"pattern": "a/b/c"}, {"pattern": "c/b/#"}]'::json AS subscribe_acl)       INSERT INTO vmq_auth_acl (mountpoint, "client_id", username, password, publish_acl, subscribe_acl)           SELECT x.mountpoint, x."client_id", x.username, crypt(x.password, x.salt), publish_acl, subscribe_acl FROM x;
MySQL:
INSERT INTO vmq_auth_acl (mountpoint, client_id, username, password, publish_acl, subscribe_acl)        VALUES ('', 'test-client', 'test-user', SHA2('123', 256), '[{"pattern":"a/b/c"},{"pattern":"c/b/#"}]', '[{"pattern":"a/b/c"},{"pattern":"c/b/#"}]');
I tried Crypt for postgreSQL and tried SHA256 for sql since it was stated that password() was depreciated. So inserted the password using SHA2('123', 256) for mysql and crypt(x.password, x.salt) for postrgessql.
Tried to subscribe to a topic mosquitto_sub -h localhost -p 1883 -t "c/b/#" -u "test-user" -P "123"
I received [warning] can't authenticate client {[],<<"anon-2eJxgD5vEx+S+w9xT5LRlPi1YJc=">>} from <IP_ADDRESS>:56634 due to invalid_credentials
Actual behavior
Expected a success in authentication since Vernemq was able to connect to the database and I checked the database, there is indeed a table vmq_auth_acl  with the user that I inserted. So I have no idea why it is failing the authentication, I thought I followed all the steps from the documentation.

Oh damn, so stupid, now it is working indeed, Thank you very much!


[WIP] AUTH-482: set required-scc for openshift workloads

AUTH-482

/retest-required

/retest-required

/retest-required

I was unable to verify if the changes were applied using must-gather from CI jobs, as there is no namespace called openshift-rukpak. Is there any other test or method I could use to see if the annotations were applied correctly?

We pulled this component from the payload completely -- at the time we did that, it was still tech preview -- and we no longer have plans to ever release it into openshift by default. The repo will remain open for now to ensure that previous releases can still be built, but I think this pull request is no longer necessary.

@kevinrizza thank you for the update. I noticed that this namespace no longer appears in the failing tests in Sippy, which is why I had moved the PR to WIP. Since the component is no longer planned for release, these changes are no longer necessary. Please let me know if there's any need to keep this PR active - otherwise, I'm happy to close the PR.


Chef CLient 13 Amazon Platform

Description

Add Amazon as a platform in client.rb recipe

Issues Resolved
Allows cookbook to work on AWS EC2 instance running AWS Linux and Chef Client 13.
Check List

[x] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Thanks


OpenSSL 3.2.0-alpha1: argon2 impl uses C11 _Static_assert

When compiling on RHEL 6 or SLES 11 I get the following error:
./libcrypto.a(libdefault-lib-argon2.o): In function `kdf_argon2_ctx_set_out_length':
.../providers/implementations/kdfs/argon2.c:1225: undefined reference to `_Static_assert'
./libcrypto.a(libdefault-lib-argon2.o): In function `kdf_argon2_ctx_set_t_cost':
.../providers/implementations/kdfs/argon2.c:1189: undefined reference to `_Static_assert'
./libcrypto.a(libdefault-lib-argon2.o): In function `kdf_argon2_ctx_set_m_cost':
.../providers/implementations/kdfs/argon2.c:1204: undefined reference to `_Static_assert'

These platforms provide GCC 4.3 resp. 4.4 which does not support _Static_assert (seems to have been introduced by C11).
The file actually uses ossl_static_assert_type_eq, which is defined in include/internal/e_os.h as:
/* ossl_static_assert_type_eq: gcc-only variable type static assertion */
# if defined(__GNUC__) && !defined(__clang__)
#  define ossl_static_assert_type_eq(type, x)                                \
        _Static_assert((__builtin_types_compatible_p(type, __typeof__(x))),  \
                        #x " type check failed, expected: " #type)
# else
#  define ossl_static_assert_type_eq(type, x)
# endif

So there seems to be no check for availability of _Static_assert.

Does the change in #22022 fix your problem?

My proposed fix for this in #22091


Fix some audit --strict warnings

Looks like lua-mode retagged their release, or something: https://bot.brew.sh/job/Homebrew Emacs Pull Requests/6/version=mavericks/testReport/junit/brew-test-bot/mavericks/fetch_homebrew_emacs_lua_mode/
Feel free to inquire about it upstream, but they don't seem to support macOS given that the latest version has had failing tests for 9 months with no response: https://github.com/immerrr/lua-mode/issues/110
So I would be fine removing lua-mode entirely.

Looks like muse needs a dependency on htmlize added: https://bot.brew.sh/job/Homebrew Emacs Pull Requests/6/version=mavericks/testReport/junit/brew-test-bot/mavericks/install_homebrew_emacs_muse/

I merged your irony-mode commit as e38ab4e22fe4c57af1b746cb2a43ef921bf9c650; would you mind rebasing this PR?  Thanks so much!

Merged the remaining applicable commits in #443, thank you!


Is there a fork of Tusk that is being maintained?

I hope klaussinani is okay, but we haven't heard from him since this time last year.  I see that there are 196 forks, but it is an impossible task to click on each and every one of them to find out if there is a fork that is being maintained.  Tusk is always running on my desktop and I consider it to be one of my mission critical applications.  I fear the day will come when Tusk will no longer connect to the Evernote servers and I will lose my well-oiled desktop workflow.  Any idea if there is an up to date fork or a worthy alternative?

Has the same question !

Seems klaussinani is still active for other projects, just stopped maintaining Tusk.

Apologize for the other program recomendation. But Tusk is not maintained for long time. I've found solution for myself.
Lets try chrome/chromium shortcut app for evernote, it works similar like Tusk: https://www.laptopmag.com/articles/how-to-create-desktop-shortcuts-for-web-pages-using-chrome

Evernote's new 'Beta' windows desktop is so like tusk (or tusk technology), so i expect there to be a cross platform client. Also it came out about the same time that this was abandoned... but i am sure that is a coincidence.

Someone please make a new electron app of evernote. Shouldn't be too hard, just a wrapper for evernote web app with offline capabilities.

Someone please make a new electron app of evernote. Shouldn't be too hard, just a wrapper for evernote web app with offline capabilities.


Create initial version based on previous work

Create initial version based on previous work by Claudia:
https://github.com/ClaudiaSaxer/PlasoScaffolder

competed


Grid Lines : Center the Grid Lines instead of starting precisely at the input position.

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

Yes, currently the grid lines get drawn precisely at the scaled position. We want the ability to center this.

Ex., Dateline starts at date X. The grid line starts to draw at Position X and 3px towards right. This feature should make 1.5px towards left and 1.5 px towards right. Making it look like its centered.
Describe the solution you'd like

Is it possible, for Snapping the dateline at position X and center it with CSS, when we have a property for snapping

ScreenShots

Edit:

Instead of making it a passive-change, can we make this a non-passive change and get rid of a new property snapping and centering it based on that. Not sure, if it would affect other consumers.

Not an issue any more.


[bugfix] Import cross-env library to work on Windows as well

Changes

Import cross env,  Fix errors reported by ts3.1-typescript-test and typescript test  running on windows
Working well on windows and Mac.

Coverage decreased (-0.01%) to 88.469% when pulling be55fd14babdcd9393d19307b0c60374aa3bd0eb on Alanscut:issue_command into 1872bb22ff6cd19c56e7dc30c5765489d48e65f1 on moment:develop.

@Alanscut Why do the typing tests fail on Windows?
I would prefer not to add an additional library, even as a devDep, but I also notice you are really contributing to this library. Thank you for that! If this is something you need for you to be a developer, let's add it.

@marwahaha As far as windows developer are concerned, it is necessary, otherwise executing npm run test will give an error.
Error information
node_modules\typescript\bin\tsc" is not recognized as an internal or external command, operable program or batch file
https://stackoverflow.com/questions/43430760/unable-to-compile-typescript#
https://stackoverflow.com/questions/37585966/node-modules-bin-package-cmd-file-in-node-js/44468968#44468968
New solutions
Add nyc to the command line, but I have not verified it on mac, what do you think?
"ts3.1-typescript-test": "nyc --reporter=none node_modules/typescript3/bin/tsc --project ts3.1-typing-tests",
"typescript-test": "nyc --reporter=none node_modules/typescript/bin/tsc --project typing-tests",

I'm ok with cross-env !
Please resolve the conflicts and we can include this.

Conflict resolved, thanks 😄 .


This is a awesome tool but I guess it will be better if BaseUrl came from constructor not from some internal variable

I think it does, what do you need?
Please do not put all your issue in the title, and be more precise about what you're trying to achieve and with which options

Thank you @RicoSuter my bad to don't read all interface haha


chore(GroupTheory/GroupAction/Group): Delete

All lemmas can be moved to earlier files

@jcommelin I'll let you decide, since you initially raised the objection. I'm content with Yaël's indication to later split the file into Defs + Basic in some helpful way.

Ok, let's go ahead.
bors merge


Potential KubernetesProvider bug

Hosting in AKS.
It seems like the Kubernetes provider actor stops working/hangs at some random point.
Haven't experienced this one before. maybe a one-off for whatever reason.
Might not ever be an issue, potentially just metrics problems.

Def looks fishy
Plotting the receive count for StartWatchingCluster goes flatline

Maybe these are disposed for some reason and the look stops there?
https://github.com/asynkron/protoactor-dotnet/blob/dev/src/Proto.Cluster.Kubernetes/KubernetesClusterMonitor.cs#L121-L122

happened in a different environment now

Bug in Kubernetes Client AKS refresh tokens?
https://github.com/kubernetes-client/csharp/issues/764

solved by #1532


Update test settings

Assign pytest-django to version 2.9.1. The new release of pytest-django 3.0.0 dropped support for django 1.6 (http://pytest-django.readthedocs.io/en/latest/changelog.html) which is still supported by django-anylink. Alternatively anylink could drop support for django 1.6 ???
Also remove testing with pypy.

Coverage increased (+4.3%) to 97.721% when pulling cfd7cc042603c741251539d263c93bbbb548b015 on update-test-settings into 3b81bf63eb4ca5f6309168ee826e42e2327534af on master.

Coverage increased (+4.3%) to 97.721% when pulling 3dd0ce3103780f04e14a9bac9727c3ab7d14c0fa on update-test-settings into 3b81bf63eb4ca5f6309168ee826e42e2327534af on master.


[1050] Add mcb

Context
cmdline util to help use the app db and apis
Changes proposed in this pull request
Add a cmdline helper script to perform common functions on the API. For example:

display the data presented by the v1 api for a given provider (pages through all the data to find the provider code given)
display data help for a provider in the db including attributes, enrichments, courses, etc

The goal is to provide access to the data and functionality in a guided way that is safer and better sign-posted than using the raw Rails console. This can be useful for people who aren't as familiar with the data, or with certain complex operations that just aren't already packaged up in the app.
Guidance to review
This was done as a quick stab to see if it's viable and useful. We should move commands out into separate modules in lib or similar.

@heidar I'm keen to not spend too much time on this as it's unproven whether it'll prove much value. Could you please let me know if any of the remaining issues are must-haves?


Update to 4 ci parts

Rework the CI to be finished quicker.  Now there are four ci parts.
ci_part1 ---  Desktop + VS components + VS tests
ci_part2 ---  Desktop + Portable + CoreUnitTests
ci_part3 ---  Coreclr + coreclr tests
ci_part4 ---  Desktop + FSharp (Cambridge) + FSharpQa
I removed the Net40_ No Build --- it has no probative value, since ci_part1, 2 and 4 build build portable and coreclr.  If the build test would fail one of those would fail in a similar amount of time with the same errors.
Kevin

Because of the way that groovy is configured, the 4 part ci_ won't happen until a shortwhile after this is committed.


runtime: deadlock/livelock in GC code

The GC appears to be deadlock. The test in issue27695.go triggers it though the test seem unrelated to the deadlock.
go version devel +ac277d9234 Wed Nov 7 13:04:50 2018 +0000 linux/amd64

GOARCH="amd64"
GOOS="linux""

Noticed this running go/test/fixedbugs/issue27695.go from the standard distribution.
Once every 1000 or so runs it hangs. The easiest way to make this happen is to run
GOTRACEBACK=crash stress ../test/fixedbugs/issue27695
Run top and you will see 1 out of a thousand or so invocations of issue27695 hanging.
Grab the PID of one of the hung executions and run gdb and dump all the threads.
rlh@rlh:~/work/go$ gdb -p 49509
GNU gdb (Debian 7.12-6) <IP_ADDRESS>61007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 49509
[New LWP 49510]
[New LWP 49511]
[New LWP 49512]
[New LWP 49513]
[New LWP 49514]
[New LWP 49519]
runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
536		MOVL	AX, ret+40(FP)
warning: File "/home/rlh/work/go/src/runtime/runtime-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
	add-auto-load-safe-path /home/rlh/work/go/src/runtime/runtime-gdb.py
line to your configuration file "/home/rlh/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/rlh/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
(gdb) thread apply all bt

Thread 7 (LWP 49519):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x00000000004261f0 in runtime.futexsleep (addr=0x587a48 <runtime.sched+296>, val=0, ns=100000) at /home/rlh/work/go/src/runtime/os_linux.go:63
#2  0x000000000040971e in runtime.notetsleep_internal (n=0x587a48 <runtime.sched+296>, ns=100000, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/lock_futex.go:193
#3  0x00000000004097f1 in runtime.notetsleep (n=0x587a48 <runtime.sched+296>, ns=100000, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/lock_futex.go:216
#4  0x000000000042d221 in runtime.forEachP (fn={void (runtime.p *)} 0xc00006ffb8) at /home/rlh/work/go/src/runtime/proc.go:1396
#5  0x000000000044d8fd in runtime.gcMarkDone.func1 () at /home/rlh/work/go/src/runtime/mgc.go:1407
#6  0x000000000044fce6 in runtime.systemstack () at /home/rlh/work/go/src/runtime/asm_amd64.s:351
#7  0x000000000042caf0 in ?? () at /home/rlh/work/go/src/runtime/proc.go:1082
#8  0x0000000000000000 in ?? ()

Thread 6 (LWP 49514):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x000000000042617b in runtime.futexsleep (addr=0xc0000604c0, val=0, ns=-1) at /home/rlh/work/go/src/runtime/os_linux.go:46
#2  0x000000000040958f in runtime.notesleep (n=0xc0000604c0) at /home/rlh/work/go/src/runtime/lock_futex.go:151
#3  0x000000000042dfe8 in runtime.stopm () at /home/rlh/work/go/src/runtime/proc.go:1936
#4  0x000000000042ea54 in runtime.gcstopm () at /home/rlh/work/go/src/runtime/proc.go:2133
#5  0x000000000042f2d4 in runtime.findrunnable (gp=0xc000026500, inheritTime=false) at /home/rlh/work/go/src/runtime/proc.go:2188
#6  0x000000000042fcb8 in runtime.schedule () at /home/rlh/work/go/src/runtime/proc.go:2525
#7  0x00000000004301d4 in runtime.goschedImpl (gp=0xc000063c80) at /home/rlh/work/go/src/runtime/proc.go:2620
#8  0x00000000004303e4 in runtime.gopreempt_m (gp=0xc000063c80) at /home/rlh/work/go/src/runtime/proc.go:2648
#9  0x000000000043dab9 in runtime.newstack () at /home/rlh/work/go/src/runtime/stack.go:1033
#10 0x000000000044fdbf in runtime.morestack () at /home/rlh/work/go/src/runtime/asm_amd64.s:429
#11 0x0000000000000000 in ?? ()

Thread 5 (LWP 49513):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x000000000042617b in runtime.futexsleep (addr=0xc000060140, val=0, ns=-1) at /home/rlh/work/go/src/runtime/os_linux.go:46
#2  0x000000000040958f in runtime.notesleep (n=0xc000060140) at /home/rlh/work/go/src/runtime/lock_futex.go:151
#3  0x000000000042dfe8 in runtime.stopm () at /home/rlh/work/go/src/runtime/proc.go:1936
#4  0x000000000042f13a in runtime.findrunnable (gp=0xc000028a00, inheritTime=false) at /home/rlh/work/go/src/runtime/proc.go:2399
#5  0x000000000042fcb8 in runtime.schedule () at /home/rlh/work/go/src/runtime/proc.go:2525
#6  0x00000000004301d4 in runtime.goschedImpl (gp=0xc000062d80) at /home/rlh/work/go/src/runtime/proc.go:2620
#7  0x00000000004303e4 in runtime.gopreempt_m (gp=0xc000062d80) at /home/rlh/work/go/src/runtime/proc.go:2648
#8  0x000000000043dab9 in runtime.newstack () at /home/rlh/work/go/src/runtime/stack.go:1033
#9  0x000000000044fdbf in runtime.morestack () at /home/rlh/work/go/src/runtime/asm_amd64.s:429
#10 0x0000000000000000 in ?? ()

Thread 4 (LWP 49512):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x000000000042617b in runtime.futexsleep (addr=0xc00003a840, val=0, ns=-1) at /home/rlh/work/go/src/runtime/os_linux.go:46
---Type <return> to continue, or q <return> to quit---
#2  0x000000000040958f in runtime.notesleep (n=0xc00003a840) at /home/rlh/work/go/src/runtime/lock_futex.go:151
#3  0x000000000042dfe8 in runtime.stopm () at /home/rlh/work/go/src/runtime/proc.go:1936
#4  0x000000000042f13a in runtime.findrunnable (gp=0xc000024000, inheritTime=false) at /home/rlh/work/go/src/runtime/proc.go:2399
#5  0x000000000042fcb8 in runtime.schedule () at /home/rlh/work/go/src/runtime/proc.go:2525
#6  0x000000000042ffcc in runtime.park_m (gp=0xc000062a80) at /home/rlh/work/go/src/runtime/proc.go:2605
#7  0x000000000044fc5b in runtime.mcall () at /home/rlh/work/go/src/runtime/asm_amd64.s:299
#8  0x0000000000000000 in ?? ()

Thread 3 (LWP 49511):
#0  runtime.procyield () at /home/rlh/work/go/src/runtime/asm_amd64.s:553
#1  0x000000000042c041 in runtime.scang (gp=0xc000063e00, gcw=0xc000027770) at /home/rlh/work/go/src/runtime/proc.go:923
#2  0x000000000044ddbd in runtime.markroot.func1 () at /home/rlh/work/go/src/runtime/mgcmark.go:221
#3  0x000000000041a796 in runtime.markroot (gcw=0xc000027770, i=26) at /home/rlh/work/go/src/runtime/mgcmark.go:202
#4  0x000000000041c1ff in runtime.gcDrainN (gcw=0xc000027770, scanWork=65536, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/mgcmark.go:1006
#5  0x000000000041af84 in runtime.gcAssistAlloc1 (gp=0xc000062c00, scanWork=65536) at /home/rlh/work/go/src/runtime/mgcmark.go:512
#6  0x000000000044de73 in runtime.gcAssistAlloc.func1 () at /home/rlh/work/go/src/runtime/mgcmark.go:423
#7  0x000000000044fce6 in runtime.systemstack () at /home/rlh/work/go/src/runtime/asm_amd64.s:351
#8  0x000000000042caf0 in ?? () at /home/rlh/work/go/src/runtime/proc.go:1082
#9  0x0000000000000000 in ?? ()

Thread 2 (LWP 49510):
#0  runtime.usleep () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:131
#1  0x0000000000433deb in runtime.sysmon () at /home/rlh/work/go/src/runtime/proc.go:4280
#2  0x000000000042cc43 in runtime.mstart1 () at /home/rlh/work/go/src/runtime/proc.go:1206
#3  0x000000000042cb5e in runtime.mstart () at /home/rlh/work/go/src/runtime/proc.go:1172
#4  0x0000000000453ab3 in runtime.clone () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:587
#5  0x0000000000000000 in ?? ()

Thread 1 (LWP 49509):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x000000000042617b in runtime.futexsleep (addr=0x588120 <runtime.m0+320>, val=0, ns=-1) at /home/rlh/work/go/src/runtime/os_linux.go:46
#2  0x000000000040958f in runtime.notesleep (n=0x588120 <runtime.m0+320>) at /home/rlh/work/go/src/runtime/lock_futex.go:151
#3  0x000000000042dfe8 in runtime.stopm () at /home/rlh/work/go/src/runtime/proc.go:1936
#4  0x000000000042f13a in runtime.findrunnable (gp=0xc00002af00, inheritTime=false) at /home/rlh/work/go/src/runtime/proc.go:2399
#5  0x000000000042fcb8 in runtime.schedule () at /home/rlh/work/go/src/runtime/proc.go:2525
#6  0x000000000042ffcc in runtime.park_m (gp=0xc000062780) at /home/rlh/work/go/src/runtime/proc.go:2605
#7  0x000000000044fc5b in runtime.mcall () at /home/rlh/work/go/src/runtime/asm_amd64.s:299
#8  0x000000000044fb79 in runtime.rt0_go () at /home/rlh/work/go/src/runtime/asm_amd64.s:201
#9  0x0000000000000000 in ?? ()
(gdb)

This should be a good starting place.

This is a deadlock between thread 7, which is attempting to force all Ps to a safe point, and thread 3, which must be trying to scan thread 7's user stack. Since neither can preempt the other, they're stuck.
Thread 7 (LWP 49519):
#0  runtime.futex () at /home/rlh/work/go/src/runtime/sys_linux_amd64.s:536
#1  0x00000000004261f0 in runtime.futexsleep (addr=0x587a48 <runtime.sched+296>, val=0, ns=100000) at /home/rlh/work/go/src/runtime/os_linux.go:63
#2  0x000000000040971e in runtime.notetsleep_internal (n=0x587a48 <runtime.sched+296>, ns=100000, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/lock_futex.go:193
#3  0x00000000004097f1 in runtime.notetsleep (n=0x587a48 <runtime.sched+296>, ns=100000, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/lock_futex.go:216
#4  0x000000000042d221 in runtime.forEachP (fn={void (runtime.p *)} 0xc00006ffb8) at /home/rlh/work/go/src/runtime/proc.go:1396
#5  0x000000000044d8fd in runtime.gcMarkDone.func1 () at /home/rlh/work/go/src/runtime/mgc.go:1407
#6  0x000000000044fce6 in runtime.systemstack () at /home/rlh/work/go/src/runtime/asm_amd64.s:351
#7  0x000000000042caf0 in ?? () at /home/rlh/work/go/src/runtime/proc.go:1082
#8  0x0000000000000000 in ?? ()

Thread 3 (LWP 49511):
#0  runtime.procyield () at /home/rlh/work/go/src/runtime/asm_amd64.s:553
#1  0x000000000042c041 in runtime.scang (gp=0xc000063e00, gcw=0xc000027770) at /home/rlh/work/go/src/runtime/proc.go:923
#2  0x000000000044ddbd in runtime.markroot.func1 () at /home/rlh/work/go/src/runtime/mgcmark.go:221
#3  0x000000000041a796 in runtime.markroot (gcw=0xc000027770, i=26) at /home/rlh/work/go/src/runtime/mgcmark.go:202
#4  0x000000000041c1ff in runtime.gcDrainN (gcw=0xc000027770, scanWork=65536, ~r2=<optimized out>) at /home/rlh/work/go/src/runtime/mgcmark.go:1006
#5  0x000000000041af84 in runtime.gcAssistAlloc1 (gp=0xc000062c00, scanWork=65536) at /home/rlh/work/go/src/runtime/mgcmark.go:512
#6  0x000000000044de73 in runtime.gcAssistAlloc.func1 () at /home/rlh/work/go/src/runtime/mgcmark.go:423
#7  0x000000000044fce6 in runtime.systemstack () at /home/rlh/work/go/src/runtime/asm_amd64.s:351
#8  0x000000000042caf0 in ?? () at /home/rlh/work/go/src/runtime/proc.go:1082
#9  0x0000000000000000 in ?? ()

So, the cause is clear. The fix is less so. It would be much better if all of these preemption operations were asynchronous; we've had plenty of other similar deadlocks in the past. To fix this bug, it may be enough to allow preemption of forEachP's user goroutine.

@aclements feel free to re-assign as you see fit.

I was able to reproduce and I think I have a fix. As soon as I can confirm it fixes the issue I'll put it up for review.


updated the email docs

single & double quotes in tickscript hold different meanings. In cpu_alert.tick tickscript 'usage_idle' must be enclosed within double quotes,ie., "usage_idle", otherwise kapacitor throws error -> enabling task cpu_alert: Failed to compile stateful expression for crit: mismatched type to binary operator. got string < int. see bool(), int(), float(), string(), duration()
Closes #
Describe your proposed changes here.

[ ] Signed the InfluxData CLA
(if necessary)
[ ] Tests pass (no build errors)
[ ] Rebased/mergeable

@jstirnaman can you please review this pull request? Thanks!

@jstirnaman  yeah exactly! Actually when i tried the same example without casting then it didn't work & throws error : mismatched type to binary operator. got string < int.
And in another example - i found that same field was casted & it worked, i thought its some documentation mistake thats why i made the PR.

Thanks @sanderson  for the suggestion, int() casting was required there, applied the suggested change.

LGTM!


Enhance Uncommitted Changes to show git status

If the git repo is clean, the "Uncommitted Changes" line in the CommitList should say something like "Working tree clean" similar to how git says nothing to commit, working tree clean.
It would also be nice if the Item / text color changed.  E.g. green for a clean repo, and bold red for a repo with uncommitted changes.  Ideally the colors come from the existing palette / QPalette.
Also if the working tree is clean, then the user should not be able to select that line in the CommitList.

Feel free to assign this issue to me.
Here are some examples of what I'm thinking.  Open to critical feedback.
I tried making "working tree clean" green, but it looked weird.  Probably best to keep it the same color as the other text.

I think a dark/faded red background could look good.  We could use the same red color as the one from the diff view to keep the theme coherent.

Thanks for the proposal. I think the last image is a little bit too much. Because when looking through the history it forces you always looking on this red banner. I would make something less attracting.

This is only when the option "Show Clean Status" is enabled right?


Decouple exchange from flux

Looking good! I think the next step would be to create an adapter which is shipped within the Exchange, in the lib/exchange/adapters/ namespace, which can be used as the default in the config.
Later on, we can add more adapters which users can choose from, or they can make custom adapters which adhere to our TimeSeries behaviour.


Use proper error types

Currently, we use anyhow for all errors. I like anyhow, but it makes it too easy to bubble up an error without context, which leads to a less-than-useful error message. For example, I/O errors don't include the offending file, making them quite inscrutable. We should probably switch to using something like snafu or thiserror.

Hi @casey & @raphjaph  - I've started working on converting the code base over to thiserror and wanted to check-in with you to make sure that this is still desired and won't all be for nought.
I've created an errors.rs under /src and am stuffing most of the custom errors into it.
I started out converting the files underneath /src/subcommands/wallet and it just kind of snowballed from there.  I've been working on the src/settings.rs and that one is requiring many, many changes.
I know that this is a ton of changes, but I hope to get through it all eventually.  I'm not sure exactly how I should submit the changes once I can get everything ready.
Any thoughts/feedback?

Thanks for tackling this! I think it will make error messages much more useful, and I wish we did it from the beginning.
I actually think that prefer snafu over thiserror. The context selector is a very nice way to select an error type. For example:
#[derive(Snafu)]
enum Error {
  #[snafu(display("I/O error at `{}`", path.display()))]
  Io { path: PathBuf, source: io::Error}
}

Then, from another module:
do_something(&path).context(error::Io { path: &path })?;

Is there any way to do this piecemeal? It will be an absolutely massive PR, and will conflict with basically every other PR.
Like converting the top-level error type to:
#[derive(Snafu)]
enum Error {
  #[snafu(display("{0}"))]
  Any(Box<dyn std::Error::Error),
  #[snafu(display("I/O error at `{}`", path.display()))]
  Io { path: PathBuf, source: io::Error}
}

And then adding error cases one by one.

Thanks for the quick response, Casey.  If I understand you correctly (and I may not), the context selector that you've mentioned seems very similar to what I've been doing with thiserror.  The errors.rs creates the MyError enum:
use std::env::VarError;
use std::io;
use std::num::ParseIntError;
use std::num::TryFromIntError;
use thiserror::Error;
use redb::TransactionError;

#[derive(Error, Debug)]

pub enum MyError {
  #[error("Invalid environment variable `{var}`: `{value}`")]
  InvalidEnvVar { var: String, value: String },
  },

and the errors are called as shown in this arguments.rs:
use {
  super::*,
  clap::builder::styling::{AnsiColor, Effects, Styles},
};

#[derive(Debug, Parser)]
#[command(
  version,
  styles = Styles::styled()
    .header(AnsiColor::Green.on_default() | Effects::BOLD)
    .usage(AnsiColor::Green.on_default() | Effects::BOLD)
    .literal(AnsiColor::Blue.on_default() | Effects::BOLD)
    .placeholder(AnsiColor::Cyan.on_default()))
]
pub(crate) struct Arguments {
  #[command(flatten)]
  pub(crate) options: Options,
  #[command(subcommand)]
  pub(crate) subcommand: Subcommand,
}

impl Arguments {
  pub(crate) fn run(self) -> Result<Option<Box<dyn subcommand::Output>>, MyError> {
    let mut env: BTreeMap<String, String> = BTreeMap::new();

    for (var, value) in env::vars_os() {
      let Some(var) = var.to_str() else {
        continue;
      };

      let Some(key) = var.strip_prefix("ORD_") else {
        continue;
      };

      env.insert(
        key.into(),
        value
          .into_string()
          .map_err(|value| MyError::InvalidEnvVar {
            var: var.to_string(),
            value: value.to_string_lossy().to_string(),
          })?,
      );
    }

    self.subcommand.run(Settings::load(self.options)?)
  }
}

I'm not certain if it can be done piecemeal or not yet, but I have a hunch that it can be.  I was thinking I could leave anyhow in and just convert the files currently throwing compile errors on my build.  I imagine that I could get it to start compiling without fully converting to 'thiserror' and could push those changes as piece A (with blessing) before finishing off the back half (or however much) and then permanently removing anyhow after it's fully replaced.  I could be wrong though and it could make more sense to bang it all out in one go.
I've done a good amount of conversion already, but I really have no idea if it is 1% or 10% - only been working on it for a couple of days.  Happy to switch horses though - just say the word.

Check out #3832, which can be merged as a start and more errors can be done in a piecemeal fashion. I think doing it piecemeal is the way to go. The diff would be absolutely huge otherwise and hard to review, and the merge conflicts would be brutal. I think doing it file or module at a time are the way to go.

Whoops, didn't mean to close.

@cryptoni9n I merged #3832, which uses snafu to make it easier to use typed errors. Check out that PR, which adds a couple new error variants. It introduces a SnafuError and .snafu_context and .with_snafu_context methods, which can be removed once the conversion is complete, and SnafuError renamed to just Error.

@cryptoni9n I merged #3832, which uses snafu to make it easier to use typed errors. Check out that PR, which adds a couple new error variants. It introduces a SnafuError and .snafu_context and .with_snafu_context methods, which can be removed once the conversion is complete, and SnafuError renamed to just Error.

Will do - thanks for getting this started!

You bet! Feel free to ask for help, snafu, and in particular the context selectors, are tricky.

You bet! Feel free to ask for help, snafu, and in particular the context selectors, are tricky.

Yeah, I was banging my head against it for a little bit earlier today.  I'm just starting my vacation now though, so I won't really be able to dive in until I get back in about 10 days.

No worries, have fun on vacation!


Bump Rancher to v2.6.4-rc8

Bump Rancher to v2.6.4-rc8

@weihanglo Is this always flooding the rancher pod in your setup?

Yep. I installed a single node cluster from ISO built from this commit. Then I uploaded the same harvester ISO from file and check the log via kubectl -n harvester-system logs deploy/harvester.

Should we merge and track it seperately?

@guangbochen Sure, Weihang mentioned he also saw this before. To correct my comments, they are messages in the harvester deployment.

@guangbochen go ahead. I believe it is an existing issue and should not block this bump.

@weihanglo Please also take a look of grafana when uploading image, as following.
The pause/resume mechanism will eliminate the caching data to around 4M,  before this merge, Harvester may cache G level data.
https://github.com/harvester/harvester/issues/1956#issuecomment-1064942807

Harvester POD memroy usage is smooth with this new bump:
@weihanglo @guangbochen @bk201 @yasker
refer:
https://github.com/harvester/harvester/issues/1956#issuecomment-1064964676

for the error message
Commits on Feb 18, 2022
https://github.com/rancher/remotedialer/commit/31afcc1bf5a6e0e56b6ba3f05c1da703b5d1e562
Change error log to debug log
This log seems more of a debug log as it's just stating that
the buffer is being reset and there is nothing to indicate
this is not expected or normal behavior.
master (#41)
@rmweir
rmweir committed 21 days ago
1 parent 266bce3 commit 31afcc1bf5a6e0e56b6ba3f05c1da703b5d1e562


progressbar suddenly throwing 'function' object has no attribute 'ProgressBar'

Description
So I have been using progress bar 4.0.0 for a while now in an s3 upload script and it has worked great.  Recently (within the last week it seems) something has happened and progressbar no longer works.  I have attempted upgrading to 4.1.1 as well as uninstall/reinstall.  There haven't been any updates to my system other than mandatory windows security updates.
When I attempt this line:
up_progress = progressbar.progressbar.ProgressBar(widgets=[f'File: {os.path.basename(file)}', Percentage(), Bar(marker=RotatingMarker())], maxval=statinfo.st_size).start()
I get:
AttributeError: 'function' object has no attribute 'ProgressBar'
Code
import progressbar, os
from progressbar import Percentage, Bar, RotatingMarker
file "C:/directory/somefile.file"
profile = "aws1"
boto3.setup_default_session(profile_name=profile)
s3_client = boto3.client('s3')

def upload_progress(chunk):
    up_progress.update(up_progress.currval + chunk)

statinfo = os.stat(file)

up_progress = progressbar.progressbar.ProgressBar(widgets=[f'File: {os.path.basename(file)}', Percentage(), Bar(marker=RotatingMarker())], maxval=statinfo.st_size).start()

s3_client.upload_file(file, "aws environment", f'new_path/{os.path.basename(file)}', Callback=upload_progress)
up_progress.finish()

Versions

Python version: import sys; print(sys.version)
3.10.6
Python distribution/environment: CPython/Anaconda/IPython/IDLE
CPython
Operating System: Windows 10, Ubuntu Linux, etc.
Win 11
Package version: import progressbar; print(progressbar.__version__)
4.1.1 or 4.0.0

This is great, thank you!
I am still baffled as to what happened with my code suddenly stopping. I must have been working off of a pip install progressbar instead of pip install progressbar2
Even that doesn't make sense, because I restored my packages to an earlier snapshot and I still couldn't get my old code to work.
Thank you for such a quick update!
It looks like there are some threads that could use this new info though. (A lot of the examples I have found around s3 uploads use the progressbar.progressbar.ProgressBar syntax.
SO Link 1
SO Link 2
SO Link 3
SO Link 4


issue when maxOptionsGrp is set to 1

When set the "data-max-options" for a group selection to 1, I think there is a bug in the code.
In function clickListener, the if block (maxOptionsGrp && maxOptionsGrp == 1),  when it tries to get he group ID, $this does not has the attribute 'optgroup', but its parent does.
So the line:
var optgroupID = $this.data('optgroup');
should be corrected to:
var optgroupID = $this.parent().data('optgroup');

This was fixed in https://github.com/silviomoreto/bootstrap-select/commit/d288807fa2526306bc62f9e5349d2291e44512a7 and is working properly in master.


Formatting Of Questions and Answers & Numbering

Fixes #461

There are still a few defects with this version. Try this form, and look at both the results and PDF.
SurveyResults (6).json.txt

Fixed through #872 instead


Use new data structure to refactor the local assembly code

use std::array<double,9> for dxi_dx;
use SymmMatrix_3x3 for the G metric tensor in the definition of taus.

need to start on tet_ns, then cmm, then tet4_fsi.

NS code modification completed at 9aa3ae9b31ba2ced962cf408f9451cc3bef9a890

RUC code modification completed at c862f7a8c1952bf2ab962c1e0a0b0d18c2b30199

FSI completed at c7e49b40c35063a60d2020083974ed071fcd152f


Vintage containers (e.g. Debian jessie) fail to get an IPv4 address

Setup

Distribution: Ubuntu
Distribution version: 20.04

$ lxc info
config: {}
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- resources_system
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
...
    -----END CERTIFICATE-----
  certificate_fingerprint:
...
  driver: lxc
  driver_version: 4.0.2
  firewall: nftables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "true"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 5.4.0-26-generic
  lxc_features:
    cgroup2: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    seccomp_notify: "true"
  os_name: Ubuntu
  os_version: "20.04"
  project: default
  server: lxd
  server_clustered: false
  server_name: ***
  server_pid: 1718
  server_version: 4.0.1
  storage: dir
  storage_version: "1"

Issue description
Older containers (e.g. Debian jessie) or newer containers that run in an emulated environment (e.g. Debian buster armhf running on amd64 host) do no get an IPv4 address.
Steps to reproduce

Launch a jessie container: lxc launch images:debian/8 my-jessie-container
Verify that the jessie container does not get an IPv4 address: lxc list my-jessie-container

Additional information
The following log shows, that the container does not get the IPv4 address due to a legacy issue of isc-dhcp-client:
$ lxc exec my-jessie-container bash
root@my-jessie-container:~# ifdown eth0
Killed old client process
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:16:3e:ca:47:9a
Sending on   LPF/eth0/00:16:3e:ca:47:9a
Sending on   Socket/fallback
root@my-jessie-container:~# ifup eth0
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:16:3e:ca:47:9a
Sending on   LPF/eth0/00:16:3e:ca:47:9a
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to <IP_ADDRESS> port 67 interval 5
DHCPDISCOVER on eth0 to <IP_ADDRESS> port 67 interval 10
DHCPDISCOVER on eth0 to <IP_ADDRESS> port 67 interval 14
DHCPDISCOVER on eth0 to <IP_ADDRESS> port 67 interval 17
DHCPDISCOVER on eth0 to <IP_ADDRESS> port 67 interval 15
5 bad udp checksums in 5 packets
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

On Ubuntu 18.04, the situation gets solved by an iptables rule (CHECKSUM fill):
$ sudo iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
CHECKSUM   udp  --  anywhere             anywhere             udp dpt:bootpc /* generated for LXD network lxdbr0 */ CHECKSUM fill

On Ubuntu 20.04 this rule is not present:
$ sudo iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

As a workaround I can use ethtool to turn off checksum offloading on lxdbr0:
$ sudo ethtool -K lxdbr0 tx off

After some time the container will now get an IPv4 address.
This is the related issue on my edi project: https://github.com/lueschem/edi-pi/issues/12
If I got this correctly, nftables no longer supports the checksum-fill feature that iptables used to support. Therefore I was thinking about adding a udev rule that executes the above ethtool command. However, I am pretty sure that there are more elegant solutions.

@tomponline under iptables we had a mangle rule which would fill in the needed udp checksums.
Is there an equivalent for that we can implement?

Ill dig more deeply into that but at the time I implemented nftables driver I looked in the nftables docs for an equivalent and their position was that only older distros are affected and they wont run nftables. So not considering the container scenario.

Yeah, clearly they missed this use case :)
Having to turn off offloading is a bit annoying too.
That being said, if all our publishes images running on nft work properly, then I'm not too concerned. For others, the trick of turning off offloading on the nic in the container isn't all that bad, though unfortunate for sure.

@stgraber this was the page I was referring to:
https://wiki.nftables.org/wiki-nftables/index.php/Supported_features_compared_to_xtables#CHECKSUM
Confirmed debian 8 doesn't get DHCP on Focal with nftables.
What did you mean by "if all our published images running on nft work properly...for others the trick of turning off offloading on the nic in the container isn't all that bad" in this case I presume that debian 8 is something we would consider "published by us", and yet it doesn't work with nftables.
Perhaps we could add some sort of setting/env variable to force a particular firewall driver (iptables)?

We should test all our images on nft, any image we build that doesn't work, we should patch to run ethtool on boot.

@stgraber I see, thanks.

@stgraber there's a snag with this, it needs the TX checksum offload feature to be disabled on the sending interface, so lxdbr0, not the interface inside the container.

I've changed our tests to run on Ubuntu 20.04 with nft now.
The result is:

debian 8
oracle 8
voidlinux

All need some tweaks. Looking at doing that now.

I tried disabling tx offloading on eth0 inside the debian 8 container and it didnt work. Do you have something else in mind?

Haven't found anything that works yet...

Im surprised oracle 8 doesn't work as that is current and based off rhel 8 right?

I have a working fix for voidlinux (uses dhclient instead of dhcpcd)

oracle 8 seems to just be racy

Got a workaround for Debian jessie. Replacing isc-dhcp-client with udhcpc does the trick.

Committed all the workarounds into our image branch and images are building now. Closing.
For those with existing installs, the options are effectively:

voidlinux => Switch to dhclient
debian => Switch to udhcpc

If that's not an option, you can turn off the offloading with ethtool on lxdbr0, that should work, but for high performance use, this may have a significant impact.

@stgraber thanks.
The commits were:
https://github.com/lxc/lxc-ci/commit/f75de00dde22d66ce319dcb9b5ad0a67a4631f51
https://github.com/lxc/lxc-ci/commit/d636a1b2960eeee74c53a4c6c9af79b9b1d0cab3
https://github.com/lxc/lxc-ci/commit/56fb4f42b236b885bd66fdf0e13d5c04f7274845

@stgraber is it worth also introducing an ENV var for forcing a particular firewall driver and then having our tests run both iptables and nftables to catch any future issues with iptables?

I'm not sure that it is, because this may then see folks forcing it into xtables mode when they have nft rules present, which then gets extremely confusing.

@stgraber can we test iptables by adding a dummy rule first before the test suite starts to get LXD to use iptables, or perhaps uninstall nftables commands?

yeah, adding a dummy rule works, I've usually been using something like iptables -A INPUT -j ACCEPT

Hi @stgraber and @tomponline
Many thanks for the fix and your excellent work on LXD!
In my project I was not able to fix the problem within the container and therefore I developed the following solution:
Within the configuration you can tell edi to attach the container to edibr0 instead of lxdbr0 (I did not want to do changes on lxdbr0 that might have a slightly negative performance impact). If edibr0 is not available edi will automatically create it using the command lxd network create edibr0. For all bridges matching edibr0 I have added the following udev rule:
$ cat /lib/udev/rules.d/81-edi.rules
# Switch off tx offloading on edibr* to avoid dhcp issues on old or emulated containers.
# This rule gets added by the edi package.
ACTION=="add", SUBSYSTEM=="net", KERNEL=="edibr*", RUN+="/sbin/ethtool -K $env{INTERFACE} tx off"

Maybe this setup will also be helpful for other LXD users (that are dealing with emulated or old containers). Of course the udev rule can also be directly applied to lxdbr0.

@stgraber would it be worth updating our proxy, network and bridged nic tests to detect nftables and run one iteration with an iptables rule added as above to force it into iptables mode and then again without for nftables mode? Or is it easier to run it was a separate iteration in jenkins with one specific iteration adding the iptables rule?

Hmm, actually, i suspect the best would be to put a few isolation commands in place in our snap test.
That one is run on all distros so a wide variety of kernels, some with nft, some without.
On jenkins, it'd be tricky because we'd need a completely separate network namespace just for that one test so it can't see any of the rules used by the other LXD daemons. Running an entire testsuite run would work, but then which one do we pick...

@stgraber ah ok yes I was thinking having separate namespaces for the jenkins tests, but the snap tests sound easier (and quick without having to incur another pass of all the suites for that combination). How often do the snap tests run?

They're run once a day on every architecture, for every track and every channel and version of core.
On top of that, they're also run for every distribution we support every time a new build appears in any of the channels (including edge).


Migrate all docker-compose commands to docker compose commands

Will resolve #527, #622

Since quite some users seem to bump into this, I think this should have high priority :see_no_evil: Also, according to https://docs.docker.com/compose/compose-v2/#differences-between-compose-v1-and-compose-v2, it could be as easy as replacing docker-compose to docker compose without any additional changes:

The compose command in the Docker CLI supports most of the docker-compose commands and flags. It is expected to be a drop-in replacement for docker-compose.

Do you see any specific things to watch out for, @navarr? If not and you do not get to it, I'd consider sending a PR.

@sprankhub I thought there were.  I previously did this in Den but I only see the one commit, so I've ported that over in #631
If you have the capability to test this particular issue, I'd appreciate some additional eyes on it.

@navarr, sorry for the late feedback. I've installed the docker-compose-plugin branch from the PR to /opt/warden and ran /opt/warden/bin/warden env pull && /opt/warden/bin/warden env up --force-recreate. From the fancier output, I can tell that indeed, docker compose v2 is used. The project still seems to run fine, so I think we are good. Could you merge and release a new version soonish? Looks like there were quite some people affected by this. Thanks!

@sprankhub unfortunately that's docker compose v1 vs v2. I can do some research to see if we're stuck with it or not but so far I've always presumed so

Thanks for the info, @navarr. Given that it is a one-time change, I'm fine with it. More important to make the switch to docker compose v2 :)


compile error,std::auto_ptr  -> std::shared_ptr

In file included from vaapiDecoderJPEG.cpp:22:0:
vaapiDecoderJPEG.h:53:10: error: ‘template class std::auto_ptr’ is deprecated [-Werror=deprecated-declarations]
std::auto_ptrVaapiDecoderJPEG::Impl m_impl;
^~~~~~~~
In file included from /usr/include/c++/6/memory:81:0,
from /usr/include/c++/6/tr1/memory:39,
from ../interface/VideoCommonDefs.h:27,
from ../vaapi/vaapipicture.h:20,
from vaapidecpicture.h:19,
from vaapiDecoderJPEG.h:21,
from vaapiDecoderJPEG.cpp:22:
/usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
template class auto_ptr;
^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:700：libyami_decoder_la-vaapiDecoderJPEG.lo] 错误 1
std::auto_ptr  change to  std::shared_ptr   ???
it's ok to compile when std::auto_ptr  change to  std::shared_ptr

Yes, since GCC version 6 the deprecation is treated as an error.  We can use SharedPtr instead (defined in VideoCommonDefs.h).

We shold not use auto_ptr, is not well designed, shared_ptr is better than auto_ptr....Wired, I missed this in code review.


feat(api-client): OpenAPI preview and error handling for the import

Started by trying to surface the errors and then ended up polishing the whole UX.
Changes:

Shows errors when the spec fails to import or fetch
Shows a preview (again) when you paste a spec
Doesn't try to fetch bad URLs
Shows a loading state while importing
Uses a text area for the form so you can write multiple lines and lines wrap in the input area (still submits the form on enter)

Before
https://github.com/user-attachments/assets/ea44c846-05bd-4ca3-b1a6-624b460e5bc2
After
https://github.com/user-attachments/assets/99e8bd5d-f2cd-4ef5-bac0-dfe89a593073

OMG, nice! Just one thing: The CodeBlock font size looks a little bit too big compared to the other text in the modal. Should we make this a little bit smaller?

Oh yeah, I can make it a bit smaller 😄

It’s really slow with big documents (Stripe for example: https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.yaml).
Should we disable the preview for big files, does that help?

It’s really slow with big documents. Stripe for example: https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.yaml
Should we disable the preview for big files, does that help?

Yeah we could I'm not sure how tot detect that though on paste 🤔

@hanspagel Alright I investigated the pasting big files. Basically our call to JSON.parse is slow and there isn't anyway to make it async without using a web worker. I tried turning off the parsing on paste both in general and for large files and the textarea is also laggy when you have that much data in it and lags when you delete characters.
I think long term we should set up a web worker for our parser so we can show a loading state when processing large files. Short term locking the UI and showing the preview is actually not the worst since it avoids user errors and doesn't give them a laggy textbox (imo).


Option 'Editor: Mouse Wheel Zoom' also reacts to Win/Super key

Issue Type: Bug
I am running VScode on Manjaro Linux. While trying to assign macros to my mouse wheel if a certain modifier is pressed, I noticed that the Ctrl+Scroll action in VScode is also triggered by Win/Super+Scroll. For many, this might be no issue but for me that means that everytime I do a Win+Scroll on VScode to switch desktops or tabs, the font size changes.
As a possible solution you could either just disbable the Win/Super key from being used for zooming or (and most users would probably favor that) you could add a selectable list of modifier keys that will trigger the zooming.
VS Code version: Code 1.49.0 (e790b931385d72cf5669fcefc51cdf65990efa5d, 2020-09-10T13:20:50.359Z)
OS version: Linux x64 5.8.6-1-MANJARO

I've a similar issue, also on Manjaro (KDE) where VS Code will scroll when a modifier key like Ctrl and/or Alt are pressed. This makes VS Code unusable for me as I use a KWin's screen magnifier with xbindkeys to allow Alt + Scroll to zoom in and out but I lose my place in my document if the cursor is on VS Code.
No other applications also capture scrolling when a modifier key is pressed.


Build error on Linux: too many decimal points in number

I'm thing to install grunt-sass and seem to be getting and error in node-sass on the compilation of libsass. I think it's due to some build configuration in node-sass. Here's the error I'm getting:
g++ '-DNODE_GYP_MODULE_NAME=libsass' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DLIBSASS_VERSION="3.3.1"' -I/home/user/.node-gyp/0.12.7/include/node -I/home/user/.node-gyp/0.12.7/src -I/home/user/.node-gyp/0.12.7/deps/uv/include -I/home/folder/.node-gyp/0.12.7/deps/v8/include -I../src/libsass/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -ffunction-sections -fdata-sections -fno-tree-vrp -fno-tree-sink -fno-omit-frame-pointer -std=c++0x -fexceptions -frtti -MMD -MF ./Release/.deps/Release/obj.target/libsass/src/libsass/src/sass.o.d.raw  -c -o Release/obj.target/libsass/src/libsass/src/sass.o ../src/libsass/src/sass.cpp
<command-line>:0:17: error: too many decimal points in number
../src/libsass/src/sass.cpp:38:12: note: in expansion of macro 'LIBSASS_VERSION'
    return LIBSASS_VERSION;
           ^
../src/libsass/src/sass.cpp: In function 'const char* libsass_version()':
../src/libsass/src/sass.cpp:39:3: warning: control reaches end of non-void function [-Wreturn-type]
  }

My believe it has something to do with how the argument '-DLIBSASS_VERSION="3.3.1"' is being passed. When i install on my Windows machine the quotation marks around 3.3.1 are escaped as "3.3.1"

There is not enough information to act on. Please follow the steps in our troubleshooting guide.
Make sure to capture all output into a github gist. Do not post output here.

Closing due to inactivity.


feat(AvatarStack): Convert AvatarStack to CSS modules behind team feature flag

Closes https://github.com/github/primer/issues/4024

Changelog
Changed
Update AvatarStack component to use CSS modules behind the feature flag primer_react_css_modules_team
Rollout strategy

[ ] Patch release
[x] Minor release
[ ] Major release; if selected, include a written rollout or migration plan
[ ] None; if selected, include a brief description as to why

Testing & Reviewing

Merge checklist

[x] Added/updated tests
[ ] Added/updated documentation
[ ] Added/updated previews (Storybook)
[ ] Changes are SSR compatible
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge
[ ] (GitHub staff only) Integration tests pass at github/github (Learn more about how to run integration tests)

Ok, this is ready again. This time I've fixed the issues we saw when shipping last time https://github.com/github/github/pull/351862


Bug when changing Curator Status of multiple studies in bulk in the curation interface

Encountered a bug when trying to change the status of multiple studies in this publication (https://www.ebi.ac.uk/gwas/curation/publication/32042192) from "Unpublished from catalog" to "Publish study".
I followed these steps:

Selected all 13 studies (excluding the old empty entry) and clicked "Approve associations" to set all associations to approved (this succeeded)
Selected all 13 studies, selected curation status = Publish study and clicked "Save Status". This should have changed the status of all selected studies but failed.

Result:

Got a strange message in an alert box, with individual characters on new lines, e.g.

Full message is approximately:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>GWAS Curation Tool</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta charset="utf-8" /

Only the first publication I selected changed status successfully. The others all stayed as "Unpublished from catalog"

Can confirm that this bug only occurs when status is changed from "Unpublished from catalog" to "Publish study"
(NOT when changed from  to "Publish study".

Can confirm that this bug only occurs when status is changed from "Unpublished from catalog" to "Publish study"
(NOT when changed from  to "Publish study".

@eks-ebi please update ticket if this happens again


Ability to omit ref

added ability to checkout specific commit without knowing ref

@alexsaveliev can you update the docstring mentioned in my inline comments as a quick follow-up?

@beyang addressed in #6


Remove-SPOUserFromGroup : User not found

I get an error of "User not found" (but in finnish) while trying to remove user from group by login name.
Here's the error in full (some information removed for privacy reasons)
PS C:> Remove-SPOUserFromGroup -LoginName<EMAIL_ADDRESS>-GroupName "Testityötila 1 - Jäsenet"
Remove-SPOUserFromGroup : Käyttäjää ei löydy.
At line:1 char:1

Remove-SPOUserFromGroup -LoginName<EMAIL_ADDRESS>...

  + CategoryInfo          : WriteError: (:) [Remove-SPOUserFromGroup], ServerException
  + FullyQualifiedErrorId : EXCEPTION,OfficeDevPnP.PowerShell.Commands.Principals.RemoveUserFromGroup

PS C:> $users
Display Name                     Login Name                                              Groups

Kaikki paitsi ulkoiset käyttäjät spo-grid-all-users/fc29145a-eaa5-4b45-8cba-30b45cf0918e {Testityötila 1 - Jäsenet}
Tommi Grönlund<EMAIL_ADDRESS>                {Testityötila 1 - Jäsenet, Testityötila 1 - Omistajat}

The login name parameter takes a value in the shape of the actual login name of the user. While when the user authenticates it usually uses the email address, the actual login name is most of the time something in the shape of<EMAIL_ADDRESS>I understand this is not very intuitive, and I will see if I can modify the cmdlet to work also with a normal email address instead of the full claims identity.

I updated the cmdlet (see PR #836). The updated cmdlet will be available in the next master merge at the end of this month. Please provide feedback if the solution I provided above (e.g. with<EMAIL_ADDRESS>solves your issue. If so I will close this issue. As from the next master release you will be able to use email addresses to remove users from groups too.

Sorry for the delayed answer but actually this was a special group that required rolemanager to be added to login. I used this :
c:0-.f|rolemanager|spo-grid-all-users/fc29145a-eaa5-4b45-8cba-30b45cf0918e to solve the issue. Maybe this should be an option in this command to choose which user source is used to remove user from the group ? I guess at least there is windows and maybe some other special notations as well ?


Stagger size?

It would seem that Engraver doesn't ask for stagger size and that it's also not included in the filename when plotting. This breaks tools like plotTools when trying to split or even check.

Stagger size is a relict from the past… With PoC2 all files are optimized, stagger = number_of_nonces. plotTool would need to be updated to support PoC2.


Cert expiration for [cdn.]polyfill.io in less than 30 days

I'm sure you have a process in place to rotate, but just in case wanted to note the expiration due to the severity if it were to lapse. I'm accustom to more aggressive rotations so playing it safe... Cheers

@asilvas Thanks for opening the issue. We will be rotating the certificate before the expiration date. This is likely to happen sometime next week.

You guys are brave with less than a week before expiration.


small fixes to pdf source and sqlite provider

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