luci-proto-openconnect: several updates to sync with latest package

This enables using luci-proto-openconnect to connect using a URI that enables user-groups and camouflage mode in ocserv. It further adds new protocols that are available in openconnect.

[x] This PR is not from my main or master branch :poop:, but a separate branch :white_check_mark:
[x] Each commit has a valid :black_nib: Signed-off-by<EMAIL_ADDRESS>row (via git commit --signoff)
[x] Each commit and PR title has a valid :memo: <package name>: title first line subject for packages
[ ] Incremented :up: any PKG_VERSION in the Makefile
[x] Tested on: (architecture, openwrt version, browser) :white_check_mark:
[x] ( Preferred ) Mention: @nmav
[ ] ( Preferred ) Screenshot or mp4 of changes:
[x] Description: (describe the changes proposed in this PR)

What 'latest package' does this synch with?

What 'latest package' does this synch with?

The one in the master and 23.05 branches.


Parse full alias

This runs the entirety of the alias through the state machine not just the first (z)-word.
There's still an issue when the non-terminal alias has more than one (z)-word, but I don't have the brain power to think through that tonight.
This changes behavior for aliases. An alias will be highlighted as alias and the style appropriate for the first (z)-word of the fully resolved alias.

Re-ready for review; incorporated feedback from IRC.

The +1 is because we will in_alias-- on the next loop iteration so
this iteration should be considered in in_alias as well. In the case
that we're already in_alias this arg is already included in the count.
It makes sense in my brain; hopefully that helps?

Yes; add it as a source comment?

The new test 6898f7101652 fails on this branch.

Since BUFFER=/ is highlighted as path, I'd argue that either the new behavior is correct, or the behavior of BUFFER=/ is wrong as well and it's a separate issue.


AzureAD and AzureADPreview version update

Update based on recent AzureAD and AzureADPreview version update that was published

 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.:x: mmcadamsms sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Docs Build status updates of commit 7f16d3e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azureadps-2.0/ad-pshell-v2-version-history.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How was the solution implemented (if it's not obvious)?

This PR adds a pre-commit git hook that checks the formatting of the code through dotnet-format, it doesn't add any noise because it runs locally before the commit is stored.
At this time they do not support the format of xaml, axaml, csproj and props. I am working at public PR on dotnet-format.
For security reasons it is not possible to save the script in the .git / hooks folder of the git repository. To make everything work, after cloning the repository you need to execute the following instruction on the command line:
git config --local core.hooksPath .githooks

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[x] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

You can test this PR using the following package version. 0.10.999-cibuild0017730-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

See https://github.com/AvaloniaUI/Avalonia/discussions/6261

For security reasons it is not possible to save the script in the .git / hooks folder of the git repository.

Which is why we were thinking about running formatter straight from MSBuild in pre-CoreCompile hook.

See #6261

For security reasons it is not possible to save the script in the .git / hooks folder of the git repository.

Which is why we were thinking about running formatter straight from MSBuild in pre-CoreCompile hook.

I had already read the discussion before proposing this PR.
I have evaluated https://github.com/kzu/AutoCodeFix, but it has the same problem as an MSBuild task:

the build is not necessarily done before the PR is sent, resulting in uncontrolled commits being sent
adds noise to commit history with specific commits to correct formatting errors.
to reduce the noise in the commits history, it is necessary to do the sqash

This PR is a compromise:

Doesn't add noise because before each commit
Unchecked commits cannot be sent
As for security, if you don't run the git config --local core.hooksPath .githooks command, nothing is done automatically

Closing this due to inactivity. Please ping me if you want to work on this again.

@jmacato  I don't have an Apple device. if you have a chance to try it and give me the feedback, i will work on it

This PR is complete.

@AvaloniaUI/core any decisions over this one? i think this can help with formatting issues as well?

You can test this PR using the following package version. 0.10.999-cibuild0019232-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 0.10.999-cibuild0019982-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0026191-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0029115-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


libgdal 2.2.*

@daf this is another attempt to workaround conda's solver bugs. You can create an env with,
conda create -n TEST r-rgdal libgdal=2.2

and this will work as long as defaults does not add libgdal 2.2.*. However, this comes with a caveat! You won't be able to install many packages from conda-forge that depends on libgdal 2.1, like fiona and rasterio, alongside r-rgdal .

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


About go back().

tabNavigator have 4 stackNavigator. Tap action one of 4 stackNavigator ,go to login page.
main -> login -> res.
How can I go back main? main`s name and key is determinate.

Closing for 2 reasons:

there are tons of issues related to goBack so it's duplicate, next time search for issues before opening a new one
you haven't respected the issue template


Hyperledger Iroha v1.0 beta-5 version

We are happy to introduce various improvements of Hyperledger Iroha for beta-5 release and tell you more about what we accomplished together.
There were several major features implemented or prepared:
Multi-signature Transaction (MST)
Now you can request several signatures to verify the transaction. And transactions can receive 2 more statuses: MST_PENDING for transactions waiting for more signatures and ENOUGH_SIGNATURES_COLLECTED for transactions that have already received the number of signatures requested (https://github.com/hyperledger/iroha/pull/1649).
Known issues:

Iroha can apply multi-signature transactions several times, due to lack of transaction replay protection.
When a user sends a completed MST transaction then it is not removed from MST storage, so when one asks for their pending transactions they will still see it. As a temporary workaround, you can remove all signatures after getting pending transactions and then sign them with your signature(s) and send to Iroha.

We have made MST possible with the following changes:
- adding Storage for Pending Transactions: https://github.com/hyperledger/iroha/pull/1598
- fixed sending batches to the Storage and retrieving them:  https://github.com/hyperledger/iroha/pull/1661
- fixed retrieval of pending MST transactions: https://github.com/hyperledger/iroha/pull/1661
- MST batches: https://github.com/hyperledger/iroha/pull/1642 and client tests for them: https://github.com/hyperledger/iroha/pull/1652
and other improvements.
Here is the example of MST use case: Alice and Bob are performing exchange between bitcoin and dogecoin using MST to perform exchange only when both participants agreed on the transfer https://github.com/hyperledger/iroha/pull/1761
New fully BFT On-Demand Ordering Service is almost ready (only needs some finishing touches)!
Impressive preparations were made for later assembly of fully BFT (Byzantine-fault tolerant) Ordering service. We already prepared:

BFT OS algorithm and interfaces: https://github.com/hyperledger/iroha/pull/1670
on-demand ordering gate: https://github.com/hyperledger/iroha/pull/1675
the transport: #1635  and on-demand connection manager: https://github.com/hyperledger/iroha/pull/1645
the synchronizer: https://github.com/hyperledger/iroha/pull/1647
BFT OS components: https://github.com/hyperledger/iroha/pull/1703
Consensus Round as Key in YacStorages: https://github.com/hyperledger/iroha/pull/1729
BFT YacGate: https://github.com/hyperledger/iroha/pull/1731

Important note: at the moment Iroha uses an old version of Ordering Service, which will be obsolete in the next release (later this month).
Replaced builders with factories
Now the code runs faster with the changed design of its components.
Here are our new factories within the code:

factory for a block: https://github.com/hyperledger/iroha/pull/1622
factory for transaction status creation: https://github.com/hyperledger/iroha/pull/1717
factory for query responses and tests: https://github.com/hyperledger/iroha/pull/1724
abstract factory for creating batches from transactions: https://github.com/hyperledger/iroha/pull/1743
transport factory: https://github.com/hyperledger/iroha/pull/1750

Query Error Responses
Real error reasons for real people using Iroha — introducing Query Error Responses so you could know why the query failed: https://github.com/hyperledger/iroha/pull/1770
And some of the smaller though very important ones:
Optimized SQL queries for Iroha commands and queries
A complex work was done to optimize the work of SQL for both commands and queries: https://github.com/hyperledger/iroha/pull/1605
Consensus Cache in Block Loader and YAC Gate
We constantly move towards faster Iroha. Now there is no need for a node to wait time to ask another node for synchronization thanks to the consensus cache. So let us say good-bye to load_delay: https://github.com/hyperledger/iroha/pull/1627
SWIG-free Iroha library for Python
Platform independent. Lighter. A better solution if you want to use Python with Iroha: https://github.com/hyperledger/iroha/pull/1761
SubtractAssetQuantity command
Was not previously implemented in Iroha-cli but now works correctly with AddAssetQuantity: https://github.com/hyperledger/iroha/pull/1713
Benchmarks to measure performance
We are introducing a benchmark that executes a GetAccount query and a benchmark that executes AddAssetQuantity command to have more information on the performance: #1651 and #1648
Empty Roles
The purpose of append role command is to promote an account to some created role in the system, where a role is a set of permissions account has to perform an action (command or query). It was impossible to add a role without permissions to account. Now it is possible: https://github.com/hyperledger/iroha/pull/1654
reducedHash
a reducedHash wrapper is now visible to libraries and can be called by clients: https://github.com/hyperledger/iroha/pull/1659
TransactionBatchParser
Splits a list of transactions by possible adjacent batches: https://github.com/hyperledger/iroha/pull/1750
Genesis Parser
It will generate a nice MD file with tables of accounts, permissions and other parameters of the genesis block: https://github.com/hyperledger/iroha/pull/1775
Improved tests
Here are some of the most influential results:

the ability to send transaction sequences to the ITF and check stateless valid/invalid status: https://github.com/hyperledger/iroha/pull/1660
ITF feature of checking all the specified statuses: https://github.com/hyperledger/iroha/pull/1720

DevOps news
CMake version
Minimum CMake version requirement is now 3.11.2 to use cool new features of it in Iroha: https://github.com/hyperledger/iroha/pull/1667
Iroha on Kubernetes cluster
Now Iroha can be run on Kubernetes: https://github.com/hyperledger/iroha/pull/1697

If there are any questions on the release or if you would like to help us with the next one, please check out our contacts under the “Need help” paragraph: https://github.com/hyperledger/iroha#need-help

Iroha can apply multi-signature transactions several times, due to lack of transaction replay protection

Do you have a plan to solve this?

RC1 was released instead https://github.com/hyperledger/iroha/pull/1941


Diffing when managing multiple vlans is broken

When managing more than a single vlan, e.g.:
netdev_vlan { "testvlan":
  vlan_id => 300,
  description => "This is a test.  Delete me."
}

netdev_vlan { "testvlan2":
  vlan_id => 5,
  description => "This is a test.  Delete me."
}

The diffing text displayed is incorrect when adding or removing more vlans, e.g. when adding testvlan2 you see the following on the first apply:
Notice: Compiled catalog for **************** in environment production in 2.86 seconds
Notice: /Stage[main]/Main/Node[****************]/Netdev_vlan[testvlan2]/vlan_id: vlan_id changed '300' to '5'
Notice: JUNOS:

[edit vlans]
+   testvlan2 {
+       vlan-id 5;
+   }

Notice: JUNOS: OK: COMMIT success!

After the initial apply the following happens on each subsequent run (without changes to the puppet code):
Notice: Compiled catalog for **************** in environment production in 2.83 seconds
Notice: /Stage[main]/Main/Node[****************]/Netdev_vlan[testvlan2]/vlan_id: vlan_id changed '300' to '5'
Error: JUNOS: Unmanaged VLAN interface:
Notice: JUNOS:

Notice: JUNOS: OK: COMMIT success!

Even though this causes a commit, no change is actually applied.
The expected behavior in both cases is correctly identifying that a new vlan is created, and not attempting to recreate/change a vlan subsequent to the apply.

Please upgrade netdev_stdlib_junos module to latest version and check if you are still seeing this issue.
#puppet module upgrade juniper-netdev_stdlib_junos --version 2.0.1

Fixed, thanks!


dev/release: publish adbc_core crate on https://crates.io

What would you like help with?
Would it please be possible to publish the latest release of adbc_core on https://crates.io?

[ ] Update release docs
[ ] Update release scripts
[ ] Check if we can do a prerelease
[ ] Update verification script

CC: @alexandreyc

I'm planning a release this week. I'll give it a shot.

Many thanks @lidavidm!

Thanks @lidavidm
If you need some help don't hesitate to reach out!

Thanks!


[nice-to-have] package.json with dependencies

In addition to pointing out in the docs which packages need to be installed, it could be helpful if there was a package.json with the dependencies already listed.
This way the developers should only have to run npm install once, instead of having to install all dependencies manually.
Also, I would day this is probably the first place where nodejs devs will look for dependencies in a repository.

Fair point. Working on the fix.

Done.


Use custom font

Issue type
I'm submitting a ...

[ ] bug report
[x] feature request
[ ] question about the decisions made in the repository

Issue description
Hi, everyone. I'm trying to use a custom font in ngx-admin, but I don't seem to succeed. I have the font files in a folder, how should I proceed to use them ? I tried using font-main: url (...)  , but it did not work that way.
Other information:
npm, node, OS, Browser

MacOS Sierra 10.12.6
Chrome Browser

npm: 3.10.10
Angular CLI: 1.7.1
Node: 6.11.1
OS: darwin x64
Angular: 5.2.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.1
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.1
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0

@andreismeada
Try this.
I downloaded and put the fonts here ./assets/fonts/Exo2
In folder fonts add fonts.scss:
@font-face {
  font-family: "Exo2";
  src : url("/assets/fonts/Exo2/Exo2-Regular.ttf");
}

Edit<EMAIL_ADDRESS>// imoprt custom font
@import '../../../assets/fonts/fonts.scss';

// which themes you what to enable (empty to enable all)
$nb-enabled-themes: (default);
$nb-themes: nb-register-theme((
	// app wise variables for each theme
	sidebar-header-gap: 1rem,
	sidebar-header-height: initial,
	layout-content-width: 1400px,
	font-main: Roboto,
        // Enable font this
	font-secondary: Exo2,
	), default, default);

@dedpnd Not working this way.

@andreismeada
Try this.
I downloaded and put the fonts here ./assets/fonts/Exo2
In folder fonts add fonts.scss:
@font-face {
  font-family: "Exo2";
  src : url("/assets/fonts/Exo2/Exo2-Regular.ttf");
}

Edit<EMAIL_ADDRESS>// imoprt custom font
@import '../../../assets/fonts/fonts.scss';

// which themes you what to enable (empty to enable all)
$nb-enabled-themes: (default);
$nb-themes: nb-register-theme((
	// app wise variables for each theme
	sidebar-header-gap: 1rem,
	sidebar-header-height: initial,
	layout-content-width: 1400px,
	font-main: Roboto,
        // Enable font this
	font-secondary: Exo2,
	), default, default);

Also I think you can do it through angular.json

I've tried by 'font-main' and 'font-secondary' and it doesn't work!
after some tries and code reviews found that applicable ones are 'font-family-primary' and 'font-family-secondary' and these worked for me!
At all, your solution was so helpful for me, thanks a lot


NullReferenceException at Microsoft.AspNetCore.Http.DefaultHttpContext.get_Items()

We are experiencing the following NullReferenceException (see full stack trace below) at Microsoft.AspNetCore.Http.DefaultHttpContext.get_Items(). It happens very rarely, making it difficult to reproduce.
Judging from this issue (https://github.com/aspnet/HttpAbstractions/issues/839), it would seem that the exception could arise from interacting with the HttpContext on a separate/background thread.
I believe it may come from the following middleware implementation.
public async Task Invoke(HttpContext context)
{
    // Callback to add the RequestId to the response.
    context.Response.OnStarting(state =>
    {
        var httpContext = (HttpContext)state;
        httpContext.Response.Headers.Add("requestId", RequestId);
        return Task.CompletedTask;
    }, context);

    await next(context);
}

Is it possible that the OnStarting callback, which is mutating HttpContext, could cause this?
Exception:

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: An unhandled exception has occurred: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.AspNetCore.Http.DefaultHttpContext.get_Items() at Microsoft.AspNetCore.Mvc.Routing.UrlHelperFactory.GetUrlHelper(ActionContext context) at Microsoft.AspNetCore.Mvc.CreatedAtActionResult.OnFormatting(ActionContext context) at Microsoft.AspNetCore.Mvc.Internal.ObjectResultExecutor.ExecuteAsync(ActionContext context, ObjectResult result) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__19.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__24.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResultExecutedContext context) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__22.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MyWebApp.Mvc.Extensions.ApplicationBuilderExtensions.<>c__DisplayClass0_0.<b__0>d.MoveNext() in C:\code\MyWebApp\src\MyWebApp.Mvc\Extensions\ApplicationBuilderExtensions.cs:line 22 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.d__6.MoveNext()

We're now experiencing this issue, after switching from Azure App Service type S3 to the new P3v2.
Our stacktrace:
System.NullReferenceException: Object reference not set to an instance of an object.    at Microsoft.AspNetCore.Http.Features.FeatureReferences'1.UpdateCached[TFeature,TState](TFeature& cached, TState state, Func'2 factory, Int32 revision, Boolean flush)    at Microsoft.AspNetCore.Http.DefaultHttpContext.get_Items()    at Microsoft.AspNetCore.Mvc.ViewFeatures.TempDataDictionaryFactory.GetTempData(HttpContext context)    at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter.SaveTempData(IActionResult result, ITempDataDictionaryFactory factory, IList'1 filters, HttpContext httpContext)    at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter.OnResultExecuted(ResultExecutedContext context)    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextResourceFilter>d__22.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeFilterPipelineAsync>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.<Invoke>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.<Invoke>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.<Invoke>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame'1.<ProcessRequestsAsync>d__2.MoveNext()
I've also added the full exception as logged to Application Insights.
nullreference-getitems.zip

Unfortunately this exception doesn't tell us what other thread was touching the HttpContext at the same time. Do you have any background thread running?

We do not have background threads running. Our application is an api, only handling incoming http requests.
We do have Application Insights integrated/implemented. That might do background work?

Okay, we just discovered the exceptions happened on a deployment slot, that was not supposed to receive traffic. So the exceptions did not happen under reasonably high load in production (~2mln requests per hour, including CORS pre-flight).
We scaled down back to the S3 App Service and the exceptions vanished.
Not sure on how to provide more information, as to me it is an absolute mystery what combination of circumstances lead to this situation.

I would like to point out that we are also on Premium Dv2.

We ran into the same problem. Stack trace was:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.AspNetCore.Http.DefaultHttpContext.get_Items()
   at Microsoft.AspNetCore.Mvc.ViewFeatures.TempDataDictionaryFactory.GetTempData(HttpContext context)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter.SaveTempData(IActionResult result, ITempDataDictionaryFactory factory, IList`1 filters, HttpContext httpContext)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter.OnResultExecuted(ResultExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeFilterPipelineAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Middleware.ResponseImprovementMiddleware.<Invoke>d__2.MoveNext() in /whatever-namespace/ResponseImprovementMiddleware.cs:line 19
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Middleware.RequestLoggingMiddleware.<Invoke>d__5.MoveNext() in /whatever-namespace/RequestLoggingMiddleware.cs:line 67
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.<Invoke>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.<Invoke>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Middleware.Security.SecurityHeadersMiddleware.<Invoke>d__3.MoveNext() in /whatever-namespace/Middleware/Security/SecurityHeadersMiddleware.cs:line 44
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Startup.<>c__DisplayClass8_0.<<AssumeJsonContentType>b__0>d.MoveNext() in /whatever-namespace/Startup.cs:line 200
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame`1.<ProcessRequestsAsync>d__2.MoveNext()

We're on .NET 2.0.3, running in a Docker container based on Debian Stretch. It's a new error message we're seeing (but occurring too rarely to do a deep dive on finding the root cause). One of our recent code additions is similar to the original post - changing the header in a middleware. Our middleware looks like this:
    public class ResponseImprovementMiddleware
    {
        private readonly RequestDelegate next;

        public ResponseImprovementMiddleware(RequestDelegate next)
        {
            this.next = next;
        }

        public async Task Invoke(HttpContext context)
        {
            context.Response.Headers.TryAdd("X-Request-ID", context.TraceIdentifier);
            await next(context);
        }
    }

Others reported that it's related to the first request, but this instance was already up for ~9h and has served some 50k request. Also, it continued working afterwards without the same exception occurring again. At time of writing, it's at 8h additional uptime since the error, having served another ~40k requests.
We might be accessing context.TraceIdentifier in a different thread. In this case, we logged the trace identifier at 23:38:33.439 (in a background thread), and the exception occurred at 23:38:33.492. Unsure how much of the time difference comes from the logging framework, and what is actual. Fact is, the background thread logged shortly before the exception occurred, but still roughly 50ms before it.
I hope this input helps nevertheless.

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


decide on how to handle empty_like

Is your feature request related to a problem?
calling np.empty_like seems to be instantiating the whole array.
from xarray.tests import InaccessibleArray
import xarray as xr
import numpy as np

array = InaccessibleArray(np.zeros((3, 3), dtype="uint8"))
da = xr.DataArray(array, dims=["x", "y"])

np.empty_like(da)

Traceback (most recent call last):
  File "/home/mark/t.py", line 8, in <module>
    np.empty_like(da)
  File "/home/mark/mambaforge/envs/dev/lib/python3.9/site-packages/xarray/core/common.py", line 165, in __array__
    return np.asarray(self.values, dtype=dtype)
  File "/home/mark/mambaforge/envs/dev/lib/python3.9/site-packages/xarray/core/dataarray.py", line 732, in values
    return self.variable.values
  File "/home/mark/mambaforge/envs/dev/lib/python3.9/site-packages/xarray/core/variable.py", line 614, in values
    return _as_array_or_item(self._data)
  File "/home/mark/mambaforge/envs/dev/lib/python3.9/site-packages/xarray/core/variable.py", line 314, in _as_array_or_item
    data = np.asarray(data)
  File "/home/mark/mambaforge/envs/dev/lib/python3.9/site-packages/xarray/tests/__init__.py", line 151, in __array__
    raise UnexpectedDataAccess("Tried accessing data")
xarray.tests.UnexpectedDataAccess: Tried accessing data

Describe the solution you'd like
I'm not too sure. This is why I raised this as a "feature" and not a bug.
On one hand, it is pretty hard to "get" the underlying class.
Is it a:

numpy array
a lazy thing that looks like a numpy array?
a dask array when it is dask?

I think that there are also some nuances between:

Loading an nc file from a file (where things might be handled by dask even though you don't want them to be)
Creating your xarray from in memory.

Describe alternatives you've considered
for now, i'm trying to avoid empty_like or zeros_like.
In general, we haven't seen much benefit from dask and cuda still needs careful memory management.
Additional context
No response

Maybe you could use a shallow copy instead?

a little more context.
For some "slow to load" datasets, this can accidentally load the whole thing when one isn't ready for it.

I might be wrong, but I think those are not ufuncs, and since xarray doesn't implement __array_function__ np.empty_like(da) results in something like np.empty_like(np.asarray(da)).
However, xr.zeros_like shows the same behavior, so there might be something else going on.

zeros_like is essentially empty_like
https://github.com/numpy/numpy/blob/0e2af8463c2f005ba46341bcf675f12e0f705fee/numpy/core/numeric.py#L127

there might be something wrong with the way InaccessibleArray is implemented, at least for this use case: np.zeros_like(array) doesn't work, so np.zeros_like(da) has no chance of working.

Note that there's a difference between xr.zeros_like and np.zeros_like.

Ahhhh! thanks

I didn't check if modifying _full_like_variable as proposed doesn't break anything else, though


Feature: add JSON parsing to dump.transformation attribute

Currently, the only way to pass a configuration to the dump.tansformation is through YAML, making it imperative to use a config file to configure a transformation.
Adding a JSON parser to this attribute will allow users to configure Greenmask entirely from environment variables, not needing to mount any volume or file.
This is specially useful when running Greenmask from a container, because many cloud providers offer container platforms that have environment variable and secret management easily integrated for no additional cost, however, preparing and mounting a volume will require some additional configuration and planning, alongside with other infrastructure considerations.

@joao-zanutto
That's a good point. I suspect it can be simply solved, but I should ensure that it can be completed seamlessly.
Thank you!

I've just checked. The Json format file is already working
{
  "common": {
    "pg_bin_path": "/usr/lib/postgresql/16/bin",
    "tmp_dir": "/tmp"
  },
  "storage": {
    "type": "s3",
    "s3": {
      "endpoint": "http://playground-storage:9000",
      "bucket": "adventureworks",
      "region": "us-east-1",
      "access_key_id": "Q3AM3UQ867SPQQA43P2F",
      "secret_access_key": "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"
    }
  },
  "validate": null,
  "dump": {
    "pg_dump_options": {
      "dbname": "host=playground-db user=postgres password=example dbname=original",
      "jobs": 10
    },
    "transformation": [
      {
        "schema": "humanresources",
        "name": "employee",
        "transformers": [
          {
            "name": "NoiseDate",
            "params": {
              "ratio": "10 year 9 mon 1 day",
              "column": "birthdate"
            }
          }
        ]
      }
    ]
  },
  "restore": {
    "pg_restore_options": {
      "jobs": 10,
      "dbname": "host=playground-db user=postgres password=example dbname=transformed"
    }
  }
}

greenmask --config config.json validate
But I suspect it might not work correctly with transformer parameters. I will check

It is not as simple. Currently, it raises an error. I will check the implementation later
export DUMP_TRANSFORMATION='[ { "schema": "humanresources", "name": "employee", "transformers": [ { "name": "NoiseDate", "params": { "ratio": "10 year 9 mon 1 day", "column": "birthdate" } } ] } ]'
greenmask --config config.yml validate

{"level":"fatal","error":"5 error(s) decoding:\n\n* 'dump.transformation[0]' expected a map, got 'string'\n* 'dump.transformation[1]' expected a map, got 'string'\n* 'dump.transformation[2]' expected a map, got 'string'\n* 'dump.transformation[3]' expected a map, got 'string'\n* 'dump.transformation[4]' expected a map, got 'string'","time":"2024-04-08T16:38:50Z"}

Looks like it can't unmarshal the structures, only the scalar types

@wwoytenko I found possible solution in viper repo: https://github.com/spf13/viper/issues/339#issuecomment-1434374218
I tried to stab the issue in the #61 PR, but it seems that it's not able to unmarshal the internal structures recursively. I'm still not really familiar with the mapstructure package so I'm trying to figure out a way to make it call itself recursively.
If you manage to find a solution to this, please let me know. (this is the last modification we need to use Greenmask in production)
joao-personal@joao:~/greenmask$ export DUMP_TRANSFORMATION='[{"schema":"humanresources","name":"employee","transformers":[{"name":"NoiseDate","params":{"ratio":"10year9mon1day","column":"birthdate"}}]}]'
joao-personal@joao:~/greenmask$ STORAGE_DIRECTORY_PATH=. PGHOST=localhost PGDATABASE=original PGPASSWORD=example PGPORT=54316 ./greenmask validate
2024-04-08T13:03:13-07:00 FTL error="unable to build runtime context: cannot validate and build table config: unable to init transformer: error parsing \"ratio\" parameter: unable to scan parameter via Driver: bad interval format"

I am closing it. It is impossible due to the limitation described here


Added working WhackAMole Demo example

MSP code for The WackAMole display at maker fair.
Makes use of THE CBL 2 class and event systems.

Requested changes:

I don't agree with the NaN -> 0 modification in TIVar.cpp. I believe this was related to a compilation problem for you?
Stylistic changes in the Whack-a-Mole demo:
-- change #define'd variables to ALL_CAPS_WITH_UNDERSCORES (eg, RED_LED).
-- change local variables to lowercase_with_underscores, especially new_led and others.


Reorder divine waters in /create

Move wyrm above dragon and frost above abyssal so that they are in order of bone cost.

Closed by #6013


[BUG] Version 4.8.2, file lock not released when song closed

OS: Windows 10
Please give your StepMania Info
StepMania Version: 4.8.2
Theme: Default
Describe the problem
When editing a file with a video, if you stop editing the file, StepMania keeps a lock on the file.  You cannot delete the song folder or move it elsewhere.
Describe what should happen
I would like to be able to delete songs I don't like as soon as I try them out and realize I don't like them.

We'll investigate why files are not being unlocked and get back to you, thanks for the report.

can you confirm if this is resolved?

Yes!  Works great now.  Thanks


Is it possible to use Jump to replace the default behavior for the anchors?

Like: https://github.com/flesler/jquery.localScroll
"If you want to convert the links from ALL over the page, with the same settings, just call $.localScroll(...) instead of $(...).localScroll(...)"
Thanks!

I'm not sure - I've never used that plugin.  Out of the box, jump doesn't do anything automatically, and it looks like localScroll tries to provide automatic scroll management of hash links.


How to understand Python::with_gil and Py<Myclass>?

Q1. With code below I found somthing that if I want to call a python method in Rust, I don't need to add Python::with_gil. But in some official examples like https://pyo3.rs/v0.16.2/class/call.html  or  https://pyo3.rs/v0.16.2/python_from_rust.html, some use Python::with_gil while some not. What's the difference?
I think maybe because I call the method from python side which means I already got the gil, so I do not need to add Python::with_gil in Rust?
#[pyclass]
pub struct Myclass {
    pycls: Py<PyAny>,
}

#[pymethods]
impl Myclass {
    #[new]
    pub fn new(pycls: Py<PyAny>) -> Self {
        Myclass { pycls }
    }

    pub fn on_calculation(&mut self, py:Python) {
        let py_model = self.pycls.as_ref(py);
        py_model
            .call_method("on_calculation", (), None)
            .unwrap();

        // This also work!!!!!!
        // Python::with_gil(|py| {
        //     let py_model = self.pycls.as_ref(py);
        //     py_model
        //         .call_method("on_calculation", (), None)
        //         .unwrap();
        // });
    }

#[pyclass]
pub struct Player {

    cls: Myclass,
}

#[pymethods]
impl Player {
    #[new]
    pub fn new(cls: Myclass) -> Self {
        Player { cls: cls}
    }

    pub fn run(&mut self, num:i64, py: Python) {
        for _i in 0..num {
            self.cls.on_calculation(py);
        }
    }
}

class TestContext:
    def __init__(self, num: int):
        self.x = num
    def on_calculation(self):
        self.x += 3

if __name__=="__main__":
    pycls = TestContext(9)
    rcls = Myclass(pycls)

    x = Player(rcls)
    x.run(10)

Q2. I found if replace the member cls: Myclass of rust struct Player to cls: Py<Myclass>,  and change the way to call it use as_ref(py), code in python side doesn't need to change any and will also work. It seems in python ,after pycls = TestContext(9) rcls = Myclass(pycls), the rcls could be recognize as Py<Myclass> and Myclass??

#[pymethods]
impl Player {
    #[new]
    pub fn new(cls: Py<Myclass>) -> Self {
        Player { cls:cls }
    }

    pub fn run(&mut self, num:i64, py: Python) {
        for _i in 0..num {
            self.cls.as_ref(py).call_method("on_calculation", (), None).unwrap();
        }
    }
}

How to understand this and what's the difference in these two call method?

A value py: Python<'a> is a proof that the GIL is held, i.e. all functions which require you to have the GIL express this by requiring you to pass such a py: Python<'a> token as an argument. One example is Py::as_ref which produces a reference into the Python heap which is valid as long as the GIL is held, i.e. its lifetime 'a is bound to that of the token.
Python::with_gil is a function to acquire the GIL, i.e. it will check whether the GIL is already held, lock it if not and depending on that also release it before returning. In this way, it is a safe method to produce such a py: Python<'a>  token.
Methods exposed as #[pymethods] are supposed to be called from Python meaning that the GIL is definitely held when they are invoked. Hence they can request PyO3 to make a py: Python<'a> token available to them. This value is then produced by the wrapper code for the method which is automatically generated by PyO3. If you were to call that method manually from Rust, you would need to use e.g. Python::with_gil to produce it.
Finally, Py<T> is basically a safe wrapper for *mut T expressing that the pointer is into the Python heap and the life time of the object is managed via reference counting which is always the case for objects in CPython. Hence passing Myclass(pycls) is passing such a reference counted pointer to pycls to the constructor of Myclass even on the Python side, the signature fn new(cls: Py<Myclass>) just makes that explicit.
Additionally, a constructor like
    #[new]
    pub fn new(cls: Myclass) -> Self {
        Player { cls: cls}
    }

should not be callable from Python at all if Myclass is not Clone as Python does not support destructive move semantics and can only produce a value of type Myclass after being invoked (from Python) with a value of type Py<Myclass> by cloning the interior.


feature: add the username to the source for deltas posted via WebSockets

Since the user value is set on connection establishment it would make sense to pull the source logic outside spark.on('data'.... scope.
The indentation is a bit off - the repo is supposed to have a precommit hook that autoformats, could you please try to reinstall dependencies, that should active the hook?


chore: Rename Tcps to Tls

What's changed and what's your intention?
Renamed NetworkConnectionType::Tcps to NetworkConnectionType::Tls. Tls is much more accepted in the rust community, and it's very rare to see anyone using Tcps to described a secured TCP connection.
Please explain IN DETAIL what the changes are in this PR and why they are needed:

[x] Renamed NetworkConnectionType::Tcps to NetworkConnectionType::Tls.
[x] Ignore clippy and rustfmt checking for generated code for gRPC
[x] Temporarily suppress unused_variables and dead_code for crate(s) that is/are under active development.
[x] Remove assert!(true) and replace assert!(false) with panic!(...)

Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)

Closing in favour of #533


CI: Optimize CircleCI using a local docker registry instead docker save/load

Seems like replacing the docker save/load approach with a local registry run on the same machine allows us to make the main build job ~8min lighter and smoke tests builds ~6min lighter.
This is probably not a big deal time-wise, but I think this approach is more reliable than the docker save/load, and will escalate better if CircleCI opens up to having service jobs or some such.
This PR also revises the artifacts being collected - which were too many for successful runs (including the work directory and freesurfer folder).
The idea is to test how this works for sMRIPrep and then propagate to fMRIPrep and other projects if things look good.

I guess if it works, cool? I have no context for evaluating this apart from "Will the test pass".

Yup, it seems to work, looking at the layer digests and manifests. My only concern is that it seems to keep slowly growing. - I'm looking right now at how to garbage collect unused layers.

Nice - this https://stackoverflow.com/a/57989780 worked out locally. Testing now on Circle.

Working on Circle too! - https://app.circleci.com/jobs/github/oesteban/smriprep/941/parallel-runs/0/steps/0-107
The step to archive and propagate the workspace went back below 5m as in the early runs where the registry was still clean.
If tests pass, we can go ahead :)

Yass! Almost 1GB of difference after garbage collection:

Last run (w/ cleaning up): 4.9GB / 2:54
Previous run (wo/ cleaning up): 5.8GB / 3:37

Okay, the full workflow is now under 30 min! - Merging.


Cannot access tiles generated in edit mode

Cannot access tiles generated in edit mode, i disabled generation on Awake(), as i have generated tiles in edit mode. Now i get a NullReferenceException for "public List Neighbours(Tile tile)" at o = tile.index + directions[i].
Works if tiles are generated on runtime.

That would suggest that the tile you are passing to Neighbours() is null. The method public List Neighbours(Tile tile) should be updated to include a null check for the tile passed in and return the empty list if so. Feel free to raise a pr


Make 'reset link' reset both Cookie & QueryString

Reset button should reset both cookie & query string instead of cookie only, the code snippet will be something like
function clearQueryString() {
     document.window.href = '/';
}

and call both clearCookie and clearQueryString in the reset link

If this is just for the sample, there's not much incentive to improve it. It's just to show how some features are used, the UI itself is not a concern.


raft: Make TestRaftSnapshotRestart more robust

Generally, restarting a follower node will not cause a leader election.
But our test advances the fake clock as part of its polling, and on a
slow machine this can make enough time pass from raft's point of view to
trigger an election.
Don't assume that node 1 will still be the leader after the restart.
cc @abronan @tonistiigi

CI failed on a different raft test. I filed https://github.com/docker/swarmkit/issues/1337 for this, and will take a look when I get a chance. It's probably related to one of the recent raft PRs, but definitely not this one.

Current coverage is 55.19% (diff: 100%)

Merging #1335 into master will decrease coverage by 0.11%

@@             master      #1335   diff @@
==========================================
  Files            80         80
  Lines         12589      12589
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6962       6948    -14
- Misses         4678       4685     +7
- Partials        949        956     +7

Powered by Codecov. Last update 3aa5322...90e703a

LGTM

LGTM


Bus2022

Jan and Feb added.

It sort of seems like MBTA is keeping 'dudly' as the checkpoint name for Nubain Station.
(I mean, these OPMI files switched to nubn at some point, but then switched back)
I'm tempted to change our internal "station" id to match, just so we don't get as many warnings when loading new files. It won't be user-visible anywhere.

So wait, how is switching that internal name not a necessity for things to work correctly?
The internal name is only used as a reference when generating the files, but isn't used by the front-end or server logic.
I'll hold off the switch for now, but will keep it in mind for future updates. (and hold out hope they'll switch to nubn)


Compiled besselK() function acting on array arguments returns a vector

The title says it all.
besselK() function works as expected for scalar and vector arguments, in both uncompiled and compiled execution.
However, when passed array arguments:

Uncompiled execution returns an array (same as in regular R)
Compiled execution returns a vector

Reproducible example:
library(nimble)

Rnf <- nimbleFunction(
    run = function(A = double(2), B = double(2)) {
        returnType(double(1))
        return(besselK(A, B))
    }
)

Cnf <- compileNimble(Rnf)

A <- array(1, c(2,4))
B <- array(1:8, c(2,4))

besselK(A, B)
##           [,1]      [,2]      [,3]      [,4]
## [1,] 0.6019072  7.101263  360.9606  44207.02
## [2,] 1.6248389 44.232416 3653.8383 622552.12

Rnf(A, B)
##           [,1]      [,2]      [,3]      [,4]
## [1,] 0.6019072  7.101263  360.9606  44207.02
## [2,] 1.6248389 44.232416 3653.8383 622552.12

Cnf(A, B)
## [1]      0.6019072      1.6248389      7.1012628     44.2324158<PHONE_NUMBER>
## [6]   3653.8383119  44207.0203319<PHONE_NUMBER>587

array(Cnf(A, B), c(2,4))
##           [,1]      [,2]      [,3]      [,4]
## [1,] 0.6019072  7.101263  360.9606  44207.02
## [2,] 1.6248389 44.232416 3653.8383 622552.12

GitHub makes it much too easy to accidentally "assign yourself" to an issue, by clicking the wrong button...

I'm wondering how other functions that we allow in the DSL do with arrays as input... is this specific to how I created besselK?

@paciorek These are questions for @perrydv

Note: look at Cpp code for recycling vis-a-vis besselK recyclingl.


Update MySql FlexibleServer to 2022-09-30-preview

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.MySql


Calling TextEditingController.clear() prevents changing text with WidgetTester.enterText()

Steps to Reproduce
I wrote simple to understand example which represents an issue. Example contains TextField and button which clears this textfield. Also I wrote integration test for this app. This test type text to field, then reset field and type another text to it. In flutter 3.3.1 it works fine, but in flutter 3.7.1 test fails.
Expected results: All tests passed

Actual results:
flutter_delay flutter drive --driver=test_driver/integration_test.dart --target=integration_test/main_test.dart --device-id=chrome
Running "flutter pub get" in flutter_delay...
Resolving dependencies...
  archive 3.3.2 (3.3.6 available)
  collection 1.17.0 (1.17.1 available)
  js 0.6.5 (0.6.7 available)
  matcher 0.12.13 (0.12.14 available)
  meta 1.8.0 (1.9.0 available)
  path 1.8.2 (1.8.3 available)
  test_api 0.4.16 (0.4.18 available)
  vm_service 9.4.0 (10.1.2 available)
  webdriver 3.0.1 (3.0.2 available)
Got dependencies!
Launching integration_test/main_test.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             19,2s
This app is linked to the debug service: ws://<IP_ADDRESS>:59438/WmmFxpTY_eQ=/ws
Debug service listening on ws://<IP_ADDRESS>:59438/WmmFxpTY_eQ=/ws

💪 Running with sound null safety 💪
00:00 +0: main test
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: exactly one matching node in the widget tree
  Actual: _TextFinder:<zero widgets with text "another text" (ignoring offstage widgets)>
   Which: means none were found but one was expected

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/test_api/src/expect/expect.dart 134:31                               fail
packages/test_api/src/expect/expect.dart 129:3                                _expect
packages/test_api/src/expect/expect.dart 46:3                                 expect$
packages/flutter_test/src/widget_tester.dart 460:16                           expect$
main_test.dart 23:5                                                           <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50            <fn>
dart-sdk/lib/async/zone.dart 1406:47                                          _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19                                          runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                    handleValue
dart-sdk/lib/async/future_impl.dart 767:44                                    handleValueCallback
dart-sdk/lib/async/future_impl.dart 796:13                                    _propagateToListeners
dart-sdk/lib/async/future_impl.dart 567:5                                     [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 640:7                                     <fn>
dart-sdk/lib/async/zone.dart 1398:13                                          _rootRun
dart-sdk/lib/async/zone.dart 1300:19                                          run
dart-sdk/lib/async/zone.dart 1208:7                                           runGuarded
dart-sdk/lib/async/zone.dart 1248:23                                          callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>

The test description was:
  main test
════════════════════════════════════════════════════════════════════════════════════════════════════
00:04 +0: main test [E]
  Test failed. See exception logs above.
  The test description was: main test

00:04 +0 -1: (tearDownAll)
00:04 +1 -1: Some tests failed.
Failure Details:
Failure in method: main test
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
The following TestFailure was thrown running a test:
Expected: exactly one matching node in the widget tree
  Actual: _TextFinder:<zero widgets with text "another text"
(ignoring offstage widgets)>
   Which: means none were found but one was expected

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/test_api/src/expect/expect.dart 134:31                               fail
packages/test_api/src/expect/expect.dart 129:3                                _expect
packages/test_api/src/expect/expect.dart 46:3                                 expect$
packages/flutter_test/src/widget_tester.dart 460:16                           expect$
main_test.dart 23:5                                                           <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50            <fn>
dart-sdk/lib/async/zone.dart 1406:47                                          _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19                                          runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                    handleValue
dart-sdk/lib/async/future_impl.dart 767:44                                    handleValueCallback
dart-sdk/lib/async/future_impl.dart 796:13                                    _propagateToListeners
dart-sdk/lib/async/future_impl.dart 567:5                                     [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 640:7                                     <fn>
dart-sdk/lib/async/zone.dart 1398:13                                          _rootRun
dart-sdk/lib/async/zone.dart 1300:19                                          run
dart-sdk/lib/async/zone.dart 1208:7                                           runGuarded
dart-sdk/lib/async/zone.dart 1248:23                                          callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>

The test description was:
  main test
═════════════════════════════════════════════════════════════════

end of failure 1

Application finished.

main.dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final TextEditingController controller = TextEditingController();

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          TextField(controller: controller),
          TextButton(
            onPressed: () {
              controller.clear();
            },
            child: const Text('reset'),
          ),
        ],
      ),
    );
  }
}

test_driver/integration_test.dart
import 'package:integration_test/integration_test_driver.dart';

Future<void> main() => integrationDriver();

integration_test/main_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_delay/main.dart' as app;
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets('main test', (WidgetTester wt) async {
    await wt.pumpWidget(const app.MyApp());
    await wt.pumpAndSettle();

    await wt.enterText(find.byType(TextField), 'text');
    await wt.pumpAndSettle();
    expect(find.text('text'), findsOneWidget);

    await wt.tap(find.byType(TextButton));
    await wt.pumpAndSettle();

    await wt.enterText(find.byType(TextField), 'another text');
    await wt.pumpAndSettle();
    expect(find.text('another text'), findsOneWidget);
  });
}

Logs
➜  flutter_delay flutter analyze
Analyzing flutter_delay...
No issues found! (ran in 1.2s)

➜  flutter_delay flutter doctor -v
[✓] Flutter (Channel stable, 3.7.1, on macOS 12.6 21G115 darwin-x64, locale ru-RU)
    • Flutter version 3.7.1 on channel stable at /Users/dmitrijrepin/sdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7048ed95a5 (5 days ago), 2023-02-01 09:07:31 -0800
    • Engine revision 800594f1f4
    • Dart version 2.19.1
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc2)
    • Android SDK at /Users/dmitrijrepin/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0-rc2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] IntelliJ IDEA Community Edition (version 2022.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.75.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.6 21G115 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

To reproduse the issue, please follow this instruction to run integration test for web.

Hey @Malarg. Running the tests on both stable and master, passes for me. I am running on an iOS simulator

@exaby73 try to run using chrome, please

Integration test are not supported on web right now. Tried with flutter test integration_test -d chrome

@exaby73 try using this command, please:
flutter drive --driver=test_driver/integration_test.dart --target=integration_test/main_test.dart --device-id=chrome

Hello @Malarg. Does the test crash for you or does it just fail normally?

@exaby73 Sorry for long response. Missed notification. Test don't crashes and fails normally. Please, check "Actual results" ыусешщт

For more clear understanding the issue added instruction to run integration test and text of test_driver/integration_test.dart

Triage report
I can reproduce this issue on Master (3.8.0-14.0.pre.2) with the steps provided in https://github.com/flutter/flutter/issues/120060#issue-1572033596. Though I do get some crash related to the chrome driver for some reason, the tests do run and produce the same failure OP has in https://github.com/flutter/flutter/issues/120060#issue-1572033596
flutter doctor -v (Master)
[!] Flutter (Channel master, 3.8.0-14.0.pre.2, on Ubuntu 22.04.2 LTS 5.15.0-60-generic, locale en_US.UTF-8)
    • Flutter version 3.8.0-14.0.pre.2 on channel master at /home/exabyt3/fvm/versions/master
    ! Warning: `dart` on your path resolves to /usr/lib/dart/bin/dart, which is not inside your current Flutter SDK checkout at /home/exabyt3/fvm/versions/master. Consider adding /home/exabyt3/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cc9b198213 (50 minutes ago), 2023-02-20 00:49:25 -0500
    • Engine revision 780279109e
    • Dart version 3.0.0 (build 3.0.0-257.0.dev)
    • DevTools version 2.21.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /home/exabyt3/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /usr/bin/brave-browser

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 14.0.0-1ubuntu1
    • cmake version 3.22.1
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[✓] Android Studio (version 2022.1)
    • Android Studio at /home/exabyt3/programs/android-studio
    • Flutter plugin version 72.1.2
    • Dart plugin version 221.6096
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.75.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.2 LTS 5.15.0-60-generic
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

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

! Doctor found issues in 2 categories.


Web Store Links

The Chrome Web Store link I followed from the README was last updated in early 2021 by previous maintainer. Is there a new web store link or should we build/install from source? If we should install from source, could we have the README updated so it's no longer linking to an outdated Chrome extension?

The Chrome Web Store link I followed from the README was last updated in early 2021 by previous maintainer.

This extension has not been updated in a while (since June 2021), but the published version is even more out of date.

Is there a new web store link or should we build/install from source?

If you would like to use it, I would recommend building from source.

If we should install from source, could we have the README updated so it's no longer linking to an outdated Chrome extension?

There are plans to release to CWS eventually,TM but no specific deadlines were announced (read "this will never happen").


Advanced Duplicator 2 Error loop

At random I will see this error in my logs. It continues until the server crashes or the map changes, which can generate massive log files. I do not know exactly which dupes trigger it.
L 07/27/2018 - 16:13:13: Lua Error:
[Advanced Duplicator] addons/sboxgit_wuma/lua/wuma/duplicator.lua:34: Tried to use a NULL entity!

GetClass - [C]:-1
fn - addons/sboxgit_wuma/lua/wuma/duplicator.lua:34
3. Run - addons/git_ulib/lua/ulib/shared/hook.lua:109
4. FinishPasting - lua/autorun/server/advdupe.lua:2412
5. fn - lua/autorun/server/advdupe.lua:1761
6. unknown - addons/git_ulib/lua/ulib/shared/hook.lua:109

Does it affect anything else or does it simply spam?

I don't think it affects anything other than creating a 1GB log file and probably failing whichever dupe is being spawned

Fixed by https://github.com/Weol/wuma/commit/9dbe2b5a037f40e09a7e2e74b9475ece8754bfc7
I added a IsValid check so that WUMA will ignore all NULL entities, this should stop these errors.


esp32-cam

Hello,
how does the idea to do this project with esp32-cam, when the card/tag is read to take a photo of the user.

you could adapt the code of the esp device to work with the camera, although its not yet part of the project.
its only necessary to send some id of the user to the server, wherever you got that from ;)


User Story - Add Update

As a computing student, I can update the status of the internships that I have applied for, so that I can keep track of the progress of the roles I have applied for

Update already exists as edit in AB3.
Add the feature back into the user guide.


Error Building from "FacebookAppDelegate.swift" and "CompileSwiftSources"

Hi, im tring to build my iOS App but it fails with next errors:

"CompileSwift normal x86_64 /Users/bigsur/take_and_goo/node_modules/react-native-fbsdk-next/ios/ExpoAdapterFBSDKNext/FacebookAppDelegate.swift"

"CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler"

I dont konw what else to do to fix it.
"react-native": "0.64.3",
"expo": "^43.0.3",
"react-native-fbsdk-next": "^9.0.0",
xcode version: "12.5.1"
iOS Deployment Target 12.0

Hi there! That's not an error. That's a notice that there was an error somewhere but is not itself an error.
https://stackoverflow.com/help/how-to-ask

steps to reproduce
useful error output
what you tried already with explanations of why and why it did not work perhaps

Note that our example is actually generated automatically and it shows a working setup - https://github.com/thebergamo/react-native-fbsdk-next/blob/master/refresh-example.sh


Model maintenance for SAM PKE model refactoring

Some refactoring in the SAM PKE model resulted in some new PP's and some other models that needed to be re-golded due to minor diffs.
Refs #0 and wraps up the leftover SAM update from #385

Job VTB Documentation on c015790 wanted to post the following:
View the site here
This comment will be updated on new commits.

Application/type=SamApp is not ready enough to remove the --app. i ll revert that


Fix alignment of INPUT on 64-bit systems

Bump version to 0.4 due to the breaking change.
Fixes #309

(Native alignment rules are a pain in the ass, interesting to see that we can't avoid reproducing nested unions like that to get the same effect, I suspect quite a lot of pinvoke.net signatures erasing the unions are actually incorrect)

Thank you for testing, @vbfox. If they're something you can share, it would be great to have in unit tests.
In fact we might want to split our unit test project to enforce x86 and x64 testing and use a Shared Project so the tests are in both projects.

My test was running the same code in cpp
int main()
{
	INPUT input;
	printf("hi=%i\n", (long)&input.hi - (long)&input);
	printf("mi=%i\n", (long)&input.mi - (long)&input);
	printf("ki=%i\n", (long)&input.ki - (long)&input);
    return 0;
}

And C#
unsafe void Main()
{
	INPUT input;
	Console.WriteLine("hi={0}", (long)&input.Inputs.hi - (long)&input);
	Console.WriteLine("mi={0}", (long)&input.Inputs.mi - (long)&input);
	Console.WriteLine("ki={0}", (long)&input.Inputs.ki - (long)&input);
}

In both x64 & x86 and checking that the result match. Being able to have unit tests that check that the value are correct in both x86 & x64 would be perfect regresion-wise.


Major Client Crash

Here: https://gist.github.com/fcpwiz/ebe9da0d4e3de3f72135

You can't mix Applied Energistics RV1 and Extra Cells RV2. Furthermore, there's not much reason to use  AE2-RV1 unless you are using a mod that relies on it. The "stable" label in AE2-RV1-Stable doesn't mean that it is bug/crash free, it just means that it is unchanging (will never change because it isn't being updated).

@lehjr Oh. So should I get AE Rv 2, or get ExtraCells Rv 1 and keep AE Rv 1?

I would get AE RV2. It has several bug fixes, performance enhancements, and the channels now show up in WAILA again. Just note that if you plan to use Thaumic Energistics, it isn't compatible with AE2-RV2-beta 8 yet.


[2.4.0-beta.0] Breaks react-query devtools (React context change?)

Describe the bug
I attempted to upgrade my app to vite 2.4.0-beta.0, but now I get the error:
Uncaught Error: No QueryClient set, use QueryClientProvider to set one
    at useQueryClient2 (QueryClientProvider.js:36)
    at ReactQueryDevtoolsPanel2 (devtools.js:287)
    at renderWithHooks (react-dom.development.js:14985)
    at updateForwardRef (react-dom.development.js:17044)
    at beginWork (react-dom.development.js:19098)
    at HTMLUnknownElement.callCallback2 (react-dom.development.js:3945)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:3994)
    at invokeGuardedCallback (react-dom.development.js:4056)
    at beginWork$1 (react-dom.development.js:23964)
    at performUnitOfWork (react-dom.development.js:22776)

The above error occurred in the <ForwardRef(ReactQueryDevtoolsPanel2)> component:

    at ReactQueryDevtoolsPanel2 (http://localhost:8080/node_modules/.cache/vite/react-query_devtools.js?v=7bc19b7b:4736:26)
    at ThemeProvider (http://localhost:8080/node_modules/.cache/vite/react-query_devtools.js?v=7bc19b7b:4013:24)
    at footer
    at ReactQueryDevtools (http://localhost:8080/node_modules/.cache/vite/react-query_devtools.js?v=7bc19b7b:4547:32)
    at QueryClientProvider2 (http://localhost:8080/node_modules/.cache/vite/react-query.js?v=7bc19b7b:2438:21)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

I verified that downgrading to vite 2.3.8 resolves the error, and have created a minimal reproduction.
Reproduction
https://github.com/IanVS/vite-2.4.0-react-query-issue
System Info
System:
    OS: macOS 11.4
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 29.71 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.16.1/bin/yarn
    npm: 7.17.0 - ~/.nvm/versions/node/v14.16.1/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Firefox: 88.0.1
    Safari: 14.1.1
  npmPackages:
    vite: ^2.4.0-beta.0 => 2.4.0-beta.0

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Through the use of git bisect and using one of the playgrounds in this repo to reproduce the issue, I've narrowed down the start of the error to https://github.com/vitejs/vite/pull/3753.

I did a little more digging, and it seems that before the change in the PR I referenced, react-query from within node_modules/react-query/es/devtools would resolve to /node_modules/react-query/es/index.js, now, with those changes, it resolves to node_modules/react-query/lib/index.js.  That seems to be the cause of the issue I'm seeing.


[Improvement Suggestion] Hanging Bar mechanics (jump off, fall through)

I have a little attachment to the hanging bar gimmick having created the original rendition of it in the old Sonic Worlds... and visiting the current implementation of it (and I'm not sure how much of it I did this right the first time around) and comparing it to the variant of it that appears in Sonic 2's wing fortress stage made me realize there's a couple discrepancies.

In Sonic 2 when you disembark from a hanging bar (via jump, the only way to get off it as far as I'm aware), you will still be in the animation for hanging until you hit the ground. Honestly, I could take this behavior or leave it. Going back into jump is fine and leaves players less vulnerable (and I find a lot of forced vulnerability while falling in Sonic games to be annoying).

The current implementation appears to have no way to allow the player to fall through the hanging bar. Sonic 2 has a rather awkward mechanic for deciding whether or not you'll fall through... if you jump while holding left or right off of a bar, the next time you would grab onto the bar you will always fall through it (regardless of whether you are holding left or right at the time). If you jump while not holding left or right, you will catch the bar. Personally, I think this should be swapped to a simple check for whether or not the player is holding down (regardless of previous interactions with the bar) when the player would catch it, they should fall through it. Easy to implement, hard to screw yourself over when you don't to.

I also personally think I allowed the player to accrue speed by holding in a direction while hanging onto the bar in the original (meaning the player could have a full velocity jump coming getting off the bar if they held in that direction for a while), but that mechanic is perhaps poorly communicated and largely unnecessary. That said, it would probably feel better if the horizontal speed coming off of the bar is at least slightly affected by whether you are holding left or right when you drop off instead of having to accelerate from 0. In the case of moving bars especially, ideally the current velocity of the bar would be applied to the player's speed at the time of jumping off.
I can submit a pull request to implement these if such improvements are desired.

Our implementation of the hanging bar is based on the one from sonic 3 not 2 as it's sharing the code for tails flight assist.

Presuming this is intended to behave the same as the sky sanctuary hanging bars, holding left/right should apply some immediate x velocity as I suggested and holding down while pressing jump should make the player disembark from the bar with very little (or perhaps no) downward y velocity.
Sonic 3K has no mechanic for falling through a bar deliberately, but I'm still rather keen on having you just not grab it if you hold down from the onset. Your call though.

Ah, just noticed there is this little variable for the hanging object:
export var holdDownToDrop = false
Turning that on is... not great. It's buggy. It kinda works but it messes up the general interactions with the object. It does show that some effort was made to support this intended behavior though.

Noticed a bug in the hanging bar at its default configuration:
The jumping off mechanic only responds to button 1 and not buttons 2/3. Normally all three action buttons are treated the same for purposes like this.

I'll have to go through the code to add support for other action buttons.
should mention, the pressing down to drop switch is used for the tails assist since tails basically just re uses the pole code and it was easier to just add the drop code to the pole then making an entire system for tails to just carry player 1, it's why I haven't caught many issues with it because I've only tested it with tails.

Hey, I'm going to go ahead and take care of the different button issues for this as well as all of my gimmicks in the CNZBarrel branch. I went ahead and added a couple functions to player that let you check for any action button pressed, held, or either. While I'm at it I'll take care of the fact that players can't willingly jump off of Tails carry and add a toggle to let players fall through without grabbing by holding down.

https://github.com/Techokami/SonicWorldsNext/pull/23
Closed on account of merging this pull request


DO NOT REVIEW: working on nlp docstrings

Description
WIP: NLP Docstrings
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml

All of my comments are from 3 categories

All of the azure.ai.ml classes that are referenced as types in docstrings should have their full paths (this makes them linkable in the refernce docs pages)
All classes and methods (not properties/attributes) should have in line examples
Avoid duplicating Optional, optional pattern. Just the main Optional[] is fine.


🚀 Feature: Re-run only affected modules in watch mode

This would really help teams that have very large test suites.
I am not sure exactly how other test frameworks accomplish this, but I can think of a few strategies.
@craigtaub if you're looking for something to do, researching various strategies and proposing a way forward would be helpful.
When we do implement, we can assume that the computation of the "affected module hierarchy" will save time over just running everything (as we currently do), so we can probably avoid worrying too much about caching in an MVP.

@craigtaub if you want to look at this, please assign to yourself

Sounds interesting. Will look into this when I get some time.

Related: #4350

Marking as accepting PRs. But as with https://github.com/mochajs/mocha/issues/4350#issuecomment-668721125: this is not going to be easy. It's a big feature ask. I'd strongly suggest anybody looking at this issue to get through multiple other issues first before trying this. 🙂